/* Current owner-directed v7: black / lilac / gold, portrait-led hero and glass material. */
::selection{color:#19171c;background:#edc66d}.skip-link{color:#19171c}
:root{--bg:#08070a;--panel:#151119;--text:#f7f2fa;--muted:#c6bdcf;--paper:#111014;--ink:#f7f2fa;--line:#3d3347;--glass-edge:#d9b7f04f;--glass-surface:linear-gradient(135deg,#d6aaff12,#bda0d204 48%,#b490d90e);--glass-highlight:linear-gradient(110deg,transparent 25%,#fff8df55 48%,transparent 70%)}
.header{position:absolute;inset:0 0 auto;background:transparent;border:0;width:100%;z-index:20}
.header-inner{padding-block:28px;justify-content:flex-start;gap:64px}.brand{font-size:32px;font-weight:300;white-space:nowrap}.brand>span{display:inline}.desktop-nav{gap:26px;font-size:14px}
.hero{background:radial-gradient(ellipse at 83% 48%,#b475ec 0,#702db394 27%,transparent 60%),radial-gradient(ellipse at 64% 96%,#6f31a885,transparent 55%),#08070a}
.hero-inner{padding-top:160px;padding-bottom:90px;min-height:900px}
.hero h1{font-size:clamp(90px,9.2vw,136px);font-weight:700;line-height:1.02;max-width:none;letter-spacing:-.04em}
.hero h1 span{width:max-content;max-width:100%;color:#edc66d;background:linear-gradient(165deg,#fff8de 5%,#e9bd65 35%,#b98b3e 48%,#fff0be 58%,#ddac55 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.5px #ffe5ad88;text-shadow:0 3px 10px #3d240e25}
.hero-role{max-width:460px;margin-top:35px;font-size:22px}.hero-bottom{margin-top:27px;max-width:410px}.hero-bottom p{color:#dfd1e9}
.hero-photo{width:640px;height:830px;right:0;bottom:0}.hero-photo img{object-fit:contain;object-position:center bottom;mask-image:none}
.button,.play,.glass-icon{overflow:hidden}.button:after,.play:after,.glass-icon:after{content:'';position:absolute;inset:-30% -100%;background:var(--glass-highlight);transform:translateX(-65%) rotate(-12deg);transition:transform .85s var(--ease);pointer-events:none}
.button:hover:after,.button:focus-visible:after,.media-cover:hover .play:after,.media-cover:focus-visible .play:after,.hobby:hover .glass-icon:after,.principle:hover .glass-icon:after{transform:translateX(65%) rotate(-12deg)}
.button:focus-visible{background-color:#edc66d28}
/* A quiet moving edge, paused outside the viewport and for reduced motion. */
@property --edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.button:before,.glass-icon:before,.play:before{content:'';position:absolute;inset:0;height:auto;padding:1px;border-radius:inherit;background:conic-gradient(from var(--edge-angle),transparent 0deg,#fff1c899 50deg,transparent 105deg,transparent 190deg,#e5b85b99 240deg,transparent 310deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none;z-index:2;animation:glass-edge 9s linear infinite;animation-play-state:paused}
.in-view:before{animation-play-state:running}.glass-icon.in-view:before{animation-delay:-3s}.play.in-view:before{animation-delay:-6s}
.button:hover:before,.button:focus-visible:before,.hobby:hover .glass-icon:before,.media-cover:hover .play:before{opacity:.4}
@keyframes glass-edge{to{--edge-angle:360deg}}
.project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.project{position:relative;border:1px solid var(--glass-edge);border-radius:16px;padding:28px;min-height:490px;background:var(--glass-surface);transition:transform .45s var(--ease),border-color .3s,background-color .3s}
.project:hover,.project:focus-within{transform:translateY(-5px);border-color:#c58fffc2;background-color:#8a45b718}
.project-identity{height:145px;margin-bottom:24px;display:flex;align-items:center;justify-content:center}.project-logo{width:auto;max-width:80%;height:auto;max-height:116px;filter:grayscale(1) brightness(1.8);transition:filter .45s var(--ease);object-fit:contain;object-position:center;transform:translate(var(--logo-x,0%),var(--logo-y,0%))}
.project-logo.logo-4,.project-logo.logo-5{clip-path:none;mix-blend-mode:normal;width:auto;height:auto;max-width:80%;max-height:116px;object-position:center}
.project:hover .project-logo,.project:focus-within .project-logo{filter:none}
.project h3{font-size:26px;min-height:68px;margin-bottom:18px}.project-description{position:relative;flex:1}.project-excerpt{font-size:16px;line-height:1.7}.project-excerpt p{display:inline;font-size:inherit;line-height:inherit}.project-excerpt p+p:before{content:' '}
.project-excerpt.is-truncated:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.excerpt-toggle{position:relative;margin-top:4px;background:none;border:0;color:var(--gold);font:700 28px/1 Manrope;min-width:44px;min-height:40px;padding:0 10px;text-align:left}.excerpt-toggle[hidden]{display:none}.excerpt-toggle:hover{color:white}.excerpt-toggle[aria-expanded=true]{font-size:14px}
.project-footer{margin-top:22px;display:block}.pending-link{color:var(--gold);cursor:pointer}
.plus{border:1px solid #f3e4ff70;border-radius:50%;width:28px;height:28px;background:linear-gradient(135deg,#f5e2ff38,#7f5f9233);box-shadow:inset 0 1px 1px #ffffff88;color:var(--gold)}.plus:before,.plus:after{top:12px;left:6px;width:14px}
.interests{background:radial-gradient(ellipse at 2% 40%,#48275a38,transparent 55%),#111014;color:var(--text)}.interests p{color:var(--muted)}.story{--ink:#29242e;background:#f1ebe0;color:#29242e;color-scheme:light}.story p,.story-copy p:first-child{color:#514957}.story-photo figcaption,.gallery-track figcaption{color:#665d6b}.hobby{border-color:var(--line)}
.glass-icon{position:relative;display:grid;place-items:center;width:90px;height:90px;flex:none;border-radius:16px;border:1px solid #e3c48491;background:linear-gradient(135deg,#fff0c742,#cba45124 53%,#48311699);box-shadow:inset 0 2px 2px #fff9,inset 0 -3px 7px #2b1c0a88,0 9px 18px #0005;margin-bottom:25px}
.detailed-icon{width:68px;height:68px;filter:drop-shadow(0 4px 3px #150b1d70)}
.hobby h3{font-weight:400;font-size:32px;line-height:1.2;margin-bottom:18px}.principle h4{font-weight:400;font-size:31px;line-height:1.2;margin-bottom:17px}.principle p,.hobby p{font-size:16px}.principles>div{gap:40px}.principles>h3{font-size:32px}
.journey{--city-size:80px;--city-gap:36px;--city-label-gap:25px;display:grid;grid-template-columns:80px 1fr;gap:36px 25px;align-items:center;padding:0;margin:0 0 45px;border:0;position:relative}.journey>.glass-icon{width:80px;height:80px;border-radius:50%;margin:0;z-index:1;overflow:visible}.journey>.glass-icon .detailed-icon{width:56px;height:56px}.journey>span:not(.glass-icon){font-size:24px;line-height:1.3;font-weight:650}.journey>span:not(.glass-icon):before{content:none}.journey small{color:#665d6b;margin-top:8px}.journey>.glass-icon{overflow:hidden}.journey>.glass-icon:after{display:none}.journey>span:not(.glass-icon):not(:last-child):before{content:'';position:absolute;left:calc(-1 * var(--city-label-gap) - var(--city-size)/2);top:calc(50% + var(--city-size)/2);width:1px;height:var(--city-gap);background:#99732f}.journey>span:not(.glass-icon):not(:last-child):after{content:'';position:absolute;left:calc(-1 * var(--city-label-gap) - var(--city-size)/2 - 3px);top:calc(50% + var(--city-size)/2 + var(--city-gap) - 9px);width:7px;height:7px;border-right:1px solid #99732f;border-bottom:1px solid #99732f;transform:rotate(45deg)}
.play{width:62px;height:62px;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);background:linear-gradient(135deg,#fff1c95e,#24103299 58%,#d9bc7859);border-color:#fff0c9c9;box-shadow:inset 0 2px 2px #fff5,0 6px 15px #130c2466;backdrop-filter:blur(10px);color:#fff3d5}.play svg{width:29px;height:29px}
.quote-section{background:radial-gradient(ellipse at 20% 75%,#8553ad9c,transparent 65%),#17111e}.quote-layout{grid-template-columns:.9fr 1.1fr;gap:50px;min-height:820px;padding-top:70px;padding-bottom:0;align-items:center}.quote-photo{height:750px;align-self:end;overflow:hidden}.quote-photo img{width:100%;height:calc(100% + 45px);object-fit:cover;object-position:center top;mask-image:none}.quote-copy{padding:35px 0 80px;border:0;border-radius:0;background:none;backdrop-filter:none}.quote-copy:before,.quote-copy:after{content:none}.quote-copy blockquote{font:500 clamp(25px,2.35vw,34px)/1.4 Manrope,sans-serif;letter-spacing:-.02em;text-wrap:pretty}.quote-author{margin-top:30px;display:flex;align-items:center;justify-content:flex-start;gap:24px;flex-wrap:wrap}.quote-author>span{font-size:15px}.quote-author img{width:320px}
.contact{padding-top:90px;padding-bottom:0;border:0;background:#08070a}.contact-scene{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.contact-photo{align-self:end;height:690px;min-width:0}.contact-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.contact-content{padding-block:45px 75px}.contact h2{font-size:clamp(38px,4.5vw,64px);margin-bottom:30px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact p{color:#e9dfee}.contact .button{margin-top:25px}
.footer{display:block;padding-block:40px 30px;background:radial-gradient(ellipse at 4% 110%,#ffda7d,#b17b28 30%,transparent 70%),#08070a}.footer-glass{display:grid;grid-template-columns:1fr 1fr;gap:100px 60px;align-items:start;padding:55px;border:1px solid #fff0c966;border-radius:28px;background:#ffffff04;backdrop-filter:blur(14px)}.footer .brand{font-size:48px;font-weight:300}.footer-invite{text-align:right}.footer-invite>p{font-size:46px;line-height:1.2;color:#fff8eb;letter-spacing:-.025em;margin-bottom:30px}.footer-invite .button{font-size:14px}.footer-description{font-size:16px;max-width:33ch;color:#fff6e2}.footer nav{align-self:end;justify-self:end;font-size:15px;gap:12px 24px;color:#fff6e2}.footer-bottom{display:flex;justify-content:flex-end;padding-top:26px}.footer-bottom .text-link{color:#fff5de}
body{position:relative;isolation:isolate}.has-ending-backdrop:after{content:'';position:absolute;z-index:-1;pointer-events:none;bottom:0;left:0;width:100%;height:var(--ending-height);background:radial-gradient(ellipse at 4% 110%,#ffdf8d 0,#b98634 26%,transparent 63%),radial-gradient(ellipse at 88% 70%,#72418955,transparent 54%),#08070a}.has-ending-backdrop .contact,.has-ending-backdrop .footer{background:transparent}
@media(min-width:1700px){.hero-inner{min-height:940px;padding-top:170px}.hero h1{font-size:144px}.hero-photo{width:680px;height:890px;right:0}}
@media(max-width:1150px){.hero h1{font-size:100px}.hero-photo{width:500px;height:750px;right:0}.hero-inner{min-height:830px;padding-top:155px}.hero-role{max-width:380px;font-size:19px}.hero-bottom{max-width:340px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project{min-height:490px}.quote-layout{gap:30px;min-height:760px}.quote-photo{height:700px}.quote-copy{padding-block:30px 60px}.quote-copy blockquote{font-size:28px}.quote-author img{width:285px}.contact-scene{gap:28px;grid-template-columns:.85fr 1.15fr}.contact-photo{height:610px}.contact-content{padding-top:20px}.footer-glass{gap:28px;padding:35px}.footer .brand{font-size:36px}.footer nav{grid-template-columns:1fr}.principle h4,.hobby h3{font-size:29px}}
@media(max-width:850px){.hero h1{font-size:66px}.hero-role{max-width:315px;font-size:17px}.hero-photo{width:415px;height:680px;right:-10px}.hero-inner{min-height:800px;padding-top:145px}.project{padding:24px}.project h3{font-size:26px}.quote-layout{grid-template-columns:.8fr 1.2fr;gap:25px}.quote-copy blockquote{font-size:25px}.quote-photo{height:620px}.quote-author img{width:270px}.hobby h3,.principle h4{font-size:28px}.contact-scene{grid-template-columns:.8fr 1.2fr;gap:24px}.contact-photo{height:550px}.contact h2{font-size:42px}.contact p{font-size:16px}.contact .button{font-size:13px;padding:15px 18px;gap:12px}.footer-glass{grid-template-columns:1fr 1fr}.footer .button{justify-self:start;grid-column:2}.journey{--city-size:68px;--city-gap:32px;--city-label-gap:18px;grid-template-columns:68px 1fr;gap:32px 18px}.journey>.glass-icon{width:68px;height:68px}.journey>span:not(.glass-icon){font-size:21px}}
@media(max-width:600px){.header-inner{padding:20px}.mobile-nav{background:#100c15f7;border:0;backdrop-filter:blur(16px)}.hero-inner{padding-top:113px;padding-bottom:30px;min-height:0}.hero h1{font-size:clamp(48px,13.3vw,77px);line-height:1.04}.hero-role{margin-top:20px;font-size:16px;max-width:330px}.hero-photo{width:100%;max-width:none;height:460px;right:auto;margin-top:22px;align-self:center}.hero-photo img{object-fit:contain;object-position:center bottom;mask-image:none}.hero-bottom{max-width:100%;margin-top:0}.hero-bottom p{font-size:15px}.hero-actions{margin-top:20px}.project-list{grid-template-columns:1fr;gap:20px}.project{padding:25px;min-height:0}.project h3{min-height:0;font-size:27px}.project-identity{height:135px}.project-logo,.project-logo.logo-4,.project-logo.logo-5{max-height:108px}.project-footer{margin-top:20px}.quote-layout{padding-top:55px;min-height:0;gap:0}.quote-copy{padding:0}.quote-copy blockquote{font-size:25px;line-height:1.45}.quote-author{gap:15px;margin-top:26px;flex-wrap:wrap}.quote-author img{width:270px}.quote-photo{height:500px;margin-top:25px;width:100%;align-self:stretch}.quote-photo img{height:calc(100% + 35px);object-fit:cover;object-position:center top}.hobby{grid-template-columns:1fr;gap:0}.hobby p{grid-column:auto}.glass-icon{width:82px;height:82px;grid-row:auto;margin-bottom:22px}.detailed-icon{width:64px;height:64px}.hobby h3,.principle h4{font-size:30px}.principle{grid-template-columns:1fr;gap:0}.principle .glass-icon{margin-bottom:22px}.journey{--city-size:76px;--city-gap:34px;--city-label-gap:22px;grid-template-columns:76px 1fr;gap:34px 22px}.journey>.glass-icon{width:76px;height:76px}.journey>span:not(.glass-icon){font-size:23px}.contact{padding-top:60px}.contact-scene{display:flex;flex-direction:column;gap:10px}.contact-content{order:1;padding:0}.contact-photo{order:2;height:475px;width:100%;margin-top:10px;align-self:center}.contact h2{font-size:40px}.contact-layout{gap:28px}.contact .button{margin-top:25px}.footer{padding-top:15px;padding-bottom:30px}.footer-glass{grid-template-columns:1fr;padding:30px 25px;gap:28px;border-radius:24px}.footer nav{grid-template-columns:1fr 1fr;font-size:14px}.footer .button{grid-column:auto}.footer .brand{font-size:32px}}
@media(max-width:360px){.hero h1{font-size:47px}.hero-photo{height:400px;width:100%}.hero-role{font-size:15px}.project{padding:21px}.project h3{font-size:25px}.quote-copy blockquote{font-size:23px}.quote-author img{width:250px}.quote-photo{height:430px}.journey{--city-size:66px;--city-gap:32px;--city-label-gap:17px;grid-template-columns:66px 1fr;gap:32px 17px}.journey>.glass-icon{width:66px;height:66px}.journey>span:not(.glass-icon){font-size:21px}.contact-photo{height:400px}.contact h2{font-size:36px}.footer-glass{padding:28px 22px}.footer .brand{font-size:23px}}
@media(prefers-reduced-motion:reduce){.project:hover,.project:focus-within{transform:none}.button:before,.glass-icon:before,.play:before{animation:none}.button:hover:after,.button:focus-visible:after,.media-cover:hover .play:after,.media-cover:focus-visible .play:after,.hobby:hover .glass-icon:after{transform:translateX(0);opacity:.3}}

/* v5 typography, equal-width gallery and cover edges. */
.education-list li{grid-template-columns:160px 1fr;align-items:start}.education-year{font-size:48px;font-weight:300!important;line-height:1.2;font-variant-numeric:tabular-nums}.education-year small{font-size:14px;font-weight:400;margin-left:8px}
.media-cover{border:1px solid #ead4ac80;box-shadow:inset 0 1px 0 #fff8dc66;border-radius:12px}.media-cover:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 1px #fff6d280;pointer-events:none}.media-cover .play{z-index:1}
.photo-carousel{--gallery-columns:3;position:relative;margin-top:50px}.gallery-track{display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:24px}.gallery-track figure{min-width:0}.gallery-track img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.gallery-track figcaption{font-size:13px;padding-top:12px}.is-enhanced .gallery-viewport{overflow:hidden;touch-action:pan-y}.is-enhanced .gallery-track{display:flex}.is-enhanced .gallery-track figure{flex:0 0 calc((100% - (var(--gallery-columns) - 1)*24px)/var(--gallery-columns))}.gallery-controls[hidden]{display:none}.gallery-arrow{position:absolute;top:calc(50% - 16px);width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;color:#493315;background:linear-gradient(140deg,#fff9eccc,#d7bd819c);border-color:#b79a5e;backdrop-filter:blur(12px);transform:translateY(-50%)}.gallery-arrow:hover{transform:translateY(-50%);background-color:#fff3d6}.gallery-arrow[data-prev]{left:-24px}.gallery-arrow[data-next]{right:-24px}.gallery-arrow[data-prev] svg{transform:rotate(180deg)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1150px){.header-inner{gap:40px}.header .brand{font-size:27px}.desktop-nav{gap:22px;font-size:13px}.footer-invite>p{font-size:36px}.footer-glass{gap:70px 30px}}
@media(max-width:850px){.header-inner{gap:30px}.header .brand{font-size:25px}.desktop-nav{gap:18px;font-size:12px}.footer-invite>p{font-size:30px}.footer .brand{font-size:32px}.footer nav{grid-template-columns:1fr 1fr}.photo-carousel{--gallery-columns:2}.education-list li{grid-template-columns:130px 1fr}}
@media(max-width:600px){.header-inner{gap:20px}.header .brand{font-size:26px}.menu-toggle{margin-left:auto}.footer-glass{gap:35px;padding:32px 24px}.footer-invite{text-align:left}.footer-invite>p{font-size:34px}.footer nav{justify-self:start}.footer .brand{font-size:34px}.footer-bottom{justify-content:flex-start}.photo-carousel{--gallery-columns:1;margin-inline:12px}.gallery-arrow{width:44px;height:44px;min-height:44px}.gallery-arrow[data-prev]{left:-22px}.gallery-arrow[data-next]{right:-22px}.education-list li{grid-template-columns:1fr;gap:12px}.education-year{font-size:46px}}
@media(max-width:360px){.header .brand{font-size:23px}.header-inner{gap:12px}.footer .brand{font-size:29px}.footer-invite .button{font-size:12px;padding-inline:16px}}

/* Final first-pass fixes: glyph descent, CSP-safe image crops, inherited logo filters. */
.hero h1 span{padding-bottom:.15em;margin-bottom:-.15em}
.project-logo.logo-4,.project-logo.logo-5{filter:grayscale(1) brightness(1.8)}
.project:hover .project-logo,.project:focus-within .project-logo{filter:none}
.footer .footer-description{font-size:16px;color:#251b0e;max-width:33ch;margin:0}
.gallery-photo-0 img{object-position:50% 35%}.gallery-photo-1 img{object-position:50% 50%}.gallery-photo-2 img{object-position:50% 32%}.gallery-photo-3 img{object-position:70% 38%}
@media(max-width:600px){.hero-inner{padding-bottom:0}.hero-bottom{order:3;margin-top:22px}.hero-photo{order:4;margin-top:24px}.footer .footer-description{color:#fff6e2}.footer-glass{background:#160e1c50}}
/* Optical centering from visible alpha bounds; artwork unchanged. */
.project-logo.logo-0{--logo-x:-1.231%;--logo-y:-3.137%}
.project-logo.logo-1{--logo-x:-1.111%;--logo-y:-0.989%}
.project-logo.logo-2{--logo-x:-2.389%;--logo-y:-0.706%}
.project-logo.logo-3{--logo-x:9.597%;--logo-y:1.053%}
.project-logo.logo-4{--logo-x:-0.278%;--logo-y:-0.331%}
.project-logo.logo-5{--logo-x:-0.167%;--logo-y:-2.000%}

/* Measured contrast corrections: retain bright light outside the smoked glass. */
.footer-glass{background:#160e1c88}
.footer .footer-description{color:#fff6e2}
.hero-actions .button-quiet,.footer-invite .button{background-color:#08070a88}
.hero-actions .button-quiet:hover,.footer-invite .button:hover{background-color:#08070aaa}
@media(max-width:600px){.hero{background:radial-gradient(ellipse at 83% 75%,#b475ec 0,#702db394 27%,transparent 60%),radial-gradient(ellipse at 64% 96%,#6f31a885,transparent 55%),#08070a}.footer-bottom .text-link{color:#251b0e}.footer-glass{background:#160e1c88}}

/* v6: preserve the approved photograph; change its scale and bottom crop only. */
.hero-photo{width:760px;height:1000px;right:-45px;bottom:-140px}
.hero:before{content:'';position:absolute;inset:0;background:url('assets/v6/grain.svg') repeat;opacity:.09;pointer-events:none}
.hero-inner{z-index:1}
.hero h1{letter-spacing:-.025em}
.hero h1 span{position:relative;background:none;color:#eac270;-webkit-text-fill-color:currentColor;-webkit-text-stroke:0;text-shadow:none}
.hero-glyphs{display:block;font:inherit;filter:url(#glass-letters)}
.hero h1 span:after{content:attr(data-text) / '';position:absolute;inset:0;color:#fff4ce;-webkit-text-fill-color:currentColor;filter:url(#glass-glint);pointer-events:none;mask-image:linear-gradient(110deg,transparent 25%,#000 45%,transparent 65%);mask-size:300% 100%;animation:name-reflection 9s ease-in-out infinite;animation-play-state:paused}
.hero h1 span.in-view:after{animation-play-state:running}
@keyframes name-reflection{0%,100%{mask-position:100% 0}50%{mask-position:0 0}}
.opening-scene{position:relative;isolation:isolate}
.intro-surface{position:relative;z-index:2;background:var(--bg)}

.line-measure-word{display:inline-block}
.heading-line{display:block;overflow:clip;padding-bottom:.16em;margin-bottom:-.16em}
.heading-line>span{display:block;transform:translateY(115%);opacity:0;transition:transform .95s cubic-bezier(.16,1,.3,1) var(--line-delay),opacity .75s ease-out var(--line-delay)}
.lines-visible .heading-line>span{transform:none;opacity:1}

/* The same gold glass material on both dark and light sections. */
.glass-icon{background-color:#161119}
.journey{--city-size:90px;grid-template-columns:90px 1fr}
.journey>.glass-icon{width:90px;height:90px;border-radius:16px}
.journey>.glass-icon .detailed-icon{width:68px;height:68px}
.journey>.glass-icon:after{display:block}
.photo-carousel{margin-inline:32px}
.gallery-arrow[data-prev]{left:-58px}.gallery-arrow[data-next]{right:-58px}

/* Four real lines and one inline action, measured after the local font loads. */
.project-excerpt[hidden]{display:none}
.excerpt-toggle.is-preview{display:block;width:100%;min-height:0;margin:0;padding:0;color:var(--muted);font:400 16px/1.7 Manrope,sans-serif;text-align:left;cursor:pointer}
.excerpt-toggle.is-preview:hover{color:var(--text)}
.excerpt-dots{display:inline;color:#ffcf5a;font-size:34px;font-weight:800;line-height:0;white-space:nowrap;vertical-align:baseline}
.excerpt-toggle:not(.is-preview){min-height:44px}
.excerpt-toggle[hidden]{display:none}

/* Full chair silhouette and a diagonal plane under its feet. */
.quote-section{position:relative;isolation:isolate;overflow:hidden}
.quote-section:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#7b549c88,#4c305f88);clip-path:polygon(0 65%,100% 100%,0 100%)}
.quote-layout{position:relative}
.quote-photo{position:relative;height:680px;overflow:visible;margin-bottom:38px}
.quote-photo img{position:relative;z-index:1;height:100%;object-fit:contain;object-position:center bottom}
.quote-photo:after{content:'';position:absolute;left:18%;right:10%;bottom:0;height:22px;border-radius:50%;background:#10091699;filter:blur(9px)}
.footer{background:radial-gradient(ellipse at 96% 110%,#ffda7d,#b17b28 30%,transparent 70%),#08070a}
.has-ending-backdrop:after{background:radial-gradient(ellipse at 96% 110%,#ffdf8d 0,#b98634 26%,transparent 63%),radial-gradient(ellipse at 12% 70%,#72418955,transparent 54%),#08070a}
.button.back-to-top{position:fixed;right:26px;bottom:26px;z-index:30;width:54px;height:54px;min-height:54px;border-radius:50%;padding:0;background:#201727ad;border-color:#f8d58ed9;backdrop-filter:blur(12px);color:#ffdfa0;box-shadow:inset 0 1px 1px #fff6,0 6px 18px #0004}
.back-to-top svg{transform:rotate(-90deg)}
.back-to-top[hidden]{display:none}
.activity-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.activity-tabs[hidden],.news-item[hidden],.activity-empty[hidden],[data-show-more][hidden]{display:none}
.activity-tab{font-size:13px;min-height:44px;padding:11px 16px;gap:0;background:#0c090fcc}
.activity-tab[aria-selected=true]{border-color:#f6cc73;background:#c59b4530;color:#ffe0a0}
.activity-more{display:flex;justify-content:center;margin-top:40px}
.activity-more:has([hidden]){display:none}
.activity-empty{padding:42px 0;border-block:1px solid var(--line);color:var(--muted)}
@media(min-width:1700px){.hero-photo{width:800px;height:1060px;bottom:-160px;right:-35px}}
@media(max-width:1150px){.hero-photo{width:600px;height:900px;bottom:-140px;right:-25px}.quote-photo{height:650px}}
@media(max-width:850px){.hero-photo{width:480px;height:800px;bottom:-140px;right:-20px}.quote-photo{height:570px}.journey{--city-label-gap:18px}}
@media(max-width:600px){
 .hero-photo{height:clamp(460px,138vw,560px);width:100%;right:auto;bottom:auto}
 .hero-photo img{position:absolute;bottom:-100px;left:50%;width:120%;height:auto;max-width:none;transform:translateX(-50%)}
 .journey{--city-size:82px;--city-label-gap:22px;grid-template-columns:82px 1fr}
 .journey>.glass-icon{width:82px;height:82px}.journey>.glass-icon .detailed-icon{width:64px;height:64px}
 .photo-carousel{margin-inline:40px}.gallery-arrow[data-prev]{left:-52px}.gallery-arrow[data-next]{right:-52px}
 .quote-photo{height:500px;margin-bottom:30px}.quote-photo img{height:100%;object-fit:contain}
 .quote-section:before{clip-path:polygon(0 85%,100% 100%,0 100%)}
 .button.back-to-top{right:16px;bottom:16px;width:48px;height:48px;min-height:48px}
 .activity-tabs{gap:8px}.activity-tab{padding-inline:13px}.activity-more .button{font-size:13px;padding-inline:18px}
}
@media(max-width:360px){.journey{--city-label-gap:17px}.journey>span:not(.glass-icon){font-size:19px}.quote-photo{height:430px}}
@media(prefers-reduced-motion:reduce){.hero h1 span:after{animation:none;display:none}.heading-line>span{transform:none;opacity:1;transition:none}}

/* Six real project destinations around one company-group hub. */
.project-map{position:relative;max-width:100%;height:340px;margin-top:42px}
.project-map .map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:154px;height:68px;padding:0;border:1px solid #f6d18cb3;border-radius:50%;background:linear-gradient(135deg,#342b1d,#151019);color:#f6d18c;font-size:24px;font-weight:500;z-index:1;box-shadow:inset 0 1px 1px #fff4}
.project-map>div.map-nodes{position:absolute;inset:0;display:block;border:0}
.project-map .map-nodes a{position:absolute;padding:8px 0;font-size:15px;min-height:44px;display:flex;align-items:center;color:#e3d9e8;white-space:nowrap}
.project-map .map-nodes a:before{content:none}
.map-nodes a:nth-child(1){left:0;top:50%;transform:translateY(-50%)}
.map-nodes a:nth-child(2){left:24%;top:0;transform:translateX(-50%)}
.map-nodes a:nth-child(3){right:24%;top:0;transform:translateX(50%)}
.map-nodes a:nth-child(4){right:0;top:50%;transform:translateY(-50%)}
.map-nodes a:nth-child(5){left:24%;bottom:0;transform:translateX(-50%)}
.map-nodes a:nth-child(6){right:24%;bottom:0;transform:translateX(50%)}
.project-map .map-nodes a:hover{color:#ffd986}
.map-rays{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-rays path{stroke:#e7bd69;stroke-width:1.3;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--ray-progress,1))}
@media(max-width:850px){.project-map{height:300px}.project-map .map-center{width:128px;height:62px;font-size:21px}.project-map .map-nodes a{font-size:13px}}
@media(max-width:360px){.project-map .map-center{width:118px;height:58px;font-size:20px}.project-map .map-nodes a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.map-rays path{stroke-dashoffset:0}}

/* Elena Voss reference, inspected in-browser: 5% black, blur 40px, white 30%. */
.footer .footer-glass{background:rgb(0 0 0 / 5%);backdrop-filter:blur(40px);border:1px solid rgb(255 255 255 / 30%);border-radius:32px}
.footer nav{color:#171008}
@media(max-width:600px){.has-ending-backdrop:after{background:radial-gradient(ellipse 65% 18% at 100% 100%,#ffdf8d 0,#b98634 26%,transparent 70%),radial-gradient(ellipse at 12% 70%,#72418955,transparent 54%),#08070a}.footer nav{color:#fff6e2}}

/* v7: the lettering has three independent layers: surface, edge, moving light. */
.desktop-nav{font-size:16.8px}
.hero-glyphs{filter:none;background:linear-gradient(125deg,#ffebae35 3%,#f4cd704d 20%,#e7ba5e0d 38%,#fff1bf50 57%,#ddb66b12 76%,#ffe6a342);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero h1 span:before{content:attr(data-text) / '';position:absolute;inset:0;color:#f8d78e;filter:url(#glass-letters);pointer-events:none}
.hero h1 span:after{mask-image:conic-gradient(from var(--edge-angle),transparent 0deg,#000 45deg,transparent 105deg,transparent 210deg,#0009 260deg,transparent 320deg);mask-size:100% 100%;mask-position:center;animation:glass-edge 9s linear infinite;animation-play-state:paused}
.hero h1 span.in-view:after{animation-play-state:running}


.project-map{height:350px}
.project-map .map-center{left:0;top:0;transform:none;width:154px;height:58px;border-radius:29px}
.project-map .map-nodes a{inset:auto;transform:none;display:flex;gap:10px;padding:8px 0;min-height:44px;font-size:15px}
.project-map .map-nodes a:before{content:'';position:relative;inset:auto;display:block;flex:none;width:9px;height:9px;border-radius:50%;background:#edc66d}
.project-map .map-nodes a:nth-child(1){right:0;top:7px}
.project-map .map-nodes a:nth-child(2){right:0;top:103px}
.project-map .map-nodes a:nth-child(3){right:0;top:201px}
.project-map .map-nodes a:nth-child(4){right:0;bottom:0}
.project-map .map-nodes a:nth-child(5){left:37%;bottom:0}
.project-map .map-nodes a:nth-child(6){left:0;bottom:0}
.project-map .map-nodes a:nth-child(n+4){flex-direction:column;gap:12px}
.project-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;align-items:center}
.project-footer .text-link{font-size:14px;min-height:44px;gap:8px}
.journey>.glass-icon{background:linear-gradient(135deg,#ffffff85,#f6eac92b 50%,#d6b6724d);border-color:#aa843e85;backdrop-filter:blur(12px);box-shadow:inset 0 2px 2px #fff9,inset 0 -2px 5px #b08c4433,0 8px 18px #6b51351a}
.journey>.glass-icon:hover:after{transform:translateX(65%) rotate(-12deg)}
.journey>.glass-icon .detailed-icon{filter:drop-shadow(0 3px 2px #70532235)}
.photo-carousel{margin-inline:0}
.gallery-arrow[data-prev]{left:-58px}.gallery-arrow[data-next]{right:-58px}
.quote-section:before,.quote-photo:after{content:none}
.quote-copy blockquote{font-size:clamp(23px,2.1vw,30px);font-weight:350;font-style:italic;font-synthesis:style;line-height:1.48}
.quote-photo{margin-bottom:0;height:auto;align-self:end}
.quote-photo img,.contact-photo img{display:block;width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 5%,#000 96%,transparent)}
.contact-photo{height:auto;align-self:end;overflow:hidden}
.quote-layout{min-height:760px;align-items:center}
.quote-photo,.contact-photo{border-radius:0}
.activity-tabs{justify-content:flex-end}
.button.back-to-top{background:linear-gradient(130deg,#ffffff14,#ffe3a008 50%,#ffffff12);color:#ffdfa0;border-color:#f8d58ed9;backdrop-filter:blur(12px);box-shadow:inset 0 1px 1px #fff6,0 6px 18px #0002}
.button.back-to-top.over-light{color:#59421c;border-color:#997238;background:linear-gradient(130deg,#ffffff28,#fff0c00a 50%,#ffffff20)}
.footer-invite .button,.footer-invite .button:hover{background:linear-gradient(135deg,#fff6d620,#e9c67408 50%,#ffdf921a);backdrop-filter:blur(14px)}
.footer nav,.footer-bottom .text-link{color:#fff6e2}
.has-ending-backdrop:after{background:radial-gradient(ellipse 44% 20% at 8% 65%,#72418922,transparent 75%),#08070a}
.footer{position:relative;isolation:isolate;background:#08070a}
.footer:before{content:'';position:absolute;z-index:-1;pointer-events:none;right:0;bottom:0;width:min(800px,75%);height:260px;background:radial-gradient(ellipse at 100% 120%,#e8b54e 0,#b57d25 24%,#6d471520 56%,transparent 75%);clip-path:shape(from 0% 100%,curve to 100% 5% with 30% 110% / 65% 0%,line to 100% 100%,close)}
@supports not (clip-path:shape(from 0% 100%,line to 100% 100%,close)){.footer:before{border-radius:80% 0 0 0}}
@media(max-width:1150px){.desktop-nav{font-size:15.6px}.quote-copy blockquote{font-size:25px}.photo-carousel{padding-bottom:64px}.gallery-arrow{top:auto;bottom:0;transform:none}.gallery-arrow:hover{transform:none}.gallery-arrow[data-prev]{left:0}.gallery-arrow[data-next]{right:0}}
@media(max-width:850px){.desktop-nav{font-size:14.4px;gap:17px}.header-inner{gap:26px}.project-map{height:350px}.project-map .map-center{width:128px;height:52px;border-radius:26px}.project-map .map-nodes a{font-size:13px}.quote-copy blockquote{font-size:22px}.quote-layout{min-height:680px}.quote-photo{height:auto}.contact-photo{height:auto}}
@media(max-width:600px){.mobile-nav a{font-size:16.8px}.quote-layout{min-height:0}.quote-copy blockquote{font-size:23px}.quote-photo{width:100%;height:auto;margin:30px 0 0}.quote-photo img{height:auto}.contact-photo{height:auto;margin-top:30px}.footer:before{width:90%;height:200px}.project-map{height:340px}.project-map .map-nodes a:nth-child(5){left:40%}.project-footer .text-link{font-size:14px}.photo-carousel{margin-inline:0}.gallery-arrow[data-prev]{left:0}.gallery-arrow[data-next]{right:0}}
@media(max-width:360px){.quote-copy blockquote{font-size:21px}.project-map .map-nodes a{font-size:12px}.project-map .map-center{width:118px;height:50px;border-radius:25px}.project-footer{column-gap:12px}.project-footer .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero h1 span:after{animation:none;display:none}.journey>.glass-icon:hover:after{transform:translateX(0);opacity:.3}}

/* v8: normal document flow; only the headings reveal as they reach the reading zone. */
.project-map{height:212px;max-width:none}
.project-map .map-center{top:8px}
.project-map .map-nodes a:nth-child(n){right:auto;bottom:auto;transform:none;flex-direction:row;gap:10px;padding:0;min-height:24px;line-height:24px;font-size:14px}
.quote-section{overflow:hidden}
.quote-layout{position:relative;z-index:1;min-height:800px}
.quote-copy{grid-column:2;position:relative}
.quote-photo{position:absolute;inset:auto 0 0;width:100%;height:auto;margin:0;pointer-events:none}
.quote-photo img{width:max(100%,1680px);max-width:none;height:auto;mask-image:none;object-fit:initial}
.contact-photo{overflow:visible}
.contact-photo img{mask-image:none}
.footer:before{width:100%;height:112%;background:radial-gradient(ellipse 12% 18% at 100% 100%,#ffdc73 0,#efb82e 25%,transparent 75%),radial-gradient(ellipse at 100% 115%,#dfb25d 0,#70501f 26%,#69431b55 51%,transparent 80%);clip-path:none;border-radius:0;mask-image:url('assets/v9/footer-wave-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat}
@media(max-width:1150px){.quote-layout{min-height:720px}.quote-photo img{width:100%}}
@media(max-width:850px){.project-map .map-nodes a:nth-child(n){font-size:12px}.quote-layout{display:block;min-height:0;padding-top:60px}.quote-copy{padding:0 0 30px}.quote-section{display:flex;flex-direction:column}.quote-photo{position:relative;order:2;height:min(92vw,700px);width:100%;margin:0}.quote-photo img{position:absolute;bottom:0;left:0;height:100%;width:auto;max-width:none}.quote-copy blockquote{font-size:25px}}
@media(max-width:600px){.project-map{height:212px}.quote-copy blockquote{font-size:23px}.quote-layout{padding-top:55px}.footer:before{height:95%;width:100%}}
@media(max-width:360px){.quote-copy blockquote{font-size:21px}}
.hero-role{font-size:33px;font-weight:350;line-height:1.45;max-width:530px}
.hero-photo img{transform:translateY(-18px)}
@media(max-width:1150px){.hero-role{font-size:28.5px;max-width:420px}}
@media(max-width:850px){.hero-role{font-size:25.5px;max-width:360px}}
@media(max-width:600px){.hero-role{font-size:24px;max-width:100%}.hero-photo img{transform:translate(-50%,-18px)}}
@media(max-width:360px){.hero-role{font-size:22.5px}}
.materials{padding-bottom:48px}
.contact{padding-top:28px}
@media(max-width:600px){.materials{padding-bottom:32px}.contact{padding-top:32px}}
/* Keep the full gallery width; move controls into the available outer gutter. */
@media(min-width:1151px){.gallery-arrow{width:44px;height:44px;min-height:44px}.gallery-arrow[data-prev]{left:calc(-1 * clamp(52px,calc((100vw - 1312px)/2 - 4px),88px))}.gallery-arrow[data-next]{right:calc(-1 * clamp(52px,calc((100vw - 1312px)/2 - 4px),88px))}}
