/* Fields green/gold, Sundial blue/amber. Shared across the public pages. */
.visual-site { --green:#c6e5a3; --cyan:#83dcef; --paper:#f2efdf; --max:1280px; padding-bottom:0; }
.visual-site figure { min-width:0; }
.visual-site .section { padding:clamp(58px,7vw,100px) 0; }
.visual-site p { text-wrap:pretty; }
.visual-site :is(h1,h2,h3) { text-wrap:balance; }
.visual-site h2 { font-family:'Fraunces',serif; font-size:clamp(2.25rem,4.3vw,4.2rem); line-height:1.04; }
.visual-site .button { border-radius:3px; }
.visual-site .button small { font-size:.68rem; font-weight:500; letter-spacing:.05em; }
.visual-site a:focus-visible,.visual-site button:focus-visible,.visual-site summary:focus-visible { outline:3px solid #eabb62; outline-offset:5px; }
.visual-site .nav { gap:16px; }
.visual-site .nav-links { gap:23px; }
.visual-site .site-header { background:#0b1d21ed; }
.visual-site footer { position:static; padding:26px 0; background:#0c2429; }
.visual-site .footer-row { flex-wrap:wrap; justify-content:space-between; gap:20px; }
.visual-site .footer-row>span { order:0; color:#bac8c2; }
.visual-site .footer-links { flex-wrap:wrap; }
.visual-site .footer-links a { display:inline; color:#d3dfd7; }
.visual-site .footer-links a[href]:not([href*='/terms']):not([href*='/privacy']) { display:inline; }
.skip-link { position:fixed; left:20px; top:-100px; z-index:100; background:#f4eedb; color:#102c24; padding:14px; }
.skip-link:focus { top:12px; }
.text-link { display:inline-block; margin-top:14px; font-weight:700; text-decoration-thickness:1px; text-underline-offset:6px; line-height:1.65; }
.text-link span { margin-left:10px; }
.art-note { color:#c1cec6; font-size:.75rem!important; line-height:1.5!important; margin-top:20px; }
.boundary { font-size:.9rem; line-height:1.6; }
.cinema-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:680px; overflow:hidden; background:#19372e; }
.cinema-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:75% center; z-index:-2; }
.cinema-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#061e19ed 0%,#08251cac 37%,#09261a0d 72%),linear-gradient(0deg,#09211988,transparent 25%); }
.cinema-hero__content { padding-block:80px 100px; }
.cinema-hero h1 { max-width:690px; font-size:clamp(3.2rem,5.4vw,5.6rem); line-height:1.02; }
.cinema-hero__content>p:not(.eyebrow) { max-width:570px; color:#e4eddf; font-size:1.1rem; line-height:1.65; margin:26px 0; }
.image-credit { position:absolute; right:max(20px,calc((100vw - 1280px)/2)); bottom:16px; margin:0; color:#fff; background:#0d252bcc; padding:6px 10px; font-size:.68rem; }
.visual-site .home-hero { min-height:780px; align-items:center; }
.visual-site .home-hero__media img { filter:none; object-position:76% center; }
.visual-site .home-hero::before { background:linear-gradient(90deg,#071c16e8 0%,#102c22b5 45%,#0c221b22 85%),linear-gradient(0deg,#102a21dd,transparent 55%); }
.visual-site .home-hero .shell { grid-template-columns:1.3fr .7fr; gap:48px; }
.visual-site .home-hero__copy { padding:140px 0 60px; }
.visual-site .home-hero h1 { font-size:clamp(3.4rem,5.5vw,5.6rem); }
.visual-site .hero-lede { margin-top:28px; max-width:570px; color:#fff; font-size:1.18rem; line-height:1.55; }
.hero-detail { font-size:1.06rem; line-height:1.65; max-width:550px; color:#dce5d7; margin:12px 0 24px; }
.visual-site .home-hero__note { max-width:550px; }
.visual-site .home-hero__screen { margin-top:180px; padding:9px; max-width:360px; width:100%; background:#0b2120; border:1px solid #a5bfb0; border-radius:10px; }
.visual-site .home-hero__screen img { width:100%; height:410px; max-height:410px; object-fit:cover; object-position:center 42%; border-radius:4px; }
.visual-site .home-hero__screen figcaption { font-size:.75rem; }
.visual-site .home-hero .art-note { font-size:.68rem!important; margin-top:12px; }
.visual-loop { background:#244c40; color:#f3f0df; overflow:hidden; }
.loop-layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:35px; }
.loop-intro>p:not(.eyebrow) { max-width:400px; font-size:1.05rem; line-height:1.7; color:#d4e1d0; }
.loop-intro .text-link { color:#f2d292; }
.loop-diagram { position:relative; aspect-ratio:600/460; width:100%; }
.loop-diagram>svg { position:absolute; width:100%; height:100%; inset:0; }
.loop-diagram>svg ellipse { stroke-dasharray:1080; stroke-dashoffset:0; }
.loop-diagram.is-visible>svg ellipse { animation:draw-loop 1.8s ease-out; }
@keyframes draw-loop { from { stroke-dashoffset:1080; } to { stroke-dashoffset:0; } }
.loop-centre { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; }
.loop-centre span { display:block; font-family:'Fraunces',serif; font-size:clamp(1.5rem,2.7vw,2.6rem); color:#f0cd8b; }
.loop-centre small { display:block; color:#d0dbc7; font-size:.73rem; margin-top:10px; }
.loop-diagram ol { list-style:none; margin:0; padding:0; }
.loop-diagram li { position:absolute; padding:13px 20px; background:#244c40; text-align:center; min-width:125px; }
.loop-diagram li:nth-child(1) { top:0; left:50%; transform:translateX(-50%); }
.loop-diagram li:nth-child(2) { top:50%; right:0; transform:translateY(-50%); }
.loop-diagram li:nth-child(3) { bottom:0; left:50%; transform:translateX(-50%); }
.loop-diagram li:nth-child(4) { top:50%; left:0; transform:translateY(-50%); }
.loop-diagram li>span { font-size:.68rem; font-weight:700; color:#d5c088; letter-spacing:.12em; }
.loop-diagram h3 { margin-top:6px; font-family:'Fraunces',serif; font-size:1.45rem; font-weight:600; }
.loop-diagram p { margin:6px 0 0; font-size:.75rem; color:#dae1d4; }
.visual-site .worked-example { background:#e8e9d9; }
.visual-site .worked-example .eyebrow { color:#41654c; }
.visual-site .example-grid { gap:22px; }
.visual-site .example-grid figure { border:0; border-radius:0; background:transparent; }
.visual-site .example-grid img { border:6px solid #233e3d; border-radius:6px; aspect-ratio:4/5; }
.visual-site .example-grid figcaption { padding:18px 0 0; min-height:0; }
.human-scene { background:#d4b97f; color:#20382a; }
.human-scene__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,6vw,90px); align-items:center; }
.human-scene figure,.story-invitation figure,.care-boundaries figure { margin:0; }
.human-scene img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.human-scene .eyebrow { color:#36513a; }
.human-scene__grid>div>p:not(.eyebrow) { color:#314638; font-size:1.14rem; line-height:1.7; }
.human-scene figcaption { color:#405240; font-size:.75rem; margin-top:12px; }
.story-invitation { background:#183e50; }
.story-invitation__grid { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:clamp(30px,6vw,80px); }
.story-invitation__grid>div>p:not(.eyebrow) { color:#d2e0df; font-size:1.1rem; line-height:1.65; }
.story-invitation img,.care-boundaries img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:75% center; }
.story-invitation figcaption,.care-boundaries figcaption { font-size:.74rem; color:#c0d0d2; margin-top:12px; }
.story-invitation .creator-link { font-size:.88rem!important; margin-top:28px; }
.creator-link a { color:#f1d095; text-underline-offset:4px; }
.care-compact { background:#dce3d6; color:#173c2e; }
.care-compact .shell { max-width:900px; }
.care-compact .eyebrow { color:#406c54; }
.care-compact p:not(.eyebrow) { max-width:700px; line-height:1.7; }
.care-compact .boundary { color:#4a6053; }
.visual-site .closing { background:#18372d; padding:68px 0; }
.visual-site .closing h2 { max-width:860px; }
.poster-shelf { background:#112e40; }
.shelf-heading { margin-bottom:44px; }
.shelf-heading h1 { font-size:clamp(3.5rem,6vw,6rem); }
.shelf-heading>p:not(.eyebrow) { color:#c7d9dc; font-size:1.1rem; line-height:1.6; max-width:630px; }
.poster-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:34px; }
.story-poster { position:relative; display:block; min-height:650px; aspect-ratio:4/5; overflow:hidden; text-decoration:none; box-shadow:0 18px 35px #051c2b66; }
.story-poster>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:74% center; transition:transform .5s ease; }
.story-poster:hover>img { transform:scale(1.025); }
.story-poster::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#061b22f7,#071b2277 42%,transparent 70%,#071b2277); }
.poster-fields::after { background:linear-gradient(0deg,#102d22f7,#112b2288 45%,transparent 75%,#102d2266); }
.poster-top { position:absolute; z-index:1; top:24px; left:28px; right:28px; display:flex; justify-content:space-between; gap:12px; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:#fff; }
.poster-top span { background:#0b232ba6; padding:6px 9px; }
.poster-copy { position:absolute; z-index:1; left:36px; right:32px; bottom:34px; }
.poster-copy>p:first-child { color:#edd3a1; font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; }
.poster-copy h2 { font-size:clamp(2.7rem,4.8vw,4.7rem); line-height:1; }
.poster-copy>p { color:#d8e5df; line-height:1.6; max-width:380px; }
.poster-action { display:flex; justify-content:space-between; margin-top:26px; border-top:1px solid #b1c9c266; padding-top:16px; font-size:.9rem; font-weight:700; }
.status-section { background:#e3e7d8; color:#183a2d; }
.status-section .eyebrow,.clear-answers .eyebrow { color:#41694e; }
.status-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:38px; }
.status-strip article { border-top:1px solid #819985; padding-top:22px; }
.status-strip span { font-size:.7rem; color:#466e53; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.status-strip h3 { margin:12px 0; font-size:1.18rem; }
.status-strip p { color:#4d6154; line-height:1.65; font-size:.97rem; }
.clear-answers { background:#d3b879; color:#18392c; }
.clear-answers .faq-list { max-width:100%; border-color:#6d805f; }
.clear-answers .faq-list details { border-color:#8b956e; }
.clear-answers .faq-list p { max-width:850px; color:#354d37; }
.founder-opening { background:#d9c798; color:#183d32; }
.founder-layout { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:80px; }
.founder-layout h1 { font-size:clamp(3rem,5.4vw,5.2rem); }
.founder-layout .eyebrow { color:#41634b; }
.founder-layout>div>p:not(.eyebrow) { max-width:520px; font-size:1.08rem; line-height:1.7; }
.founder-layout figure { margin:0; }
.founder-layout img { width:100%; aspect-ratio:4/4.4; object-fit:cover; border-radius:0; }
.founder-layout figcaption { color:#435b43; font-size:.78rem; margin-top:10px; }
.founder-name { border-top:1px solid #80906f; margin-top:28px; padding-top:22px; }
.founder-name h2 { font-size:1.65rem; }
.founder-name p { margin:6px 0; font-size:.9rem; }
.about-evidence { display:grid; grid-template-columns:.65fr 1.35fr; align-items:center; gap:70px; margin-top:42px; }
.about-evidence figure { margin:0; }
.about-evidence img { max-height:380px; width:100%; object-fit:cover; object-position:top; border:6px solid #224940; border-radius:5px; }
.about-evidence figcaption { font-size:.72rem; color:#516753; margin-top:10px; }
.about-evidence .status-strip { grid-template-columns:1fr; gap:14px; margin-top:0; }
.about-evidence .status-strip p { margin:8px 0; }
.founder-essay { background:#183b47; }
.founder-essay .shell { max-width:950px; }
.founder-essay h2 { max-width:760px; }
.founder-essay details { border-top:1px solid #6b8586; margin-top:30px; padding-top:24px; }
.founder-essay summary { font-weight:600; cursor:pointer; }
.essay-body { max-width:760px; color:#d4e0dc; line-height:1.8; font-size:1.06rem; }
.care-hero::after { background:linear-gradient(90deg,#112f28f5,#112f28c9 42%,#112f281a); }
.care-hero { min-height:570px; }
.care-boundaries { background:#264c42; }
.care-boundaries p:not(.eyebrow) { color:#d6e1d7; line-height:1.7; }
.contact-opening { background:#193d48; }
.contact-opening h1 { font-size:clamp(3.2rem,6vw,5.6rem); }
.contact-opening p:not(.eyebrow) { max-width:660px; font-size:1.1rem; line-height:1.7; color:#d3e0df; }
.contact-gallery { background:#dce4d6; color:#17392d; }
.contact-scene { display:grid; grid-template-columns:1fr 1fr; padding:0; border:0; border-radius:0; background:#244c40; color:#f4f1e3; margin-bottom:32px; overflow:hidden; }
.contact-scene:nth-of-type(even) { background:#193c4d; }
.contact-scene>figure { margin:0; position:relative; align-self:stretch; min-height:310px; }
.contact-scene>figure>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; }
.contact-scene>figure figcaption { position:absolute; bottom:10px; left:14px; background:#09251eca; color:#e5eee4; padding:5px 8px; font-size:.7rem; }
.contact-scene__body { padding:clamp(26px,4vw,54px); }
.contact-scene__body p:not(.eyebrow) { color:#d4e2d7; line-height:1.65; }
.contact-scene__body h2 { font-size:clamp(2.1rem,3vw,3rem); }
.contact-scene .contact-form input,.contact-scene .contact-form textarea { background:#f4f5e9; color:#193d2f; border-color:#bed2b9; }
.contact-scene .contact-form .form-actions { gap:18px; }
.contact-scene .contact-form { margin-top:24px; }
.contact-expectation { margin-top:40px; line-height:1.6; }
@media(max-width:1100px){.visual-site .nav-links{display:none}.visual-site .menu-button{display:inline-flex}.visual-site .nav-links.is-open{position:fixed;inset:78px 0 auto;display:grid;gap:0;background:#102b30;padding:16px 24px}.visual-site .nav-links.is-open a{padding:14px 4px}}
@media(max-width:900px){.visual-site .home-hero .shell{grid-template-columns:1.2fr .8fr;gap:25px}.visual-site .home-hero h1{font-size:3.4rem}.visual-site .nav-actions .button--quiet{display:inline-flex}.loop-layout{grid-template-columns:1fr;gap:22px}.loop-diagram{max-width:600px;justify-self:center}.loop-intro{max-width:650px}.loop-intro>p:not(.eyebrow){max-width:580px}.founder-layout{gap:35px}.about-evidence{gap:34px}.poster-grid{gap:22px}.story-poster{min-height:540px}.poster-copy{left:24px;right:24px}.poster-top{left:14px;right:14px;font-size:.6rem}}
@media(max-width:700px){.visual-site .home-hero .shell{grid-template-columns:1fr}.visual-site .home-hero{min-height:0}.visual-site .home-hero__copy{padding:116px 0 18px}.visual-site .home-hero h1{font-size:clamp(2.8rem,9vw,4rem)}.visual-site .home-hero__screen{margin:0 auto 44px;max-width:330px}.visual-site .home-hero__media img{object-position:72% center}.visual-site .home-hero::before{background:linear-gradient(0deg,#09291ef5,#09291ecc 55%,#09291e80)}.human-scene__grid,.story-invitation__grid,.founder-layout,.about-evidence,.contact-scene{grid-template-columns:1fr;gap:30px}.contact-scene{gap:0}.contact-scene>figure{min-height:240px}.poster-grid{grid-template-columns:1fr}.story-poster{min-height:550px}.poster-copy h2{font-size:3.4rem}.poster-top{font-size:.66rem}.status-strip{grid-template-columns:1fr;gap:18px}.cinema-hero{min-height:660px;align-items:end}.cinema-hero h1{font-size:clamp(2.9rem,9.6vw,4rem)}.cinema-hero__content{padding:90px 0 70px}.cinema-hero::after{background:linear-gradient(0deg,#0a291eea,#102c2299 65%,#102c2233)}.cinema-hero .image-credit{max-width:calc(100% - 28px);right:14px;font-size:.61rem}.founder-layout figure{max-width:440px;width:100%}.about-evidence figure{max-width:340px}}
@media(max-width:640px){.visual-site.subpage main{padding-top:68px}.visual-site .nav-links.is-open{top:68px}.visual-site .nav{gap:10px}.visual-site .nav-actions{gap:7px}.visual-site .nav-actions .button{font-size:.73rem;padding-inline:10px;min-height:40px}.visual-site .brand img{width:66px}.visual-site .nav-actions .button--quiet{padding-inline:7px}.visual-site .footer-links{gap:18px}.visual-site .footer-row{display:block}.visual-site .footer-links{margin-top:20px}.visual-site .example-grid{grid-template-columns:1fr 1fr;gap:26px 14px}.visual-site .example-grid figcaption{font-size:.8rem}.visual-site .example-grid img{border-width:3px}.visual-site .example-grid strong{margin-bottom:4px}}
@media(max-width:450px){.loop-diagram{aspect-ratio:auto;padding-top:78px}.loop-diagram>svg{display:none}.loop-centre{top:0;left:0;transform:none;text-align:left}.loop-centre span{font-size:1.6rem}.loop-centre small{margin-top:4px}.loop-diagram ol{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-left:1px solid #ceca87;padding-left:22px}.loop-diagram li:nth-child(n){position:static;transform:none;padding:0;text-align:left;min-width:0}.loop-diagram h3{font-size:1.25rem}.visual-site .home-hero .hero-actions .button{font-size:.88rem;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.loop-diagram.is-visible>svg ellipse{animation:none}.story-poster:hover>img{transform:none}}
