:root{--ink:#070707;--bone:#eee9df;--muted:#b6aaa0;--copper:#cf6445;--line:rgba(225,215,203,.16);--serif:'Palatino Linotype','Book Antiqua',Georgia,serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{background:#070707;scroll-behavior:smooth}body{margin:0;background:#070707;color:var(--bone);font:400 15px/1.75 var(--sans);overflow-x:hidden}body.is-locked{overflow:hidden}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}::selection{background:#ab3c25;color:#fff}.wrap{width:min(1280px,calc(100% - 104px));margin:0 auto}
/* Atmospheric warmth: a slow flame reflection, not bright animated fire particles. */
.atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.atmosphere::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 48% 15% at 42% 104%,rgba(154,36,11,.21),transparent 78%),radial-gradient(ellipse 42% 19% at 75% 108%,rgba(186,75,21,.11),transparent 80%);animation:embers-breathe 12s ease-in-out infinite alternate}.atmosphere::after{content:"";position:absolute;inset:-25% -15%;background:url('smoke.webp') center/65% auto no-repeat;opacity:.11;filter:blur(16px);animation:ambient-smoke 45s linear infinite alternate}
@keyframes embers-breathe{from{opacity:.6;transform:translateY(18px) scale(1)}to{opacity:1;transform:translateY(-12px) scale(1.07)}}@keyframes ambient-smoke{from{transform:translate3d(-3%,2%,0) scale(1.08)}to{transform:translate3d(4%,-2%,0) scale(1.14)}}
main,footer,.header{position:relative;z-index:1}
.header{position:fixed;z-index:80;left:0;right:0;top:0;transition:background .5s,border-color .5s;background:linear-gradient(180deg,rgba(5,5,5,.74),transparent);border-bottom:1px solid transparent}.header.scrolled{background:rgba(6,6,6,.88);border-bottom-color:var(--line);backdrop-filter:blur(20px)}.nav{height:90px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0;opacity:.95}.brand img{width:58px;height:58px;object-fit:contain}.brand span{font:600 22px/1.04 var(--serif);letter-spacing:.015em}.links{margin:auto;display:flex;align-items:center;gap:30px}.links a{position:relative;font-size:10px;text-transform:uppercase;letter-spacing:.20em;color:#d6d0c7;transition:color .25s}.links a:hover,.links a.active{color:#fff}.links a:after{content:'';position:absolute;bottom:-10px;left:0;width:0;height:1px;background:#db7049;transition:width .35s}.links a:hover:after,.links a.active:after{width:100%}.nav-contact{border-bottom:1px solid rgba(255,255,255,.53);letter-spacing:.14em;text-transform:uppercase;font-size:10px;padding-bottom:6px;white-space:nowrap}.menu-btn{display:none;background:none;color:#fff;border:1px solid var(--line);padding:8px 11px;letter-spacing:.16em;font-size:11px}
.section-kicker,.eyebrow{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:#d6b199;font-weight:700}.section-kicker:before{content:'';display:inline-block;vertical-align:middle;width:29px;height:1px;background:var(--copper);margin-right:16px}.display{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:.90}.display em,.chapter-title em{font-weight:400;color:#dbb7a4}.chapter-title{font:500 clamp(47px,6vw,92px)/.96 var(--serif);letter-spacing:-.035em;margin:21px 0 34px}.prose{color:#c8beb4;max-width:660px;font-size:14px;line-height:1.95}.fine-link{display:inline-flex;gap:32px;align-items:center;text-transform:uppercase;font:700 10px var(--sans);letter-spacing:.22em;white-space:nowrap;border-bottom:1px solid rgba(236,229,218,.4);padding:0 0 12px;margin-top:19px;transition:gap .3s,color .3s}.fine-link:hover{gap:46px;color:#e68d6c}.fine-link .arr{font-size:18px;line-height:.6}.hairline{width:100%;height:1px;background:var(--line)}
/* Full-bleed group photograph, carefully framed */
.hero{position:relative;min-height:100svh;display:flex;align-items:end;isolation:isolate;padding:180px 0 108px;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('hero.webp') center 46%/cover no-repeat;z-index:-2;animation:hero-kenburns 24s linear alternate infinite}.hero:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.44) 42%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,#070707 0%,transparent 44%,rgba(0,0,0,.18) 88%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 65% 60%,rgba(230,64,16,.06),transparent 50%);animation:embers-breathe 8s ease-in-out infinite alternate}@keyframes hero-kenburns{from{transform:scale(1.025)}to{transform:scale(1.105)}}.hero-inner{max-width:900px}.hero h1{font:500 clamp(80px,12vw,172px)/.78 var(--serif);letter-spacing:-.06em;margin:27px 0 36px;text-shadow:0 12px 65px rgba(0,0,0,.6)}.hero h1 span{display:block}.hero h1 .second{padding-left:.60em;font-style:italic;font-weight:400}.hero p{font:400 15px/2 var(--sans);max-width:430px;color:#e2d9d1;margin-bottom:29px}.hero-meta{position:absolute;bottom:36px;left:0;right:0;display:flex;justify-content:space-between;color:#cbbfb3;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.scroll-mark{display:inline-flex;align-items:center;gap:13px}.scroll-mark:before{content:'';height:1px;width:42px;background:#c96849}
/* sections feel like a visual story, not widgets/cards */
.story{padding:150px 0}.story-grid{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(36px,7vw,120px);align-items:center}.story-photo{height:min(72vw,660px);overflow:hidden;position:relative}.story-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform 1.5s}.story-photo:hover img{transform:scale(1.035)}.story-photo:after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.09);pointer-events:none}.story-copy .prose{max-width:500px}.index-no{font:500 12px var(--serif);color:#a88b77;letter-spacing:.2em;margin-bottom:38px}.statement{padding:135px 0;text-align:center;background:linear-gradient(180deg,transparent,rgba(126,28,8,.075),transparent)}.statement .chapter-title{max-width:960px;margin:22px auto}.statement p{color:#9c8b7e;letter-spacing:.3em;font-size:10px;text-transform:uppercase}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:15px 0 120px}.chapter-photo{position:relative;display:block;overflow:hidden;aspect-ratio:3/4;background:#100e0d}.chapter-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.63) saturate(.85);transition:filter 1s,transform 1.3s}.chapter-photo:hover img{transform:scale(1.06);filter:brightness(.82)}.chapter-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.86))}.chapter-photo>div{position:absolute;bottom:34px;left:34px;z-index:1}.chapter-photo small{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#cfab95}.chapter-photo h3{font:500 clamp(32px,3vw,52px) var(--serif);margin:6px 0}.chapter-photo b{font:500 10px var(--sans);letter-spacing:.16em;text-transform:uppercase}.end-quote{padding:100px 0 150px;text-align:center}.end-quote h2{font:400 clamp(45px,6vw,90px)/1.05 var(--serif);max-width:930px;margin:20px auto}
/* Inner pages */
.page-banner{position:relative;min-height:68vh;display:flex;align-items:end;padding:160px 0 90px;overflow:hidden;isolation:isolate}.page-banner .banner-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 42%;filter:brightness(.42) saturate(.85)}.page-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#070707,transparent 86%),linear-gradient(90deg,rgba(0,0,0,.7),transparent 87%)}.page-banner h1{font-size:clamp(70px,11vw,145px);margin:23px 0 20px}.page-banner p{max-width:560px;color:#d5cac0}.body-section{padding:85px 0 135px}.body-section h2{font:500 clamp(45px,5vw,76px)/.95 var(--serif);margin:13px 0 25px}.about-story{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(40px,8vw,120px);align-items:center}.about-story img{width:100%;max-height:720px;object-fit:cover;filter:brightness(.75)}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:145px}.about-values article{border-top:1px solid var(--line);padding-top:28px}.about-values small{color:#bd795b;font:600 11px var(--sans)}.about-values h3{font:500 36px var(--serif);margin:15px 0}
/* Member portraits */
.member-section{padding:108px 0 10px}.member-section:last-of-type{padding-bottom:160px}.member-heading{display:flex;align-items:end;gap:30px;justify-content:space-between;margin-bottom:45px}.member-heading h2{font:500 clamp(54px,7vw,98px)/.9 var(--serif);margin:14px 0}.member-heading p{color:#a79b91;max-width:360px;font-size:12px}.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 17px}.member{position:relative;min-width:0}.member-view{position:relative;overflow:hidden;aspect-ratio:3/4.25;background:#11100f}.member-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform 1.7s cubic-bezier(.2,.6,.2,1),filter .9s}.member-view img.plain{z-index:1;filter:saturate(.9) brightness(.92)}.member-view img.masked{z-index:2;opacity:0;transform:scale(1.07);filter:brightness(.82)}.member-view .smoke-reveal{position:absolute;z-index:4;inset:-8%;background:url('smoke.webp') center/cover no-repeat;mix-blend-mode:screen;filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .75s,transform 1.5s;transform:translateY(18%)}.member.reveal-mask.hoverable:hover .masked,.member.reveal-mask.mask-on .masked{opacity:1;transform:scale(1)}.member.reveal-mask.hoverable:hover .plain,.member.reveal-mask.mask-on .plain{filter:brightness(.56);transform:scale(1.04)}.member.reveal-mask.hoverable:hover .smoke-reveal,.member.reveal-mask.mask-on .smoke-reveal{opacity:.62;transform:translateY(-11%)}.member-portrait-action{position:absolute;inset:0;z-index:5;display:block;border:0;background:transparent;width:100%;cursor:pointer}.member-portrait-action:focus-visible{outline:2px solid #dc815c;outline-offset:-5px}.member.is-placeholder .member-view{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#211310,#080808 70%);border:1px solid var(--line)}.member.is-placeholder .member-view img{position:relative;inset:auto;object-fit:contain;width:75%;height:75%;filter:drop-shadow(0 0 20px rgba(228,88,35,.12))}.member-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:15px 0 18px;border-bottom:1px solid var(--line)}.member-meta h3{font:500 30px/1 var(--serif);margin:0}.member-meta span{font-size:10px;letter-spacing:.08em;color:#b8a99b;text-align:right}
/* Gallery with feature slideshow and photographic contact sheets */
.showcase{padding:90px 0 45px}.showcase-stage{position:relative;height:min(67vw,690px);min-height:400px;background:#100b09;overflow:hidden}.showcase-stage img{width:100%;height:100%;object-fit:cover;filter:brightness(.87);opacity:1;transition:opacity .5s}.showcase-stage img.fade{opacity:0}.showcase-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 54%,rgba(0,0,0,.62))}.showcase-toolbar{position:absolute;bottom:28px;left:32px;right:32px;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px}.showcase-title{font:500 clamp(26px,4vw,49px) var(--serif);margin:0}.showcase-count{letter-spacing:.19em;font-size:10px;color:#c9b8a8}.showcase-nav{display:flex;gap:9px}.showcase-nav button{color:#fff;background:rgba(7,7,7,.46);border:1px solid rgba(255,255,255,.3);width:48px;height:48px;font-size:24px;transition:background .2s}.showcase-nav button:hover{background:#943a27}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:30px 0 140px}.gallery-item{background:#100e0c;border:0;padding:0;cursor:pointer;position:relative;aspect-ratio:3/4;overflow:hidden}.gallery-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.84);transition:filter .7s,transform 1s}.gallery-item:hover img{filter:brightness(.99);transform:scale(1.04)}.gallery-item:after{content:'↗';position:absolute;top:16px;right:16px;color:#fff;opacity:0;transition:opacity .3s;font-size:18px}.gallery-item:hover:after{opacity:1}
.lightbox{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.97);display:none;align-items:center;justify-content:center;padding:70px 90px}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.lightbox figcaption{color:#c8b5aa;font-size:12px;text-align:center;padding-top:10px}.lightbox figure{margin:0}.lightbox button{border:1px solid var(--line);background:#111;color:#fff;width:48px;height:48px;font-size:25px}.lightbox-close{position:absolute;top:23px;right:25px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:25px}.lightbox-next{right:25px}
/* Dates */
.events{padding:90px 0 150px;max-width:970px}.event{display:grid;grid-template-columns:115px 50px 1fr;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding:27px 0;transition:background .35s}.event:first-child{border-top:1px solid var(--line)}.event time{font:500 32px var(--serif)}.event .weekday{font-size:10px;color:#c1a18f;text-transform:uppercase;letter-spacing:.22em}.event h3{font:500 39px/1 var(--serif);margin:0}.event .place-detail{color:#a89a90;font-size:11px;letter-spacing:.08em;margin-top:7px}
/* Footer */
footer{border-top:1px solid var(--line);padding:80px 0 26px;background:#060606}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px}.footer-headline{font:500 54px/.92 var(--serif);margin:15px 0 25px;max-width:350px}.footer-col small{display:block;color:#d7b49f;letter-spacing:.24em;text-transform:uppercase;margin-bottom:25px}.footer-col a{display:block;color:#d0c6bd;margin-bottom:12px;overflow-wrap:anywhere;font-size:13px}.footer-col a:hover{color:#e17a55}.footer-bottom{margin-top:70px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8e7e73;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
/* Cinematic transition: black smoke sweeps fully over every page, and clears on destination. */
.page-veil{position:fixed;inset:0;z-index:900;pointer-events:none;transform:translateY(105%);background:radial-gradient(ellipse 65% 45% at 50% 100%,rgba(133,39,16,.2),transparent 70%),#060505;overflow:hidden;visibility:hidden}.page-veil .veil-cloud{position:absolute;inset:-20%;background:url('smoke.webp') center/cover no-repeat;opacity:.65;filter:blur(23px);animation:ambient-smoke 12s linear infinite alternate}.page-veil .veil-brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:125px;filter:drop-shadow(0 0 28px rgba(250,240,225,.18));opacity:.88}.page-veil.exit{visibility:visible;animation:veil-enter 1s cubic-bezier(.68,.03,.18,1) forwards}.page-veil.arrive{visibility:visible;transform:translateY(0);animation:veil-leave 1.12s cubic-bezier(.76,.1,.22,.98) forwards}@keyframes veil-enter{0%{transform:translateY(105%)}100%{transform:translateY(0)}}@keyframes veil-leave{0%{transform:translateY(0)}100%{transform:translateY(-105%);visibility:hidden}}
/* INTRO: 6s storyboard on every direct home opening; no session-skip bug */
.intro{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#030303;display:flex;justify-content:center;align-items:center;visibility:visible;opacity:1;transition:opacity 1.25s,visibility 1.25s}.intro.ended{opacity:0;visibility:hidden;pointer-events:none}.intro .intro-scene{position:absolute;inset:0;background:url('hero.webp') center 43%/cover no-repeat;opacity:0;transform:scale(1.13);animation:intro-scene 6.1s ease-out forwards;filter:brightness(.27) saturate(1.06)}.intro-scene:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 51% 65%,rgba(202,42,12,.3),transparent 50%),linear-gradient(0deg,#030303,transparent 58%,#030303)}.intro .intro-embers{position:absolute;bottom:-20%;left:-10%;right:-10%;height:80%;background:radial-gradient(ellipse 31% 48% at 35% 95%,rgba(232,67,18,.31),transparent 77%),radial-gradient(ellipse 45% 37% at 70% 92%,rgba(149,36,8,.22),transparent 80%);filter:blur(24px);animation:intro-embers 9s ease-in-out infinite alternate}.intro .intro-cloud{position:absolute;inset:-12%;background:url('smoke.webp') center/86% auto no-repeat;filter:blur(12px);opacity:.72;animation:intro-cloud 12s ease-out forwards}.intro .intro-cloud.second{transform:scaleX(-1);opacity:.55;animation-duration:14s}.intro-center{position:relative;z-index:2;text-align:center;display:flex;align-items:center;flex-direction:column;padding:0 30px}.intro-center .intro-kicker{font-size:10px;letter-spacing:.39em;color:#e0bdab;text-transform:uppercase;opacity:0;animation:intro-words 1.2s 1.5s forwards}.intro-center img{width:clamp(230px,33vw,440px);filter:drop-shadow(0 0 23px rgba(252,236,213,.09));opacity:0;transform:scale(.87);animation:intro-logo 3.2s .5s cubic-bezier(.18,.61,.2,1) forwards}.intro-center h2{font:400 clamp(30px,5.2vw,72px)/.94 var(--serif);max-width:700px;margin:8px 0 20px;letter-spacing:.035em;text-shadow:0 7px 25px #000;opacity:0;transform:translateY(20px);animation:intro-words 1.2s 2.6s forwards}.intro-bottom{position:absolute;z-index:2;bottom:36px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#cfb7a9;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.intro-skip,.intro-replay{background:none;border:0;color:#e8d6cc;text-transform:uppercase;letter-spacing:.2em;font-size:10px;border-bottom:1px solid #cdb9a6;padding:5px 0 9px}.intro-progress{position:absolute;left:0;bottom:0;height:2px;background:#d3663d;animation:intro-progress 6.1s linear forwards;z-index:3;box-shadow:0 0 16px #cc3d1d}@keyframes intro-progress{from{width:0}to{width:100%}}@keyframes intro-logo{0%{opacity:0;transform:scale(.83);filter:blur(12px) drop-shadow(0 0 20px #777)}45%{opacity:1;filter:blur(0px) drop-shadow(0 0 25px rgba(255,255,255,.25))}100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 25px rgba(255,255,255,.14))}}@keyframes intro-scene{0%{opacity:0;transform:scale(1.13)}30%{opacity:.23}65%{opacity:.42}100%{opacity:.63;transform:scale(1.02)}}@keyframes intro-cloud{0%{opacity:0;transform:translateX(-18%) scale(1.15)}28%{opacity:.6}100%{opacity:.24;transform:translateX(12%) translateY(-4%) scale(1.35)}}@keyframes intro-embers{from{opacity:.47;transform:translateX(-3%) scale(1)}to{opacity:1;transform:translateX(3%) scale(1.12)}}@keyframes intro-words{to{opacity:1;transform:translateY(0)}}
.fadein{opacity:0;transform:translateY(29px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.fadein.in{opacity:1;transform:translateY(0)}
@media(max-width:1080px){.wrap{width:min(100% - 48px,1280px)}.nav{gap:18px}.links{gap:18px}.member-grid{grid-template-columns:repeat(3,1fr)}.story{padding:110px 0}.story-grid{gap:40px}}
@media(max-width:740px){.wrap{width:calc(100% - 38px)}.nav{height:72px}.brand img{width:43px;height:43px}.brand span{font-size:18px}.nav-contact{display:none}.menu-btn{display:block;margin-left:auto}.links{position:fixed;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;background:rgba(5,5,5,.98);border-bottom:1px solid var(--line);padding:16px 24px 24px;align-items:flex-start}.links.open{display:flex}.links a{padding:11px 0;font-size:12px}.hero{min-height:93svh;padding-bottom:125px}.hero h1{font-size:clamp(75px,17vw,132px)}.hero-meta{bottom:25px;gap:20px}.hero-meta span:last-child{display:none}.story-grid,.about-story{grid-template-columns:1fr}.story-photo{height:520px}.story-grid .story-photo{order:2}.story{padding:70px 0 95px}.triptych{grid-template-columns:1fr;gap:12px;margin-bottom:80px}.chapter-photo{aspect-ratio:5/4}.chapter-photo>div{left:24px;bottom:24px}.statement{padding:80px 0}.page-banner{min-height:56vh;padding:135px 0 55px}.page-banner h1{font-size:clamp(63px,14vw,110px)}.about-values{grid-template-columns:1fr;margin-top:80px;gap:30px}.member-grid{grid-template-columns:repeat(2,1fr);gap:24px 11px}.member-heading{display:block}.member-section{padding:75px 0 0}.member-meta{display:block}.member-meta h3{font-size:26px}.member-meta span{display:block;margin-top:7px;text-align:left}.showcase-stage{min-height:330px;height:56vh}.showcase-toolbar{bottom:16px;left:16px;right:16px}.showcase-nav button{width:40px;height:40px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:3/2}.lightbox{padding:72px 20px}.lightbox-prev,.lightbox-next{top:auto;bottom:16px}.lightbox-prev{left:38%}.lightbox-next{right:38%}.events{padding:75px 0 120px}.event{grid-template-columns:105px 1fr;gap:12px}.event .weekday{display:none}.event time{font-size:26px}.event h3{font-size:31px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.intro-bottom{bottom:24px}.intro-skip{font-size:9px}}
@media(max-width:400px){.member-grid{grid-template-columns:1fr 1fr}.member-meta h3{font-size:22px}.hero h1{font-size:71px}.intro-bottom span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.fadein{opacity:1;transform:none}}


/* GLANBACH CINEMATIC V3 — carefully tailored layout and motion */
:root{--transition-ease:cubic-bezier(.18,.78,.22,1)}
html{scroll-padding-top:90px}
body{min-width:320px}
/* The original triptych accidentally replaced the shared wrapper's auto margins. */
.triptych.wrap{
  width:min(1280px,calc(100% - 104px));
  margin:12px auto 145px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.6vw,24px);
  align-items:stretch;
}
.triptych .chapter-photo{
  min-width:0; min-height:490px; aspect-ratio: 3 / 3.65;
  isolation:isolate; border:1px solid rgba(224,190,164,.13);
  box-shadow:0 22px 72px rgba(0,0,0,.24);
  transition:transform .65s var(--transition-ease),box-shadow .65s;
}
.triptych .chapter-photo:hover{transform:translateY(-8px);box-shadow:0 30px 85px rgba(0,0,0,.52)}
.triptych .chapter-photo::before{
  content:'';position:absolute;inset:0;z-index:1;opacity:0;
  background:radial-gradient(ellipse at 50% 105%,rgba(165,42,19,.25),transparent 54%);
  transition:opacity .7s ease;pointer-events:none
}
.triptych .chapter-photo:hover::before{opacity:1}
.triptych .chapter-photo > div{z-index:3;bottom:clamp(23px,3vw,38px);left:clamp(22px,2.8vw,38px);right:20px}
.triptych .chapter-photo h3{font-size:clamp(34px,3vw,53px)}
.triptych .chapter-photo img{object-position:50% 31%}
.statement{padding:135px 0 95px}
.statement .chapter-title{margin-bottom:13px}
.story-grid,.about-story,.footer-grid{min-width:0}
/* Responsive navigation & art direction */
@media(max-width:1100px){
 .triptych.wrap{width:min(100% - 64px,1280px);margin:5px auto 100px}
 .triptych .chapter-photo{min-height:420px}
 .triptych .chapter-photo h3{font-size:clamp(30px,3.3vw,46px)}
}
@media(max-width:760px){
 .triptych.wrap{width:calc(100% - 38px);grid-template-columns:1fr;gap:16px;margin:0 auto 88px}
 .triptych .chapter-photo{min-height:0;aspect-ratio: 16/12;max-height:470px}
 .triptych .chapter-photo > div{bottom:22px;left:22px}
 .triptych .chapter-photo h3{font-size:43px}
 .triptych .chapter-photo:hover{transform:none}
 .statement{padding:75px 0 65px}
 .statement .chapter-title{font-size:clamp(43px,10vw,62px)}
 .story-photo{height:auto;aspect-ratio:3/4}
 .header .nav{height:76px}
 .links{top:76px;max-height:calc(100svh - 76px);overflow-y:auto}
 .gallery-grid{padding-bottom:90px}
 .lightbox{padding:75px 12px 70px}
 .page-banner h1{overflow-wrap:normal}
}
@media(max-width:390px){
 .triptych .chapter-photo{aspect-ratio: 15/13}
 .triptych .chapter-photo h3{font-size:38px}
 .brand span{font-size:17px}
 .brand img{width:42px;height:42px}
 .member-meta h3{font-size:clamp(21px,6vw,27px)}
}
/* A true cinematic smoke dissolve rather than a flat curtain sliding up/down. */
.page-veil,
.page-veil.exit,
.page-veil.arrive{
 position:fixed;inset:0;transform:none;overflow:hidden;pointer-events:none;
 z-index:900;background:#050403;
}
.page-veil{visibility:hidden;opacity:0}
html.page-arrival .page-veil{visibility:visible;opacity:1}
.page-veil.exit{visibility:visible;animation:veil-smoke-cover .84s cubic-bezier(.32,0,.36,1) both}
.page-veil.arrive{visibility:visible;animation:veil-smoke-uncover 1.2s cubic-bezier(.16,.73,.28,1) both}
@keyframes veil-smoke-cover{
 0%{opacity:0;filter:brightness(1)}
 35%{opacity:.48;filter:brightness(1.1)}
 72%{opacity:.95;filter:brightness(1)}
 100%{opacity:1;filter:brightness(1)}
}
@keyframes veil-smoke-uncover{
 0%{opacity:1;filter:brightness(1)}
 22%{opacity:1}
 56%{opacity:.62}
  100%{opacity:0;visibility:hidden}
}
.page-veil .veil-fire{
 position:absolute;inset:-20%;background:
 radial-gradient(ellipse 44% 19% at 48% 110%,rgba(193,53,17,.29),transparent 74%),
 radial-gradient(ellipse 40% 16% at 72% 107%,rgba(171,64,26,.14),transparent 78%);
 filter:blur(28px);animation:veil-fire-breathe 8s ease-in-out infinite alternate
}
.page-veil .veil-cloud{
 position:absolute;inset:-28% -40%;background:url('smoke.webp') center/cover no-repeat;
 opacity:.69;filter:blur(18px);animation:veil-fog-left 10s ease-in-out infinite alternate;
}
.page-veil .veil-smoke{
 position:absolute;inset:-25% -22%;background:url('smoke.webp') center/contain no-repeat;
 filter:blur(18px);mix-blend-mode:screen;opacity:.40;
}
.page-veil .veil-smoke--left{transform:translate(-21%,16%) rotate(-12deg);animation:veil-fog-left 6s ease-out both}
.page-veil .veil-smoke--right{transform:translate(19%,22%) rotate(9deg) scaleX(-1);animation:veil-fog-right 7s ease-out both}
.page-veil .veil-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;z-index:2}
.page-veil .veil-brand{position:static;transform:none;width:clamp(92px,11vw,145px);opacity:.88;filter:drop-shadow(0 0 25px rgba(255,255,255,.12));animation:veil-brand-reveal 1.3s ease both}
.page-veil .veil-caption{color:#d2ab96;font:700 10px var(--sans);letter-spacing:.43em;text-transform:uppercase;opacity:.75}
.page-veil .veil-rule{width:120px;height:1px;background:linear-gradient(90deg,transparent,#c75d38,transparent);opacity:.7}
@keyframes veil-fog-left{0%{transform:translate(-17%,14%) rotate(-10deg) scale(1.09);opacity:.18}100%{transform:translate(8%,-7%) rotate(7deg) scale(1.24);opacity:.55}}
@keyframes veil-fog-right{0%{transform:translate(20%,19%) rotate(9deg) scaleX(-1);opacity:.14}100%{transform:translate(-12%,-13%) rotate(-12deg) scaleX(-1) scale(1.2);opacity:.54}}
@keyframes veil-fire-breathe{from{opacity:.6;transform:translateY(10px) scale(1)}to{opacity:1;transform:translateY(-5px) scale(1.04)}}
@keyframes veil-brand-reveal{0%{filter:blur(10px);opacity:0;transform:scale(.94)}45%{filter:blur(0px);opacity:.91;transform:scale(1)}100%{filter:blur(0);opacity:.9;transform:scale(1.03)}}
body.is-navigating main,body.is-navigating footer{
 filter:brightness(.72) blur(2.5px);transform:translateY(-8px) scale(.995);
 transition:filter .63s ease,transform .63s ease;
}
/* Intro remains unobstructed and frontmost, with purposeful pacing. */
.intro {z-index:1000}
/* Enjoyable cursor & keyboard feedback. */
:focus-visible{outline:2px solid #db8c66;outline-offset:5px}
.intro-skip:hover,.intro-replay:hover{color:#fff;border-bottom-color:#fff}
@media(prefers-reduced-motion: reduce){
 .page-veil.exit,.page-veil.arrive{animation-duration:.01ms!important}
 body.is-navigating main,body.is-navigating footer{filter:none;transform:none}
}


/* ————————————— V4 · CINEMATIC EDITORIAL REFINEMENT ————————————— */
:root{--copper:#dc6d46}
/* Editorial hero; strong without UI-card design language. */
.hero{min-height:100svh;padding:168px 0 116px;align-items:flex-end}
.hero-image{background-position:center 47%;filter:brightness(.93) saturate(1.03);animation:hero-kenburns 32s ease-in-out alternate infinite}
.hero::before{background:
  linear-gradient(90deg,rgba(0,0,0,.87) 0%,rgba(0,0,0,.54) 38%,rgba(0,0,0,.09) 78%),
  linear-gradient(0deg,#070707 0%,rgba(0,0,0,.17) 38%,rgba(0,0,0,.35) 100%)}
.hero-inner{max-width:100%;width:min(980px,100%)}
.hero h1{font:500 clamp(68px,8.2vw,136px)/.79 var(--serif);letter-spacing:-.057em;margin:30px 0 36px;text-shadow:0 12px 65px rgba(0,0,0,.85)}
.hero h1 span{display:block;white-space:normal}
.hero h1 .second{padding-left:.36em;font-weight:400;font-style:italic;color:#e8c5b1}
.hero p{max-width:500px;font-size:clamp(13px,1.12vw,16px);line-height:1.85;color:#e6d9cd}
.hero p strong{color:#fff;font-weight:700}
.hero-meta{bottom:36px}
/* Keep the three chapters centered at all viewport widths. */
.triptych.wrap{margin-left:auto;margin-right:auto;margin-bottom:120px;max-width:1280px;width:min(1280px,calc(100% - 104px));grid-template-columns:repeat(3,minmax(0,1fr))}
.chapter-photo{min-width:0;transform:translateZ(0)}
.chapter-photo:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;border:1px solid rgba(250,229,207,.09)}
.chapter-photo:hover:before{border-color:rgba(234,129,86,.44)}
/* Give site navigation an atmospheric, restrained underline and comfortable target. */
.links a{padding:12px 0}
.header.scrolled{background:rgba(6,5,5,.92)}
/* finite state transitions — NO infinite animations in the overlay */
.page-veil,
.page-veil.exit,
.page-veil.arrive{
 position:fixed;inset:0;z-index:900;transform:none;overflow:hidden;
 pointer-events:none;animation:none;visibility:hidden;opacity:0;
 background:radial-gradient(ellipse 74% 52% at 50% 100%,rgba(107,23,11,.28),transparent 80%),#070605;
 will-change:opacity;
}
html.page-arrival .page-veil{visibility:visible;opacity:1}
.page-veil.exit{visibility:visible;animation:gt-cover .82s cubic-bezier(.44,0,.2,1) both}
.page-veil.arrive{visibility:visible;animation:gt-uncover .95s cubic-bezier(.22,.4,.2,1) both}
@keyframes gt-cover{0%{opacity:0}30%{opacity:.37}77%{opacity:.98}100%{opacity:1}}
@keyframes gt-uncover{0%{opacity:1}28%{opacity:1}75%{opacity:.32}100%{opacity:0;visibility:hidden}}
.page-veil .veil-fire,
.page-veil .veil-cloud,
.page-veil .veil-smoke,
.page-veil .veil-brand{
 animation:none!important;
}
.page-veil .veil-fire{position:absolute;inset:-20%;background:
 radial-gradient(ellipse 42% 16% at 52% 107%,rgba(230,87,34,.30),transparent 75%),
 radial-gradient(ellipse 45% 18% at 72% 108%,rgba(137,31,11,.18),transparent 80%);
 filter:blur(32px);opacity:.75}
.page-veil .veil-cloud{position:absolute;inset:-20%;background:url('smoke.webp') 50% 55%/cover no-repeat;filter:blur(19px);opacity:.50;transform:scale(1.12)}
.page-veil .veil-smoke{position:absolute;inset:-22% -20%;background:url('smoke.webp') center/contain no-repeat;filter:blur(15px);mix-blend-mode:screen;opacity:.35}
.page-veil .veil-smoke--left{transform:translateX(-30%) translateY(9%) rotate(-6deg)}
.page-veil .veil-smoke--right{transform:translateX(30%) translateY(9%) scaleX(-1) rotate(5deg)}
.page-veil.exit .veil-smoke--left{animation:gt-smoke-left .82s ease-out both!important}
.page-veil.exit .veil-smoke--right{animation:gt-smoke-right .82s ease-out both!important}
.page-veil.arrive .veil-smoke--left{animation:gt-smoke-out-left .95s ease-out both!important}
.page-veil.arrive .veil-smoke--right{animation:gt-smoke-out-right .95s ease-out both!important}
@keyframes gt-smoke-left{from{transform:translateX(-38%) translateY(16%) scale(.9);opacity:.05}to{transform:translateX(-6%) translateY(-7%) scale(1.18);opacity:.59}}
@keyframes gt-smoke-right{from{transform:translateX(35%) translateY(17%) scaleX(-1) scale(.95);opacity:.04}to{transform:translateX(5%) translateY(-6%) scaleX(-1) scale(1.16);opacity:.53}}
@keyframes gt-smoke-out-left{from{transform:translateX(-5%) translateY(-7%) scale(1.18);opacity:.58}to{transform:translateX(22%) translateY(-24%) scale(1.32);opacity:0}}
@keyframes gt-smoke-out-right{from{transform:translateX(5%) translateY(-6%) scaleX(-1) scale(1.16);opacity:.53}to{transform:translateX(-19%) translateY(-24%) scaleX(-1) scale(1.3);opacity:0}}
.page-veil .veil-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:21px;z-index:2}
.page-veil .veil-brand{position:relative;top:auto;left:auto;transform:none;width:clamp(100px,11vw,155px);opacity:.94;filter:drop-shadow(0 0 22px rgba(255,255,255,.08))}
.page-veil .veil-rule{width:125px;background:linear-gradient(90deg,transparent,#cb673d,transparent)}
.page-veil .veil-caption{color:#d8ae97;font:700 10px var(--sans);letter-spacing:.35em}
/* When leaving, ease the photograph gently into shadow; do not blur/reflow its layout. */
body.is-navigating main,body.is-navigating footer{filter:brightness(.66);transform:none;transition:filter .75s ease}
/* A deliberate entry after the opening film. */
.intro-center h2{font-size:clamp(35px,6vw,79px);line-height:.96;max-width:900px;letter-spacing:.013em}
.intro-center img{width:clamp(190px,27vw,350px)}
.intro .intro-scene{filter:brightness(.42) saturate(1.08)}
.intro .intro-embers{animation-duration:11s}
.intro-bottom{z-index:3}
/* Thoughtful mobile layouts, never crop headlines beyond the viewport. */
@media(max-width:1080px){
 .triptych.wrap{width:calc(100% - 48px)}
 .hero h1{font-size:clamp(66px,10vw,112px)}
}
@media(max-width:740px){
 .hero{min-height:100svh;padding:138px 0 118px;align-items:flex-end}
 .hero-image{background-position:56% center;filter:brightness(.92)}
 .hero::before{background:linear-gradient(0deg,#070707 0%,rgba(0,0,0,.35) 61%,rgba(0,0,0,.48) 100%),linear-gradient(90deg,rgba(0,0,0,.25),transparent)}
 .hero-inner{max-width:100%}
 .hero h1{font-size:clamp(55px,13.2vw,90px);line-height:.89;letter-spacing:-.052em;margin:18px 0 20px}
 .hero h1 .second{padding-left:.13em}
 .hero p{font-size:13px;line-height:1.85;max-width:390px}
 .hero-meta{bottom:23px;font-size:9px}
 .triptych.wrap{width:calc(100% - 38px);grid-template-columns:1fr;gap:15px;margin:10px auto 78px}
 .chapter-photo{aspect-ratio:5/4}
 .chapter-photo>div{left:24px;bottom:22px}
 .intro-center h2{font-size:clamp(32px,8.5vw,48px)}
 .intro-center img{width:min(56vw,260px)}
 .intro-kicker{letter-spacing:.2em!important}
 .page-veil .veil-caption{font-size:9px;letter-spacing:.18em}
 .links a{padding:12px 0}
}
@media(max-width:390px){
 .hero h1{font-size:clamp(50px,13vw,58px)}
 .hero h1 .second{padding-left:0}
 .hero p{font-size:12.7px}
}
@media(prefers-reduced-motion: reduce){
 .page-veil.exit,.page-veil.arrive{animation:none!important;visibility:hidden!important;opacity:0!important}
 .page-veil .veil-smoke{animation:none!important}
 .hero-image{animation:none!important}
 .intro .intro-scene,.intro .intro-cloud,.intro .intro-embers{animation:none!important}
}
/* Last mobile typography pass: keep the small title line together. */
@media(max-width:740px){
  .hero .section-kicker{font-size:9px;letter-spacing:.16em;white-space:nowrap}
  .hero .section-kicker:before{width:19px;margin-right:8px}
}
@media(max-width:350px){
  .hero .section-kicker{font-size:8.5px;letter-spacing:.12em}
}


/* V5: final and sole navigation animation. A cover ON LEAVE only;
   no reverse/on-arrival animation, no second smoke sweep. */
html.page-arrival .page-veil{visibility:hidden!important;opacity:0!important}
.page-veil,.page-veil.arrive{
  position:fixed;inset:0;z-index:900;
  pointer-events:none;overflow:hidden;transform:none;
  visibility:hidden;opacity:0;animation:none!important;
  background:radial-gradient(ellipse 60% 34% at 50% 105%,rgba(128,34,13,.23),transparent 84%),#050404;
}
.page-veil.exit{
  visibility:visible;opacity:1;
  animation:gt5-cover .7s cubic-bezier(.4,0,.27,1) both!important;
}
@keyframes gt5-cover{
  0%{opacity:0;filter:brightness(1)}
  28%{opacity:.5;filter:brightness(1)}
  74%{opacity:1;filter:brightness(1)}
  100%{opacity:1;filter:brightness(1)}
}
.page-veil .veil-cloud,.page-veil .veil-fire,
.page-veil .veil-smoke,.page-veil .veil-brand{animation:none!important}
.page-veil.exit .veil-smoke--left{
  animation:gt5-smoke-in-left .7s ease-out both!important;
}
.page-veil.exit .veil-smoke--right{
  animation:gt5-smoke-in-right .7s ease-out both!important;
}
@keyframes gt5-smoke-in-left{
  from{transform:translateX(-38%) translateY(11%) scale(.93);opacity:.07}
  to{transform:translateX(-6%) translateY(-7%) scale(1.12);opacity:.54}
}
@keyframes gt5-smoke-in-right{
  from{transform:translateX(38%) translateY(12%) scaleX(-1) scale(.93);opacity:.07}
  to{transform:translateX(6%) translateY(-6%) scaleX(-1) scale(1.12);opacity:.49}
}
.page-veil.exit .veil-brand{animation:gt5-logo .7s ease-out both!important}
@keyframes gt5-logo{from{opacity:0;filter:blur(12px)}65%{opacity:.7;filter:blur(0)}to{opacity:.88;filter:blur(0)}}
body.is-navigating main,body.is-navigating footer{filter:brightness(.65);transform:none;transition:filter .7s ease}
@media(prefers-reduced-motion:reduce){.page-veil.exit{animation:none!important;visibility:hidden!important;opacity:0!important}.page-veil.exit *{animation:none!important}}


/* === GT V6 final transition polish === */
.page-veil{pointer-events:none}
.page-veil.arrive{animation:none!important;visibility:hidden!important;opacity:0!important;transform:translateY(105%)!important}
.page-veil.exit{visibility:visible!important;opacity:1!important;transform:none!important;animation:gt6-cover 1.05s cubic-bezier(.35,0,.2,1) both!important}
.page-veil .veil-cloud,.page-veil .veil-smoke,.page-veil .veil-brand,.page-veil .veil-caption,.page-veil .veil-rule,.page-veil .veil-fire{animation:none!important}
.page-veil.exit .veil-cloud{animation:gt6-cloud 1.05s ease-out both!important}
.page-veil.exit .veil-fire{animation:gt6-fire 1.05s ease-out both!important}
.page-veil.exit .veil-smoke--left{animation:gt6-smoke-left 1.05s cubic-bezier(.3,.03,.2,1) both!important}
.page-veil.exit .veil-smoke--right{animation:gt6-smoke-right 1.05s cubic-bezier(.3,.03,.2,1) both!important}
.page-veil.exit .veil-brand{animation:gt6-logo .98s ease-out both!important}
.page-veil.exit .veil-caption,.page-veil.exit .veil-rule{animation:gt6-copy .86s ease-out both!important}
@keyframes gt6-cover{0%{transform:translateY(104%);opacity:1}35%{transform:translateY(18%);opacity:1}100%{transform:translateY(0);opacity:1}}
@keyframes gt6-cloud{0%{opacity:0;transform:scale(1.05)}100%{opacity:.8;transform:scale(1.14)}}
@keyframes gt6-fire{0%{opacity:.08;transform:translateY(20px) scale(.98)}100%{opacity:.86;transform:translateY(0) scale(1.06)}}
@keyframes gt6-smoke-left{0%{transform:translate(-30%,24%) rotate(-8deg) scale(1.03);opacity:0}100%{transform:translate(1%,-4%) rotate(3deg) scale(1.22);opacity:.58}}
@keyframes gt6-smoke-right{0%{transform:translate(30%,22%) rotate(8deg) scaleX(-1) scale(1.03);opacity:0}100%{transform:translate(-2%,-5%) rotate(-5deg) scaleX(-1) scale(1.22);opacity:.54}}
@keyframes gt6-logo{0%{opacity:0;transform:scale(.9);filter:blur(6px) drop-shadow(0 0 12px rgba(255,255,255,.08))}55%{opacity:.98;transform:scale(1.02);filter:blur(0) drop-shadow(0 0 18px rgba(255,255,255,.11))}100%{opacity:.92;transform:scale(1);filter:blur(0) drop-shadow(0 0 18px rgba(255,255,255,.1))}}
@keyframes gt6-copy{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
.gallery-section{margin:40px auto 0}.gallery-heading{margin:0 0 22px}.gallery-heading h2{margin:8px 0 8px;font:500 clamp(34px,5vw,58px)/.95 var(--serif)}.gallery-heading p{max-width:760px;color:#d3c6bb}.gallery-item img{aspect-ratio:4/5;object-fit:cover}.gallery-item.wide img{aspect-ratio:5/4}.showcase-stage img{aspect-ratio:16/10;object-fit:cover}
@media(max-width:740px){.gallery-heading h2{font-size:clamp(28px,9vw,42px)}.gallery-section{margin-top:26px}}

/* Vereinsangaben in der Fußleiste */
.footer-bottom{flex-wrap:wrap;gap:12px 24px;align-items:start}
.footer-bottom .footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;color:#c4b4a8}
@media(max-width:740px){
  .footer-bottom .footer-legal{display:flex;flex-direction:column;gap:4px}
}
/* Läufe-Motiv im Hochformat der Startseiten-Kachel */
.chapter-photo[href="laeufe.html"] img{object-position:50% 50%}

/* V10: Motivkacheln mit integrierter Titelgestaltung */
.chapter-photo.chapter-designed img {
  filter: brightness(.96) saturate(1.02);
  object-position: center center;
}
.chapter-photo.chapter-designed:hover img {
  filter: brightness(1.07) saturate(1.08);
}
.chapter-photo.chapter-designed:after {
  background: linear-gradient(180deg, transparent 70%, rgba(0,0,0,.64) 100%);
}
.chapter-photo.chapter-designed>div {
  bottom: 28px;
  left: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.chapter-photo.chapter-designed b {
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid rgba(245,223,210,.35);
  background: rgba(5,4,3,.32);
  backdrop-filter: blur(8px);
  color: #fff0e2;
  font-size: 10px;
  letter-spacing: .17em;
}
@media (max-width:740px) {
  .chapter-photo.chapter-designed img { object-position: 50% 48%; }
  .chapter-photo.chapter-designed>div { bottom: 20px; left: 20px; }
}


/* V20 | Unified original logo for ALL page transitions.
   The raw square logo contains large transparent margins, so use the same
   proportionally trimmed original artwork as the main intro instead. */
.page-veil .veil-core{
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(9px,1.7svh,18px);
  padding:clamp(20px,5vw,48px);
  min-width:0;
}
.page-veil .veil-brand{
  display:block;
  box-sizing:border-box;
  position:relative;
  top:auto;
  left:auto;
  width:clamp(158px,20vw,242px);
  max-width:min(73vw,242px);
  height:auto;
  max-height:47svh;
  aspect-ratio:688 / 809;
  object-fit:contain;
  flex:0 1 auto;
  margin:0 auto;
  transform-origin:center center;
  filter:drop-shadow(0 0 22px rgba(255,240,220,.09));
}
.page-veil .veil-rule{flex:0 0 1px}
.page-veil .veil-caption{text-align:center;white-space:normal;max-width:90vw;line-height:1.5}
@media (max-width:740px){
  .page-veil .veil-brand{width:clamp(158px,46vw,210px);max-width:72vw;max-height:40svh}
  .page-veil .veil-core{gap:12px}
}
@media (max-height:480px){
  .page-veil .veil-brand{max-height:48svh;width:auto;max-width:50vw}
  .page-veil .veil-core{gap:6px}
}
@media (prefers-reduced-motion:reduce){
  .page-veil.exit .veil-brand{animation:none!important;transform:none!important}
}


/* V21: Same genuine, correctly trimmed club logo in the cinematic page transition
   on every public page. Keep intrinsic aspect ratio and no skew or stretching. */
.page-veil .veil-core{
  inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:clamp(9px,1.7svh,18px);
  padding:clamp(18px,5vw,48px);box-sizing:border-box;
}
.page-veil .veil-brand{
  display:block;position:relative;top:auto;left:auto;
  width:clamp(154px,20vw,242px)!important;
  max-width:min(74vw,242px)!important;
  height:auto!important;max-height:47svh!important;
  aspect-ratio:688 / 809!important;
  object-fit:contain!important;object-position:center!important;
  flex:0 1 auto;margin:0 auto!important;
  transform-origin:center center;
  filter:drop-shadow(0 0 18px rgba(230,190,160,.13));
}
.page-veil .veil-rule{flex:0 0 1px}
.page-veil .veil-caption{max-width:min(88vw,460px);text-align:center;line-height:1.5;white-space:normal}
@media(max-width:740px){
 .page-veil .veil-brand{width:clamp(150px,45vw,210px)!important;max-width:68vw!important;max-height:40svh!important}
 .page-veil .veil-core{gap:12px}
}
@media(max-height:470px){
 .page-veil .veil-brand{width:auto!important;max-width:50vw!important;max-height:45svh!important}
 .page-veil .veil-core{gap:6px}
}
@media(prefers-reduced-motion:reduce){
 .page-veil.exit .veil-brand{animation:none!important;transform:none!important}
}

/* V22: On touch devices only deliberate taps control the two portrait states. */
.member-portrait-action{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.member.reveal-mask.mask-on .member-view img.masked{opacity:1;transform:scale(1)}
@media (hover:none), (pointer:coarse){
 .member.reveal-mask .member-view img.masked{transition:opacity .38s ease,transform .6s ease}
 .member.reveal-mask .member-view img.plain{transition:filter .38s ease,transform .6s ease}
 .member.reveal-mask .member-view .smoke-reveal{transition:opacity .4s ease}
}
/* Unmount obscuring transition layers after use. Crucial for iOS Safari's compositor. */
.intro[hidden],.page-veil[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html,body{background-color:#070707}
