.principles{position:relative;background:#eeece7;color:#111119;padding:120px 7vw 90px;overflow:clip}.principles-heading{text-align:center;margin-bottom:80px}.principles-heading h2{font:500 clamp(3rem,6.4vw,7rem)/.97 'Space Grotesk',sans-serif;letter-spacing:-.075em;margin:25px 0}.principles-heading p{font-size:14px;line-height:1.6;color:#5f5b65}.principles-heading p span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1400px;margin:auto;align-items:start;padding:20px 0 40px}.principle-card{position:relative;aspect-ratio:4/5;min-height:380px;border-radius:10px;overflow:hidden;isolation:isolate;background:#13121b;color:#f6f4f0;transform-origin:50% 100%;transform:translateY(var(--card-y,0px)) rotate(var(--card-r,0deg));opacity:var(--card-opacity,1);will-change:transform}.principle-card>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2;transition:scale .8s cubic-bezier(.22,1,.36,1)}.principle-card:hover>img{scale:1.04}.lion-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08090deb,transparent 45%);z-index:-1}.principle-label{position:absolute;top:28px;left:28px;right:28px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.principle-caption{position:absolute;left:28px;right:28px;bottom:25px;display:flex;align-items:end;justify-content:space-between;gap:14px}.principle-caption h3{font:500 clamp(1.3rem,2.1vw,2.5rem)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:0}.principle-caption p{font-size:13px;line-height:1.4;margin:0}.principle-number{font:400 clamp(2rem,3.5vw,4rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.07em;opacity:.7}.clarity-card{background:#dedbd4;color:#15141b;display:grid;place-items:center}.clarity-disc{border-radius:50%;width:67%;aspect-ratio:1;background:#faf9f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;font:500 clamp(1.4rem,2.5vw,2.7rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em}.clarity-disc i{font-size:35px;font-style:normal;color:#706287}.connection-card{background:#292632}.connection-card>img{inset:16% 9% auto;width:82%;height:59%;object-fit:cover;border-radius:3px}.principles-end{display:flex;align-items:center;justify-content:center;gap:5vw;padding-top:50px;font-size:11px;letter-spacing:.15em}.principles-end i{font-style:normal;opacity:.4;font-size:25px}
.gallery-section{position:relative;background:#eeece7;color:#121119}.gallery-stage{height:100svh;min-height:650px;position:sticky;top:0;display:flex;flex-direction:column;padding:110px 0 70px;overflow:hidden}.gallery-topline{padding:0 5vw;display:flex;justify-content:space-between;gap:20px}.gallery-instruction{font-size:10px;letter-spacing:.12em}.gallery-window{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;outline-offset:-3px}.gallery-window::-webkit-scrollbar{display:none}.gallery-track{height:100%;display:flex;width:max-content;align-items:center;gap:5vw;padding:0 6vw;transform:translateX(var(--gallery-x,0px));will-change:transform}.gallery-pinned .gallery-window{overflow:hidden;scroll-snap-type:none}.gallery-intro{width:38vw;min-width:360px;flex:none;scroll-snap-align:center}.gallery-intro h2{font:500 clamp(4rem,6.5vw,7rem)/.93 'Space Grotesk',sans-serif;letter-spacing:-.08em;margin:30px 0}.gallery-intro p{font-size:15px;line-height:1.6;color:#5f5b65}.gallery-lead-arrow{font:400 60px 'Space Grotesk';display:block;margin-top:25px}.gallery-item{width:49vw;max-width:800px;flex:none;scroll-snap-align:center;border-left:1px solid #c8c4c0;padding-left:4vw}.gallery-item:nth-child(3){padding-top:9vh}.gallery-item:nth-child(4){padding-bottom:7vh}.gallery-image{height:min(39vh,430px);overflow:hidden;border-radius:9px;background:#171420}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}.gallery-item:hover img{transform:scale(1.05)}.gallery-caption{display:flex;justify-content:space-between;gap:30px;padding-top:22px}.gallery-caption h3{font:500 clamp(1.5rem,2.6vw,3rem)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:12px 0}.gallery-caption p{font-size:13px;line-height:1.5;max-width:350px;margin:0;color:#65616a}.gallery-caption>span{font-size:30px;align-self:center}.gallery-bottom{display:flex;align-items:center;gap:35px;padding:15px 5vw 0;font-size:10px;letter-spacing:.12em}.gallery-meter{flex:1;height:1px;background:#ccc8c2;overflow:hidden}.gallery-meter i{display:block;height:1px;background:#17131d;transform:scaleX(var(--gallery-progress,0));transform-origin:left}.gallery-buttons{display:flex;gap:8px}.gallery-buttons button{border:1px solid #aaa5af;border-radius:50%;width:40px;height:40px;background:transparent;color:#111;font-size:20px}.gallery-buttons button:hover{background:#15121b;color:#fff}.gallery-buttons button:disabled{opacity:.25;cursor:default}.fullscreen-menu nav a{font-size:clamp(2.5rem,5.8vw,6rem)}
.motion-off .principle-card{transform:none;opacity:1}.motion-off .gallery-track{transform:none}.motion-off .gallery-stage{position:relative}.motion-off .gallery-window{overflow-x:auto;scroll-snap-type:x mandatory}
@media(max-width:700px){.principles{padding:90px 6vw 65px}.principles-heading{margin-bottom:40px}.principles-heading h2{font-size:13vw}.principle-grid{grid-template-columns:1fr;gap:22px;max-width:460px;padding-bottom:0}.principle-card{min-height:400px;aspect-ratio:4/5}.principle-caption h3{font-size:30px}.principle-number{font-size:46px}.clarity-disc{font-size:35px}.principles-end{gap:15px;font-size:7px;letter-spacing:.06em;padding-top:40px}.principles-end i{font-size:16px}.gallery-stage{position:relative;height:auto;min-height:0;padding:85px 0 85px}.gallery-topline{margin-bottom:30px}.gallery-topline .scene-index{font-size:9px;letter-spacing:.15em}.gallery-instruction{font-size:8px}.gallery-window{flex:none}.gallery-track{height:auto;align-items:start;gap:20px;padding:0 6vw}.gallery-intro{width:78vw;min-width:0;padding-top:20px}.gallery-intro h2{font-size:16vw}.gallery-intro p{font-size:14px}.gallery-item{width:82vw;border:0;padding:0!important}.gallery-image{height:320px}.gallery-caption{padding-top:20px;gap:15px}.gallery-caption h3{font-size:29px}.gallery-caption p{font-size:13px}.gallery-caption .scene-index{font-size:9px}.gallery-bottom{margin-top:30px;gap:15px;font-size:8px}.fullscreen-menu nav a{font-size:9vw}}
@media(prefers-reduced-motion:reduce){.principle-card{transform:none!important;opacity:1!important}.gallery-track{transform:none!important}.gallery-stage{position:relative}}

/* Section 3: user-supplied portrait photographs, in the supplied order. */
.principle-card.photo-card{aspect-ratio:896/1200;color:#f5f4f2}
.principle-card.photo-card>img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.principle-card.photo-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,16,22,.3),transparent 25%,transparent 60%,rgba(7,16,22,.84));pointer-events:none}
.photo-card .principle-label{color:#fff;opacity:1;text-shadow:0 1px 8px #0008}
.photo-card .principle-caption p{margin-top:12px;color:#e3e8eb}
.photo-card .principle-caption h3{color:#fff}

/* Principles copy: typography only; original card geometry and effects retained. */
#principles .photo-card .principle-caption{display:block}
#principles .photo-card .principle-caption h3{font-size:clamp(18px,1.7vw,30px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
#principles .photo-card .principle-caption p{font-size:clamp(12px,.93vw,14px);line-height:1.5;margin-top:14px;padding-right:35px;text-wrap:pretty}
#principles .photo-card .principle-number{position:absolute;right:0;bottom:0;font-size:clamp(28px,2.5vw,40px);opacity:.65}
#principles .photo-card:after{background:linear-gradient(180deg,rgba(7,16,22,.35),transparent 25%,transparent 48%,rgba(7,16,22,.9))}
@media(max-width:700px){#principles .photo-card .principle-caption h3{font-size:clamp(22px,6vw,28px)}#principles .photo-card .principle-caption p{font-size:13px;line-height:1.5}}
