
:root{color-scheme:dark;--ink:#edf5fc;--muted:#a7bad0;--blue:#73baff;--line:#263b51;--bg:#08121e;--panel:#0d1e30}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050b12;color:var(--ink);font:16px/1.65 "Segoe UI",Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #eab674;outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05}button{color:inherit}button:focus-visible{position:relative;z-index:4}.proposal-bar{padding:12px 4.5%;background:#10243a;border-bottom:1px solid #345575;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;letter-spacing:.06em}.proposal-bar strong{font-weight:600;color:#c5dcf0}.proposal-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.proposal-controls button{border:1px solid #496780;background:transparent;padding:5px 11px;border-radius:5px;font-size:12px}.proposal-controls button[aria-pressed=true]{background:#d1e7fa;color:#11263c;border-color:#d1e7fa}.proposal-controls a{margin-left:12px;color:#d4e8f9;text-decoration:underline;text-underline-offset:4px}.site-frame{container-type:inline-size;max-width:1800px;margin:auto;background:var(--bg);transition:max-width .25s ease}.site-frame.mobile{max-width:390px;box-shadow:0 0 0 1px var(--line);margin:26px auto}.content{width:89%;max-width:1240px;margin:auto}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:.14em;font-size:18px}.brand small{font-size:9px;letter-spacing:.25em;color:var(--muted);display:block;margin-top:1px}.logo-crop{width:43px;height:50px;position:relative;overflow:hidden;flex-shrink:0}.logo-crop img{position:absolute;max-width:none;width:193px;height:auto;left:-75px;top:-5px}.header nav{display:flex;align-items:center;gap:27px;font-size:13px;color:#b8c9d9}.header nav a:hover{color:white}.header nav .current{color:var(--blue)}.nav-contact{padding:9px 16px;border:1px solid #3b5670;border-radius:6px}.menu-button{display:none;border:1px solid var(--line);background:transparent;border-radius:5px;padding:6px 10px}.hero{position:relative;padding:72px 0 60px;background:radial-gradient(ellipse at 75% 22%,#1738537a,transparent 60%)}.hero-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:6%;align-items:center}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.21em;color:var(--blue)}.hero h1{font-size:clamp(60px,6.4vw,92px);letter-spacing:-.065em;line-height:.99;margin:24px 0}.hero h1 em{color:#8fcaff;font-style:normal}.intro{font-size:16px;color:#b7c9db;max-width:390px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px;font-size:13px;font-weight:600}.primary{background:#80c3ff;border:1px solid #80c3ff;border-radius:6px;padding:13px 20px;color:#07192a;display:inline-flex;align-items:center;gap:12px;font-weight:700}.primary:hover{background:#acdaff}.text-link{color:#d3e6f5}.text-link:hover{color:var(--blue)}.reel-caption{font-size:11px;color:#91a9be;margin-top:13px}.hero-art{position:relative;border-radius:9px;overflow:hidden;min-height:386px;isolation:isolate;box-shadow:0 24px 60px #0004;background:#183145}.hero-art>img{width:100%;height:386px;object-fit:cover;display:block;object-position:center}.hero-art:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#020b16e8,transparent 58%)}.art-top{position:absolute;z-index:1;top:18px;left:20px;font-size:9px;letter-spacing:.17em;background:#06101aba;border:1px solid #738da166;padding:5px 9px;border-radius:3px}.art-bottom{position:absolute;z-index:1;left:23px;right:23px;bottom:21px;display:flex;align-items:end;justify-content:space-between;gap:10px}.art-bottom small{font-size:10px;letter-spacing:.13em;color:#a4bfd5;display:block;margin-bottom:5px}.art-bottom strong{font-size:18px;font-weight:500}.round-arrow{border:1px solid #8aa5b477;border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.disciplines{display:flex;justify-content:space-between;gap:12px;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.17em;color:#97abc0;text-transform:uppercase}.disciplines span:before{content:"+";color:#4f80ab;margin-right:13px}.work{padding:66px 0 72px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading h2{font-size:36px;letter-spacing:-.045em;margin-top:10px}.section-heading>a{color:#b8d6ed;font-size:12px}.filters{display:flex;gap:7px;margin-bottom:25px;flex-wrap:wrap}.filters button{background:none;border:1px solid transparent;color:#9eb4c7;border-radius:30px;padding:7px 15px;font-size:12px}.filters button[aria-pressed=true]{color:#d4eaff;background:#142c43;border-color:#345471}.filters button:hover{color:#fff}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.project[hidden]{display:none}.project>a{display:block}.project-image{border-radius:6px;overflow:hidden;background:#162c40;aspect-ratio:16/10;position:relative}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.project:hover .project-image img{transform:scale(1.035)}.project-image .year{position:absolute;right:11px;top:11px;background:#0a1421d9;border:1px solid #ffffff28;padding:2px 7px;font-size:10px;border-radius:3px}.project-meta{display:flex;justify-content:space-between;color:#82a4c1;text-transform:uppercase;letter-spacing:.12em;font-size:9px;margin:17px 0 9px}.project h3{font-size:19px;font-weight:500;letter-spacing:-.025em;line-height:1.25}.project p{font-size:12px;line-height:1.7;color:#a7bed0;margin-top:8px}.browse-category{margin:27px 0 0;padding:15px 18px;border:1px solid var(--line);border-radius:6px;display:flex;justify-content:space-between;font-size:12px;color:#c2d9eb}.browse-category:hover{border-color:#698fab}.work-status{margin-top:17px;color:#8fa6bb;font-size:11px}.personal{border-top:1px solid var(--line);padding:63px 0;background:linear-gradient(110deg,#11283c,#091523)}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.personal h2{font-size:43px;letter-spacing:-.045em;margin:17px 0}.personal p{font-size:14px;color:#aec4d6;max-width:430px}.personal-links{display:flex;gap:10px 21px;flex-wrap:wrap;margin:25px 0;font-size:12px;color:#d1e3f2}.personal-links a{border-bottom:1px solid #557694;padding-bottom:3px}.personal-image{height:280px;position:relative;overflow:hidden;border-radius:6px}.personal-image img{width:100%;height:100%;object-fit:cover}.photo-credit{position:absolute;bottom:12px;left:14px;font-size:10px;background:#071421e8;border:1px solid #506f85;padding:4px 9px;border-radius:3px}.tools{padding:56px 0}.tools-banner{border-top:1px solid #2d4c64;border-bottom:1px solid #2d4c64;padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.tools h2{font-size:29px;letter-spacing:-.04em;margin:9px 0}.tools p{font-size:13px;color:var(--muted)}.tools .tool-link{border:1px solid #365b78;border-radius:6px;padding:11px 17px;font-size:12px;white-space:nowrap;color:#bddfff}.about{padding:10px 0 60px;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}.about h2{font-size:34px;letter-spacing:-.04em;margin-top:12px}.about p{font-size:14px;color:#b2c5d6;margin-bottom:17px}.about a{font-size:12px;color:#a9d9ff}.footer{padding:26px 0;border-top:1px solid var(--line);font-size:11px;color:#91a8bd;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-links{display:flex;gap:23px}.proposal-notes{background:#0c1a28;border-top:1px solid #38516a;padding:24px max(5.5%,calc((100% - 1240px)/2));font-size:12px;color:#adbed0;line-height:1.8}.proposal-notes strong{color:#e0edfa}.proposal-notes a{color:#9bcfff;text-decoration:underline}.skip{position:absolute;left:10px;top:-100px;z-index:10;padding:10px;background:#f1f6fc;color:#07111c}.skip:focus{top:5px}dialog{background:#07121f;border:1px solid #446582;color:white;border-radius:8px;width:min(1050px,94vw);padding:19px}dialog::backdrop{background:#020811ed}dialog .dialog-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px;font-size:12px}dialog button{border:1px solid #4c647c;background:#11283e;border-radius:4px;padding:5px 10px}dialog video{width:100%;max-height:76vh;display:block;background:black}dialog p{font-size:11px;color:#a6bfd3;margin-top:10px}
@container (max-width:800px){.content{width:88%}.header{height:79px;flex-wrap:wrap;gap:0;position:relative}.brand{font-size:15px;gap:7px}.brand small{font-size:8px}.logo-crop{transform:scale(.85);margin-left:-3px;margin-right:-3px}.menu-button{display:block}.header nav{display:none;width:100%;background:#102136;padding:16px;position:absolute;left:0;top:78px;z-index:5;gap:14px;flex-direction:column;align-items:stretch;border:1px solid #35506a;box-shadow:0 16px 25px #0008}.header nav.open{display:flex}.header nav .nav-contact{padding:6px 0;border:0}.hero{padding:40px 0 31px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:65px;margin:19px 0}.eyebrow{font-size:9px}.intro{font-size:14px}.hero-actions{gap:18px;margin-top:23px;font-size:12px}.primary{padding:11px 16px}.hero-art,.hero-art>img{height:265px;min-height:265px}.art-bottom{left:16px;right:16px;bottom:17px}.art-bottom strong{font-size:15px}.art-top{left:16px;top:14px;font-size:8px}.disciplines{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:9px}.disciplines span:before{margin-right:8px}.work{padding:40px 0}.section-heading{align-items:start;gap:14px}.section-heading h2{font-size:31px}.section-heading>a{font-size:10px;padding-top:12px;max-width:85px;text-align:right}.projects{grid-template-columns:1fr;gap:27px}.filters{gap:0;margin-bottom:20px}.filters button{padding:6px 11px;font-size:11px}.project-image{aspect-ratio:16/10}.project-meta{margin-top:12px}.project h3{font-size:20px}.project p{font-size:12px}.personal{padding:40px 0}.personal-grid{grid-template-columns:1fr;gap:25px}.personal h2{font-size:36px}.personal-image{height:240px}.tools{padding:34px 0}.tools-banner{align-items:start;flex-direction:column;gap:17px;padding:24px 0}.tools h2{font-size:27px}.about{grid-template-columns:1fr;gap:20px;padding-bottom:37px}.about h2{font-size:31px}.footer{flex-direction:column;align-items:start;padding:23px 0;gap:14px}.proposal-notes{padding:20px 6%;font-size:11px}}
@media(max-width:650px){.proposal-bar{align-items:start;flex-direction:column;font-size:10px;padding:10px 5%}.proposal-controls{gap:6px}.proposal-controls a{margin-left:3px;font-size:11px}.proposal-controls button{font-size:11px;padding:3px 8px}.site-frame.mobile{margin:0 auto}.hero h1{font-size:61px}}
.art-bottom>div{min-width:0;flex:1}.art-bottom strong{display:block;line-height:1.3}.round-arrow{flex-shrink:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Interior portfolio pages share the approved homepage's typography and palette. */
.detail,.archive{padding:54px 0 64px}
.back-link{display:inline-block;color:#a9c9e1;font-size:12px;margin-bottom:33px}
.detail-heading{max-width:900px;margin-bottom:30px}
.detail-heading h1{font-size:clamp(36px,4.4vw,62px);line-height:1.08;letter-spacing:-.05em;margin:16px 0 20px}
.detail-intro{font-size:18px;color:#b7c9db;line-height:1.75;max-width:790px}
.detail-role{margin-top:18px;color:#80b5d9;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.detail-cover{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:9px;margin:34px 0}
.detail-copy{max-width:840px;margin:30px 0 38px;font-size:16px;color:#b8cddd;line-height:1.85}
.detail-copy p{margin-bottom:19px}
.detail-links{display:flex;gap:15px;flex-wrap:wrap}
.detail-links a{padding:10px 15px;border:1px solid var(--line);border-radius:6px;color:#b9def7;font-size:13px}
.video-block{margin:34px 0;max-width:1000px}
.video-embed{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#030910}
.video-embed iframe{width:100%;height:100%;border:0;display:block}
.video-block video{display:block;width:100%;max-height:720px;border-radius:8px;background:black}
figcaption{color:#94afc4;font-size:12px;margin-top:9px;line-height:1.6}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:36px 0}
.gallery figure{margin:0}.gallery img{display:block;width:100%;height:360px;object-fit:cover;border-radius:6px}
.source-link{margin:32px 0;color:#a9cbe2;font-size:13px}.source-link a{text-decoration:underline;text-underline-offset:4px}
.image-placeholder{height:100%;min-height:180px;background:linear-gradient(135deg,#102e46,#0a1725);color:#a4c8e3;display:grid;place-items:center;text-align:center;padding:20px}
.hero-art>.image-placeholder{height:386px}
.tool-art{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background:radial-gradient(ellipse at center,#174764,#0c2031)}
.tool-art strong{font-size:46px;font-weight:500;color:#b9e1ff;letter-spacing:-.06em}.tool-art span{font-size:9px;letter-spacing:.15em;color:#9fbed3;margin-top:5px}
@container(max-width:800px){.detail,.archive{padding:36px 0 42px}.detail-heading h1{font-size:38px}.detail-intro{font-size:16px}.detail-cover{max-height:370px;margin:24px 0}.detail-copy{font-size:14px}.gallery{grid-template-columns:1fr;gap:24px}.gallery img{height:auto;max-height:500px;object-fit:contain}.video-block{margin:25px 0}}

/* Public archive content, rendered without WordPress theme or gallery scripts. */
.imported-content{max-width:1050px;margin:34px 0;line-height:1.8;color:var(--muted)}
.imported-content p{max-width:840px;margin:1em 0 1.5em}
.imported-content h1,.imported-content h2,.imported-content h3,.imported-content h4{color:var(--ink);line-height:1.25;margin:1.5em 0 .7em}
.imported-content a{color:var(--blue);text-underline-offset:4px;overflow-wrap:anywhere}
.imported-content img{max-width:100%;height:auto;display:block;border-radius:8px;margin:0 auto}
.imported-content figure{margin:28px 0;min-width:0}
.imported-content figcaption{font-size:13px;color:var(--muted);line-height:1.6;margin-top:10px}
.imported-content video,.imported-content audio{max-width:100%;width:100%;background:#02070c;border-radius:8px}
.imported-content iframe.imported-embed{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:8px;background:#02070c}
.imported-content .imported-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin:30px 0}
.imported-content .imported-gallery figure{margin:0}
.imported-content .imported-gallery img{width:100%;height:auto}
.imported-content .imported-gallery-item{min-width:0}
.imported-content .imported-columns{display:flex;gap:24px;flex-wrap:wrap}
.imported-content .imported-column{flex:1 1 260px;min-width:0}
.imported-content pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:#0d1d2c;border-radius:8px}
.imported-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.imported-content td,.imported-content th{padding:8px 14px;text-align:left;border-bottom:1px solid #1e3346}
.imported-content blockquote{margin:24px 0;padding:0 24px;border-left:2px solid #315674}
.imported-content ul,.imported-content ol{padding-left:24px;max-width:840px}
.imported-content li{margin:.5em 0}
.archive-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:36px 0;color:var(--muted);font-size:13px}
.archive-pagination a{padding:9px 15px;border:1px solid var(--line);border-radius:6px;color:var(--blue)}
/* A quiet change of depth on project pages; the approved homepage stays intact. */
.detail>.detail-heading{max-width:1050px;background:linear-gradient(120deg,#0b1e2d,#07131f 82%);border:1px solid #263e532e;border-radius:12px;padding:30px 34px 32px;margin-bottom:32px}
.detail>.detail-heading h1{margin-top:15px}
.detail-copy{background:#050d16;border-radius:10px;padding:24px 30px;box-shadow:inset 0 1px 0 #ffffff03;margin:25px 0 32px}
/* A broad dark wash fades into the page instead of framing the story as a card. */
.story-panel{position:relative;isolation:isolate;padding:24px 30px;margin:25px 0 32px}
.story-panel::before{content:"";position:absolute;inset:-14px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 36% 48%,#020810d9 0%,#030b14ba 40%,#06101b4d 68%,#08121e00 85%);filter:blur(14px)}
.story-panel p:first-child{margin-top:0}.story-panel p:last-child{margin-bottom:0}
.imported-content .story-panel{color:#b8cbdc}
.imported-content .imported-video-unavailable{padding:28px 0;margin:0;min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.imported-content .imported-video-unavailable p{margin:0 0 12px}
.imported-content .imported-video-unavailable strong{color:var(--ink);font-size:20px;font-weight:500}
.imported-content iframe.imported-embed,.imported-content video,.video-embed,.video-block video{box-shadow:0 20px 42px #0006,0 3px 12px #0005;outline:1px solid #29425866;border-radius:10px}
@media(max-width:620px){.detail>.detail-heading{padding:23px 20px 25px;border-radius:10px}.detail-copy,.story-panel{padding:20px;margin:22px 0 28px}}
@media(max-width:620px){.imported-content .imported-gallery{grid-template-columns:1fr;gap:20px}.imported-content{margin:24px 0}.imported-content figure{margin:22px 0}}

/* The recreated wordmark supplies the cool lettering and restrained amber accents. */
:root{--warm:#d7a368}
.brand.brand-wordmark{flex-direction:column;align-items:flex-start;gap:2px;letter-spacing:normal;flex-shrink:0}
.wordmark-crop{display:block;position:relative;overflow:hidden;width:288px;height:44px}
.wordmark-crop img{position:absolute;display:block;max-width:none;width:103.5%;height:auto;left:-1.75%;top:50%;transform:translateY(-50%)}
.brand-wordmark small{display:block;margin:0 0 0 3px;font-size:9px;font-weight:500;line-height:1.4;letter-spacing:.18em;color:#afc9dc}
.primary{background:var(--warm);border-color:var(--warm);color:#101b27}
.primary:hover{background:var(--warm);filter:brightness(1.12)}
.filters button[aria-pressed=true]{color:var(--warm);background:#2b251f;border-color:#8f6a4380}
.filters button:hover,.header nav a:hover,.text-link:hover,.about a:hover,.section-heading>a:hover{color:var(--warm)}
.nav-contact:hover,.tools .tool-link:hover{border-color:var(--warm);color:#edc99d}
.personal-links a:hover{color:var(--warm);border-color:var(--warm)}
a:focus-visible,button:focus-visible,video:focus-visible{outline-color:var(--warm)}
.hero h1 em{color:#acdafa}.project:hover h3{color:#bce3f8}
@container(max-width:800px){.brand.brand-wordmark{gap:1px}.wordmark-crop{width:216px;height:34px}.brand-wordmark small{font-size:8px;letter-spacing:.15em}}

/* Keep the original emblem beside the wordmark, with one balanced tagline. */
.brand.brand-wordmark{flex-direction:row;align-items:center;gap:12px}
.brand-wordmark .brand-emblem{width:55.9px;height:65px;flex-shrink:0;margin:0;transform:none}
.brand-wordmark .brand-emblem img{width:250.9px;left:-97.5px;top:-6.5px}
.brand-lockup{display:flex;flex-direction:column;align-items:stretch;gap:2px;flex:none}
.brand-wordmark .wordmark-tagline{display:flex;justify-content:space-between;align-items:center;margin:0 1.5% 0 1.1%;font-size:10px;line-height:1.35;letter-spacing:0;white-space:nowrap}
.wordmark-tagline>span{display:block;flex:0 0 auto;white-space:pre}.wordmark-tagline .tagline-space{width:.35em}
/* A short warm underline connects three section headings to the wordmark. */
.work .section-heading h2::after,.personal h2::after,.tools h2::after{content:"";display:block;width:72px;height:3px;margin-top:14px;background:linear-gradient(90deg,#e99d3e,#db792f);border-radius:2px;opacity:.85}
@container (min-width:801px) and (max-width:1000px){.header{gap:18px}.header nav{gap:18px}.wordmark-crop{width:272px;height:42px}}
@container(max-width:800px){.brand.brand-wordmark{gap:8px}.brand-wordmark .brand-emblem{width:43px;height:50px;transform:none;margin:0}.brand-wordmark .brand-emblem img{width:193px;left:-75px;top:-5px}.brand-wordmark .wordmark-tagline{font-size:8px;letter-spacing:0}.work .section-heading h2::after,.personal h2::after,.tools h2::after{width:64px;height:3px;margin-top:12px}}
@container(max-width:360px){.wordmark-crop{width:174px;height:29px}.brand-wordmark .wordmark-tagline{font-size:7.5px}}

/* Warm labels and one heading carry the wordmark color into the content. */
.eyebrow,.project-meta>span:first-child,.personal-links a,.filters button,.archive-pagination a{color:var(--warm)}
.tools h2{color:var(--warm)}
.filters button:not([aria-pressed=true]):hover{color:#f2cfa5;background:#192a3a}

/* Keep the branding and Menu together on the narrowest phone layouts. */
@container(max-width:340px){.header{flex-wrap:nowrap}.brand.brand-wordmark{gap:6px}.brand-wordmark .brand-emblem{width:38px;height:44.2px}.brand-wordmark .brand-emblem img{width:170.56px;left:-66.28px;top:-4.42px}.wordmark-crop{width:156px;height:26px}.brand-wordmark .wordmark-tagline{font-size:7px}}
