/* Makary Pro / night voyage. Shared controls and reading surfaces. */
:root{--ui-surface:#101b24;--ui-text:#f1f6f8;--ui-muted:#acbdc8;--ui-edge:#b7cfde30;--ui-ease:cubic-bezier(.22,1,.36,1);scrollbar-color:#627985 #080e13;scrollbar-width:thin}
::selection{background:#c4e9f1;color:#07141e}
:is(input,textarea){caret-color:#bce9ff}
body{font-synthesis:none;-webkit-font-smoothing:antialiased}
:is(h1,h2,h3){text-wrap:balance}
:is(p,li){text-wrap:pretty}
:is(button,a,summary){touch-action:manipulation}
:is(button,a,summary,input,textarea,select):focus-visible{outline:2px solid #c3e9ff;outline-offset:4px}
.site-header.masthead,.site-header.journal-header{position:fixed;inset:12px 24px auto;z-index:60;isolation:isolate;max-width:1400px;width:auto;height:64px;min-height:64px;margin:0 auto;padding:0 12px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #a7c7d62e;border-radius:40px;background:#0b141cf2;color:#f2f5f7;box-shadow:0 10px 32px #0003;backdrop-filter:blur(16px);transition:border-color .2s}
.site-header .brand{display:flex;align-items:center;gap:11px;flex:none;font-size:11px;letter-spacing:.1em;font-weight:600;min-height:44px;text-decoration:none}
.site-header .brand-mark{font-size:29px;letter-spacing:-.16em;line-height:1;font-weight:400;padding-right:4px;background:none;color:#edf4f7}
.site-header .brand-mark span{color:#9bc8db}
.site-header .site-navigation{display:flex;align-items:center;gap:28px;margin:0 0 0 auto;font-size:13px}
.site-header .site-navigation a{display:flex;align-items:center;gap:0;min-height:44px;position:relative;color:#b8c9d3;text-decoration:none;white-space:nowrap}
.site-header .site-navigation a:hover,.site-header .site-navigation a[aria-current]{color:#fff}
.site-header .site-navigation a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:#b9e5f5;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ui-ease)}
.site-header .site-navigation a:hover:after,.site-header .site-navigation a[aria-current]:after{transform:scaleX(1)}
.site-header .header-actions{display:flex;align-items:center;gap:8px;flex:none}
.site-header :is(.nav-contact,.header-contact){position:relative;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;height:auto;padding:10px 20px;border:0;border-radius:28px;background:#dcebf1;color:#10232f;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;white-space:nowrap;transition:background .18s,transform .14s}
.site-header :is(.nav-contact,.header-contact):hover{background:#fff;color:#10232f}
.site-header .menu-toggle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #b1c9d333;border-radius:50%;background:#ffffff05;color:#fff;transition:background .2s,transform .14s}
.site-header .menu-toggle>span{display:block;flex:none;width:17px;height:1.5px;background:currentColor;margin:0;transition:transform .22s var(--ui-ease)}
.site-header .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.25px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.site-header .menu-toggle:hover{background:#ffffff16}
.site-menu{position:fixed;z-index:59;inset:86px 24px auto;max-width:1100px;margin:0 auto;padding:32px;max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;border-radius:26px;background:#0c1720;color:#edf5f9;box-shadow:0 24px 90px #0009;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.site-menu[hidden]{display:none!important}
.menu-about{padding:10px 0 0 10px;position:relative}
.menu-about img{width:74px;height:74px;object-fit:contain;margin-bottom:28px}
.menu-about p{font-size:26px;line-height:1.18;letter-spacing:-.025em;max-width:250px;margin:0}
.menu-about small{display:block;margin-top:20px;font-size:13px;line-height:1.7;max-width:260px;color:#a5bac8}
.menu-links{display:grid}
.menu-links a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:66px;padding:13px 4px;border-bottom:1px solid #bfd4df1e;color:inherit;text-decoration:none;font-size:23px;letter-spacing:-.025em;transition:color .15s,transform .2s var(--ui-ease)}
.menu-links a:last-child{border:0}
.menu-links a small{display:block;font-size:12px;line-height:1.5;color:#9fb5c5;letter-spacing:0;margin-top:4px}
.menu-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.menu-links a:hover{color:#b7e3f6;transform:translateX(4px)}
.menu-shade{position:fixed;inset:0;z-index:58;background:#02080ca8;cursor:pointer}
.menu-shade[hidden]{display:none}
body.journal-interface main{padding-top:96px}
body.journal-interface .reading-progress{z-index:61;top:0;height:2px}
:is(.contact-button,.founder-action,.boarding,.artifact-controls button,.gallery-controls button,.prompt-copy,.header-contact,.nav-contact){transition:transform .14s var(--ui-ease),background-color .18s,color .18s;touch-action:manipulation}
:is(.contact-button,.founder-action){background:linear-gradient(160deg,#f1f8fb,#d0e1ea);color:#10232f;box-shadow:inset 0 1px 0 #fff9,0 8px 24px #0002;border:0;font-weight:550}
:is(.contact-button,.founder-action):hover{background:#f6fbff;color:#10232f}
:is(button,.contact-button,.founder-action,.boarding,.nav-contact,.header-contact):active{transform:scale(.975);transition-duration:.1s}
.prompt-copy{min-height:44px}
.inline-link,.text-link{line-height:1.5;text-underline-offset:5px}
.inline-link:hover,.text-link:hover{text-decoration:underline;text-decoration-color:#94bcd365}
.opening-copy h1,.bridge-copy h2,.work-heading h2,.section-head h2,.services h2,.journal-home h2,.final-contact h2{letter-spacing:-.04em}
:is(.work-heading h2,.section-head h2,.services h2,.journal-home h2,.final-contact h2,.system-case h3)>span{color:#c7dfe9;background:linear-gradient(115deg,#e4eff3 5%,#acd4e5 52%,#8ca9bf 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.chapter-controls{gap:4px;padding:5px;background:#0c161dce;border-color:#a7c9d333}
.chapter-controls a{min-height:44px;font-size:12px;padding-inline:13px;gap:8px;white-space:nowrap}
.chapter-controls .motion-toggle{width:44px;height:44px;min-width:44px;min-height:44px;margin-left:3px}
.chapter-controls a[aria-current]{color:#fff}
.practice-label{font-size:11px;letter-spacing:.08em;color:#c6dbe7;margin-bottom:4px}
.practice-projects a{min-height:44px}
.opening-bottom p{font-size:14px;line-height:1.7}
.work-heading>p:last-child{max-width:620px;margin:24px auto 0;line-height:1.65}
.system-case.featured-case{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6%;align-items:center;width:min(1280px,calc(100% - 96px));margin:auto}
.system-case .case-copy{order:0;min-width:0;padding:0}
.system-case .case-index{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:10px;letter-spacing:.08em;color:#b2cbd8;margin-bottom:28px}
.system-case h3{font-size:clamp(32px,3.1vw,48px);line-height:1.1;letter-spacing:-.035em;font-weight:600;margin:0 0 24px}
.system-case .case-description{font-size:16px;line-height:1.7;color:#b3c5d0;margin:0 0 18px;max-width:43ch}
.system-case .role{margin:26px 0;padding-top:23px;border-top:1px solid #bad2df2e;display:block}
.system-case .role>span{font-size:10px;letter-spacing:.08em;color:#91b2c5;display:block;margin-bottom:8px}
.system-case .role p{font-size:14px;line-height:1.6;color:#d5e1e8}
.system-case .text-link{font-size:14px;display:flex;align-items:center;gap:16px;min-height:44px}
.system-artifact{min-width:0}
.system-artifact .artifact-project{font-size:10px;letter-spacing:.08em;margin-bottom:18px}
.system-artifact .artifact-project span:last-child{font-size:10px;color:#9eb7c5}
.system-artifact .artifact-controls{display:flex;gap:4px;width:fit-content;max-width:100%;padding:5px;margin:0 0 20px;border:1px solid #b0ced629;background:#0f1c25;border-radius:30px}
.system-artifact .artifact-controls button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 17px;color:#a9c0cf;background:transparent;border:0;border-radius:24px;font-size:13px;line-height:1.3}
.system-artifact .artifact-controls button[aria-pressed=true]{background:#d8e8ef;color:#112631;box-shadow:0 2px 8px #0002}
.system-artifact .artifact-controls button:hover:not([aria-pressed=true]){background:#ffffff0b;color:#fff}
.system-artifact .segmented-ready{position:relative;isolation:isolate}
.system-artifact .segmented-ready button{position:relative;z-index:1}
.system-artifact .segmented-ready button[aria-pressed=true]{background:transparent;box-shadow:none}
.artifact-pill{position:absolute;left:0;top:0;border-radius:24px;background:#d8e8ef;box-shadow:0 2px 8px #0002;pointer-events:none}
.system-artifact .artifact-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.system-artifact .artifact-stage{position:relative;aspect-ratio:1.5;background:#e8eef1;border-radius:16px;overflow:hidden;box-shadow:0 22px 60px #0005}
.system-artifact .artifact-stage img{display:block;width:100%;height:100%;object-fit:contain;padding:0;transform:none}
.expand-art{width:44px;height:44px;min-height:44px;min-width:44px;background:#0a1828e8;color:#f1f8fb;border:1px solid #bcd4df4f}
.system-artifact .artifact-caption{font-size:12px;line-height:1.6;color:#c5d8e3;min-height:38px;text-align:left;margin:20px 0 0;letter-spacing:0}
.artifact-context{font-size:12px;line-height:1.7;color:#9cb6c7;max-width:65ch;margin-top:8px}
.services{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:start}
.services-lead{min-width:0}.services h2{font-size:clamp(36px,4vw,60px);max-width:520px}
.services-lead>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:440px}
.services-list{align-self:start}.service-row summary{padding-block:28px;gap:20px}
.service-row summary>span:nth-child(2){font-size:20px;line-height:1.35;font-weight:550;letter-spacing:-.015em}
.service-row summary small{font-size:14px;line-height:1.5;color:#aac0cd;margin-top:8px}
.service-plus{width:36px;height:36px;font-size:22px}
.service-body{padding-left:74px;font-size:16px;line-height:1.75}
.service-body dd{font-size:14px;line-height:1.65;color:#aabfcd}
.service-body .inline-link{font-size:14px;min-height:44px}
.services-lead>.tools-note{font-size:13px;color:#a0b7c5}
.voyage-log{margin-top:32px;border-top:1px solid #bad6e325;padding-top:18px;max-width:440px}
.voyage-log summary{display:flex;align-items:center;gap:12px;min-height:44px;list-style:none;cursor:pointer;font-size:14px;color:#d5e6ef}
.voyage-log summary::-webkit-details-marker{display:none}
.voyage-log summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .5s var(--ui-ease)}
.voyage-log[open] summary svg{transform:rotate(90deg)}
.voyage-log summary>span{margin-left:auto;font-size:22px}
.voyage-log[open] summary>span{transform:rotate(45deg)}
.voyage-log>div{padding:15px 0 8px}.voyage-log p{font-size:14px;line-height:1.75;color:#a9c0cf;margin-bottom:14px}
.voyage-log a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:14px;color:#d5e9f7}
.journal-intro>img{display:none}.journal-intro{margin-bottom:52px}
.journal-home h2{max-width:950px}
.journal-entry h3 a{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:start;gap:16px}
.journal-entry h3 a>span{font-size:20px;margin-top:5px}
.journal-entry .entry-meta{letter-spacing:.08em;color:#b5cbd8}
body.night-docs .mp-document-hero h1{font-size:clamp(26px,4.6vw,64px);letter-spacing:-.035em;overflow-wrap:normal;hyphens:auto}
body.night-docs .mp-page-brand small{display:none}
body.night-docs .mp-page-brand img{width:34px;height:34px;object-fit:contain}
@media(max-width:1000px){.site-header .site-navigation{gap:18px}.site-header.masthead,.site-header.journal-header{gap:16px}.system-case.featured-case{gap:5%;width:calc(100% - 64px)}.service-body{padding-left:0}.services{gap:6%}}
@media(max-width:800px){.site-header .site-navigation{display:none}.site-header.masthead,.site-header.journal-header{height:60px;min-height:60px;inset:10px 10px auto;padding:0 7px 0 16px;gap:10px}.site-header .brand{font-size:10px;letter-spacing:.06em;gap:9px}.site-header .brand-mark{font-size:27px}.site-header :is(.nav-contact,.header-contact){font-size:12px;padding-inline:16px;gap:10px}.site-menu{inset:80px 10px auto;padding:24px;max-height:calc(100dvh - 100px);grid-template-columns:1fr;gap:20px}.menu-about{display:none}.menu-links a{font-size:25px;min-height:76px}.system-case.featured-case{grid-template-columns:1fr;gap:32px}.system-case .case-description{max-width:60ch}.system-case .case-copy{max-width:620px}.system-case h3{font-size:42px}.system-case .role{margin-block:20px}.system-artifact .artifact-stage{max-height:none}.services{grid-template-columns:1fr;gap:34px}.service-body{padding-left:74px}.services-lead>p:not(.eyebrow){max-width:560px}.service-instrument{display:none}.services-lead>.tools-note{max-width:560px}.voyage-log{max-width:560px}.journal-home h2{max-width:100%}.opening-bottom p{font-size:12px;max-width:220px}.chapter-controls a{font-size:11px;padding-inline:10px}.practice-projects{gap:0 20px}.practice-projects a{font-size:12px}}
@media(max-width:540px){.site-header .brand>span:last-child{font-size:9px;letter-spacing:.06em}.site-header .brand-mark{font-size:25px}.site-header :is(.nav-contact,.header-contact){font-size:12px;padding-inline:13px}.site-header .header-actions{gap:5px}.system-case.featured-case{width:calc(100% - 40px)}.system-case h3{font-size:36px}.system-case .case-index{margin-bottom:22px;font-size:10px}.system-case .case-description{font-size:16px}.system-artifact .artifact-project{gap:10px;font-size:9px}.system-artifact .artifact-project span:last-child{font-size:9px}.system-artifact .artifact-controls{width:100%;margin-bottom:16px}.system-artifact .artifact-controls button{flex:1;padding:10px 9px;font-size:12px;gap:6px}.system-artifact .artifact-controls svg{width:16px;height:16px}.system-artifact .artifact-stage{border-radius:12px}.system-artifact .artifact-caption{font-size:12px}.artifact-context{font-size:12px}.work-heading h2,.services h2,.section-head h2,.journal-home h2{font-size:clamp(34px,8.7vw,44px);line-height:1.13;letter-spacing:-.035em}.work-heading>p:last-child{font-size:16px;line-height:1.65}.work-heading>p:last-child br{display:none}.services-lead>p:not(.eyebrow){font-size:16px}.service-row summary{gap:13px}.service-row summary>img{width:42px;height:42px}.service-row summary>span:nth-child(2){font-size:18px;line-height:1.35}.service-row summary small{font-size:13px;line-height:1.55}.service-plus{width:30px;height:30px}.service-body{padding-left:0;font-size:15px}.service-body dd{font-size:14px}.services-lead>.tools-note{font-size:13px}.chapter-controls{max-width:calc(100% - 32px)}.chapter-controls a{font-size:11px;gap:7px;padding-inline:8px}.chapter-controls .chapter-progress{width:4px}.chapter-controls a[aria-current] .chapter-progress{width:15px}.chapter-controls .motion-toggle{margin-left:0}.practice-label{font-size:10px}.journal-entry h3{font-size:24px}.opening-bottom{gap:18px}.opening-bottom p{font-size:12px;max-width:190px}.boarding{font-size:13px;gap:10px;max-width:none}.boarding>img{width:42px;height:42px}body.night-docs .mp-document-hero h1{font-size:clamp(26px,7.3vw,38px)}body.night-docs .static-site h1{font-size:clamp(26px,7.3vw,38px);hyphens:auto;overflow-wrap:normal}}
@media(max-width:359px){.site-header .brand{gap:6px}.site-header .brand>span:last-child{font-size:8px}.site-header :is(.nav-contact,.header-contact){padding-inline:11px;font-size:11px}.opening-bottom p{font-size:11px;max-width:160px}.boarding{font-size:12px;gap:4px}.boarding>img{width:36px;height:36px}.service-row summary{gap:10px}.service-row summary>img{width:34px;height:34px}.service-row summary>span:nth-child(2){font-size:17px}.system-artifact .artifact-controls button{gap:5px;padding-inline:6px}.system-artifact .artifact-controls svg{width:14px;height:14px}.practice-projects{gap:0 14px}.chapter-controls a{font-size:10px}.work-heading h2,.services h2,.section-head h2,.journal-home h2{font-size:32px}}
.read-flow .site-header.masthead{position:relative;inset:auto;margin:10px;max-width:calc(100% - 20px);height:auto;min-height:60px;flex-wrap:wrap;padding-block:8px}
.read-flow .site-header .brand>span:last-child{font-size:10px}.read-flow .system-case.featured-case{grid-template-columns:1fr}.read-flow .site-header .site-navigation{display:none}
html:not(.js) .site-header{position:relative;inset:auto;margin:10px;height:auto;flex-wrap:wrap;padding-block:10px}
html:not(.js) .site-header .site-navigation{display:flex;flex-wrap:wrap;gap:4px 18px}
html:not(.js) .site-header .menu-toggle{display:none}
@media(prefers-reduced-motion:reduce){.site-menu,.menu-links a,.voyage-log summary svg,.voyage-log summary>span,:is(.contact-button,.founder-action,.boarding,.artifact-controls button,.gallery-controls button){animation:none!important;transition:none!important}.menu-links a:hover{transform:none}}
.reduced .voyage-log summary svg,.reduced .menu-links a{transition:none}
@media(forced-colors:active){:is(.work-heading h2,.section-head h2,.services h2,.journal-home h2,.final-contact h2,.system-case h3)>span{-webkit-text-fill-color:CanvasText;background:none;color:CanvasText}}

/* The scroll-driven yacht is the main motion scene; reading starts fully visible. */
.js .reveal{opacity:1;transform:none;transition:none}
:root{scroll-padding-top:88px}
section[id]{scroll-margin-top:16px}
.horizon{height:85px}
.horizon:before{top:72px}
.horizon span{height:50px}
@media(max-width:800px){.system-artifact{order:-1}.horizon{height:60px}.horizon:before{top:52px}.horizon span{height:35px}}
@media(max-width:540px){.services{padding-block:55px}.work-heading{margin-bottom:34px}.system-artifact .artifact-project{letter-spacing:.04em}}
#art-dialog{width:min(1280px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);height:fit-content;padding:16px;border:1px solid #a9c5d336;border-radius:20px;background:#0b1720;overflow:auto;color:#ecf5f9}
#art-dialog::backdrop{background:#02080ce8;backdrop-filter:blur(6px)}
#art-dialog .art-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.art-toolbar strong{font-size:14px;font-weight:500;margin-right:auto}
#art-dialog .close-art{position:static;float:none;flex:none;margin:0}
.art-zoom{min-height:44px;min-width:44px;padding:8px 16px;background:#cde3ec;color:#112531;border:0;border-radius:24px;font-size:13px;font-weight:550}
#art-dialog .art-pan{width:100%;max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain;border-radius:10px;background:#091016;scrollbar-width:thin}
#art-dialog .art-pan img{display:block;width:100%;height:auto;max-height:calc(100dvh - 190px);object-fit:contain;margin:0}
#art-dialog.zoomed .art-pan{height:min(70dvh,960px)}
#art-dialog.zoomed .art-pan img{width:1440px;max-width:none;height:auto;max-height:none;object-fit:initial}
#art-dialog>p{font-size:12px;line-height:1.6;text-align:left;margin:16px 0 0;color:#b8cfdd}
.art-original{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.4;color:#cce5f4;text-decoration:underline;text-underline-offset:4px}
@media(max-width:540px){#art-dialog{padding:12px}.art-toolbar{gap:8px}.art-toolbar strong{font-size:12px}.art-zoom{padding-inline:13px;font-size:12px}}

/* Real work is the third chapter: an image-led gallery, with detail on demand. */
.js .voyage{height:260svh}
.read-flow .voyage,.reduced .voyage{height:auto}
.cases-collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;width:min(1200px,calc(100% - 96px));max-width:none;text-align:left;margin:42px auto 42px}
.cases-collection-heading h2{font-size:clamp(44px,5vw,68px);line-height:1.05;letter-spacing:-.04em}
.cases-collection-heading p{font-size:18px;line-height:1.55;color:#a9c0cd;margin-top:20px}
.cases-collection-heading .inline-link{white-space:nowrap}
.cases-gallery{padding:0 0 32px;background:none}
.cases-gallery .project-slide{flex-basis:min(730px,69vw)}
.cases-gallery .project-visual{aspect-ratio:1.65;border-radius:20px;background:#0c1820;border:0}
.cases-gallery .project-visual img{object-fit:contain;background:#0c1820}
.cases-gallery .project-caption{padding:24px 3px 0}
.cases-gallery .project-category{font-size:11px;line-height:1.5;letter-spacing:.08em;color:#a9c8d9;margin:0 0 12px}
.cases-gallery .project-caption h3{font-size:30px;line-height:1.16;letter-spacing:-.03em;max-width:650px}
.cases-gallery .project-caption h3 a{align-items:flex-start;gap:25px}
.cases-gallery .project-caption h3 .case-card-title{font-size:inherit;color:#edf5f9}
.cases-gallery .project-caption h3 svg{width:22px;height:22px;flex:none;fill:none;stroke:#c7dfea;stroke-width:1.5;margin-top:7px;transition:transform .2s var(--ui-ease)}
.cases-gallery .project-caption h3 a:hover svg{transform:translate(3px,-3px)}
.cases-gallery .project-caption>p:not(.project-category):not(.project-role){font-size:16px;line-height:1.65;max-width:65ch;margin-top:14px;color:#afc2ce}
.cases-gallery .project-role{padding-top:16px;margin-top:18px;border-top:1px solid #9cbbc82b;font-size:13px;line-height:1.6;color:#a9c2d0;max-width:650px}
.project-role>span{display:block;color:#e3edf3;font-size:12px;margin-bottom:3px}
.gallery-position{display:block;color:#d4e6f0;font-size:13px;line-height:1.5}
.gallery-gesture{display:block;font-size:12px;color:#a2bbca;margin-top:3px}
.case-drilldown{width:min(1200px,calc(100% - 96px));margin:28px auto 0;border-top:1px solid #bfd5e02c;border-bottom:1px solid #bfd5e02c}
.case-drilldown>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;list-style:none;padding:20px 0;color:#e6eff5;font-size:21px;line-height:1.35;cursor:pointer}
.case-drilldown>summary::-webkit-details-marker{display:none}
.case-drilldown>summary small{display:block;font-size:13px;line-height:1.6;color:#a8bfce;margin-top:5px}
.drill-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:#142632;font-size:25px;font-weight:300;transition:transform .2s var(--ui-ease)}
.case-drilldown[open] .drill-toggle{transform:rotate(45deg)}
.case-drilldown .system-case{width:100%;padding:25px 0 40px}
.case-drilldown .case-index{display:none}
.work{padding-bottom:48px}
@media(max-width:800px){.cases-collection-heading{width:calc(100% - 48px);margin-block:32px;gap:20px}.cases-collection-heading h2{font-size:48px}.cases-collection-heading p{font-size:16px}.cases-gallery .project-slide{flex-basis:calc(100vw - 64px)}.cases-gallery .project-visual{aspect-ratio:1.45}.cases-gallery .project-caption h3{font-size:27px}.cases-gallery .project-caption>p:not(.project-category):not(.project-role){font-size:15px}.case-drilldown{width:calc(100% - 48px);margin-top:12px}.case-drilldown .system-case{padding-top:16px}.case-drilldown>summary{font-size:20px}.cases-gallery .project-caption{padding-top:20px}}
@media(max-width:540px){.cases-collection-heading{align-items:flex-start;position:relative;display:block;margin-block:25px 30px}.cases-collection-heading h2{font-size:42px}.cases-collection-heading p{font-size:15px;line-height:1.6;padding-right:15px;margin-top:16px}.cases-collection-heading .inline-link{position:absolute;right:0;top:0;font-size:12px;gap:8px}.cases-gallery .project-visual{border-radius:16px}.cases-gallery .project-caption h3{font-size:25px}.cases-gallery .project-caption>p:not(.project-category):not(.project-role){font-size:14px}.cases-gallery .project-category{font-size:10px;margin-bottom:8px}.cases-gallery .project-role{font-size:12px;margin-top:14px;padding-top:13px}.cases-gallery .gallery-controls{margin-top:22px}.gallery-gesture{font-size:11px}.case-drilldown>summary{font-size:18px;gap:16px}.case-drilldown>summary small{font-size:12px}.work{padding-bottom:24px}}
@media(max-width:359px){.cases-collection-heading{width:calc(100% - 40px)}.cases-collection-heading h2{font-size:36px}.cases-collection-heading .inline-link{font-size:11px;gap:6px}.cases-gallery .project-slide{flex-basis:calc(100vw - 54px)}.cases-gallery .project-caption h3{font-size:23px}.case-drilldown{width:calc(100% - 40px)}}
.read-flow .cases-collection-heading{display:block}.read-flow .cases-collection-heading .inline-link{position:static}
.read-flow .case-drilldown>summary{flex-wrap:wrap}

/* Silver action surfaces: immediate press, controlled reflection, distinct arrow. */
:is(.founder-action,.contact-button){position:relative;overflow:hidden;isolation:isolate;gap:24px;transition:transform .14s var(--ui-ease),box-shadow .25s}
:is(.founder-action,.contact-button):before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at var(--light-x,25%) var(--light-y,0%),#fff9 0,transparent 65%);opacity:.55;pointer-events:none;transition:opacity .2s}
:is(.founder-action,.contact-button)>span[aria-hidden]{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:#102a38;color:#e5f6ff;font-size:22px;line-height:1;transition:transform .2s var(--ui-ease),background .2s}
@media(hover:hover) and (pointer:fine){:is(.founder-action,.contact-button):hover{box-shadow:inset 0 1px 0 #fff,0 12px 30px #0004}:is(.founder-action,.contact-button):hover:before{opacity:1}:is(.founder-action,.contact-button):hover>span[aria-hidden]{transform:rotate(8deg);background:#23495d}}
@media(prefers-reduced-motion:reduce){:is(.founder-action,.contact-button):before,:is(.founder-action,.contact-button)>span[aria-hidden]{transition:none!important;transform:none!important}}
