/* V5: measured pacing, visible people, and evidence in the foreground. */
@font-face{font-family:Caveat;src:url('assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant.ttf') format('truetype');font-weight:500;font-display:swap}
.js .vision-sequence{height:490svh}
.vision-detail{position:absolute;inset:0;background:#070b0f;transition:opacity .8s ease;overflow:hidden}
.vision-detail img{position:absolute;left:0;top:0;inset:0;width:100%;height:100%;object-fit:cover;filter:none}
.vision-beat em{position:relative;display:inline-block;padding-bottom:.07em}
.ink-underline{position:absolute;left:-2%;bottom:-.06em;width:104%;height:.21em;overflow:visible;color:#00badc}
.ink-underline path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .2s linear}
.js .vision-beat [data-opening-words] .story-word{transition:opacity .23s linear,filter .23s linear,transform .23s linear}
/* A photo is a person; the second image is a small invitation to know them. */
.colleague-image{aspect-ratio:.92;max-height:280px}
.colleague-image:before{z-index:2;pointer-events:none;border-color:#ffffff22;inset:8px}
.colleague-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:opacity .5s ease,transform .8s var(--story-ease),filter .5s;filter:saturate(.6)}
.colleague:first-child .portrait-primary{object-position:51% center}
.colleague-image .portrait-casual{opacity:0;object-position:53% 40%;filter:none}
.colleague-trigger:hover .colleague-image img,.colleague-trigger:focus-visible .colleague-image img{filter:none;transform:scale(1.035)}
.colleague:first-child .colleague-trigger:hover .portrait-casual,.colleague:first-child .colleague-trigger:focus-visible .portrait-casual,.colleague:first-child.casual-open .portrait-casual{opacity:1}
.colleague-plus{z-index:3;color:#fff;text-shadow:0 1px 5px #000;opacity:1}
.colleague-trigger>strong{margin-top:14px;min-height:20px}
.draft-signature{display:block;font:500 clamp(20px,2.2vw,33px)/1.15 Caveat,cursive;letter-spacing:-.02em;color:#007c92;height:40px;margin-top:3px;opacity:0;transform:translateY(6px) rotate(-3deg);transition:opacity .3s,transform .4s}
.colleague.selected .draft-signature,.colleague-trigger:hover .draft-signature,.colleague-trigger:focus-visible .draft-signature{opacity:1;transform:translateY(0) rotate(-3deg)}
.colleague-role{margin-top:2px}
.team-perspective{grid-template-columns:.8fr 1.2fr 1.5fr;min-height:140px;margin-top:28px}
.perspective-name{display:block;font-size:12px;padding-top:0}
.perspective-role{display:block;font-size:12px;line-height:1.6;font-weight:700;margin-top:9px;max-width:200px}
.contribution-label{display:block;font-size:8px;letter-spacing:.15em;color:#527682;margin-bottom:11px}
.team-perspective.changed .perspective-contribution{animation:perspective-change .35s var(--story-ease)}
/* A pair of project views carry a restrained band of scale indicators. */
.hospitality-scale{position:relative;isolation:isolate;padding:28px 32px 0;background:#152328;overflow:hidden;margin-top:36px}
.scale-photography{position:absolute;inset:0 0 140px;display:grid;grid-template-columns:1.5fr 1fr;z-index:-2}
.scale-photography img{width:100%;height:100%;object-fit:cover;min-height:460px}
.hospitality-scale:before{content:"";position:absolute;inset:0 0 140px;background:linear-gradient(180deg,#03090bc9,transparent 40%,#031016e8 100%);z-index:-1}
.scale-topline{position:relative;min-height:60px;align-items:start;color:#f2f5f7}
.sample-metrics-note{font-size:7px;max-width:360px;color:#c1e8ef}
.hospitality-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:165px;border:0;padding-bottom:26px}
.metric-card{padding:22px 0 0;border-top:1px solid #d8effa70}
.hospitality-metrics .stat-number,.hospitality-metrics .metric-card[data-metric="2"] .stat-number{font-size:clamp(35px,3.9vw,65px);color:#fff;letter-spacing:-.065em}
.hospitality-metrics .metric-card[data-metric="2"] .stat-number{font-size:clamp(31px,3.4vw,57px)}
.metric-card h3{font-size:13px;font-weight:600;margin-top:12px;color:#fff}
.metric-card>p{font-size:9px;color:#c1d5df;max-width:220px}
.brand-placeholder-topline{margin:0 -32px;padding:17px 32px 0;background:#f4f4f4;color:#435d69;position:relative}
.brand-placeholder-topline>span:last-child{color:#75858c;font-size:7px}
.hotel-brand-band{margin:0 -32px;padding:10px 32px 20px;background:#f4f4f4;display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:35px;align-items:center;color:#303e48}
.hotel-brand-band img{height:76px;width:100%;object-fit:contain;max-width:185px;justify-self:center}
.hotel-brand-band img:nth-child(3){max-width:190px;height:90px}
.hotel-brand-band>span{font-size:12px;line-height:1.7;border-left:1px solid #9caeb544;padding-left:30px}
.hotel-brand-band strong{font-weight:600}
/* Four frames in view; a wider track reveals the rest while the page advances. */
.asset-detail-pan{position:relative;height:auto;background:#101b20;color:#fff}
.detail-pan-stage{padding:55px 0 30px;overflow:hidden;background:#101b20}
.detail-pan-heading{padding:0 var(--gutter);display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:30px}
.detail-pan-heading>p{font-size:8px;letter-spacing:.16em;color:#79b7c5;max-width:100px;line-height:1.9}
.detail-pan-heading h2{font-size:clamp(24px,2.8vw,43px);font-weight:500;letter-spacing:-.045em;line-height:1.15}
.detail-pan-heading>span{font-size:8px;letter-spacing:.12em;color:#83adbb}
.detail-pan-viewport{overflow-x:auto;scrollbar-color:#00badc #172f38;scrollbar-width:thin;padding-bottom:12px;outline-offset:-3px}
.detail-pan-track{display:flex;gap:8px;width:max-content;will-change:transform;padding:0 28px}
.detail-pan-track>.detail-window{position:relative;inset:auto;width:calc((100vw - 80px)/4);height:clamp(230px,26vw,390px);flex:none;margin:0}
.detail-pan-track>.detail-window:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#000b)}
.detail-pan-track figcaption{position:absolute;left:18px;right:12px;bottom:20px;color:#fff;font-size:11px;line-height:1.6;z-index:2}
.detail-pan-stage>.ribbon-concept{position:relative;display:block;text-align:right;right:auto;bottom:auto;margin:12px var(--gutter) 0;font-size:7px;color:#8da6b3}
@media(min-width:761px) and (hover:hover){.js:not(.motion-off) .asset-detail-pan{height:190svh}.js:not(.motion-off) .detail-pan-stage{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.js:not(.motion-off) .detail-pan-viewport{overflow:hidden}}
/* Choices live on the canvas they change. */
.direction-explorer{margin-top:40px;grid-template-columns:1.35fr 1fr}
.direction-visual{min-height:690px}
.direction-tabs{position:absolute;top:20px;left:20px;right:20px;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:0;background:none;z-index:4}
.direction-tabs button,.direction-tabs button.active{padding:12px 16px;min-height:44px;border:1px solid #ffffff66;background:#0c1e28db;color:#c8dbe3;backdrop-filter:blur(14px);gap:15px;font-size:9px;flex-direction:row;align-items:center;transition:background .25s,border-color .25s,transform .25s}
.direction-tabs button>span{color:#fff;font-size:12px;line-height:1.4}
.direction-tabs button.active{background:#00badc;color:#063440;border-color:#00badc}
.direction-tabs button.active>span{color:#002832;font-weight:600}
.direction-tabs button:hover{border-color:#00badc;transform:translateX(3px)}
.direction-visual figcaption{bottom:67px}
.direction-specimen{display:block!important;font:500 clamp(53px,6vw,90px)/1 Cormorant,Georgia,serif;letter-spacing:-.04em;margin-top:27px;color:#f5e5c8}
.direction-explorer[data-expression="1"] .direction-specimen{font:700 clamp(40px,4.8vw,73px)/1.1 var(--sans);letter-spacing:-.07em;color:#f4f4f4}
.direction-explorer[data-expression="2"] .direction-specimen{font:500 clamp(58px,6.4vw,98px)/1 Caveat,cursive;letter-spacing:-.025em;color:#f7d3b4;transform:rotate(-3deg)}
.direction-visual figcaption>strong{font-size:20px;letter-spacing:-.025em;margin-top:15px;font-weight:400}
.direction-swatches{gap:7px;margin-top:25px}.direction-swatches i{width:clamp(25px,3.2vw,48px);height:15px}
.direction-copy{display:flex;flex-direction:column;justify-content:center;padding:42px}
.flag-families{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:25px;align-items:center;background:#f7f8f8;padding:18px 35px;margin-top:18px}
.flag-families>span{font-size:8px;letter-spacing:.1em;line-height:1.9;color:#42616f}
.flag-families small{font-size:9px;letter-spacing:0;color:#738994;display:block;margin-top:5px}
.flag-families img{width:100%;max-width:160px;height:65px;object-fit:contain;justify-self:center}
/* A personal sign-off, with the same people who opened the conversation. */
.closing-v4{height:auto;min-height:1120px;max-height:none;display:flex;flex-direction:column;justify-content:flex-start;padding-top:100px;padding-bottom:35px}
.closing-v4 .closing-content{position:relative;left:auto;right:auto;top:auto;transform:none;margin:0 var(--gutter)}
.closing-v4 .closing-content h2{font-size:clamp(52px,5.5vw,84px)}
.closing-v4 .closing-content>p:first-child{margin-bottom:23px}
.closing-v4 .closing-description{margin-top:20px}
.closing-crew{position:relative;margin:55px var(--gutter) 40px;text-align:center}
.closing-crew>p{font-size:12px;color:#bdced6;margin-bottom:25px}
.closing-crew-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;max-width:1000px;margin:auto}
.closing-crew-grid>a{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.closing-crew-grid img{width:66px;height:66px;border-radius:50%;object-fit:cover;object-position:center 35%;border:1px solid #ffffff55;transition:transform .3s}
.closing-crew-grid a:first-child img{object-position:51% center}
.closing-crew-grid>a:hover img{transform:translateY(-4px)}
.crew-signature{font:500 clamp(20px,2.1vw,29px)/1.1 Caveat,cursive;color:#e5f6fb;white-space:nowrap;transform:rotate(-4deg)}
.closing-footer.site-footer{position:relative;left:auto;right:auto;bottom:auto;margin:auto var(--gutter) 0;padding-top:23px;grid-template-columns:1fr 1.6fr 1fr}
.closing-v4 .closing-concept{bottom:118px;font-size:6px;opacity:.7}
.motion-off .ink-underline path{stroke-dashoffset:0!important}
.motion-off .detail-pan-track{transform:none!important}
.motion-off .draft-signature{opacity:1;transform:rotate(-3deg)}
.motion-off .colleague-image img,.motion-off .portrait-casual{transition:none!important}
@media(min-width:1700px){.direction-tabs{grid-template-columns:repeat(3,1fr)}.direction-tabs button{flex-direction:column;align-items:start;gap:4px}}
@media(max-width:1000px) and (min-width:761px){.hospitality-metrics{grid-template-columns:1fr 1fr;margin-top:130px;row-gap:18px}.scale-photography{inset:0 0 160px}.hospitality-scale:before{inset:0 0 160px}.hotel-brand-band>span{font-size:10px;padding-left:18px}.crew-signature{font-size:20px}.direction-copy{padding:28px}.direction-visual{min-height:750px}}
@media(max-width:760px){
.js .vision-sequence{height:500svh}
.vision-detail img{object-fit:contain;background:#091319}
.vision-stage[data-background-phase^="grid"] .vision-shade{background:linear-gradient(#03080c88,#04080ba6 45%,#03070be8)}
.colleague-image{aspect-ratio:.85;max-height:none}.colleague-image:before{inset:5px}
.draft-signature{font-size:22px;height:34px;margin-top:4px;white-space:normal}.colleague-trigger>strong{min-height:34px}
.colleague-role{font-size:8px}.team-perspective{grid-template-columns:1fr;gap:18px;min-height:280px}
.perspective-person{display:flex;justify-content:space-between;gap:20px}.perspective-role{font-size:10px;max-width:160px;margin-top:0;text-align:right}.perspective-name{font-size:11px}
.team-perspective h3{font-size:26px}.contribution-label{font-size:7px;margin-bottom:9px}.curation-note{font-size:7px}
.hospitality-scale{padding:22px 20px 0;margin-top:30px}.scale-photography{grid-template-columns:1fr;inset:0 0 200px}.scale-photography img:first-child{min-height:600px}.scale-photography img:last-child{display:none}.hospitality-scale:before{inset:0 0 200px;background:linear-gradient(#071118c9,#07111866 30%,#071118d9)}
.scale-topline{min-height:0}.sample-metrics-note{font-size:6px;max-width:260px}
.hospitality-metrics{grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:140px;padding-bottom:25px}.metric-card{padding-top:17px}
.hospitality-metrics .stat-number{font-size:clamp(36px,10vw,58px)}.hospitality-metrics .metric-card[data-metric="2"] .stat-number{font-size:clamp(26px,7vw,41px)}
.metric-card h3{font-size:10px;margin-top:10px}.metric-card>p{font-size:8px;line-height:1.7}
.brand-placeholder-topline{margin:0 -20px;padding:15px 20px 0;font-size:6px;gap:15px}.brand-placeholder-topline>span:last-child{font-size:5px}
.hotel-brand-band{margin:0 -20px;padding:10px 20px 18px;grid-template-columns:1fr 1fr 1fr;gap:12px}.hotel-brand-band img{height:58px}.hotel-brand-band img:nth-child(3){height:65px}.hotel-brand-band>span{grid-column:1/-1;border:0;padding:0;text-align:center;font-size:10px}.hotel-brand-band>span br{display:none}
.detail-pan-stage{padding:40px 0 25px}.detail-pan-heading{display:block;padding:0 24px;margin-bottom:25px}.detail-pan-heading>p{max-width:none;font-size:7px}.detail-pan-heading h2{font-size:29px;margin-top:14px;max-width:300px}.detail-pan-heading>span{display:block;font-size:7px;margin-top:16px}.detail-pan-track{padding:0 24px;gap:7px}.detail-pan-track>.detail-window{width:70vw;height:90vw;max-height:440px}.detail-pan-track figcaption{font-size:11px}.detail-pan-stage>.ribbon-concept{font-size:6px;margin-right:24px}
.direction-explorer{margin-top:30px;grid-template-columns:1fr}.direction-visual{height:535px;min-height:0}.direction-tabs{left:16px;right:16px;top:16px;gap:7px}.direction-tabs button,.direction-tabs button.active{min-height:43px;padding:10px 14px;gap:12px}.direction-tabs button>span{font-size:11px}.direction-visual figcaption{left:23px;right:23px;bottom:60px}.direction-specimen{font-size:65px}.direction-explorer[data-expression="1"] .direction-specimen{font-size:48px}.direction-explorer[data-expression="2"] .direction-specimen{font-size:70px}.direction-visual figcaption>strong{font-size:17px;max-width:none;margin-top:15px}.direction-swatches i{height:13px;width:32px}.direction-copy{padding:29px 23px}.flag-families{grid-template-columns:repeat(3,1fr);padding:22px;gap:10px;margin-top:12px}.flag-families>span{grid-column:1/-1;text-align:center;font-size:7px;margin-bottom:8px}.flag-families small{font-size:9px}.flag-families img{height:65px}.directions-note{font-size:8px}
.closing-v4{height:auto;min-height:1050px;padding-top:70px;padding-bottom:25px}.closing-v4 .closing-content{margin:0 24px}.closing-v4 .closing-content h2{font-size:clamp(33px,9.5vw,58px)}.closing-v4 .closing-content>p:first-child{font-size:9px;margin-bottom:23px}.closing-v4 .closing-description{font-size:11px}.closing-crew{margin:42px 24px 35px}.closing-crew>p{font-size:10px;max-width:250px;margin:0 auto 23px}.closing-crew-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 12px}.closing-crew-grid img{width:53px;height:53px}.crew-signature{font-size:20px;white-space:normal}.closing-footer.site-footer{margin:0 24px;grid-template-columns:1fr 1fr;gap:20px 14px}.closing-footer p{font-size:7px}.closing-v4 .closing-concept{display:none}
}

@media(prefers-reduced-motion:reduce){.ink-underline path{stroke-dashoffset:0!important}.draft-signature{opacity:1;transform:rotate(-3deg)}.detail-pan-track{transform:none!important}.colleague-image img{transition:none!important}}
/* Give long names their own space in the collective sign-off. */
.crew-signature{white-space:normal;text-align:center;max-width:100%;font-size:clamp(20px,1.75vw,26px);line-height:1.12}
@media(max-width:760px){.crew-signature{font-size:20px}}
/* V6: the landing loop becomes a deliberate, scroll-directed story. */
.vision-kicker{font-size:clamp(12px,1.05vw,16px);letter-spacing:.13em;font-weight:500;color:#79e4f7;margin-bottom:24px}
.vision-shade,.js .vision-shade{background:radial-gradient(ellipse 60% 38% at 50% 49%,#030c15d9 0%,#030c15b3 47%,#030c1522 100%),linear-gradient(#03080c45,#03080c35 45%,#03070be6)}
.vision-detail img{transform:scale(var(--detail-zoom,1.015));transform-origin:50% 48%;transition:transform .35s linear;will-change:transform}
.vision-beat[data-beat="0"]{transition:opacity .16s ease,transform .25s ease!important}
.js .vision-beat:not(.active) [data-opening-words] .story-word{transition:none!important;opacity:0;filter:blur(8px)}
.js .vision-beat [data-opening-words] .story-word{opacity:var(--word-progress,0);filter:blur(calc((1 - var(--word-progress,0)) * 8px));transform:translateY(calc((1 - var(--word-progress,0)) * 9px));transition:opacity .08s linear,filter .08s linear,transform .08s linear}
.js .vision-beat:not([data-beat="0"]) .vision-support,.js .vision-beat .vision-team-link{opacity:var(--support-resolve,0);transition:opacity .18s ease}
.colleague-role{margin-top:7px}.colleague-trigger>strong{min-height:20px}
/* Mixed scale, proportion and material create a compact body of evidence. */
.hospitality-scale.bento-scale{padding:0;background:none;overflow:visible;margin-bottom:45px}
.bento-scale:before{display:none}
.bento-scale .scale-topline{min-height:0;align-items:center}
.bento-scale .hospitality-metrics{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:200px 200px;gap:12px;margin-top:22px;padding:0}
.bento-scale .metric-card{position:relative;isolation:isolate;border:0;padding:25px;display:flex;flex-direction:column;justify-content:end;overflow:hidden;min-width:0}
.bento-scale .metric-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 5%,#07141be0 100%);z-index:-1}
.bento-scale .metric-card[data-metric="0"]{grid-column:span 7;grid-row:span 2;background:url('assets/hospitality/trust-ballroom.webp') center/cover}
.bento-scale .metric-card[data-metric="1"]{grid-column:span 5;background:url('assets/hospitality/vine-journal.webp') center 45%/cover}
.bento-scale .metric-card[data-metric="2"]{grid-column:span 3;background:#143842 url('assets/hospitality/st-regis-room.webp') center/cover}
.bento-scale .metric-card[data-metric="3"]{grid-column:span 2;background:#063c4d}
.bento-scale .metric-card[data-metric="3"]:before{background:radial-gradient(at 100% 0,#00badc80,transparent 80%)}
.bento-scale .metric-card[data-metric="0"] .stat-number{font-size:clamp(55px,5.5vw,84px)}
.bento-scale .metric-card[data-metric="1"] .stat-number{font-size:clamp(40px,4vw,61px)}
.bento-scale .metric-card[data-metric="2"] .stat-number{font-size:clamp(27px,2.9vw,43px)}
.bento-scale .metric-card[data-metric="3"] .stat-number{font-size:clamp(37px,4.3vw,65px)}
.bento-scale .metric-card h3{font-size:13px;line-height:1.5;margin-top:9px}.bento-scale .metric-card>p{font-size:9px;line-height:1.7;margin-top:5px}
.bento-scale .metric-card[data-metric="3"]>p{display:none}
.bento-scale .brand-placeholder-topline{margin:12px 0 0;padding:15px 25px 0}
.bento-scale .hotel-brand-band{margin:0;padding:8px 25px 18px}
.featured-view{width:100vw;margin-left:calc(-1 * var(--gutter));height:clamp(440px,46vw,720px)}
.featured-view .featured-topline{left:var(--gutter);right:var(--gutter)}
.featured-view figcaption{left:var(--gutter);right:var(--gutter)}
/* Quiet movement suggests ideas being composed behind the capability examples. */
.storytelling{position:relative;isolation:isolate;overflow:hidden;background:#06131c}
.storytelling:before{content:"";position:absolute;inset:-25%;z-index:-2;background:radial-gradient(ellipse at 15% 25%,#0088aa4d,transparent 42%),radial-gradient(ellipse at 85% 65%,#3b59ac59,transparent 40%),radial-gradient(ellipse at 35% 90%,#0eb8a838,transparent 35%);filter:blur(25px);animation:ideas-atmosphere 19s ease-in-out infinite alternate;pointer-events:none}
.storytelling:after{content:"";position:absolute;inset:-15%;z-index:-1;background:repeating-linear-gradient(110deg,transparent 0 140px,#96e9ff0b 141px,transparent 142px 280px),linear-gradient(90deg,transparent,#46daed0a,transparent);transform:rotate(-4deg);animation:ideas-lines 24s linear infinite alternate;pointer-events:none}
@keyframes ideas-atmosphere{0%{transform:translate(-3%,-2%) scale(1)}50%{transform:translate(4%,3%) scale(1.08)}100%{transform:translate(-1%,6%) scale(1.02)}}
@keyframes ideas-lines{from{translate:-30px 0;opacity:.3}to{translate:75px -25px;opacity:.8}}
/* The detail gallery is a flowing transition, with no pin or extra scroll runway. */
.js:not(.motion-off) .asset-detail-pan,.asset-detail-pan{height:auto;background:#06131c}
.js:not(.motion-off) .detail-pan-stage,.detail-pan-stage{position:relative;top:auto;min-height:0;display:block;padding:5px 0 35px;background:linear-gradient(#06131c,#071116)}
.detail-pan-heading{align-items:center;margin-bottom:17px;padding:0 var(--gutter)}
.detail-pan-heading>p{max-width:none;font-size:8px}.detail-pan-heading>span{font-size:12px;letter-spacing:0;color:#bfdae5}
.detail-pan-track>.detail-window{height:clamp(210px,21vw,315px)}
.detail-pan-stage>.ribbon-concept{margin-top:5px;font-size:6px}
/* A soft horizon brings the building back; overlapping faces lead the invitation. */
.closing-v4{background:#071116;min-height:1080px;padding-top:70px}
.closing-v4>img{mask-image:linear-gradient(transparent 0%,#000 35%);opacity:calc(.5 + var(--closing-reveal,1) * .5);transform:scale(calc(1.025 - var(--closing-reveal,1) * .025));transition:opacity .5s,transform .7s}
.closing-v4 .closing-wash{background:linear-gradient(#071116 0%,#07111666 28%,#02090c44 55%,#02090ce8 100%)}
.closing-crew{margin:0 var(--gutter) 30px;display:flex;flex-direction:column;align-items:center}
.closing-crew>p{font-size:10px;letter-spacing:.08em;margin:0 0 18px;color:#a9c4cf}
.closing-crew-grid{display:flex;justify-content:center;gap:0;max-width:none;margin:0;padding-left:15px}
.closing-crew-grid>a{margin-left:-15px;display:block;position:relative;border-radius:50%;transition:transform .3s;z-index:1}
.closing-crew-grid>a:hover,.closing-crew-grid>a:focus-visible{transform:translateY(-6px);z-index:2}
.closing-crew-grid img{width:62px;height:62px;border:3px solid #0b202a;box-shadow:0 5px 20px #0005}
.closing-crew-grid>a:hover img{transform:none}
.closing-v4 .closing-content h2{font-size:clamp(51px,5.2vw,80px)}
.closing-footer.site-footer{margin-top:55px;grid-template-columns:1.3fr 1.5fr .8fr;gap:25px}
.collaboration-lockup{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 20px;background:#fff;min-width:0;max-width:385px}
.collaboration-lockup img{width:42%;height:auto;max-height:70px;object-fit:contain}
.collaboration-lockup>span{font:400 25px/1 var(--sans);color:#6d8290}
.motion-off .vision-detail img{transform:none!important}
.motion-off .vision-beat .vision-support,.motion-off .vision-beat .vision-team-link{opacity:1!important}
.motion-off .storytelling:before,.motion-off .storytelling:after{animation:none}
@media(max-width:1100px) and (min-width:761px){.bento-scale .hospitality-metrics{grid-template-rows:190px 190px}.bento-scale .metric-card{padding:20px}.bento-scale .metric-card[data-metric="2"] .stat-number{font-size:2.8vw}.bento-scale .metric-card h3{font-size:11px}.collaboration-lockup{gap:11px;padding:12px}}
@media(max-width:760px){
.vision-kicker{font-size:11px;max-width:290px;letter-spacing:.1em;line-height:1.7;margin-bottom:23px}
.js .vision-shade{background:radial-gradient(ellipse 80% 33% at 50% 48%,#030c15db,#030c1599 70%,transparent),linear-gradient(#03080c77,#03080c66 45%,#03070bec)}
.colleague-trigger>strong{min-height:34px}.colleague-role{margin-top:6px}
.bento-scale .hospitality-metrics{grid-template-columns:1fr 1fr;grid-template-rows:285px 190px;gap:9px;margin-top:18px}
.bento-scale .metric-card{padding:19px 16px}
.bento-scale .metric-card[data-metric="0"]{grid-column:span 2;grid-row:auto}
.bento-scale .metric-card[data-metric="1"]{grid-column:auto}
.bento-scale .metric-card[data-metric="2"]{grid-column:auto}
.bento-scale .metric-card[data-metric="3"]{grid-column:span 2;min-height:110px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8px}
.bento-scale .metric-card[data-metric="0"] .stat-number{font-size:58px}
.bento-scale .metric-card[data-metric="1"] .stat-number{font-size:43px}
.bento-scale .metric-card[data-metric="2"] .stat-number{font-size:clamp(25px,7vw,37px)}
.bento-scale .metric-card[data-metric="3"] .stat-number{font-size:48px}
.bento-scale .metric-card h3{font-size:11px}.bento-scale .metric-card>p{font-size:8px}
.bento-scale .brand-placeholder-topline{padding:15px 18px 0;margin-top:9px}.bento-scale .hotel-brand-band{padding:10px 18px 18px}
.featured-view{height:480px}.featured-view .featured-topline,.featured-view figcaption{left:24px;right:24px}
.detail-pan-heading{padding:0 24px;display:flex;align-items:start;gap:20px;margin:0 0 16px}.detail-pan-heading>p{font-size:6px;max-width:100px}.detail-pan-heading>span{font-size:10px;max-width:180px;line-height:1.7;margin-top:0}
.detail-pan-track>.detail-window{height:320px;width:70vw}.detail-pan-stage{padding-bottom:25px}
.closing-v4{padding-top:50px;min-height:1030px}.closing-crew{margin:0 24px 28px}.closing-crew>p{font-size:8px;max-width:none;margin-bottom:16px}.closing-crew-grid{padding-left:13px}.closing-crew-grid>a{margin-left:-13px}.closing-crew-grid img{width:49px;height:49px;border-width:2px}
.closing-v4 .closing-content h2{font-size:clamp(32px,9.5vw,52px)}.closing-footer.site-footer{margin:45px 24px 0;grid-template-columns:1fr 1fr;gap:22px 15px}.collaboration-lockup{grid-column:1/-1;grid-row:1;max-width:340px;width:100%;justify-self:center;padding:16px 22px;gap:18px}.collaboration-lockup img{max-height:68px}.closing-footer p{grid-row:auto;grid-column:1/-1;text-align:center}.closing-footer>div:last-child{grid-column:1/-1;justify-content:center;align-items:center;gap:24px}.closing-v4 .closing-content>p:first-child{font-size:10px;max-width:290px;margin-left:auto;margin-right:auto}
}
@media(prefers-reduced-motion:reduce){.storytelling:before,.storytelling:after{animation:none}.vision-detail img{transform:none!important}}
.scroll-directed .replay-opening{display:none}
.collaboration-lockup{flex-direction:row!important}
.closing-footer.site-footer>.collaboration-lockup{align-items:center;justify-content:center;gap:16px}
/* V7: a continuous brand ribbon, a staggered detail passage, and a clean sign-off. */
.bento-scale .hotel-brand-band{display:grid;grid-template-columns:7fr 5fr;gap:0;padding:3px 0 15px;align-items:center}
.brand-ticker{position:relative;overflow:hidden;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.brand-ticker-track{display:flex;width:max-content;animation:brand-ribbon 34s linear infinite;will-change:transform}
.brand-ticker-group{display:flex;align-items:center;gap:28px;padding-right:28px;flex:none}
.ticker-logo{display:flex;align-items:center;justify-content:center;width:150px;height:88px;overflow:hidden;flex:none}
.hotel-brand-band .ticker-logo img{width:150px;height:auto;max-width:none;max-height:none;object-fit:contain;flex:none}
.hotel-brand-band .logo-marriott img{width:145px}
.hotel-brand-band .logo-hyatt img{width:155px}
.hotel-brand-band .logo-ihg img,.hotel-brand-band .logo-hilton img{width:166px;height:166px}
.hotel-brand-band .logo-four-seasons img{width:155px}
.hotel-brand-band .logo-ritz-carlton img{width:190px}
.hotel-brand-band .brand-ticker-caption{margin:0 28px 0 35px;padding:0 0 0 28px;font-size:12px;line-height:1.8;border-left:1px solid #8fa6b740;grid-column:auto;text-align:left;letter-spacing:0;color:#334d59}
@keyframes brand-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Tall, staggered frames extend beyond the canvas while native page scroll reveals them. */
.asset-detail-pan,.js:not(.motion-off) .asset-detail-pan{background:#080f14;height:auto}
.detail-pan-stage,.js:not(.motion-off) .detail-pan-stage{position:relative;min-height:0;padding:12px 0 55px;background:linear-gradient(#06131c,#080f14 70%);overflow:hidden}
.detail-pan-heading{margin-bottom:24px}
.detail-pan-track{align-items:start;gap:34px;padding:0 45px}
.detail-frame{width:26vw;min-width:250px;max-width:460px;flex:none;margin:0;padding:0}
.detail-frame:nth-child(even){margin-top:65px}
.detail-frame .detail-photo{position:relative;inset:auto;height:clamp(360px,37vw,590px);overflow:hidden}
.detail-frame:nth-child(even) .detail-photo{height:clamp(300px,30vw,480px)}
.detail-frame .detail-photo img{position:absolute;left:var(--detail-x,-1%);top:var(--detail-y,-1%);width:204%;height:204%;object-fit:cover;max-width:none}
.detail-frame figcaption{position:relative;left:auto;right:auto;bottom:auto;display:flex;gap:18px;align-items:baseline;margin:13px 0 0;color:#a3b3bf;font-size:10px;line-height:1.7;text-shadow:none}
.detail-frame figcaption>span{font-size:8px;letter-spacing:.08em;color:#7cabc1;flex:none}
.detail-pan-stage>.ribbon-concept{margin-top:23px;font-size:6px;color:#617985}
/***** A shorter image-led closing, followed by a genuinely separate white footer. *****/
.closing-v4{height:clamp(640px,82svh,850px);min-height:0;max-height:none;padding:70px 0 55px;background:#080f14;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.closing-v4>img{object-position:center 53%;mask-image:linear-gradient(transparent 0%,#000 28%);opacity:calc(.65 + var(--closing-reveal,1) * .35)}
.closing-v4 .closing-wash{background:linear-gradient(#080f14 0%,#080f1477 28%,#02090c55 65%,#02090c99 100%)}
.closing-crew{margin:0 var(--gutter) 28px}
.closing-crew>p{margin-bottom:15px;font-size:9px}
.closing-crew-grid img{width:56px;height:56px}
.closing-v4 .closing-content h2{font-size:clamp(49px,5.2vw,80px)}
.closing-v4 .closing-content>p:first-child{font-size:12px;margin-bottom:22px}
.closing-v4 .closing-description{font-size:13px;margin-top:22px}
.closing-v4 .closing-concept{bottom:18px;right:var(--gutter);font-size:6px;opacity:.8}
.closing-footer.site-footer{position:relative;inset:auto;width:100%;margin:0;padding:22px var(--gutter);min-height:0;background:#fff;color:#303e48;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:28px}
.closing-footer.site-footer>.collaboration-lockup{max-width:320px;margin:0;padding:0;gap:17px;background:none;grid-column:auto;grid-row:auto;justify-self:start;align-items:center;justify-content:start}
.collaboration-lockup img{width:42%;max-height:62px}
.collaboration-lockup>span{font-size:23px;color:#7b909b}
.closing-footer.site-footer p{font-size:8px;line-height:1.9;color:#435c69;text-align:center;grid-column:auto;grid-row:auto;letter-spacing:.05em}
.closing-footer.site-footer p>span{font-size:9px;color:#7b8d96;letter-spacing:0}
.closing-footer.site-footer p>a{display:inline-block;margin-top:4px;color:#007f96;font-size:9px;font-weight:600;letter-spacing:.03em;border-bottom:1px solid #007f9655}
.closing-footer.site-footer>div:last-child{grid-column:auto;align-items:center;justify-content:end;flex-direction:row;gap:18px}
.closing-footer.site-footer button{font-size:9px;color:#4d6979;border-color:#a2b4be66;white-space:nowrap}
.motion-off .brand-ticker-track{animation:none!important;transform:none!important}
.motion-off .brand-ticker{overflow-x:auto;mask-image:none}
.motion-off .brand-ticker-group[aria-hidden=true]{display:none}
@media(max-width:1100px) and (min-width:761px){.closing-footer.site-footer{grid-template-columns:1.2fr 1.6fr .8fr;gap:20px}.closing-footer.site-footer>div:last-child{flex-direction:column;align-items:end;gap:8px}.hotel-brand-band .brand-ticker-caption{font-size:11px;margin-left:22px;padding-left:22px}.detail-pan-track{gap:25px;padding:0 35px}}
@media(max-width:760px){
.bento-scale .hotel-brand-band{grid-template-columns:1fr;padding:5px 0 16px;gap:8px}.brand-ticker-group{gap:20px;padding-right:20px}.ticker-logo{width:132px;height:78px}.hotel-brand-band .brand-ticker-caption{grid-column:1;margin:0;padding:0 20px;border:0;text-align:left;font-size:10px}.hotel-brand-band .brand-ticker-caption br{display:none}
.detail-pan-stage,.js:not(.motion-off) .detail-pan-stage{padding:5px 0 35px}.detail-pan-track{gap:22px;padding:0 24px}.detail-frame{width:74vw;min-width:0;max-width:none}.detail-frame:nth-child(even){margin-top:45px}.detail-frame .detail-photo{height:410px}.detail-frame:nth-child(even) .detail-photo{height:330px}.detail-frame figcaption{font-size:9px;gap:13px;margin-top:12px}.detail-pan-heading{margin-bottom:22px}.detail-pan-stage>.ribbon-concept{margin-top:18px}
.closing-v4{height:auto;min-height:650px;max-height:none;padding:55px 0 65px}.closing-v4>img{object-position:52% center;mask-image:linear-gradient(transparent,#000 24%)}.closing-crew{margin:0 24px 25px}.closing-crew-grid img{width:46px;height:46px}.closing-crew>p{font-size:8px;letter-spacing:.04em}.closing-v4 .closing-content h2{font-size:clamp(33px,9.3vw,51px)}.closing-v4 .closing-content>p:first-child{font-size:10px;max-width:290px;margin-bottom:20px}.closing-v4 .closing-description{font-size:11px;margin-top:22px}.closing-v4 .closing-concept{display:block;bottom:18px;right:24px;font-size:5px}
.closing-footer.site-footer{padding:22px 24px;grid-template-columns:1fr;gap:15px}.closing-footer.site-footer>.collaboration-lockup{width:100%;max-width:280px;grid-column:1;justify-self:center;justify-content:center;gap:18px}.collaboration-lockup img{max-height:55px}.closing-footer.site-footer p{grid-column:1;grid-row:auto;font-size:7px;line-height:1.7}.closing-footer.site-footer p>span{font-size:8px}.closing-footer.site-footer>div:last-child{grid-column:1;align-items:center;justify-content:center;gap:24px}.closing-footer.site-footer button{font-size:8px;padding:3px 0}
}
@media(prefers-reduced-motion:reduce){.brand-ticker-track{animation:none!important;transform:none!important}.brand-ticker{overflow-x:auto;mask-image:none}.brand-ticker-group[aria-hidden=true]{display:none}}
.detail-frame .detail-photo img{width:208%;height:208%}
/* V8: give the final image more breathing room before the white footer and protect the closing copy. */
.closing-v4{height:clamp(780px,96svh,1040px)}
.closing-v4 .closing-wash{background:linear-gradient(#080f14 0%,#080f148c 25%,#02090c8f 58%,#02090cc4 100%)}
@media(max-width:760px){
.closing-v4{height:auto;min-height:760px}
.closing-v4 .closing-wash{background:linear-gradient(#080f14 0%,#080f1499 22%,#02090c94 58%,#02090ccc 100%)}
}
/* V8: carry the hand-drawn emphasis into the capability statement. */
.storytelling-heading [data-attention],.js .storytelling-heading [data-attention]{position:relative;display:inline-block;background:none;padding-bottom:.08em}
.storytelling-heading [data-attention] .ink-underline{left:-1%;bottom:-.1em;width:102%;height:.22em}
.storytelling-heading [data-attention] .ink-underline path{stroke-width:3}
/* Three unnamed soft-brand worlds preview their own visual character before selection. */
.direction-tabs button:nth-child(1){--brand-bg:#183b32;--brand-line:#d3b37a;--brand-tint:#f3e8d0}
.direction-tabs button:nth-child(2){--brand-bg:#60362f;--brand-line:#d79d87;--brand-tint:#f2ddd5}
.direction-tabs button:nth-child(3){--brand-bg:#41364e;--brand-line:#c1a2cb;--brand-tint:#eadff0}
.direction-tabs button,.direction-tabs button.active{position:relative;background:color-mix(in srgb,var(--brand-bg) 76%,transparent);border-color:color-mix(in srgb,var(--brand-line) 70%,transparent);color:var(--brand-tint)}
.direction-tabs button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand-line);opacity:.65}
.direction-tabs button.active{background:var(--brand-bg);border-color:var(--brand-line);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-line) 30%,transparent)}
.direction-tabs button.active>span{color:#fff}
.direction-tabs button b{font-size:8px;font-weight:500;letter-spacing:.12em;color:var(--brand-line);flex:none}
.direction-tabs button>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--brand-tint)}
.direction-tabs button small{display:block;font-size:6px;line-height:1.2;letter-spacing:.14em;color:var(--brand-line);font-weight:600}
.direction-tabs button:hover{border-color:var(--brand-line)}
@media(min-width:1600px){
.storytelling.section-pad{padding-left:4.5vw;padding-right:4.5vw}
.capability-films{max-width:1760px;gap:32px}
.capability-films .film-screen{aspect-ratio:1.62}
}
/* V9: let the property carry the soft-brand conversation. */
.directions-section{position:relative;isolation:isolate;overflow:hidden;background:#101719;color:#fff}
.directions-section:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/sibley/details/hospitality.jpg') left bottom/auto 205% no-repeat;filter:saturate(.78)}
.directions-section:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,#081014f2 0%,#10191de6 46%,#081014de 100%),linear-gradient(#06101699,#061016d9)}
.directions-intro .section-label{color:#d6b77c}
.directions-intro .section-lead,.directions-intro .section-lead>span{color:#fff}
.directions-intro>p:last-child{color:#cfdae0}
.direction-explorer{grid-template-columns:minmax(0,1.34fr) minmax(390px,.86fr);min-height:720px;background:transparent;box-shadow:0 28px 70px #0008}
.direction-explorer[data-expression="0"]{--expression-accent:#c9aa72;--expression-soft:#f4ead7}
.direction-explorer[data-expression="1"]{--expression-accent:#bd7968;--expression-soft:#f1ded8}
.direction-explorer[data-expression="2"]{--expression-accent:#ae8db9;--expression-soft:#e9deed}
.direction-visual{min-height:720px}
.direction-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#07101244,transparent 60%),linear-gradient(0deg,#050b0ede 0 18%,transparent 44%)}
.direction-visual figcaption{z-index:3;top:38px;bottom:auto;max-width:540px}
.direction-visual figcaption>span:first-child{color:#e7d7b8}
.direction-visual figcaption>strong{font-size:18px;margin-top:12px}
.direction-specimen{margin-top:17px}
.direction-swatches{margin-top:18px}
.expression-note{z-index:3;left:auto;right:30px;top:26px;bottom:auto;width:auto;color:#d9e1e4;text-align:right}
.direction-tabs{z-index:5;top:auto;bottom:18px;left:18px;right:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.direction-tabs button,.direction-tabs button.active{min-height:82px;padding:13px 14px;align-items:flex-start;gap:10px;backdrop-filter:blur(16px);transform:none}
.direction-tabs button:hover{transform:translateY(-3px)}
.direction-tabs button>span{font-size:10px;line-height:1.35}
.direction-tabs button small{font-size:5px;line-height:1.35}
.direction-copy{justify-content:flex-start;padding:45px 42px;background:#f6f4efef;color:#303e48;backdrop-filter:blur(18px)}
.direction-number{align-self:flex-start;padding:8px 11px;border:1px solid color-mix(in srgb,var(--expression-accent) 68%,#303e48);color:#303e48;background:var(--expression-soft);font-size:8px}
.direction-copy h3{font-size:clamp(34px,3.1vw,48px);margin:25px 0 18px;color:#293943}
.direction-copy>p{font-size:14px;line-height:1.75;color:#536873;padding:0 0 22px;border-bottom:1px solid #60778338}
.direction-copy dl{display:grid;gap:9px;margin:20px 0 0;counter-reset:direction-point}
.direction-copy dl>div{position:relative;counter-increment:direction-point;border:0;background:#fffaf5c7;padding:15px 16px 15px 57px;box-shadow:inset 3px 0 var(--expression-accent)}
.direction-copy dl>div:before{content:"0" counter(direction-point);position:absolute;left:17px;top:15px;color:var(--expression-accent);font-size:10px;font-weight:700;letter-spacing:.08em}
.direction-copy dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#334c58}
.direction-copy dd{font-size:11px;line-height:1.65;color:#657681;margin-top:6px}
.direction-copy.changed .direction-number,.direction-copy.changed h3,.direction-copy.changed>p,.direction-copy.changed dl>div{animation:direction-resolve .48s cubic-bezier(.2,.7,.2,1) both}
.direction-copy.changed h3{animation-delay:.04s}.direction-copy.changed>p{animation-delay:.08s}.direction-copy.changed dl>div:nth-child(1){animation-delay:.12s}.direction-copy.changed dl>div:nth-child(2){animation-delay:.16s}.direction-copy.changed dl>div:nth-child(3){animation-delay:.2s}
@keyframes direction-resolve{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:none}}
.flag-families{background:#fffefbeb;border:1px solid #ffffff66;margin-top:22px;backdrop-filter:blur(16px)}
.directions-note{color:#c5d2d8}
@media(max-width:1000px) and (min-width:761px){
.direction-explorer{grid-template-columns:1.15fr .85fr;min-height:690px}.direction-visual{min-height:690px}.direction-copy{padding:35px 27px}.direction-copy h3{font-size:36px}.direction-tabs button,.direction-tabs button.active{padding:11px 10px;min-height:86px}.direction-tabs button b{font-size:7px}.direction-tabs button>span{font-size:9px}
}
@media(max-width:760px){
.directions-section:before{background-size:auto 165%;background-position:left bottom}.directions-section:after{background:linear-gradient(#081014ee,#081014df)}
.direction-explorer{grid-template-columns:1fr;min-height:0}.direction-visual{height:570px;min-height:570px}.direction-visual figcaption{top:28px;left:24px;right:24px;max-width:330px}.direction-specimen{font-size:58px}.direction-explorer[data-expression="1"] .direction-specimen{font-size:44px}.direction-explorer[data-expression="2"] .direction-specimen{font-size:62px}.direction-tabs{left:12px;right:12px;bottom:12px;gap:5px}.direction-tabs button,.direction-tabs button.active{min-height:112px;padding:12px 9px;gap:7px;flex-direction:column}.direction-tabs button>span{font-size:9px}.direction-tabs button small{font-size:4.5px}.expression-note{right:24px;top:21px;font-size:5px}.direction-copy{padding:31px 24px}.direction-copy h3{font-size:34px}.direction-copy>p{font-size:12px}.direction-copy dl>div{padding:14px 14px 14px 52px}.flag-families{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.direction-copy.changed>*{animation:none!important}}
/* V10: make the adaptable identity the hero of the soft-brand exploration. */
.directions-intro [data-attention],.js .directions-intro [data-attention]{position:relative;display:inline-block;color:#00badc;background:none!important;padding-bottom:.08em}
.directions-intro [data-attention] .ink-underline{left:-1%;bottom:-.1em;width:102%;height:.22em;color:#00badc}
.directions-intro [data-attention] .ink-underline path{stroke-width:3}
.direction-explorer{display:block;min-height:0;background:transparent}
.direction-visual{height:clamp(680px,54vw,820px);min-height:0}
.direction-visual figcaption{top:42px;left:38px;right:auto;bottom:auto;width:min(490px,55%);max-width:none;padding:27px 29px 25px;background:#071217b8;border:1px solid #f4e6ca80;box-shadow:0 18px 45px #0005;backdrop-filter:blur(13px)}
.direction-visual figcaption>span:first-child{display:block;margin-bottom:5px}
.direction-specimen{font-size:clamp(64px,7vw,108px);margin-top:15px}
.direction-explorer[data-expression="1"] .direction-specimen{font-size:clamp(52px,6vw,92px)}
.direction-explorer[data-expression="2"] .direction-specimen{font-size:clamp(70px,7.4vw,114px)}
.direction-visual figcaption>strong{font-size:18px;margin-top:11px}
.direction-copy{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;gap:16px 42px;align-items:start;padding:34px 38px 38px;min-height:0;background:#f6f4eff5}
.direction-number{grid-column:1;align-self:start;justify-self:start}
.direction-copy h3{grid-column:1;margin:3px 0 0;font-size:clamp(32px,3vw,47px)}
.direction-copy>p{grid-column:2;grid-row:1/span 2;align-self:center;border:0;padding:0;font-size:15px;max-width:620px}
.direction-copy dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:7px}
.direction-copy dl>div{min-height:128px;padding:18px 17px 17px 58px}
.direction-tabs{bottom:19px}
/* A clear commercial handoff: the present fee ends at SD, future phases follow an approval gate. */
.process-section{position:relative;overflow:hidden;min-height:clamp(760px,88svh,980px);background:#e9eef0;color:#2d3d46;padding-top:82px;padding-bottom:82px;display:flex;flex-direction:column;justify-content:center}
.process-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#4f71800b 1px,transparent 1px),linear-gradient(90deg,#4f71800b 1px,transparent 1px),radial-gradient(circle at 78% 18%,#00badc20,transparent 33%);background-size:72px 72px,72px 72px,100% 100%;pointer-events:none}
.process-section>*{position:relative}
.process-heading{text-align:center;max-width:1130px;margin:0 auto}
.process-heading>.section-label{font-size:9px;letter-spacing:.16em;color:#55727f;margin-bottom:23px}
.process-title{font-size:clamp(46px,5vw,76px);font-weight:700;line-height:1.05;letter-spacing:-.06em}
.process-title>span:not(.story-word){font-family:var(--revival);font-weight:500;color:#007f96;letter-spacing:-.045em}
.process-title [data-attention],.js .process-title [data-attention]{position:relative;display:inline-block;background:none;padding-bottom:.09em}
.process-title [data-attention] .ink-underline{left:-1%;bottom:-.11em;width:102%;height:.23em;color:#c28b32}
.process-title [data-attention] .ink-underline path{stroke-width:3}
.process-heading>p:last-child{max-width:820px;margin:27px auto 0;font-size:14px;line-height:1.9;color:#59707b}
.process-roadmap{width:100%;max-width:1550px;margin:48px auto 0;overflow:visible}
.process-roadmap-inner{width:100%;min-width:1260px}
.process-brackets{display:grid;grid-template-columns:3fr 4fr;gap:10px;margin-bottom:13px}
.process-bracket{position:relative;min-height:72px;padding:0 18px 13px;border:0;border-bottom:4px solid #00a9c8;background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:5px}
.process-bracket:before,.process-bracket:after{content:"";position:absolute;bottom:-9px;width:2px;height:9px;background:currentColor}
.process-bracket:before{left:-1px}.process-bracket:after{right:-1px}
.process-bracket span{font-size:8px;line-height:1.5;letter-spacing:.14em;color:#007f96;font-weight:600}
.process-bracket strong{font-size:14px;line-height:1.45;color:#2e4651;text-align:left;font-weight:600}
.process-bracket.is-future{border-bottom:3px dashed #8ca2ac;background:transparent;color:#8ca2ac}
.process-bracket.is-future span{color:#6f8791}
.process-timeline{position:relative;display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;margin:0;padding:12px 0 10px;overflow:visible}
.process-phase{position:relative;min-height:260px;padding:22px 20px 20px;background:#f8fafaa6;border:1px solid #00a9c875;box-shadow:none}
.process-phase:before{content:"";position:absolute;left:20px;top:-8px;width:13px;height:13px;border-radius:50%;background:#00badc;border:3px solid #e9eef0}
.process-phase.is-future{background:#eef1f180;border:1px dashed #8ca2ac;color:#637782}
.process-phase.is-future:before{background:#e9eef0;border-color:#8ca2ac}
.process-phase.phase-sd{background:#f8fafaa6;color:#2d3d46;border:1px solid #d2ae72}
.process-phase.phase-sd:before{background:#d2ae72;border-color:#e9eef0}
.phase-status{display:block;min-height:28px;font-size:7px;line-height:1.5;letter-spacing:.12em;color:#537280}
.phase-sd .phase-status{color:#9a6f2d}
.process-phase>b{display:block;margin-top:24px;font-size:34px;line-height:1;color:#00a8c7;font-weight:600;letter-spacing:-.05em}
.phase-sd>b{color:#d2ae72}
.process-phase h3{font-size:17px;line-height:1.3;letter-spacing:-.03em;margin-top:15px;font-weight:600}
.process-phase p{font-size:10px;line-height:1.75;color:#687b84;margin-top:12px}
.phase-sd p{color:#687b84}
.process-phase.is-future>b{color:#8ca2ac}
.process-phase.is-future p{color:#7a8b93}
.process-note{max-width:1100px;margin:21px auto 0;text-align:center;font-size:9px;line-height:1.8;color:#6c8089}
@media(max-width:1400px){.process-roadmap{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:15px}.process-roadmap-inner{width:1540px;min-width:1540px}.process-phase{scroll-snap-align:start}}
@media(max-width:760px){
.directions-intro [data-attention]{display:inline}.direction-visual{height:610px;min-height:610px}.direction-visual figcaption{top:24px;left:18px;right:18px;width:auto;max-width:none;padding:20px}.direction-specimen{font-size:58px}.direction-explorer[data-expression="1"] .direction-specimen{font-size:45px}.direction-explorer[data-expression="2"] .direction-specimen{font-size:65px}.direction-copy{grid-template-columns:1fr;grid-template-rows:auto;gap:15px;padding:28px 23px 30px}.direction-number,.direction-copy h3,.direction-copy>p,.direction-copy dl{grid-column:1;grid-row:auto}.direction-copy>p{font-size:12px;padding-bottom:18px;border-bottom:1px solid #60778338}.direction-copy dl{grid-template-columns:1fr}.direction-copy dl>div{min-height:0}
.process-section{min-height:0;padding-top:75px;padding-bottom:75px;display:block}.process-title{font-size:clamp(38px,10.5vw,54px)}.process-title [data-attention]{display:inline}.process-heading>p:last-child{font-size:12px}.process-roadmap{margin-top:40px;overflow-x:auto}.process-roadmap-inner{width:1690px;min-width:1690px}.process-bracket{min-height:78px;padding:0 16px 13px;align-items:flex-start;justify-content:flex-end;flex-direction:column;gap:5px}.process-bracket strong{text-align:left;font-size:12px}.process-timeline{grid-template-columns:repeat(7,240px)}.process-phase{min-height:270px}.process-note{text-align:left;font-size:8px;margin-top:18px}
}

/* Final soft-brand controls: three typographic previews with a visible four-second rotation. */
.direction-interaction{position:absolute;z-index:6;left:20px;bottom:122px;padding:6px 9px;background:#071217b8;border:1px solid #ffffff38;color:#f5eee1;font-size:7px;line-height:1;letter-spacing:.14em;backdrop-filter:blur(10px);pointer-events:none}
.direction-tabs{--direction-progress:0}
.direction-tabs button,.direction-tabs button.active{cursor:pointer;overflow:hidden;opacity:.76;filter:saturate(.72) brightness(.84);transform:none;transition:opacity .25s,filter .25s,background .25s,border-color .25s,transform .25s,box-shadow .25s}
.direction-tabs button:nth-child(1)>span{font-family:Cormorant,Georgia,serif;font-size:18px;font-weight:500;letter-spacing:-.015em}
.direction-tabs button:nth-child(2)>span{font-family:Poppins,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.direction-tabs button:nth-child(3)>span{font-family:Caveat,cursive;font-size:22px;font-weight:600;letter-spacing:0}
.direction-tabs button small{font-family:Poppins,Arial,sans-serif!important;font-size:5px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase}
.direction-tabs button:after{content:"";position:absolute;z-index:3;left:0;right:0;bottom:0;height:4px;background:var(--brand-line);transform:scaleX(0);transform-origin:left;transition:none}
.direction-tabs button.active{z-index:2;opacity:1;filter:none;transform:translateY(-7px);box-shadow:0 0 0 2px var(--brand-line),0 18px 36px #0008}
.direction-tabs button.active:after{transform:scaleX(var(--direction-progress))}
.direction-tabs button:hover,.direction-tabs button:focus-visible{opacity:1;filter:none;transform:translateY(-5px);box-shadow:0 0 0 1px var(--brand-line),0 13px 25px #0006}
@media(max-width:760px){
.direction-interaction{left:12px;bottom:137px;font-size:5.5px}.direction-tabs button:nth-child(1)>span{font-size:15px}.direction-tabs button:nth-child(2)>span{font-size:9px}.direction-tabs button:nth-child(3)>span{font-size:18px}.direction-tabs button.active{transform:translateY(-5px)}
}
@media(prefers-reduced-motion:reduce){.direction-interaction{display:none}.direction-tabs button.active:after{transform:scaleX(1)}}
