/* =========================================================
   PILLAR — Hero slider (homepage) · LIGHT PALETTE. Load AFTER components.css
   ========================================================= */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--cream)}
.bg-stack{position:absolute;inset:0;z-index:-1}
.bg{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background-size:cover;background-position:center}
.bg.active{opacity:1}
.bg.has-photo{background-repeat:no-repeat;transform:scale(1.001);will-change:transform}
.bg.has-photo.active{animation:kenburns 14s ease-out forwards}
.bg.has-photo:nth-of-type(even).active{animation-name:kenburns-alt}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.12) translate(-1.2%,-1%)}}
@keyframes kenburns-alt{from{transform:scale(1.12) translate(1.2%,0)}to{transform:scale(1)}}

/* bright morning skies (fallbacks when a photo is missing) */
.sky-dawn{background:linear-gradient(180deg,#cfe6dc 0%,#e3efdc 42%,#f7f0d6 78%,#f9dfae 100%)}
.sky-day {background:linear-gradient(180deg,#bfe0e3 0%,#d8eee6 45%,#eaf4df 80%,#f7f3dc 100%)}
.sky-gold{background:linear-gradient(180deg,#e4ecd0 0%,#f2eecb 42%,#f8dca0 80%,#f6cf85 100%)}
.sky-dusk{background:linear-gradient(180deg,#d4dfe6 0%,#e4e6dd 45%,#efdcc0 80%,#ecc99a 100%)}

.sun{position:absolute;right:18%;top:22%;width:34vmin;height:34vmin;border-radius:50%;
  background:radial-gradient(circle,rgba(255,244,200,.85),rgba(255,244,200,0) 68%);filter:blur(6px);
  transition:left 1.6s var(--ease),top 1.6s var(--ease),opacity 1.6s;opacity:.9}

.building{position:absolute;left:50%;bottom:0;width:max(100%,1500px);max-width:none;height:auto;
  transform:translateX(-50%) scale(1.04);transform-origin:50% 100%;
  filter:saturate(1.08) contrast(1.02) brightness(1.04);
  transition:opacity 1.2s ease,filter 1.6s ease;animation:drift 22s ease-in-out infinite alternate}
.building.hide{opacity:0}
@keyframes drift{to{transform:translateX(-50%) scale(1.1)}}

/* light veil (REDUCED): just a soft cream wash behind the text + a short blend into the About section,
   so the slider photos stay bright and clearly visible */
.veil{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(251,247,236,.56) 0%,rgba(251,247,236,.26) 40%,rgba(251,247,236,0) 76%),
  linear-gradient(180deg,rgba(251,247,236,.28) 0%,rgba(251,247,236,0) 24%,rgba(238,243,239,0) 74%,rgba(238,243,239,.8) 100%)}

.leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.leaf{position:absolute;top:-6%;width:10px;height:14px;border-radius:0 100% 0 100%;background:var(--leaf);opacity:0;animation:fall linear infinite}
@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}10%{opacity:.55}100%{transform:translate3d(var(--dx),115vh,0) rotate(360deg);opacity:0}}

/* Layout (extra top padding for the larger header lockup) */
.hero-inner{position:relative;min-height:100vh;min-height:100svh;
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  align-items:center;gap:clamp(24px,5vw,90px);
  padding:200px clamp(20px,9vw,200px) 90px clamp(20px,11vw,230px)}

.slides{position:relative;min-height:430px;display:flex;flex-direction:column;justify-content:center}
.slide{position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);visibility:hidden}
.slide.active{visibility:visible;position:relative;top:0;transform:none}
.slide > *{opacity:0;transform:translateY(26px)}
.slide.active > *{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.slide.active > :nth-child(1){transition-delay:.15s}
.slide.active > :nth-child(2){transition-delay:.3s}
.slide.active > :nth-child(3){transition-delay:.45s}
.slide.active > :nth-child(4){transition-delay:.6s}
.slide.leaving{visibility:visible}
.slide.leaving > *{opacity:0;transform:translateY(-14px);transition:opacity .4s,transform .4s}

.eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:22px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink)}
.eyebrow span{width:40px;height:1.5px;background:var(--gold-500)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(46px,6.4vw,104px);line-height:.98;letter-spacing:-.01em;color:var(--teal-deep)}
h1 em{font-style:italic;font-weight:500;background:linear-gradient(135deg,#c49a45,#a67a2c 55%,#8a6420);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin-top:26px;max-width:540px;font-size:clamp(16px,1.35vw,21px);line-height:1.6;color:#3d5247}


/* ---- Hero text: white stroke + soft glow (readable on any photo) ---- */
.hero h1{-webkit-text-stroke:1.5px rgba(255,255,255,.95);paint-order:stroke fill;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.9)) drop-shadow(0 0 26px rgba(255,236,170,.75)) drop-shadow(0 2px 3px rgba(20,60,50,.28))}
.hero h1 em{-webkit-text-stroke:1.1px rgba(255,255,255,.95)}
.hero .eyebrow,.hero .lead,.hero .trust{
  -webkit-text-stroke:.35px rgba(255,255,255,.85);paint-order:stroke fill;
  text-shadow:0 0 3px rgba(255,255,255,.95),0 0 9px rgba(255,255,255,.95),0 0 20px rgba(255,255,255,.85),0 0 34px rgba(255,238,185,.8)}
.hero .lead{color:#1f3329;font-weight:500}
.hero .trust{color:#2c4439}
.hero .btn-ghost{text-shadow:0 0 8px rgba(255,255,255,.9);background:rgba(255,255,255,.7)}
.hero .btn-ghost:hover{text-shadow:none}
.hero .panel-title{text-shadow:0 0 8px rgba(255,255,255,.7)}

/* ---- Hero: bold type ---- */
.hero h1,.hero h1 em{font-weight:700}
.hero .eyebrow{font-weight:700}
.hero .lead{font-weight:600}
.hero .trust{font-weight:700}
.hero .btn{font-weight:700}
.hero .panel-title,.hero .num,.hero .txt em,.hero #counter{font-weight:700}
.hero .txt strong{font-weight:700}
.hero .txt small{font-weight:600;color:#3d5247}

.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.btn{display:inline-flex;align-items:center;gap:12px;padding:19px 34px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,color .35s,background .35s}
.btn-gold{background:var(--gold-grad);color:#1c1405;box-shadow:0 10px 30px rgba(196,154,69,.4)}
.btn-gold i{font-style:normal;transition:transform .35s var(--ease)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(196,154,69,.55)}
.btn-gold:hover i{transform:translateX(5px)}
.btn-ghost{border:1.5px solid var(--teal);background:rgba(255,255,255,.55);backdrop-filter:blur(8px);color:var(--teal-deep)}
.btn-ghost:hover{background:var(--teal);color:#fff;transform:translateY(-3px)}

.trust{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:56px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#4b5f55}
.trust .dot{width:5px;height:5px;background:var(--gold-500);transform:rotate(45deg)}

/* Glass selector panel (light) */
.panel{align-self:center;justify-self:end;width:100%;max-width:470px;padding:30px 30px 22px;border-radius:32px;
  background:rgba(255, 253, 247, 0.697);border:1px solid rgba(31,90,76,.14);backdrop-filter:blur(0%) saturate(1.2);-webkit-backdrop-filter:blur(0%) saturate(1.2);
  box-shadow:0 30px 70px rgba(23,69,58,.18),inset 0 1px 0 rgba(255,255,255,.8)}
.panel-title{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px}
.panel-list li{border-top:1px solid rgba(31,90,76,.12)}
.panel-list li:first-child{border-top:0}
.panel-list button{width:100%;display:grid;grid-template-columns:34px 1fr 40px;align-items:center;gap:8px;text-align:left;padding:16px 0;opacity:.7;transition:opacity .4s,transform .4s var(--ease)}
.panel-list button:hover,.panel-list li.active button{opacity:1}
.panel-list button:hover{transform:translateX(4px)}
.num{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--gold-ink)}
.txt strong{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(21px,1.7vw,27px);line-height:1.15;color:var(--teal-deep)}
.txt small{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
.txt em{display:block;margin-top:7px;font-style:normal;font-size:13px;font-weight:600;color:var(--gold-ink)}
.txt em::before{content:"◆ ";font-size:9px;vertical-align:1px}
.arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(31,90,76,.25);display:grid;place-items:center;font-size:15px;color:var(--teal);transition:background .35s,color .35s,box-shadow .35s}
.panel-list li.active .arrow{background:rgba(220,184,101,.3);box-shadow:0 0 22px rgba(220,184,101,.45)}
.panel-list button:hover .arrow{background:var(--gold-300);color:#1c1405}

.panel-foot{margin-top:8px;padding-top:16px;border-top:1px solid rgba(31,90,76,.12)}
.progress{height:3px;background:rgba(31,90,76,.14);border-radius:3px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:var(--gold-grad)}
.ctrl{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--muted)}
.ctrl button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(31,90,76,.25);font-size:14px;color:var(--teal);transition:background .3s,color .3s}
.ctrl button:hover{background:var(--gold-300);color:#1c1405}
#counter{flex:1;text-align:center}
#playBtn{font-size:10px}

.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:22px;height:36px;border:1.5px solid rgba(31,90,76,.5);border-radius:14px}
.scroll-cue span{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--gold-500);animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* Side slide buttons */
.side-arrow{position:absolute;top:50%;z-index:5;width:56px;height:56px;margin-top:-28px;border-radius:50%;display:grid;place-items:center;color:var(--teal);
  background:rgba(255,255,255,.8);border:1px solid rgba(31,90,76,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(23,69,58,.16);
  transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s}
.side-arrow.prev{left:clamp(12px,2vw,32px)}
.side-arrow.next{right:clamp(12px,2vw,32px)}
.side-arrow:hover{background:var(--gold-grad);color:#1c1405;box-shadow:0 12px 34px rgba(196,154,69,.45)}
.side-arrow.prev:hover{transform:translateX(-3px)}
.side-arrow.next:hover{transform:translateX(3px)}

/* Responsive */
@keyframes kenburns-m{from{transform:scale(1)}to{transform:scale(1.05) translate(-.8%,-.6%)}}
@keyframes kenburns-m-alt{from{transform:scale(1.05) translate(.8%,0)}to{transform:scale(1)}}
@media (max-width:1000px){
  /* Same composition as desktop: the slide photo sits BEHIND the heading, text and buttons.
     The Explore panel is part of the same hero block, at the bottom. */
  .hero{--m-head:96px;min-height:100vh;min-height:100svh;border-radius:0 0 26px 26px;box-shadow:0 18px 40px rgba(23,69,58,.2)}
  .bg-stack{inset:0;overflow:hidden}
  .bg{background-size:cover}
  .bg.has-photo.active{animation-name:kenburns-m}
  .bg.has-photo:nth-of-type(even).active{animation-name:kenburns-m-alt}
  .sun{width:30vmin;height:30vmin}
  .building{width:max(125%,520px)}
  .veil{background:linear-gradient(180deg,rgba(251,247,236,.5) 0%,rgba(251,247,236,.46) 52%,rgba(251,247,236,.2) 100%)}

  .hero-inner{grid-template-columns:1fr;align-content:space-between;min-height:100vh;min-height:100svh;
    padding:calc(var(--m-head) + 28px) 22px 36px;gap:30px}
  .slides{min-height:330px;justify-content:flex-start}
  .panel{justify-self:stretch;max-width:none;padding:18px 20px 14px;border-radius:24px}
  .panel-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .panel-list li{border:0}
  .panel-list button{display:block;padding:10px 4px;border-top:2px solid rgba(31,90,76,.2);opacity:.75}
  .panel-list li.active button{border-top-color:var(--gold-500)}
  .num,.txt small,.txt em,.arrow,.panel-title{display:none}
  .txt strong{font-size:15px;line-height:1.2}
  .scroll-cue,.trust{display:none}
  .side-arrow{display:none}   /* swipe or use the controls in the panel */
}
@media (max-width:560px){
  .btn{padding:16px 24px;font-size:12px}
  .lead{font-size:15px}
  h1{font-size:clamp(40px,12vw,56px)}
}

/* =========================================================
   PILLAR — shared helpers
   ========================================================= */
html.modal-open{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* =========================================================
   BROCHURE VIEWER (opens the PDF on screen instead of downloading)
   ========================================================= */
.bro{position:fixed;inset:0;z-index:10040;display:flex;flex-direction:column;background:rgba(8,28,22,.82);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.bro[hidden]{display:none}
.bro.open{opacity:1;visibility:visible}
.bro-bar{display:flex;align-items:center;gap:14px;padding:12px clamp(14px,3vw,32px);color:#fff7e0}
.bro-bar strong{flex:1;font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:.02em}
.bro-bar a{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#f6dd9b;padding:10px 16px;border:1px solid rgba(246,221,155,.45);border-radius:999px;transition:background .3s,color .3s}
.bro-bar a:hover{background:#f6dd9b;color:#1c1405}
.bro-close{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff7e0;border:1px solid rgba(255,255,255,.35);transition:background .3s,transform .3s}
.bro-close:hover{background:rgba(255,255,255,.18);transform:rotate(90deg)}
.bro-body{flex:1;min-height:0;margin:0 clamp(10px,3vw,40px) clamp(10px,2.5vw,28px);border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(246,221,155,.35);transform:translateY(24px) scale(.98);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.bro.open .bro-body{transform:none}
.bro iframe{display:block;width:100%;height:100%;border:0;background:#fff}

/* =========================================================
   FACILITIES — responsive mosaic gallery (images always visible)
   3 cols desktop · 2 cols tablet · image-on-top cards on phones
   ========================================================= */
.fac{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,9vw,130px) clamp(16px,5vw,100px);
  background:radial-gradient(70% 50% at 100% 0%,rgba(220,184,101,.16),transparent 70%),radial-gradient(60% 45% at 0% 100%,rgba(47,108,93,.12),transparent 70%),linear-gradient(180deg,#eef3ef 0%,var(--cream,#fbf7ec) 100%)}
.fac-head{text-align:center;max-width:780px;margin:0 auto clamp(34px,5vw,64px)}
.fac-head h2{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;font-size:clamp(38px,5vw,68px);line-height:1.05;color:var(--teal-deep,#17453a)}
.fac-tag{margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink,#8a6420)}
.fac-tag::after{content:"";display:block;width:70px;height:2px;margin:18px auto 0;background:var(--gold-grad,linear-gradient(135deg,#dcb865,#a67a2c))}
.fac-sub{margin-top:16px;font-size:clamp(15px,1.3vw,18px);line-height:1.65;color:#3d5247}

.fac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(220px,23vw,320px);gap:clamp(14px,1.6vw,24px);max-width:1380px;margin:0 auto}
.fac-card:nth-child(1),.fac-card:nth-child(7){grid-column:span 2}
.fac-card{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,var(--c1,#2f6c5d),var(--c2,#123a30));
  box-shadow:0 14px 34px rgba(23,69,58,.18);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.fac-card:hover,.fac-card:focus-within{transform:translateY(-6px);box-shadow:0 26px 54px rgba(23,69,58,.28),0 0 0 2px rgba(220,184,101,.55)}
.fac-in{position:absolute;inset:0;display:block;color:#fff}
.fac-media{position:absolute;inset:0;overflow:hidden}
.fac-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.fac-media.has-img img{opacity:1;transform:scale(1)}
.fac-card:hover .fac-media img{transform:scale(1.07)}
.fac-ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.3);transition:opacity .6s}
.fac-ph svg{width:clamp(56px,7vw,92px);height:auto}
.fac-media.has-img .fac-ph{opacity:0}
.fac-media::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg)}
.fac-card:hover .fac-media::after{animation:facShine 1.1s ease}
@keyframes facShine{to{left:140%}}
.fac-num{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--serif,'Cormorant Garamond',serif);font-size:18px;font-weight:600;color:#fff;
  padding:5px 13px;border-radius:999px;background:rgba(15,51,41,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25)}
.fac-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:54px clamp(16px,1.8vw,26px) clamp(16px,1.8vw,24px);
  background:linear-gradient(0deg,rgba(8,32,26,.88) 0%,rgba(8,32,26,.6) 55%,rgba(8,32,26,0) 100%)}
.fac-ico{position:absolute;right:clamp(14px,1.6vw,22px);top:16px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  }
.fac-body h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(22px,2vw,30px);line-height:1.15;color:#fff}
.fac-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fac-tags li{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:999px;color:#f6dd9b;border:1px solid rgba(246,221,155,.5)}
.fac-body p{margin-top:12px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.92)}

@media (hover:hover) and (min-width:901px){
  .fac-body p{max-height:0;opacity:0;margin-top:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease,margin .5s}
  .fac-card:hover .fac-body p,.fac-card:focus-within .fac-body p{max-height:90px;opacity:1;margin-top:12px}
}
@media (max-width:900px){
  .fac-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(210px,36vw,300px)}
  .fac-card:nth-child(7){grid-column:auto}
}
@media (max-width:640px){
  .fac-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:20px}
  .fac-card,.fac-card:nth-child(1),.fac-card:nth-child(7){grid-column:auto;background:#fffdf7;border:1px solid rgba(31,90,76,.14)}
  .fac-in{position:relative;inset:auto;display:flex;flex-direction:column;color:var(--teal-deep,#17453a)}
  .fac-media{position:relative;inset:auto;aspect-ratio:16/10;background:linear-gradient(135deg,var(--c1),var(--c2))}
  .fac-body{position:relative;padding:18px 18px 22px;background:#fffdf7}
  .fac-body h3{color:var(--teal-deep,#17453a)}
  .fac-tags li{color:var(--gold-ink,#8a6420);border-color:rgba(138,100,32,.4)}
  .fac-body p{color:#3d5247}
}
.fac-cta{display:flex;justify-content:center;margin-top:clamp(34px,4vw,56px)}
.fac.in .fac-card{animation:facIn .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * .09s)}
@keyframes facIn{from{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:none}}

/* =========================================================
   PILLAR IN PRESS — copy on the left, one gallery card on the right
   (same light background as the rest of the site)
   ========================================================= */
.press{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,9vw,130px) clamp(16px,5vw,100px);
  background:radial-gradient(70% 50% at 100% 0%,rgba(220,184,101,.16),transparent 70%),radial-gradient(60% 45% at 0% 100%,rgba(47,108,93,.12),transparent 70%),linear-gradient(180deg,#eef3ef 0%,var(--cream,#fbf7ec) 100%)}
.press-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.pspark{position:absolute;width:var(--s,10px);height:var(--s,10px);background:#dcb865;opacity:0;
  clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
  filter:drop-shadow(0 0 5px rgba(220,184,101,.8));animation:twinkle var(--du,4s) ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(90deg)}}

.press-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,90px);align-items:center;max-width:1380px;margin:0 auto}
.press-copy h2{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;font-size:clamp(38px,5vw,70px);line-height:1.04;color:var(--teal-deep,#17453a)}
.press-copy h2 em{font-style:italic;background:linear-gradient(100deg,#8a6420 0%,#d3a84d 40%,#a67a2c 60%,#8a6420 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:goldFlow 6s linear infinite}
@keyframes goldFlow{to{background-position:-220% 0}}
.press-tag{margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink,#8a6420)}
.press-tag::after{content:"";display:block;width:70px;height:2px;margin-top:18px;background:var(--gold-grad,linear-gradient(135deg,#dcb865,#a67a2c))}
.press-sub{margin-top:18px;max-width:560px;font-size:clamp(15px,1.3vw,18px);line-height:1.65;color:#3d5247}
.press-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.press-chips li{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;border-radius:999px;color:var(--gold-ink,#8a6420);border:1px solid rgba(138,100,32,.4);background:rgba(255,255,255,.5)}
.press-actions{margin-top:32px}

/* gallery card */
.pg-wrap{position:relative;width:100%;max-width:640px;justify-self:end;aspect-ratio:4/3}
.pg-back{position:absolute;inset:0;border-radius:28px;background:linear-gradient(135deg,#2f6c5d,#123a30);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pg-back.b1{transform:translate(16px,16px) rotate(2.5deg);opacity:.45}
.pg-back.b2{transform:translate(-14px,10px) rotate(-2.5deg);opacity:.28}
.pg-wrap:hover .pg-back.b1{transform:translate(24px,20px) rotate(4deg)}
.pg-wrap:hover .pg-back.b2{transform:translate(-22px,14px) rotate(-4deg)}
.pg-card{position:absolute;inset:0;z-index:2;padding:0;border-radius:28px;overflow:hidden;cursor:pointer;text-align:left;color:#fff;
  background:linear-gradient(135deg,#2f6c5d,#123a30);border:1px solid rgba(196,154,69,.6);
  box-shadow:0 30px 70px rgba(23,69,58,.28);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.pg-card:hover,.pg-card:focus-visible{transform:translateY(-8px);box-shadow:0 38px 80px rgba(23,69,58,.36),0 0 0 2px rgba(220,184,101,.6)}
.pg-card:focus-visible{outline:2px solid var(--gold-500,#c49a45);outline-offset:4px}
.pg-media{position:absolute;inset:0}
.pg-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.pg-card.has-img .pg-media img{opacity:1;transform:scale(1)}
.pg-card:hover .pg-media img{transform:scale(1.06)}
.pg-ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.3);transition:opacity .6s}
.pg-ph svg{width:clamp(70px,9vw,120px);height:auto}
.pg-card.has-img .pg-ph{opacity:0}
.pg-shine{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.pg-shine::before{content:"";position:absolute;top:-10%;left:-70%;width:40%;height:120%;transform:skewX(-20deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:pShine 6.5s ease-in-out infinite}
.pg-card:hover .pg-shine::before{animation-duration:1.2s}
@keyframes pShine{0%{left:-70%}22%,100%{left:150%}}
.pg-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,232,160,.95) 50%,transparent 70%);background-size:260% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:pBorder 4.5s linear infinite}
@keyframes pBorder{from{background-position:130% 0}to{background-position:-130% 0}}
.pg-badge{position:absolute;top:18px;left:18px;z-index:2;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:7px 14px;border-radius:999px;color:#fff;
  background:rgba(15,51,41,.55);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.pg-open{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.pg-card:hover .pg-open{background:#f6dd9b;color:#1c1405;transform:scale(1.08)}
.pg-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:56px clamp(18px,2vw,28px) clamp(16px,2vw,24px);
  background:linear-gradient(0deg,rgba(6,26,20,.9),rgba(6,26,20,0))}
.pg-cap strong{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:700;font-size:clamp(22px,2.2vw,32px);line-height:1.1;color:#fff}
.pg-cta{flex:none;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:999px;color:#1c1405;background:var(--gold-grad,linear-gradient(135deg,#dcb865,#a67a2c))}
.pg-cta i{font-style:normal}
.press.in .pg-wrap{animation:pIn .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes pIn{from{opacity:0;transform:translateX(50px) scale(.96)}to{opacity:1;transform:none}}

@media (max-width:900px){
  .press-inner{grid-template-columns:1fr}
  .pg-wrap{justify-self:stretch;max-width:none;margin:0 10px 14px 0}
}
@media (max-width:480px){
  .pg-cap{flex-direction:column;align-items:flex-start}
}

/* ---------- Lightbox ---------- */
.plb{position:fixed;inset:0;z-index:10050;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-items:stretch;
  padding:14px clamp(12px,3vw,40px) 16px;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.plb[hidden]{display:none}
.plb.open{opacity:1;visibility:visible}
.plb-bg{position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 40%,rgba(33,101,83,.9),rgba(5,20,16,.97));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.plb-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.plb-top{position:relative;z-index:3;width:100%;max-width:1200px;display:flex;align-items:center;gap:12px;color:#fff7e0}
.plb-count{flex:1;font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(18px,2vw,24px);font-weight:600;letter-spacing:.12em;color:#f6dd9b}
.plb-btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff7e0;background:rgba(255,255,255,.1);border:1px solid rgba(246,221,155,.5);
  transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.plb-btn:hover{background:#f6dd9b;color:#1c1405;box-shadow:0 0 26px rgba(246,221,155,.6)}
.plb-close:hover{transform:rotate(90deg)}
.plb-stage{position:relative;z-index:2;width:min(100%,1120px);min-height:0;display:flex;flex-direction:column;justify-content:center;gap:14px;margin:8px 0}
.plb-frame{position:relative;flex:1 1 auto;min-height:0;border-radius:20px;overflow:hidden;background:rgba(0,0,0,.28);border:1px solid rgba(246,221,155,.55);
  animation:frameGlow 3.2s ease-in-out infinite alternate;transform:scale(.94);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.plb.open .plb-frame{transform:none}
@keyframes frameGlow{from{box-shadow:0 0 22px rgba(246,221,155,.25),0 24px 70px rgba(0,0,0,.55)}to{box-shadow:0 0 52px rgba(246,221,155,.6),0 24px 70px rgba(0,0,0,.55)}}
.plb-pic{position:absolute;inset:0;display:grid;place-items:center}
.plb-pic img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.plb-pic.ph{color:rgba(255,255,255,.3);background:linear-gradient(135deg,#2f6c5d,#123a30)}
.plb-pic.ph svg{width:110px;height:auto}
.plb-frame::after{content:"";position:absolute;top:-10%;left:-60%;width:38%;height:120%;pointer-events:none;transform:skewX(-20deg);opacity:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent)}
.plb-frame.shine::after{animation:lbShine 1.3s ease .15s}
@keyframes lbShine{0%{left:-60%;opacity:1}100%{left:150%;opacity:1}}
.plb-cap{text-align:center;color:#fff7e0;padding:0 56px}
.plb-cap h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(22px,2.4vw,32px);color:#fff7e0}
.plb-cap p{margin-top:4px;font-size:14px;color:rgba(243,236,216,.8)}
.plb-nav{position:absolute;top:50%;z-index:4;width:56px;height:56px;margin-top:-28px;border-radius:50%;display:grid;place-items:center;color:#fff7e0;background:rgba(10,38,30,.55);
  border:1px solid rgba(246,221,155,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.plb-nav.prev{left:clamp(8px,2vw,28px)}
.plb-nav.next{right:clamp(8px,2vw,28px)}
.plb-nav:hover{background:#f6dd9b;color:#1c1405;box-shadow:0 0 28px rgba(246,221,155,.6)}
.plb-nav.prev:hover{transform:translateX(-3px)}
.plb-nav.next:hover{transform:translateX(3px)}
.plb-thumbs{position:relative;z-index:3;display:flex;gap:10px;max-width:min(100%,1120px);overflow-x:auto;padding:10px 6px 4px;scrollbar-width:none}
.plb-thumbs::-webkit-scrollbar{display:none}
.plb-th{flex:0 0 auto;width:clamp(64px,7vw,92px);aspect-ratio:16/10;border-radius:10px;overflow:hidden;padding:0;position:relative;opacity:.55;border:2px solid transparent;
  background:linear-gradient(135deg,#2f6c5d,#123a30);transition:opacity .3s,transform .3s,border-color .3s,box-shadow .3s}
.plb-th img{width:100%;height:100%;object-fit:cover;display:block}
.plb-th:hover{opacity:.9}
.plb-th.active{opacity:1;transform:translateY(-4px) scale(1.06);border-color:#f6dd9b;box-shadow:0 0 22px rgba(246,221,155,.65)}

@media (max-width:760px){
  .plb-nav{width:42px;height:42px;margin-top:-40px}
  .plb-cap{padding:0 8px}
}
@media (prefers-reduced-motion:reduce){
  .pspark,.pg-shine::before,.pg-card::after,.plb-frame,.press-copy h2 em{animation:none}
  .press.in .pg-wrap,.fac.in .fac-card{animation:none}
}
