:root{
  --green:#174638;
  --green-dark:#102d26;
  --green-soft:#1f5d4a;
  --gold:#e6bf59;
  --gold-soft:#f8e6b0;
  --cream:#fbf8f1;
  --white:#ffffff;
  --ink:#1b2b25;
  --muted:#66776f;
  --line:#dce5df;
  --shadow:0 20px 60px rgba(14,35,28,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fff 0%,#fcfcf7 100%);color:var(--ink);font:16px/1.65 'Roboto',system-ui,-apple-system,sans-serif}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:none}
img,video{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Roboto Slab',Georgia,serif;font-weight:700;letter-spacing:-.03em;line-height:1.08;margin:0 0 .7rem}
h1{font-size:clamp(2.8rem,6vw,5.7rem)}
h2{font-size:clamp(2rem,3.4vw,3.4rem)}
h3{font-size:1.4rem}
p{margin:0 0 1rem}
main{min-height:60vh}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:16px max(22px,calc((100vw - 1280px)/2));backdrop-filter:blur(16px);background:rgba(255,255,255,.9);border-bottom:1px solid rgba(23,70,56,.08)}
.brand{display:flex;align-items:center;gap:14px;color:var(--green)}
.brand:hover{text-decoration:none}
.brand-mark{flex:0 0 auto;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(160deg,var(--green),var(--green-soft));color:var(--gold);font-size:1.35rem;box-shadow:0 12px 30px rgba(23,70,56,.16)}
.brand-text{display:grid;gap:2px;line-height:1.1}
.brand-text strong{font-size:1.15rem;font-family:'Roboto Slab',Georgia,serif}
.brand-text small{font-size:.82rem;color:var(--muted);font-weight:600}
.logo{height:64px;max-width:230px;object-fit:contain;border-radius:12px;background:#fff;padding:4px}
.top nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 18px}
.top nav a{font-size:.94rem;font-weight:700;color:#204236}
.top nav a:hover{color:var(--green-soft)}
.nav-intern{padding:10px 16px;border-radius:999px;background:linear-gradient(180deg,#fffdf8,#f1ead8);border:1px solid rgba(230,191,89,.5);box-shadow:0 8px 20px rgba(230,191,89,.15)}
.backend-top{background:rgba(14,26,22,.92);border-bottom:1px solid rgba(255,255,255,.06)}
.backend-top .brand,.backend-top nav a{color:#eef5f1}.backend-top .brand-text small{color:#a5bdb3}.brand-backend .brand-mark{background:linear-gradient(160deg,#275f4e,#14372d)}

.section,.intro,.cta{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:84px 0}
.section-tight{padding:30px 0 0}
.narrow{width:min(920px,calc(100% - 36px));margin:0 auto;padding:72px 0}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#b4871d;margin-bottom:14px}
.notice{margin:0 0 24px;padding:16px 18px;border-radius:16px;background:#edf8ef;border:1px solid #cde8d3;color:#1e5f36}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:14px 22px;background:linear-gradient(180deg,var(--green-soft),var(--green));color:#fff;font:700 .96rem 'Roboto',sans-serif;cursor:pointer;box-shadow:0 14px 30px rgba(23,70,56,.18)}
.button:hover,button:hover{transform:translateY(-1px);filter:brightness(1.03)}
.button.gold{background:linear-gradient(180deg,#f1ce75,#d6a93a);color:#24352d;box-shadow:0 14px 30px rgba(214,169,58,.24)}
.button.outline{background:transparent;border:1px solid rgba(255,255,255,.44);box-shadow:none}
.button.small,button.small{padding:8px 12px;font-size:.82rem;border-radius:12px;box-shadow:none}
.secondary{background:#edf3ef;color:var(--green);box-shadow:none}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.hero-home{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:28px;align-items:center;width:min(1320px,calc(100% - 28px));margin:28px auto 0;padding:46px;overflow:hidden;border-radius:40px;background:radial-gradient(circle at top left,rgba(232,197,106,.24),transparent 36%),linear-gradient(135deg,#11352c 0%,#174638 48%,#205845 100%);color:#fff;box-shadow:0 40px 90px rgba(13,35,28,.2)}
.hero-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 20%),radial-gradient(circle at 10% 90%,rgba(230,191,89,.22),transparent 22%);pointer-events:none}
.hero-inner,.hero-visual{position:relative;z-index:1}
.hero-copy{font-size:1.14rem;max-width:680px;color:#e7efeb;margin-bottom:22px}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-pills span{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.86rem;font-weight:700;color:#f0f6f2}
.hero-image{width:100%;height:100%;min-height:460px;max-height:620px;object-fit:cover;border-radius:32px;box-shadow:0 24px 50px rgba(0,0,0,.22)}
.hero-decoration{position:relative;min-height:460px;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;overflow:hidden}
.hero-decoration>span{font-size:11rem;filter:drop-shadow(0 25px 35px rgba(0,0,0,.18))}
.floating-card{position:absolute;min-width:190px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.9);color:var(--green-dark);box-shadow:0 22px 50px rgba(8,22,17,.22);display:grid;gap:3px}
.floating-card b{font-size:1rem}.floating-card small{color:#576961;font-weight:600}
.card-one{top:32px;left:22px;transform:rotate(-5deg)}
.card-two{right:18px;top:112px;transform:rotate(6deg)}
.card-three{left:56px;bottom:30px;transform:rotate(-3deg)}

.highlight-strip-wrap{position:relative;z-index:2;margin-top:-34px}
.highlight-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.highlight-strip article{padding:24px;border-radius:24px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(23,70,56,.07)}
.highlight-strip strong{display:block;font-family:'Roboto Slab',Georgia,serif;font-size:1.18rem;margin-bottom:8px;color:var(--green)}
.highlight-strip span{color:var(--muted)}

.intro-wow{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:30px;align-items:start}
.intro-copy p{font-size:1.08rem;color:var(--muted);max-width:640px}
.steps{display:grid;gap:18px}
.wow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps article,.panel{background:#fff;border:1px solid rgba(23,70,56,.08);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.steps span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(160deg,#fff4d1,#efd07f);font-family:'Roboto Slab',Georgia,serif;font-size:1.2rem;color:#7d5910;margin-bottom:12px}
.steps p{color:var(--muted);margin:0}
.panel{margin-bottom:22px}
.panel h2{margin-top:0;font-size:1.5rem}

.section-head,.between{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.section-head{margin-bottom:28px}
.section-head h2{margin-bottom:0}

.video-section{padding-top:18px}
.video-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:26px;align-items:center;overflow:hidden;background:linear-gradient(180deg,#fff,#fffaf1)}
.video-frame{aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#0c1d18;box-shadow:0 22px 45px rgba(12,29,24,.18)}
.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;object-fit:cover}
.video-copy p{color:var(--muted);font-size:1.04rem}

.picture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.picture-grid-featured{grid-auto-flow:dense}
.picture{position:relative;display:block;height:260px;border-radius:24px;overflow:hidden;background:#e8ede9;box-shadow:0 16px 38px rgba(20,45,30,.12)}
.picture-large{grid-column:span 2;grid-row:span 2;height:100%}
.picture img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.picture:hover img{transform:scale(1.04)}
.picture::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.56) 100%)}
.picture span{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;max-width:max-content;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:#21342d;font-size:.84rem;font-weight:700}
.empty{grid-column:1/-1;padding:28px;border-radius:20px;background:#fff6dc;border:1px dashed rgba(180,135,29,.4)}

.review-section{width:min(1320px,calc(100% - 28px));padding:86px 34px;margin:30px auto;border-radius:38px;background:linear-gradient(180deg,#f7f3e7,#fff);box-shadow:0 25px 70px rgba(26,35,18,.08)}
.review-grid{display:grid;gap:18px}
.home-reviews{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
.review-grid-page{grid-template-columns:repeat(auto-fit,minmax(280px,340px));justify-content:start}
.compact-review{padding:22px;min-height:unset;align-self:start}
.review{display:flex;flex-direction:column;gap:10px}
.review p{margin:0;color:#31413a;white-space:normal;overflow-wrap:anywhere;line-height:1.7;font-size:1rem}
.review b{margin-top:auto;color:var(--green-soft)}
.stars{font-size:1rem;letter-spacing:.12em;color:#ca9b31}
.review-list-page .button{margin-top:24px}

.notice-card{background:linear-gradient(180deg,#fffef8,#f7f1df)}
.notice-card p{margin:0;font-size:1.04rem}

.cta-grand{padding:0 0 90px}
.cta-grand>div{padding:44px;border-radius:36px;background:linear-gradient(140deg,var(--green) 0%,#143d31 60%,#102d26 100%);box-shadow:0 35px 80px rgba(11,34,27,.22);color:#fff;text-align:center}
.cta-grand h2,.cta-grand p{color:#fff}
.cta-grand p{max-width:720px;margin:0 auto 24px;color:#e2ede8}

.content .panel{margin-top:28px}.prose{overflow-wrap:anywhere}.prose h2{font-size:1.8rem}.prose h3{font-size:1.24rem}

form{display:grid;gap:18px}
label{display:grid;gap:7px;font-weight:700;font-size:.95rem;color:#17362c}
input,textarea,select{width:100%;min-height:48px;padding:12px 14px;border-radius:14px;border:1px solid #cad7cf;background:#fff;color:var(--ink);font:inherit}
input:focus,textarea:focus,select:focus{outline:none;border-color:#87ad9c;box-shadow:0 0 0 4px rgba(23,70,56,.08)}
textarea{resize:vertical}
input[type=color]{width:110px;padding:4px}
input[type=file]{padding:11px;background:#fbfcfb}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:auto;accent-color:var(--green);margin-top:1px}
.choice{display:flex;align-items:center;gap:12px;font-weight:500;color:#24332d}
.choice span{display:block;line-height:1.45}
fieldset{padding:18px 20px;border-radius:18px;border:1px solid var(--line);display:grid;gap:15px}
legend{padding:0 8px;font-weight:800;color:#153229}
button{justify-self:start}
.muted{font-size:.88rem;color:var(--muted)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 28px}
.chip{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid rgba(23,70,56,.12);box-shadow:0 8px 18px rgba(20,45,30,.06);font-weight:700;color:#25463a}
.chip:hover{background:#f3f7f4}

footer{display:flex;justify-content:space-between;gap:30px;padding:60px max(24px,calc((100vw - 1220px)/2));background:#102d26;color:#e8f0eb;margin-top:40px}
footer a{display:inline-block;margin:0 18px 12px 0;color:#e8f0eb;font-weight:500}
footer p{color:#aec3ba;margin:8px 0 0}

.admin-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 86px);background:#eef3f0}
.sidebar{padding:24px 16px;background:linear-gradient(180deg,#11352c,#184739);border-right:1px solid rgba(255,255,255,.08)}
.sidebar h3{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#b4cdc2;padding:0 12px 8px;margin:0 0 8px}
.sidebar a{display:block;margin:4px 0;padding:11px 14px;border-radius:14px;color:#edf5f1;font-weight:700}
.sidebar a.selected,.sidebar a:hover{background:rgba(255,255,255,.12)}
.admin-content{padding:30px 34px;min-width:0}
.admin-content h1{font-size:2.5rem;margin-bottom:18px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.stat-card strong{display:block;font-size:2.8rem;color:var(--green);font-family:'Roboto Slab',Georgia,serif}
.stat-card p{margin:4px 0 0;color:var(--muted);font-weight:600}
.quick-links{display:flex;flex-wrap:wrap;gap:10px}.quick-links .button{margin:0}
.stack{display:grid;gap:12px}.stack .panel{margin:0}
.tag{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ecf3ef;color:#194536;font-size:.77rem;font-weight:800}
.action-form{display:inline-flex}.actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.admin-gallery img{width:100%;height:170px;object-fit:cover;border-radius:14px;margin-bottom:12px}
.admin-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.inline-form input{max-width:320px}
.preview{max-height:120px;max-width:240px;object-fit:contain;border-radius:14px;background:#f6f8f7;padding:10px;border:1px solid var(--line)}
.preview-video{width:min(420px,100%);border-radius:16px;background:#112c24}
.file-row{padding:12px 0;border-top:1px solid var(--line)}
[hidden]{display:none!important}

@media (max-width:1100px){
  .hero-home{grid-template-columns:1fr;padding:34px}
  .intro-wow,.video-card{grid-template-columns:1fr}
  .wow-steps,.home-reviews,.highlight-strip,.stats,.admin-two{grid-template-columns:1fr 1fr}
  .picture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .picture-large{grid-column:span 2;grid-row:span 1;height:340px}
}
@media (max-width:820px){
  .top{position:static;flex-wrap:wrap}
  .top nav{justify-content:flex-start}
  .logo{height:54px}
  .wow-steps,.home-reviews,.highlight-strip,.stats,.admin-two,.picture-grid{grid-template-columns:1fr}
  .section,.intro,.cta,.narrow{width:min(100% - 28px,1280px)}
  .review-section{width:min(100% - 28px,1320px);padding:60px 22px}
  .picture-large{grid-column:span 1;height:260px}
  footer{flex-direction:column}
  .admin-shell{display:block}
  .sidebar{display:flex;gap:8px;flex-wrap:wrap}
  .sidebar h3{display:none}
  .sidebar a{margin:0}
  .admin-content{padding:20px}
}
@media (max-width:560px){
  h1{font-size:2.45rem}
  h2{font-size:1.85rem}
  .hero-home{padding:24px;border-radius:28px}
  .hero-decoration{min-height:320px}
  .hero-decoration>span{font-size:7rem}
  .floating-card{min-width:150px;padding:12px 14px}
  .card-two{top:86px}
  .card-three{left:20px;bottom:18px}
  .brand-text strong{font-size:1rem}
  .brand-text small{font-size:.77rem}
  .top nav a{font-size:.88rem}
}

/* Montana 1.3: a distinct circus identity, rather than a generic card template. */
:root{--circus-red:#ad283b;--circus-burgundy:#641c30;--circus-blue:#153b45;--circus-gold:#f4c861}
body:not(.backend){background:#fffcf5}
.site-top{box-shadow:0 4px 28px rgba(12,30,28,.05)}
.brand-site .brand-mark{background:var(--circus-burgundy);color:#ffdb8d}
.hero-home{margin-top:0;width:100%;max-width:none;border-radius:0;min-height:650px;padding:75px max(35px,calc((100vw - 1290px)/2));background:radial-gradient(circle at 16% 40%,rgba(248,185,94,.17),transparent 33%),linear-gradient(115deg,#531b31 0%,#83253d 45%,#123f42 100%);box-shadow:none;gap:60px}
.hero-home:before,.video-world:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,226,156,.34) 1px,transparent 2px);background-size:53px 61px;opacity:.22}
.hero-home:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:31px;background:linear-gradient(135deg,transparent 50%,#fffcf5 50%) 0 0/38px 38px,linear-gradient(225deg,transparent 50%,#fffcf5 50%) 0 0/38px 38px;pointer-events:none}
.hero-home .eyebrow{padding:9px 16px;border:1px solid rgba(248,208,112,.6);border-radius:30px;color:#ffe3a1;background:rgba(0,0,0,.14);letter-spacing:.15em}
.hero-home h1{font-size:clamp(3.5rem,6.8vw,7rem);line-height:1.01;text-shadow:0 5px 0 rgba(44,8,24,.26);max-width:830px}
.hero-home .hero-copy{font-size:clamp(1.06rem,1.65vw,1.32rem);font-weight:500;line-height:1.7}
.hero-home .gold{background:#ffd578;color:#4f1e2c;font-weight:900}
.hero-home .hero-visual{transform:rotate(1.5deg)}
.hero-home .hero-image{border:9px solid #f3d18d;box-shadow:0 28px 65px rgba(15,5,10,.45)}
.hero-decoration{border:3px solid rgba(255,216,143,.55);border-radius:48% 48% 22px 22px;min-height:550px;background:radial-gradient(circle at center,rgba(255,223,147,.25),transparent 74%);overflow:visible}
.hero-decoration .circus-art{width:100%;height:100%;max-height:580px;object-fit:contain;border-radius:40% 40% 20px 20px}
.hero-decoration .floating-card{z-index:3;border:2px solid #f2d190;box-shadow:0 20px 42px rgba(30,8,16,.4)}
.hero-decoration .floating-card b{color:#74263c}
.hero-pills span{border-color:rgba(255,213,120,.35);background:rgba(39,10,27,.26)}
.highlight-strip-wrap{margin-top:-25px}
.highlight-strip article{border-top:5px solid #ba3646;border-radius:16px;transform:translateZ(0);transition:transform .25s,box-shadow .25s}
.highlight-strip article:nth-child(2){border-color:#e9ad45}.highlight-strip article:nth-child(3){border-color:#1e6262}
.highlight-strip article:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(26,30,25,.15)}
.intro-wow{align-items:center;gap:60px}
.intro-copy h2{position:relative}
.intro-copy h2:after{content:'';display:block;width:110px;height:6px;background:linear-gradient(90deg,#ad283b,#f4c861);border-radius:20px;margin-top:23px}
.wow-steps article{border-radius:18px;border-left:5px solid #a32a41;background:linear-gradient(105deg,#fff,#fff9e9);transition:transform .2s}
.wow-steps article:nth-child(2){border-color:#e6b341}.wow-steps article:nth-child(3){border-color:#1a6c70}
.wow-steps article:hover{transform:translateY(-4px)}
.video-world{position:relative;overflow:hidden;padding:90px max(24px,calc((100vw - 1280px)/2));background:linear-gradient(145deg,#122d33,#173c41 46%,#622139);color:#fff}
.video-world-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px;position:relative}
.video-world-header h2{color:#fff;max-width:700px}.video-world-header p{max-width:670px;color:#cddfe0;font-size:1.08rem}
.video-world-header .eyebrow,.video-feature-caption .eyebrow{color:#f6cf80}
.video-count{border:1px solid rgba(244,200,97,.48);padding:11px 20px;border-radius:50px;white-space:nowrap;color:#f7d68b;font-size:.8rem;font-weight:900;letter-spacing:.12em}
.video-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;position:relative}
.video-feature{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);border-radius:24px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.13)}
.video-feature-main:first-child:nth-last-child(n+3){grid-column:span 2;display:grid;grid-template-columns:1.5fr .7fr;align-items:stretch}
.video-feature-player{position:relative;aspect-ratio:16/9;background:#07191b}
.video-feature-main:first-child:nth-last-child(n+3) .video-feature-player{aspect-ratio:auto;min-height:390px}
.video-feature-player video,.video-feature-player iframe{width:100%;height:100%;border:0;display:block;object-fit:contain}
.video-feature-caption{padding:25px}.video-feature-caption h3{color:#fff;font-size:clamp(1.2rem,2vw,1.75rem)}.video-feature-caption p{color:#cadcdd}
.gallery-showcase{padding-top:100px}.gallery-showcase .section-head h2{max-width:700px}
.picture-grid-featured{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:205px;gap:14px}
.picture-grid-featured .picture{height:100%;border-radius:13px}
.picture-grid-featured .picture:nth-child(1){grid-column:span 2;grid-row:span 2}.picture-grid-featured .picture:nth-child(5){grid-column:span 2}
.picture-grid-featured .picture img{transition:transform .5s ease}.picture-grid-featured .picture:hover img{transform:scale(1.08)}
.review-section{background:#fff3dc;border:1px solid rgba(182,120,38,.12);box-shadow:none}
.review-section .section-head h2{color:#70263b}
.compact-review{border-radius:16px;box-shadow:0 8px 23px rgba(27,34,27,.06);border-top:4px solid #c63f4d;transition:transform .22s}
.compact-review:hover{transform:translateY(-4px)}
.cta-grand>div{background:radial-gradient(circle at 10% 10%,rgba(255,215,133,.16),transparent 40%),linear-gradient(115deg,#671e35,#a53145 58%,#71233b);border:2px solid #f3cf81;box-shadow:0 25px 60px rgba(99,30,53,.22)}
.cta-grand h2{font-size:clamp(2.6rem,4.6vw,4.9rem)}
/* Gallery: immersive mosaic and accessible keyboard-driven lightbox. */
.gallery-hero{min-height:410px;background:linear-gradient(115deg,#5b2138,#962e49 62%,#173f42);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 330px;align-items:center;gap:35px;padding:80px max(24px,calc((100vw - 1280px)/2));color:#fff}
.gallery-hero h1{font-size:clamp(2.5rem,5vw,5.3rem);max-width:920px}.gallery-hero h1 em{color:#f8d27d;font-style:normal}
.gallery-hero p{max-width:660px;color:#f0dfe4;font-size:1.08rem}.gallery-hero .eyebrow{color:#f8d27d}
.gallery-hero-counter{display:inline-flex;padding:9px 16px;border:1px solid #e6bd79;border-radius:100px;color:#ffe7ab;font-weight:800}
.gallery-hero-graphic{position:relative;width:300px;height:270px;border:3px solid #e5ba70;border-radius:50%;display:grid;place-items:center;transform:rotate(8deg);box-shadow:0 0 0 20px rgba(255,211,130,.06),0 0 0 40px rgba(255,211,130,.03);text-align:center}
.gallery-hero-graphic strong{font:900 3.1rem/1 'Roboto Slab',Georgia,serif;color:#fce09c;text-shadow:0 6px 0 #571c31}.gallery-hero-graphic>span{position:absolute;color:#f3cb78;font-size:2.8rem}.gallery-hero-graphic>span:first-child{top:-35px;left:20px}.gallery-hero-graphic>span:nth-child(2){top:13px;right:-20px}.gallery-hero-graphic>span:nth-child(3){bottom:-31px;left:120px}
.gallery-content{padding-top:64px}.gallery-filters{gap:9px;margin-bottom:35px}.gallery-filters .chip-active{background:#71253c;color:#fff;border-color:#71253c}
.gallery-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:15px}
.gallery-mosaic .gallery-photo{width:100%;min-height:0;height:100%;border:0;padding:0;cursor:zoom-in;box-shadow:0 12px 28px rgba(26,34,28,.1);border-radius:14px}
.gallery-mosaic .gallery-photo:nth-child(9n + 1),.gallery-mosaic .gallery-photo:nth-child(9n + 6){grid-column:span 2;grid-row:span 2}
.gallery-mosaic .gallery-photo:nth-child(9n + 5){grid-column:span 2}
.gallery-mosaic .gallery-photo span b{margin-left:7px}
.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(65px,1fr) minmax(0,1100px) minmax(65px,1fr);align-items:center;background:rgba(7,15,17,.96);padding:30px 15px;color:#fff;backdrop-filter:blur(20px)}
.lightbox figure{margin:0;display:grid;gap:15px;justify-items:center}.lightbox figure img{display:block;max-height:80vh;max-width:100%;object-fit:contain;border-radius:10px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.lightbox figcaption{text-align:center;color:#e4d3bb}
.lightbox button{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);box-shadow:none;padding:0;width:52px;height:52px;border-radius:50%;font-size:2.5rem;display:grid;place-items:center;justify-self:center;color:#fff}
.lightbox .lightbox-close{position:absolute;top:22px;right:28px;z-index:2}.lightbox-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:.78rem;letter-spacing:.15em;font-weight:800;color:#d3d8d6}.lightbox-open{overflow:hidden}
/* Mediathek: tile layout and editable video cards. */
.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-page-heading p{color:var(--muted);max-width:670px}
.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:17px;margin-top:24px}.media-tile{padding:13px;border-radius:16px}.media-tile>img,.media-tile>video,.media-external{height:158px;width:100%;border-radius:10px;object-fit:cover;background:#183a3c}.media-external{display:grid;place-items:center;color:#ffe2a5;font-size:3.5rem}.media-external small{font-size:.75rem;color:#fff;display:block}.media-meta{display:grid;gap:5px;margin:12px 0}.media-meta strong{overflow-wrap:anywhere}.media-meta small{color:var(--muted)}.media-meta .tag{justify-self:start}.media-tile .action-form{margin-top:10px}
.video-admin-list{display:grid;gap:18px}.video-admin-card{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:24px}.video-admin-card .video-frame{aspect-ratio:16/9}.video-admin-card .video-frame>*{width:100%;height:100%;border:0}.video-admin-card form{margin-bottom:14px}.video-admin-card .between{align-items:center}
.sort-list{display:grid;gap:6px}.sort-row{display:flex;align-items:center;gap:9px;background:#f4f7f5;border-radius:10px;padding:8px 12px}.sort-row span{flex:1}.sort-row input{display:none}
@media(max-width:1100px){.hero-home{padding:60px 30px}.gallery-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-mosaic .gallery-photo:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-mosaic .gallery-photo:nth-child(7n+1){grid-column:span 2;grid-row:span 2}}
@media(max-width:820px){.hero-home{gap:22px}.hero-decoration{min-height:420px}.video-world{padding:64px 24px}.video-world-grid{grid-template-columns:1fr}.video-feature-main:first-child:nth-last-child(n+3){grid-column:auto;display:block}.video-feature-main:first-child:nth-last-child(n+3) .video-feature-player{min-height:0;aspect-ratio:16/9}.gallery-hero{grid-template-columns:1fr;padding:65px 24px}.gallery-hero-graphic{display:none}.gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}.gallery-mosaic .gallery-photo:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-mosaic .gallery-photo:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.video-admin-card{grid-template-columns:1fr}.picture-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}.picture-grid-featured .picture:nth-child(1){grid-column:span 2;grid-row:span 2}.picture-grid-featured .picture:nth-child(5){grid-column:span 2}.lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:70px 5px}.lightbox button{width:38px;height:38px;font-size:2rem}}
@media(max-width:560px){.hero-home{padding:45px 22px 65px}.hero-home h1{font-size:clamp(2.8rem,12vw,4.2rem)}.hero-decoration{min-height:320px}.hero-decoration .floating-card{min-width:130px}.gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-mosaic .gallery-photo:nth-child(n){grid-column:auto;grid-row:auto}.lightbox{grid-template-columns:42px minmax(0,1fr) 42px}.lightbox figure img{max-height:72vh}.video-world-header{display:block}.video-count{display:inline-block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Admin visual language adapted to the familiar dark Lörrach CMS: deep surfaces, gold accents, clear forms. */
.backend{background:#0b0d12;color:#eef2f7}
.backend .backend-top{position:sticky;top:0;background:#10141d;border-color:#2a3140;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.backend .brand-mark{background:#283044;color:#edbd52}
.backend .admin-shell{background:#0b0d12;min-height:calc(100vh - 86px)}
.backend .sidebar{position:sticky;top:86px;align-self:start;height:calc(100vh - 86px);overflow:auto;background:#11151d;border-right:1px solid #28303e}
.backend .sidebar h3{color:#a5afbd}.backend .sidebar a{color:#c7d1df;border:1px solid transparent;transition:background .18s}
.backend .sidebar a.selected{background:#262c3a;color:#ffe0a0;border-color:#3a4150}
.backend .sidebar a:hover{background:#202735;color:#fff}
.backend .admin-content{padding:32px 38px 90px}
.backend .admin-content h1,.backend .admin-content h2,.backend .admin-content h3{color:#f0f3f8}
.backend .panel,.backend .steps article{background:#151922;color:#eaf0f7;border:1px solid #293040;box-shadow:0 14px 30px rgba(0,0,0,.12)}
.backend .panel p,.backend .admin-page-heading p,.backend .muted{color:#a8b3c1}
.backend .panel strong,.backend .stat-card strong{color:#e9bb58}
.backend .panel label,.backend label,.backend legend{color:#dfe7ef}
.backend input,.backend textarea,.backend select{background:#0e121a;color:#f0f4f9;border:1px solid #384457}
.backend input:focus,.backend textarea:focus,.backend select:focus{border-color:#d4a848;box-shadow:0 0 0 4px rgba(233,187,88,.13)}
.backend input[type=file]{background:#171e29}
.backend .button,.backend button{background:#d8aa43;color:#1a1b19;box-shadow:none}
.backend .button.secondary,.backend button.secondary{background:#252e3d;color:#e9f0f8;border:1px solid #3b4657}
.backend .tag{background:#252d3b;color:#ffcf75}
.backend .empty{background:#222833;border:1px dashed #495165;color:#cbd7e2}
.backend .media-meta small{color:#a9b5c2}
.backend .media-external{background:#202b38}
.backend .sort-row{background:#202733;color:#e9f0f6}
.backend .notice{background:#183b32;border-color:#2b6453;color:#dcf3e5}
.backend .video-frame{background:#090e14}
.backend .preview{background:#212735;border-color:#394353}
.backend .quick-links .button{white-space:normal}
@media(max-width:820px){.backend .sidebar{position:relative;top:auto;height:auto}.backend .admin-content{padding:22px 15px 70px}.backend .admin-page-heading{align-items:start;flex-direction:column}.backend .sidebar a{padding:8px 11px}}
