/* The research globe arrives at the coast before the reading scene begins. */
.atlas-homeward{min-height:105svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 0 120px}
.atlas-homeward h3{font:400 clamp(48px,5.6vw,80px)/1.05 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 18px}
.atlas-homeward p{color:rgb(var(--muted),var(--muted),var(--muted));font-size:17px;margin:0 0 38px}
.atlas-homeward a{display:flex;align-items:center;gap:20px;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.atlas-homeward svg,.closing svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.work-atlas[data-arriving=true] .atlas-tabs,.work-atlas[data-arriving=true] .atlas-tools,.work-atlas[data-arriving=true] .atlas-detail,.work-atlas[data-arriving=true] .atlas-hint{visibility:hidden}
.work-atlas[data-arriving=true] #china-title{visibility:hidden}
.coast{position:relative;z-index:2;max-width:1440px;margin:auto;padding:0 var(--edge);scroll-margin-top:var(--header-height)}
.coast-pin{padding:42px 0 32px}
.coast-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:28px}
.coast-heading h2{font-size:clamp(32px,3.4vw,48px);line-height:1.12;margin:0}
.coast-heading h2.section-sticky{position:static;transform:none}
.coast-read{flex-shrink:0;font:inherit;font-size:12px;min-height:44px;color:inherit;background:none;border:0;padding:10px 0;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.coast-read[hidden],.coast-water[hidden]{display:none}
.coast-field{position:relative;isolation:isolate;overflow:hidden;min-height:450px;display:flex;align-items:center}
.coast-copy{max-width:1000px;padding:44px 0 60px}
.coast-copy p{font:400 clamp(27px,3.1vw,44px)/1.3 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;margin:0 0 32px;text-wrap:pretty}
.coast-copy p:last-child{font-family:Geist,Arial,sans-serif;font-size:16px;line-height:1.8;letter-spacing:0;max-width:600px;margin:0;color:rgb(var(--muted),var(--muted),var(--muted))}
.coast-water{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#082e3b,#164b56);transform:translate3d(0,-110%,0);contain:paint}
.coast-water canvas{position:absolute;left:0;bottom:0;width:100%;height:140px;display:block}
.coast-water{overflow:visible;contain:layout style}.coast-water canvas{bottom:-139px}
.coast-caption{font-size:12px;line-height:1.6;color:rgb(var(--muted),var(--muted),var(--muted));margin:18px 0 0}
.coast.is-animated{height:230svh;min-height:1500px}
.coast.is-animated .coast-pin{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:560px;display:flex;flex-direction:column}
.coast.is-animated .coast-field{flex:1;min-height:0}
.coast.is-reading .coast-water{opacity:0}
.coast.is-reading .coast-field{overflow-y:auto;align-items:flex-start;scrollbar-width:thin}
.coast.is-reading .coast-caption{visibility:hidden}
.closing{padding-top:70px;padding-bottom:32px;max-width:1248px;margin:0 auto;padding-left:var(--edge);padding-right:var(--edge)}
.closing section{padding:80px 0;scroll-margin-top:calc(var(--header-height) + 28px);grid-template-columns:1fr 1.35fr;gap:60px}
.closing h3{font:400 clamp(26px,2.6vw,36px)/1.2 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;margin:0 0 18px}
.education-list{display:grid;gap:36px;list-style:none;margin:0;padding:0}
.education-list p:last-child{margin-bottom:0}
.closing .contact-address{display:inline-flex;align-items:center;gap:22px;font:400 clamp(22px,2.7vw,36px)/1.3 'Instrument Serif',Georgia,serif;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;min-height:44px}
.closing footer{display:flex;justify-content:space-between;align-items:center;padding:50px 0 12px;color:rgb(var(--muted),var(--muted),var(--muted));font-size:12px}
.closing footer a{display:flex;align-items:center;gap:12px;min-height:44px}
@media(max-width:700px){
 .atlas-homeward{min-height:90svh;padding:90px 0 80px;justify-content:flex-start}.atlas-homeward h3{font-size:52px}
 .atlas-homeward-copy{position:sticky;top:calc(var(--header-height) + var(--section-heading-height,60px) + var(--atlas-stage-height,380px) + 16px);width:100%}
 .coast{padding:0 24px}.coast-pin{padding:28px 0 24px}.coast-heading{align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.coast-heading h2{font-size:34px}
 .coast-read{font-size:11px}.coast-copy{padding:26px 0 48px}.coast-copy p{font-size:30px;line-height:1.25;margin-bottom:28px}.coast-copy p:last-child{font-size:14px;line-height:1.7}
 .coast-field{min-height:480px}.coast.is-animated{min-height:1500px;height:240svh}.coast.is-animated .coast-pin{min-height:600px}
 .coast-caption{font-size:11px;margin-top:12px}.closing{margin:0;padding:40px 24px 24px}.closing section{grid-template-columns:1fr;gap:24px;padding:60px 0}.closing footer{padding-top:30px}
}
@media(max-height:720px){.coast.is-animated .coast-pin{min-height:0}.coast-copy{padding:16px 0 30px}.coast-copy p{font-size:clamp(23px,3vw,36px)}.coast-copy p:last-child{font-size:13px}.coast-heading{margin-bottom:8px}.coast-pin{padding-top:20px}.coast-caption{margin-top:8px}}
html[data-motion=reduced] .atlas-homeward{min-height:0;padding:70px 0}html[data-motion=reduced] .atlas-homeward-copy{position:static}html[data-motion=reduced] .coast.is-animated{height:auto;min-height:0}html[data-motion=reduced] .coast.is-animated .coast-pin{position:static;height:auto;min-height:0}html[data-motion=reduced] .coast-water,html[data-motion=reduced] .coast-caption,html[data-motion=reduced] .coast-read{display:none}html[data-motion=reduced] .coast-field{min-height:0}

/* A full-viewport approach from the existing live globe to the coast. */
html:not([data-motion=reduced]) .can-coast-flight .atlas-homeward{min-height:220svh;justify-content:flex-start}html:not([data-motion=reduced]) .can-coast-flight .atlas-homeward>.atlas-homeward-copy{visibility:hidden}
.flight-slot[hidden],.coast-flight[hidden]{display:none}
.coast-flight{position:fixed;inset:0 0 auto;height:100lvh;z-index:5;overflow:hidden;pointer-events:none;isolation:isolate}
.flight-globe{position:absolute;inset:0;transform-origin:0 0;will-change:transform,opacity}
.flight-globe .atlas-viewport{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;pointer-events:none}
.flight-globe .atlas-viewport canvas{opacity:1;transition:none;cursor:default}
.flight-globe .atlas-poster,.flight-globe .atlas-expand{display:none}
.flight-sequence,.flight-waves{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.coast-flight .atlas-homeward-copy{position:absolute;left:var(--edge);top:42%;width:auto;max-width:330px;color:#f3f4ed;opacity:0;pointer-events:auto;text-shadow:0 2px 24px #001f26;z-index:3}
.coast-flight .atlas-homeward-copy h3{font:400 clamp(48px,5.6vw,80px)/1.05 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0 0 18px}
.coast-flight .atlas-homeward-copy p{font-size:17px;margin:0 0 38px}
.coast-flight .atlas-homeward-copy a{display:flex;gap:20px;align-items:center;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.coast-flight .atlas-homeward-copy svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.flight-credit{position:absolute;bottom:20px;right:var(--edge);max-width:75%;font-size:10px;line-height:1.5;color:#f3f4ed;text-shadow:0 1px 4px #000;margin:0}

@media(max-width:700px){.coast-flight .atlas-homeward-copy{top:auto;bottom:22%;left:24px;max-width:calc(100% - 48px)}.coast-flight .atlas-homeward-copy h3{font-size:52px}.flight-credit{bottom:18px;right:24px;font-size:9px}}
html[data-motion=reduced] .coast-flight{display:none}
.closing footer{flex-wrap:wrap;gap:12px}
.motion-toggle{min-height:44px;border:0;background:none;padding:8px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.motion-toggle[hidden]{display:none}.motion-toggle[aria-pressed=true]::after{content:' · On'}

/* Photographed surf spans the viewport, including the About heading. */
.coast-water{left:calc((100% - 100vw)/2);right:auto;top:0;bottom:0;width:100vw;height:100%;background:none;transform:none;overflow:hidden;contain:paint}
.coast-water canvas{inset:0;width:100%;height:100%;display:block}
.coast-heading h2.section-sticky{z-index:1}
.coast-read{position:relative;z-index:3}

/* The flight stays inside a circular window until the beach takes over. */
.flight-backdrop{position:absolute;inset:0;background:#000;opacity:0}
.flight-window{position:absolute;left:0;top:0;border-radius:50%;overflow:hidden;isolation:isolate;transform-origin:0 0;background:#000}
.flight-window .flight-globe{width:100%;height:100%;transform:none}
.flight-window .flight-sequence{width:100%;height:100%}
.coast-flight .atlas-homeward-copy{color:#f2f2f2;text-shadow:0 1px 10px #000;left:var(--edge);top:auto;bottom:9%;max-width:calc(100% - 2*var(--edge))}
.coast-flight .atlas-homeward-copy p{margin-bottom:12px}
.flight-credit{color:#999;text-shadow:none}
body:has(.coast-flight:not([hidden]))>.beam{opacity:0}
body:has(.coast-flight:not([hidden]))>.header{color:#f2f2f2}
