/* The continuous arrival is isolated from the approved Casa Tropical hub. */
:root{--hub-ease:cubic-bezier(.22,1,.36,1)}
/* Families, weight, tracking and leading come from the existing Digital heading.
   The opening retains its own approved tracking and leading below. */
.arrival .casa-display,.home-board .casa-display{font-family:var(--display-sans);font-weight:400;font-style:normal;letter-spacing:var(--display-tracking);line-height:var(--display-leading)}
.arrival .casa-accent,.home-board .casa-accent{font-family:var(--accent-serif-italic);font-weight:400;font-style:italic;color:var(--casa-orange);letter-spacing:var(--accent-tracking)}
.arrival .arrival-name em{font-family:var(--accent-serif-italic);font-weight:400;font-style:italic;color:var(--casa-orange);letter-spacing:-.06em}
.arrival-location,.journey-territory>p:not(.journey-kicker),.journey-house-copy>p{font-family:var(--body-sans)}
html.home-arrival{height:auto;overflow-x:clip;overflow-y:auto;scrollbar-width:none;overflow-anchor:none}
html.home-arrival::-webkit-scrollbar{display:none}
body[data-division=home]{height:auto;overflow:visible}
body[data-division=home]>.environment{position:relative;inset:auto;height:100svh}
.arrival[hidden]{display:none}
.arrival{--journey-paper:#faf5e9;--journey-orange:var(--casa-orange);--house-hold:.7;background:var(--journey-paper);color:#29281f;position:relative;isolation:isolate;overflow:clip}
.arrival-stage{position:relative;overflow:hidden}
.arrival-skip{position:absolute;top:28px;right:4.5vw;z-index:12;display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--casa-orange);border-bottom:1px solid transparent}
.arrival-skip:hover{border-bottom-color:currentColor}
.arrival-atmosphere{position:absolute;inset:0 0 auto;height:100svh;background:var(--journey-paper);pointer-events:none;overflow:hidden}
.arrival-palm{position:absolute;inset:-5vmax;opacity:.8;transform-origin:98% 2%;will-change:transform;animation:palm-breeze 18s cubic-bezier(.45,0,.55,1) -4s infinite}
.arrival-shadow-source{display:block;width:100%;height:100%;max-width:none;stroke:none}
/* Composite the filtered shadow on an HTML layer; the paper and type never move. */
@keyframes palm-breeze{0%,100%{transform:translate3d(-20px,5px,0) rotate(-1.4deg)}38%{transform:translate3d(16px,-6px,0) rotate(1.7deg)}72%{transform:translate3d(5px,4px,0) rotate(.3deg)}}
.arrival-opening{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:10svh 8.3vw 7svh;z-index:3}
.arrival-name{font-size:clamp(100px,14.7vw,245px);line-height:.85;letter-spacing:-.067em}
.arrival-name em{display:inline-block;line-height:1.07}
.arrival-location{max-width:32em;font-size:20px;line-height:1.5;margin-top:30px;text-wrap:pretty}
.arrival-cue{display:flex;align-items:center;justify-content:space-between;width:245px;max-width:100%;min-height:52px;margin-top:54px;padding:12px 0;border-top:1px solid #d9ceba;text-align:left;font-size:14px;color:#625f56}
.arrival-cue svg{width:22px;height:22px;color:var(--journey-orange)}
.journey-world{position:relative;height:200svh;width:100%;transform-origin:50% 75%}
.journey-drawing{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:none}
.journey-drawing #journey-front{opacity:0}
.journey-route{stroke-dashoffset:0}
.journey-construction{opacity:.4}
.journey-copy{position:absolute;z-index:3;left:7.5vw}
.journey-kicker{font-size:14px;letter-spacing:.3em;margin-bottom:20px}
.journey-idea{top:12.5%;width:56vw}
.journey-idea h2{font-size:clamp(60px,7.9vw,132px)}
.journey-territory{top:70%;width:53vw}
.journey-territory h2{max-width:11em;font-size:64px;margin:0 0 23px;text-wrap:pretty}
.journey-territory h2 em{display:block;white-space:nowrap}
.journey-territory>p:not(.journey-kicker){max-width:24em;font-size:20px;line-height:1.5;letter-spacing:0}
.journey-river-label,.journey-region-label{position:absolute;color:#787762;font:italic 14px Georgia,serif;letter-spacing:.2em;z-index:2}
.journey-river-label{left:57%;top:71.5%}.journey-region-label{left:87%;top:60%}
.journey-idea-target,.journey-destination{position:absolute;left:81.25%;top:22.77778%;width:1px;height:1px;z-index:4;--pulse:1;--halo:0;--active:1}
.journey-idea-target:before,.journey-idea-target i,.journey-destination i{content:'';position:absolute;left:0;top:0;width:122px;height:122px;border:1px solid #b9a58755;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.journey-idea-target i{width:64px;height:64px;border-color:color-mix(in srgb,var(--casa-orange) 50%,transparent)}
.journey-idea-target span,.journey-destination span{position:absolute;width:22px;height:22px;left:0;top:0;background:var(--journey-orange);border-radius:50%;transform:translate(-50%,-50%) scale(var(--pulse));opacity:var(--active)}
.journey-idea-target:after,.journey-destination:after{content:'';position:absolute;left:0;top:0;width:55px;height:55px;border:1px solid color-mix(in srgb,var(--casa-orange) 44%,transparent);border-radius:50%;transform:translate(-50%,-50%) scale(var(--pulse));opacity:var(--halo)}
.journey-destination{left:74.25%;top:76%}
.journey-destination i{width:32px;height:32px;border-color:color-mix(in srgb,var(--casa-orange) 44%,transparent)}
.journey-destination b{position:absolute;left:27px;top:-9px;font-size:14px;letter-spacing:.04em;color:var(--casa-orange);font-weight:400;white-space:nowrap}
.journey-aperture{position:relative;height:100svh;min-height:100svh;z-index:5;overflow:hidden;background:var(--journey-paper);clip-path:none}
.journey-house-canvas{position:absolute;inset:0;background:var(--journey-paper);transform-origin:74% 52%}
.journey-house-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 61%;max-width:none;border:0;border-radius:0}
.journey-house-photo[data-src]{display:none}
.journey-house-copy{left:4.5vw;top:auto;bottom:6svh;width:34vw;max-width:480px;padding:clamp(32px,2.8vw,46px);background:var(--paper);border:1px solid var(--rule);border-radius:3px;box-shadow:0 8px 28px rgb(45 43 38 / .065);z-index:7;pointer-events:none}
.journey-house-copy:before{content:'';display:block;width:42px;height:1px;margin-bottom:20px;background:var(--casa-orange)}
/* An open, offset rule makes the paper feel mounted within the photograph. */
.journey-house-copy:after{content:'';position:absolute;top:-9px;right:-9px;bottom:24px;left:24px;border-top:1px solid rgb(246 240 229 / .65);border-right:1px solid rgb(246 240 229 / .65);pointer-events:none}
.journey-house-copy h2{font-size:clamp(35px,3.25vw,54px)}
.journey-house-copy>p{max-width:31ch;margin-top:20px;font-size:16px;line-height:1.5;color:var(--muted);text-wrap:pretty}
/* Native scroll moves a single two-viewport world through one camera. */
.arrival.is-live{height:calc(490svh + var(--house-hold) * 100svh)}
.is-live .arrival-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.is-live .arrival-opening{position:absolute;inset:0;min-height:0}
.is-live .journey-world{position:absolute;inset:0 0 auto;height:200%;will-change:transform;opacity:0}
.is-live .journey-aperture{position:absolute;inset:0;height:100%;opacity:0;clip-path:circle(0px at 74.25% 52%);will-change:clip-path}
.is-live .journey-house-copy{top:auto;bottom:6svh;opacity:0}
@media(min-width:701px) and (max-height:650px){
 .arrival-name{font-size:min(13vw,31svh)}.arrival-location{margin-top:20px}.arrival-cue{margin-top:24px}
 .journey-idea h2{font-size:min(7.8vw,16svh)}.journey-house-copy h2{font-size:min(3.15vw,8.8svh)}
 .journey-house-copy{padding:26px 30px}.journey-house-copy:before{margin-bottom:14px}
 .journey-territory h2{font-size:42px;margin-bottom:16px}
 .journey-territory>p:not(.journey-kicker){font-size:18px}
 .journey-territory .journey-kicker{margin-bottom:14px}
}
@media(min-width:701px) and (max-width:1100px){
 .journey-territory h2{font-size:44px}
 .journey-territory>p:not(.journey-kicker){font-size:18px}
 .journey-house-copy{width:38vw;min-width:280px;padding:28px}
}
@media(max-width:700px){
 :root{--display-leading:1.03}
 .arrival.is-live{height:calc(340svh + var(--house-hold) * 100svh)}
 .arrival-skip{top:max(16px,env(safe-area-inset-top));right:6vw;font-size:13px}
 .arrival-palm{opacity:.66;animation-duration:20s}
 .arrival-opening{padding:100px 7vw 75px}
 .arrival-name{font-size:clamp(82px,20.5vw,140px);line-height:.89;letter-spacing:-.067em}
 .arrival-location{max-width:34em;font-size:16px;line-height:1.5;margin-top:25px}
 .arrival-cue{width:220px;margin-top:43px}
 .journey-copy{left:7vw}
 .journey-idea{top:11%;width:88vw}
 .journey-kicker{font-size:13px;margin-bottom:18px}
 .journey-idea h2{font-size:clamp(47px,12.9vw,80px)}
 .journey-construction{display:none}
 .journey-territory{top:53.8%;width:86vw;padding:18px 0 25px}
 .journey-territory h2{font-size:34px;margin-bottom:15px}
 .journey-territory>p:not(.journey-kicker){font-size:16px;line-height:1.5;max-width:310px}
 .journey-territory>p br{display:none}
 .journey-river-label,.journey-region-label{display:none}
 .journey-idea-target:before{width:95px;height:95px}.journey-idea-target i{width:50px;height:50px}
 .journey-idea-target span,.journey-destination span{width:17px;height:17px}
 .journey-destination b{left:-7px;top:27px;font-size:12px;transform:translateX(-50%)}
 .journey-house-photo{right:0;left:0;width:100%;height:calc(100% - var(--photo-top,32%));top:var(--photo-top,32%);bottom:0;object-position:51% 61%;border:0}
 .journey-house-copy,.is-live .journey-house-copy{left:7vw;top:auto;bottom:70svh;width:auto;max-width:86vw;padding:0 0 18px;background:none;border:0;border-radius:0;box-shadow:none;transform:none}
 .journey-house-copy:before{width:34px;margin-bottom:12px}
 .journey-house-copy:after{top:auto;right:0;bottom:0;left:0;height:1px;border:0;background:var(--rule)}
 .is-live .journey-house-copy{top:5svh;bottom:auto}
 .journey-house-copy h2{font-size:clamp(34px,9.6vw,58px)}
 .journey-house-copy>p{max-width:36ch;font-size:16px;line-height:1.45;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
 .arrival *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .arrival-palm{will-change:auto}
 .journey-world,.journey-house-canvas{will-change:auto!important}
}

/* Four tactile editorial cards, within the existing Casa Tropical system. */
body[data-division=home]>.environment{background:#faf5e9;isolation:isolate;height:auto;min-height:100svh;overflow:visible;grid-template-rows:76px auto 38px}
body[data-division=home]>.environment:before{content:'';position:absolute;z-index:-1;inset:0;background:url('/assets/journey/threshold.webp') 80% 0/cover no-repeat;opacity:.16;pointer-events:none}
body[data-division=home] .dock{display:none}
body[data-division=home] .site-footer{grid-row:3}
.home-board,body[data-division=home] .environment>header,body[data-division=home] .site-footer{--orange:var(--casa-orange);--accent:var(--casa-orange)}
.home-board{grid-template-columns:minmax(0,1fr);gap:0;padding:46px 0 40px;min-height:calc(100svh - 114px);overflow:visible;align-items:center}
.hub-editorial{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "areas";gap:40px;align-content:center;min-width:0;width:100%;max-width:1700px;margin-inline:auto}
.hub-heading{grid-area:heading;min-width:0}
.home-board .hub-heading h2{font-size:clamp(52px,4.5vw,72px);margin:0;text-wrap:pretty}
.home-board .hub-entries{grid-area:areas;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;margin:0;padding:0;min-width:0}
.home-board .hub-entries .hub-entry,.home-board .hub-entries .hub-entry:last-child{--image-scale:1;--image-hover:1.03;--card-shadow:0 2px 3px rgb(45 43 38 / .025),0 8px 20px rgb(45 43 38 / .035);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-width:0;min-height:0;padding:12px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:var(--card-shadow);position:relative;overflow:hidden;outline-offset:5px;transition:transform 350ms var(--hub-ease),box-shadow 350ms var(--hub-ease),border-color 350ms var(--hub-ease);scroll-margin-top:100px}
.hub-entry.is-reveal-pending{opacity:0;translate:0 16px}
.hub-entry:after{content:'';position:absolute;left:28px;bottom:0;width:44px;height:2px;background:var(--casa-orange);transition:width 350ms var(--hub-ease)}
.hub-card-image{display:block;position:relative;flex:none;width:100%;aspect-ratio:1.2;overflow:hidden;border-radius:5px;background:#e9dfce}
.hub-card-image img{width:100%;height:100%;object-fit:cover;transform:scale(var(--image-scale));transition:transform 550ms var(--hub-ease)}
.hub-entry-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:16px;padding:24px 16px 12px}
.hub-entry-number{position:absolute;left:12px;top:12px;z-index:2;display:grid;place-items:center;width:32px;height:32px;background:var(--surface);border:1px solid var(--rule);border-radius:3px;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.hub-image-caption{position:absolute;left:12px;bottom:12px;z-index:2;max-width:calc(100% - 24px);width:max-content;padding:7px 10px;background:var(--paper);border-left:2px solid var(--casa-orange);font-family:var(--body-sans);font-size:11px;line-height:1.35;color:var(--ink);text-wrap:pretty;pointer-events:none}
/* Small photographic cues, not a second card system. */
.home-board .hub-entries .hub-entry[data-room=studio]{--image-scale:1.035;--image-hover:1.065}
.hub-entry[data-room=digital] .hub-entry-number{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hub-entry[data-room=studio] .hub-card-image:after{content:'';position:absolute;inset:12px;border:1px solid rgb(246 240 229 / .4);pointer-events:none}
.hub-entry[data-room=studio] .hub-entry-number{border-radius:50%;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hub-entry[data-room=coworking] .hub-image-caption{border-left:0;border-bottom:2px solid var(--casa-orange)}
.home-board .hub-entries .hub-entry[data-room=school]{--image-scale:1.02;--image-hover:1.05}
.hub-entry[data-room=school] .hub-card-image img{transform-origin:50% 65%}
.hub-entry[data-room=school] .hub-entry-number{border-radius:50%;background:var(--casa-orange);border-color:var(--casa-orange);color:var(--surface)}
.hub-entry-title{display:block;font-family:var(--body-sans);font-size:25px;font-weight:400;font-style:normal;line-height:1.08;letter-spacing:-.035em;margin:0}
.hub-entry-title em{display:block;margin-top:3px;font-family:var(--accent-serif-italic);font-size:clamp(36px,2.65vw,43px);font-weight:400;font-style:italic;line-height:1.12;letter-spacing:var(--accent-tracking);color:var(--casa-orange);white-space:nowrap}
.home-board .hub-entries .hub-entry small{display:block;min-height:4.5em;font-size:14px;line-height:1.5;color:var(--muted);margin:0;letter-spacing:0}
.hub-entry-access{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding-top:12px;border-top:1px solid var(--rule);font-size:13px;line-height:1.4;color:var(--ink)}
.hub-entry-arrow{width:26px;height:26px;color:var(--casa-orange);transition:transform 350ms var(--hub-ease)}
@media(min-width:701px) and (hover:hover) and (pointer:fine){
 .home-board .hub-entries .hub-entry:hover{--card-shadow:0 3px 5px rgb(45 43 38 / .035),0 12px 26px rgb(45 43 38 / .075);transform:translateY(-5px);border-color:color-mix(in srgb,var(--rule) 60%,var(--casa-orange))}
 .hub-entry:hover .hub-card-image img{transform:scale(var(--image-hover))}
 .hub-entry:hover .hub-entry-arrow{transform:translateX(3px)}
 .hub-entry:hover:after{width:84px}
}
@media(min-width:701px){
 .home-board .hub-entries .hub-entry:focus-visible{--card-shadow:0 3px 5px rgb(45 43 38 / .035),0 12px 26px rgb(45 43 38 / .075);transform:translateY(-5px)}
 .hub-entry:focus-visible .hub-card-image img{transform:scale(var(--image-hover))}
 .hub-entry:focus-visible .hub-entry-arrow{transform:translateX(3px)}
 .hub-entry:focus-visible:after{width:84px}
}
@media(min-width:1280px){
 .home-board .hub-entries{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
}
@media(min-width:701px) and (max-height:820px){
 .home-board{padding-top:22px;padding-bottom:22px}
 .hub-editorial{row-gap:30px}
 .home-board .hub-heading h2{font-size:clamp(48px,4vw,62px);margin:0}
 .hub-card-image{max-height:31svh}
}
@media(min-width:701px) and (max-width:1279px){
 .hub-card-image{aspect-ratio:1.43;max-height:none}
}
@media(min-width:701px) and (max-width:1100px){
 .hub-editorial{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "areas"}
 .home-board .hub-heading h2{font-size:48px}
}
@media(max-width:700px){
 body[data-division=home]>.environment{height:auto;min-height:100svh;display:block;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));overflow:visible}
 body[data-division=home]>.environment:before{background-position:80% 0;background-size:auto 850px;background-repeat:no-repeat;opacity:.19}
 body[data-division=home] .environment>header{height:68px;min-height:68px}
 body[data-division=home] .page-scroll{display:block;position:relative;z-index:0;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}
 .home-board{display:block;min-height:0;padding:38px 0 28px;overflow:visible}
 .hub-editorial{display:block}
 .home-board .hub-heading h2{font-size:clamp(36px,9.5vw,46px);margin:0}
 .home-board .hub-heading h2 br{display:block}
 .home-board .hub-heading h2 em{margin-left:0}
 .home-board .hub-entries{grid-template-columns:minmax(0,1fr);gap:26px;margin:32px 0 0;padding:0}
 .home-board .hub-entries .hub-entry,.home-board .hub-entries .hub-entry:last-child{display:flex;border-radius:9px;padding:10px}
 .hub-entry:after{left:26px;height:1px}
 .hub-card-image{aspect-ratio:1.43;max-height:none}
 .hub-entry.is-reveal-pending{translate:0 12px}
 .hub-entry-copy{gap:14px;padding:20px 16px 10px}
 .hub-entry-title{font-size:26px}
 .hub-entry-title em{font-size:clamp(34px,9vw,42px)}
 .home-board .hub-entries .hub-entry small{min-height:0;font-size:15px;line-height:1.5;margin:0}
 html.mobile-hub-locked{scroll-padding-top:calc(88px + env(safe-area-inset-top))}
 html.mobile-hub-locked body[data-division=home]>.environment{padding-top:calc(68px + env(safe-area-inset-top))}
 html.mobile-hub-locked body[data-division=home] .environment>header{position:fixed;inset:0 0 auto;z-index:80;isolation:isolate;overflow:hidden;opacity:1;background:#faf5e9;background-clip:border-box;margin:0;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top));min-height:calc(68px + env(safe-area-inset-top));border-bottom:1px solid var(--rule);touch-action:pan-x pinch-zoom}
 body[data-division=home] .site-footer{margin-top:4px;padding-top:16px}
}
.intro-return{position:fixed;top:-100px;left:20px;z-index:40;background:var(--paper);padding:14px;font-size:14px}
.intro-return:focus-visible{top:80px}
@media(prefers-reduced-motion:reduce){
 .home-board *, .home-board *:after{animation:none!important;transition:none!important}
 .hub-card-image img{transform:none!important}
 .hub-entry-arrow{transform:none!important}
 .hub-entry{transform:none!important}
 .hub-entry.is-reveal-pending{opacity:1;translate:none}
}
