@font-face{font-family:Anton;src:url('../fonts/Anton-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/Inter.woff2') format('woff2');font-display:swap}
@font-face{font-family:PlexMono;src:url('../fonts/IBMPlexMono-Regular.woff2') format('woff2');font-display:swap}
:root{--accent:var(--lime);--accent-tint:#182221;--black:#090c0d;--panel:#101416;--white:#f7f7f6;--muted:#aaaeb0;--line:#3c4244;--orange:#ff571d;--lime:#c4ff30;--blue:#4da8ff;--wrap:1520px}
body[data-palette="blue"]{--accent:var(--blue);--accent-tint:#132235}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--black);background-image:radial-gradient(rgba(255,255,255,.10) .7px,transparent .7px);background-size:13px 13px;color:var(--white);font:16px/1.55 Inter,Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--accent);color:#000}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{position:absolute;left:12px;top:-80px;padding:12px;background:var(--accent);color:#000;z-index:100}.skip-link:focus{top:12px}.wrap{width:min(calc(100% - 7.5vw),var(--wrap));margin-inline:auto}.display{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;line-height:.91;letter-spacing:-.022em;text-transform:uppercase;margin:0}.orange{color:var(--orange)}.eyebrow{display:flex;align-items:center;gap:18px;font:11px/1.55 PlexMono,monospace;letter-spacing:.14em;text-transform:uppercase}.eyebrow i,.micro-note i,.email-block>i{display:inline-block;background:var(--accent);height:3px;width:42px;flex:0 0 42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border-radius:12px;border:1px solid transparent;font-weight:600;transition:transform .2s,background-color .2s,color .2s}.button:hover,.header-cta:hover{transform:translateY(-3px)}.button span{font-size:24px;font-weight:300;line-height:1}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#ff723d}.button-outline{border-color:#737a7d;background:transparent}.button-outline:hover{background:#1c2224}.text-link{display:inline-flex;gap:22px;padding:12px 0;border-bottom:1px solid var(--accent);font-weight:600}.text-link span{color:var(--accent)}
.site-header{height:100px;display:flex;align-items:center;gap:5vw;padding:0 3.8vw;position:relative;z-index:20}.brand{width:72px;flex:0 0 72px}.brand img{width:70px;height:auto}.primary-nav{display:flex;align-items:center;gap:42px;font-size:14px}.primary-nav a{color:#ddd}.primary-nav a:hover{color:var(--accent)}.header-cta{margin-left:auto;border:1px solid #9ba0a0;border-radius:13px;padding:5px 6px 5px 23px;display:flex;align-items:center;gap:35px;font-size:14px;white-space:nowrap;transition:transform .2s}.header-cta span{display:grid;place-items:center;background:var(--accent);color:#080a0a;border-radius:50%;font-size:23px;width:42px;height:42px}.menu-toggle{display:none}
.home-hero{display:grid;grid-template-columns:37.5% 37.5% 25%;grid-template-rows:270px 285px 285px;margin:0 0 80px;overflow:hidden}.hero-copy{grid-column:1;grid-row:1/3;padding:18px 4vw 30px 4vw;align-self:start;z-index:1}.hero-categories{white-space:nowrap;margin:6px 0 34px;font-size:10px;gap:14px}.hero-categories span{color:#777}.hero-copy h1{font-size:clamp(64px,6.7vw,130px);white-space:nowrap}.hero-lead{color:#d7d9d9;font-size:clamp(16px,1.25vw,23px);line-height:1.45;margin:20px 0 28px}.hero-actions{display:flex;align-items:flex-start;gap:38px}.micro-note{display:grid;grid-template-columns:42px auto;column-gap:15px;align-items:start;margin:8px 0;font:11px/1.35 PlexMono,monospace;letter-spacing:.1em;white-space:nowrap}.micro-note i{grid-row:1/5;margin-top:3px}.project-tile{position:relative;display:block;min-height:260px;overflow:hidden;background:#151b1d}.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-tile:hover img{transform:scale(1.035)}.tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.63),transparent 34%,transparent 64%,rgba(0,0,0,.56))}.tile-meta{position:absolute;top:22px;left:22px;display:flex;align-items:flex-start;gap:11px;font:10px/1.35 PlexMono,monospace;letter-spacing:.1em;color:white}.tile-meta strong{font-size:15px;font-weight:400}.tile-meta i{background:var(--accent);height:3px;width:35px;margin-top:7px}.tile-name{position:absolute;bottom:22px;left:22px;font:27px/1 Anton,Impact,sans-serif;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.project-tile:hover .tile-name,.project-tile:focus-visible .tile-name{opacity:1;transform:none}.hero-main{grid-column:2;grid-row:1/3}.hero-side-one{grid-column:3;grid-row:1}.hero-side-two{grid-column:3;grid-row:2/4}.hero-bottom-one{grid-column:1;grid-row:3;margin-left:3vw}.hero-bottom-two{grid-column:2;grid-row:3;margin-left:8px}.hero-side-one,.hero-side-two{margin-left:8px}.hero-side-two{margin-top:8px}.hero-bottom-one,.hero-bottom-two{margin-top:8px}
.intro-section,.work-section,.services-section,.process-section{padding-block:100px}.intro-section{border-top:1px solid #3b4142}.intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.intro-grid h2{font-size:clamp(64px,8vw,140px)}.intro-grid>div{max-width:430px;padding-bottom:6px}.intro-grid p{font-size:20px;color:#d5d6d6}.section-heading{margin-bottom:45px}.section-heading .display{font-size:clamp(54px,6.5vw,110px);margin:24px 0 12px}.section-copy{font-size:20px;color:#c9cece;margin:0}.work-feature-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.work-feature-grid .project-tile{height:500px}.work-truth,.fine-print{color:#9da3a4;font-size:13px}.work-section>.button{margin-top:25px}.service-list{border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:18px 12px}.service-list a:hover{background:#161c1e}.service-list span{font:14px PlexMono,monospace;color:var(--accent)}.service-list strong{font:clamp(26px,3.5vw,58px)/1.1 Anton,Impact,sans-serif;text-transform:uppercase;font-weight:400}.service-list b{font-size:30px;font-weight:400;color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps article{border-top:2px solid var(--accent);padding-top:18px}.steps span{font:13px PlexMono,monospace;color:var(--accent)}.steps h3{font:42px Anton,Impact,sans-serif;text-transform:uppercase;margin:28px 0 10px}.steps p{color:#b8bfc0;max-width:260px}
.site-footer{border-top:1px solid var(--line);margin-top:90px;padding:70px 3.8vw 30px;background:#0c1011}.footer-top{max-width:var(--wrap);margin:auto}.footer-statement{font-size:clamp(70px,11vw,200px);display:flex;align-items:baseline;gap:16px;padding:30px 0 80px}.footer-statement span{color:var(--orange)}.footer-statement b{font:52px Inter,sans-serif;color:var(--accent);margin-left:auto}.footer-bottom{border-top:1px solid var(--line);padding-top:30px;display:flex;align-items:flex-start;gap:30px;max-width:var(--wrap);margin:auto;color:#aab0b0;font-size:13px}.footer-brand{font:46px Anton,sans-serif;color:white;line-height:1}.footer-brand span{color:var(--orange)}.footer-bottom p{margin:10px 0}.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap;margin:10px 0 0 auto}.footer-bottom nav a:hover{color:var(--accent)}.footer-bottom small{margin:10px 0 0 20px;white-space:nowrap}
.inner-page{padding-top:26px;min-height:65vh}.page-intro{margin:20px 0 46px}.page-intro .display{font-size:clamp(70px,9vw,155px);max-width:1450px}.page-intro>p:not(.eyebrow){font-size:clamp(19px,1.6vw,28px);color:#d5d8d8;margin:16px 0 0;max-width:820px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:390px;gap:10px}.work-grid .project-tile:first-child{grid-column:span 2;grid-row:span 2}.work-grid .project-tile:nth-child(4){grid-column:span 2}.client-strip{padding:120px 0 20px}.client-strip h2{font-size:clamp(65px,8vw,135px);margin:22px 0 55px}.client-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.client-pair article{border-top:2px solid var(--accent);padding:25px 0 55px}.client-pair span{font:12px PlexMono,monospace;color:var(--accent)}.client-pair h3{font:50px Anton,sans-serif;text-transform:uppercase;margin:26px 0 8px}.client-pair p{color:#c6cdcd;max-width:430px}.services-page .page-intro{margin-bottom:32px}.services-page .page-intro .display{font-size:clamp(65px,7vw,120px)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{background:#0d1112;border:1px solid #252b2d}.service-card a{display:block}.service-card img{width:100%;height:205px;object-fit:cover}.service-card-head{position:relative;padding:10px 17px 15px;min-height:78px}.service-card-head span{display:flex;align-items:center;gap:12px;font:12px PlexMono,monospace}.service-card-head i{height:2px;width:38px;background:var(--accent)}.service-card-head h2{font-size:clamp(25px,2vw,34px);margin:8px 35px 0 0}.service-card-head b{position:absolute;right:14px;bottom:16px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--orange);font:24px Inter,sans-serif}.service-card p{color:#b4bbbb;font-size:14px;margin:0;padding:0 17px 22px;min-height:78px}.page-end-cta{text-align:center;padding:60px 0 30px}.page-end-cta p{font-size:20px}.page-end-cta .display{font-size:clamp(70px,8vw,130px);margin-bottom:35px}
.about-intro{max-width:1200px}.about-visual{height:550px;position:relative;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover}.about-visual span{position:absolute;bottom:18px;left:18px;font:11px PlexMono,monospace;letter-spacing:.1em;background:#101516bb;padding:8px}.about-page .intro-section{margin-top:90px}.about-page .process-section{padding-top:50px}.contact-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:4vw;align-items:start}.contact-intro .display{font-size:clamp(70px,8vw,135px);margin:30px 0 18px}.contact-intro>p:not(.eyebrow){font-size:clamp(18px,1.55vw,26px);color:#d7dbdc}.contact-art{height:235px;margin-top:38px;background:radial-gradient(ellipse at 82% 8%,#086bca 0,transparent 40%),radial-gradient(ellipse at 70% 0,#08245c 0,transparent 52%),linear-gradient(168deg,transparent 38%,#ff4914 42%,#ffb130 46%,#181317 53%),linear-gradient(120deg,#061019,#081728 60%,#0a0d11);border:1px solid #202b30;box-shadow:inset 0 -25px 55px #0006}.email-block{display:flex;gap:20px;margin-top:35px}.email-block>i{margin-top:8px}.email-block span,.email-block a,.email-block small{display:block}.email-block a{color:var(--orange);font-size:23px}.email-block small{color:#aab1b2;margin-top:4px}.form-panel{border:1px solid #282f31;border-radius:12px;padding:32px 34px;background:#0c1011;box-shadow:0 15px 35px #0003}.form-tabs{display:flex;border-bottom:1px solid #51595b;margin-bottom:26px;gap:34px}.form-tabs button{padding:4px 8px 14px;background:none;color:#9fa5a6;border:0;border-bottom:3px solid transparent;font-size:18px}.form-tabs button[aria-selected=true]{color:#fff;border-color:var(--accent)}.nd-form{display:grid;gap:20px}.nd-form[hidden]{display:none}.nd-form label{display:grid;gap:8px;font-size:15px}.nd-form label span{color:#9da3a4;font-size:13px}.nd-form input,.nd-form select,.nd-form textarea{background:#151a1c;color:#fff;border:1px solid #646b6d;border-radius:7px;padding:13px 15px;width:100%;min-width:0}.nd-form textarea{resize:vertical}.nd-form input:focus,.nd-form select:focus,.nd-form textarea:focus{border-color:var(--accent)}.nd-form .button{width:100%;margin-top:3px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-note,.prefill-note{font-size:13px;color:#b5bdbf;margin:0}.form-status{font-size:14px;min-height:1.4em;margin:0}.form-status.is-error{color:#ff9c7c}.form-status.is-ok{color:var(--accent)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.thanks-dialog{color:#fff;background:#101516;border:1px solid #536064;border-radius:14px;padding:45px;max-width:540px}.thanks-dialog::backdrop{background:#000b}.thanks-dialog .display{font-size:75px;margin:22px 0}.dialog-close{position:absolute;right:17px;top:13px;color:white;background:none;border:0;font-size:30px}
.back-link{display:inline-block;color:#b9c2c3;font-size:14px;margin:0 0 22px}.back-link:hover{color:var(--accent)}.project-hero-image,.article-image{margin:0}.project-hero-image img{width:100%;height:min(62vw,720px);object-fit:cover}.project-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:50px 0;border-bottom:1px solid var(--line)}.project-summary>div{border-top:2px solid var(--accent);padding-top:12px}.project-summary p{font-size:19px;color:#cbd0d0}.reading-page .page-intro{max-width:1100px}.reading-panel{max-width:900px;margin:0 auto;background:#101516;border:1px solid #293032;border-radius:8px;padding:50px 65px;color:#d4d9da}.privacy-copy p,.privacy-copy li{font-size:17px;line-height:1.8}.privacy-copy h4{font:34px Anton,sans-serif;text-transform:uppercase;color:#fff;font-weight:400;margin:40px 0 10px}.privacy-copy a,.faq-outro a{color:var(--orange);text-decoration:underline}.ndfaq-item{border-bottom:1px solid #455052;padding:18px 0}.ndfaq-item:first-child{border-top:1px solid #455052}.ndfaq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:21px;font-weight:600;list-style:none}.ndfaq-q::-webkit-details-marker{display:none}.ndfaq-ic::after{content:'+';color:var(--accent);font-size:30px;font-weight:300}.ndfaq-item[open] .ndfaq-ic::after{content:'−'}.ndfaq-a{color:#bcc5c6;line-height:1.75}.faq-outro{margin-top:40px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{border:1px solid #2f383a;background:#101516}.blog-card img,.blog-placeholder{width:100%;height:260px;object-fit:cover}.blog-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#0b1823,#113f5c 45%,#ff571d);font:110px Anton,sans-serif}.blog-card a>.eyebrow,.blog-card h2,.blog-card p,.blog-card b{margin-left:22px;margin-right:22px}.blog-card h2{font:36px/1.1 Anton,sans-serif;text-transform:uppercase;margin-top:10px}.blog-card p{color:#bec5c6}.blog-card b{display:block;color:var(--orange);margin-bottom:25px}.blog-card .eyebrow{margin-top:20px}.empty-state{grid-column:1/-1;border-top:1px solid var(--accent);padding:35px;font-size:20px}.pagination{margin-top:35px}.article-image img{width:100%;max-height:650px;object-fit:cover}.article-page .reading-panel{margin-top:40px}.not-found{padding-bottom:120px}.not-found .display{font-size:clamp(90px,14vw,240px)}.not-found>p:not(.eyebrow){font-size:22px}.button-row{display:flex;gap:15px;margin-top:30px}
@media(max-width:1150px){.primary-nav{gap:22px}.site-header{gap:3vw}.home-hero{grid-template-columns:42% 38% 20%;grid-template-rows:240px 250px 240px}.hero-copy h1{font-size:clamp(56px,6.6vw,90px)}.hero-copy{padding-right:1vw}.hero-actions{gap:18px}.micro-note{display:none}.tile-meta{top:14px;left:14px;font-size:8px}.service-grid{grid-template-columns:repeat(2,1fr)}.work-grid{grid-auto-rows:300px}.contact-layout{grid-template-columns:1fr 1fr;gap:25px}.contact-intro .display{font-size:7vw}}
@media(max-width:780px){.wrap{width:min(calc(100% - 36px),650px)}.site-header{height:76px;padding:0 18px}.brand,.brand img{width:56px}.brand{flex-basis:56px}.header-cta{margin-left:auto;font-size:12px;gap:10px;padding-left:12px}.header-cta span{width:34px;height:34px}.menu-toggle{display:flex;flex-direction:column;gap:5px;order:3;padding:8px;background:none;border:0;margin-left:3px}.menu-toggle span{height:2px;width:23px;background:white}.primary-nav{display:none;position:absolute;left:0;right:0;top:76px;padding:20px;background:#101516;border-bottom:1px solid #4c5556;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px;border-bottom:1px solid #333;font-size:19px}.home-hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 430px 260px 260px;margin:0 18px 60px;gap:7px}.hero-copy{grid-column:1/-1;grid-row:1;padding:22px 0 30px}.hero-copy h1{font-size:clamp(68px,13vw,105px)}.hero-lead{font-size:18px}.hero-categories{font-size:8px;gap:7px;margin:3px 0 30px}.hero-main{grid-column:1/-1;grid-row:2}.hero-side-one{grid-column:1;grid-row:3}.hero-side-two{grid-column:2;grid-row:3}.hero-bottom-one{grid-column:1;grid-row:4}.hero-bottom-two{grid-column:2;grid-row:4}.hero-side-one,.hero-side-two,.hero-bottom-one,.hero-bottom-two{margin:0}.tile-meta{font-size:8px}.tile-meta strong{font-size:12px}.tile-meta i{width:20px}.intro-section,.work-section,.services-section,.process-section{padding-block:70px}.intro-grid{grid-template-columns:1fr;gap:16px}.intro-grid h2{font-size:clamp(70px,12vw,110px)}.work-feature-grid{grid-template-columns:1fr 1fr}.work-feature-grid .project-tile{height:300px}.work-feature-grid .project-tile:first-child{grid-column:1/-1;height:430px}.steps{grid-template-columns:1fr 1fr}.section-heading .display{font-size:clamp(58px,9vw,90px)}.footer-statement{font-size:clamp(70px,12vw,100px)}.footer-statement b{font-size:28px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr}.footer-bottom nav{grid-column:1/-1;margin:0}.footer-bottom small{margin:0}.page-intro .display{font-size:clamp(70px,11vw,110px)}.work-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.work-grid .project-tile:first-child{grid-column:1/-1;grid-row:span 1;height:400px}.work-grid .project-tile:nth-child(4){grid-column:1/-1}.contact-layout{grid-template-columns:1fr}.contact-intro .display{font-size:clamp(70px,11vw,110px)}.contact-art{height:200px}.form-panel{margin-top:35px}.project-summary{grid-template-columns:1fr;gap:10px}.blog-grid{grid-template-columns:1fr 1fr}.reading-panel{padding:32px}.about-visual{height:390px}}
@media(max-width:500px){.header-cta{font-size:0;padding:4px;border:0}.header-cta span{font-size:22px}.home-hero{grid-template-rows:auto 360px 190px 190px}.hero-copy h1{font-size:clamp(53px,13vw,68px)}.hero-lead br{display:none}.tile-meta{top:10px;left:10px;gap:5px;line-height:1.25}.tile-meta i{width:12px}.tile-meta strong{font-size:10px}.work-feature-grid{grid-template-columns:1fr}.work-feature-grid .project-tile,.work-feature-grid .project-tile:first-child{grid-column:1;height:320px}.section-heading .display{font-size:56px}.steps{grid-template-columns:1fr}.steps h3{margin-top:15px}.service-list a{grid-template-columns:36px 1fr auto;gap:9px}.service-list strong{font-size:32px}.footer-statement{font-size:57px;gap:6px;display:block}.footer-statement b{display:inline-block}.footer-bottom{grid-template-columns:1fr}.footer-bottom nav{grid-column:1}.footer-bottom p{margin:0}.footer-bottom small{margin:0}.work-grid{display:block}.work-grid .project-tile{height:330px;margin:0 0 10px}.work-grid .project-tile:first-child{height:400px}.client-pair{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card img{height:240px}.contact-intro .display{font-size:clamp(62px,13vw,80px)}.form-panel{padding:22px 18px}.form-tabs{gap:10px}.form-tabs button{font-size:15px}.form-two{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}.reading-panel{padding:25px 19px}.ndfaq-q{font-size:17px}.page-intro .display{font-size:65px}.project-hero-image img{height:400px}.button-row{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.display .orange{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--orange);color:transparent;overflow:hidden;vertical-align:baseline;line-height:0}
.hero-side-two{grid-row:2}
@media(max-width:780px){.hero-side-two{grid-row:3}}
@media(min-width:781px){.services-page .page-intro .display{font-size:clamp(65px,6.25vw,110px);white-space:nowrap}.contact-intro .display{font-size:clamp(70px,7.25vw,118px)}}
.nd-form label{display:block}.nd-form input,.nd-form select,.nd-form textarea{display:block;margin-top:8px}
@media(max-width:780px){body{overflow-x:hidden}.home-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy{min-width:0}.hero-copy h1{white-space:normal}.site-header{width:100%;min-width:0}.contact-intro .display{font-size:clamp(58px,10vw,85px)}}
.archive-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:55px;padding-top:20px;font:12px PlexMono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#adb5b6}.archive-links a{color:var(--white);border-bottom:1px solid var(--accent)}.archive-visual{height:440px;background:linear-gradient(140deg,#061d33,#101415 55%,#742712);border:1px solid #283439;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.archive-visual span{font:clamp(70px,12vw,160px)/1 Anton,sans-serif;text-transform:uppercase}.archive-visual small{font:12px PlexMono,monospace;letter-spacing:.14em;color:var(--accent)}.client-pair h3 a:hover{color:var(--accent)}
.hero-actions{gap:20px}.hero-actions .button{white-space:nowrap;flex-shrink:0}

/* Navigation and direct contact */
.primary-nav a{position:relative;padding:10px 0;white-space:nowrap;transition:color .2s}
.primary-nav a[aria-current]{color:var(--accent);font-weight:600}
.primary-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--accent)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.header-actions .header-cta{margin-left:0}
.whatsapp-link{width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid #9ba0a0;border-radius:12px;color:var(--white);transition:color .2s,border-color .2s,background-color .2s}
.whatsapp-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}
@media(max-width:900px){.site-header{gap:24px}.primary-nav{gap:16px}.header-actions{gap:8px}}
@media(max-width:780px){.header-actions{margin-left:auto}.primary-nav a{padding:13px}.primary-nav a[aria-current]{background:var(--accent-tint);padding-left:20px;border-bottom-color:var(--accent)}.primary-nav a[aria-current]::after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto}.whatsapp-link{width:40px;height:40px}}
@media(min-width:781px) and (max-width:950px){.services-page .page-intro .display{white-space:normal}}

/* Navigation follows the current page palette, including hover and active states. */

.primary-nav a:hover,.primary-nav a[aria-current]{color:var(--accent)}
.primary-nav a[aria-current]::after{background:var(--accent)}

.about-page .about-intro .eyebrow i,.about-page .intro-section .eyebrow i,.contact-page .eyebrow i{background:var(--orange)}

.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{overflow:hidden}
.service-card img{height:auto;aspect-ratio:1.8;object-fit:cover;transition:transform .3s}
.service-card a:hover img{transform:scale(1.035)}
.service-card-head{padding:12px 18px 18px;min-height:106px}
.service-card-head i{background:var(--accent)}

.service-card-head h2{font-size:clamp(27px,2.4vw,42px);margin:5px 48px 0 0}
.service-card-head b{right:17px;bottom:20px;width:42px;height:42px}
@media(max-width:1150px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.service-grid{grid-template-columns:1fr}.primary-nav a[aria-current]{background:var(--accent-tint);border-bottom-color:var(--accent)}.service-card-head h2{font-size:32px}}
@media(min-width:501px) and (max-width:780px){.primary-nav a[aria-current]{background:var(--accent-tint);border-bottom-color:var(--accent)}}

/* Keep the detailed process on desktop and make its home-page version quick to scan on mobile. */
.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:middle;flex-shrink:0}
.icon-arrow--up-right{transform:rotate(-45deg)}
.icon-arrow--left{transform:rotate(180deg)}
.icon-arrow--down{transform:rotate(90deg)}
.home-process .steps article>svg,.process-connector{display:none}
@media(max-width:780px){
  .home-process .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;position:relative}
  .home-process .steps article{position:relative;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 8px;border:1px solid #334043;border-top:2px solid var(--accent);border-radius:12px;background:#101516}

  .home-process .steps article:nth-child(3){grid-column:2;grid-row:2}
  .home-process .steps article:nth-child(4){grid-column:1;grid-row:2}
  .home-process .process-connector{display:grid;place-items:center;position:absolute;width:22px;height:22px;z-index:2;color:var(--accent)}
  .home-process .connector-right{right:-23px;top:50%;transform:translateY(-50%)}
  .home-process .connector-down{bottom:-27px;left:50%;transform:translateX(-50%)}
  .home-process .connector-left{left:-23px;top:50%;transform:translateY(-50%)}
  .home-process .process-connector .icon-arrow{width:22px;height:22px}
  .home-process .steps article span,.home-process .steps article p{display:none}
  .home-process .steps article>svg{display:block;width:42px;height:42px;margin-bottom:12px;color:var(--accent)}

  .home-process .steps h3{font-size:29px;margin:0}
}

/* About: the approved split hero and two founders, followed by the existing story. */
.about-page{padding-top:0}
.about-hero{display:grid;grid-template-columns:minmax(0, .9fr) minmax(0,1.6fr);gap:28px;align-items:stretch}
.about-hero .about-intro{margin:0;padding:20px 0 28px;align-self:center;min-width:0}
.about-hero .eyebrow{font-size:10px;letter-spacing:.14em;margin:0 0 28px}
.about-hero .display{font-size:clamp(60px,6.2vw,103px);line-height:.99;white-space:nowrap}
.about-hero .about-intro>p:not(.eyebrow){font-size:clamp(18px,1.4vw,23px);line-height:1.4;margin:22px 0}
.about-hero-actions{display:flex;align-items:center;gap:28px}
.about-hero-actions .button{white-space:nowrap;gap:24px}
.about-hero-actions .micro-note{display:grid;font-size:10px;grid-template-columns:32px auto;column-gap:12px}
.about-hero-actions .micro-note i{width:32px}
.about-hero-visual{margin:0;position:relative;min-height:440px;overflow:hidden;background:var(--panel)}
.about-hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.about-hero-visual figcaption{position:absolute;bottom:12px;right:12px;padding:5px 8px;background:#090c0dbb;font:9px PlexMono,monospace;letter-spacing:.12em;color:#d0d5da}
.about-founders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:18px}
.founder-card{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center;min-width:0}
.founder-card>img{width:100%;height:240px;object-fit:cover;object-position:center 30%}
.founder-copy>i{display:block;width:42px;height:3px;background:var(--accent);margin-bottom:16px}

.founder-copy h2{font:clamp(23px,1.7vw,29px)/1.15 Anton,sans-serif;margin:0 0 8px;font-weight:400}
.founder-copy .founder-role{font:10px/1.6 PlexMono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin:0 0 16px}
.founder-copy>p:last-child{font-size:15px;line-height:1.5;color:#c4caca;margin:0}
.about-page .intro-section{margin-top:70px}
@media(min-width:781px) and (max-width:1150px){.about-hero{grid-template-columns:1fr 1.3fr;gap:22px}.about-hero .display{font-size:6.8vw}.about-hero-actions .micro-note{display:none}.about-founders{gap:24px}.founder-card{gap:16px;grid-template-columns:1fr 1fr}.founder-card>img{height:250px}.founder-copy>p:last-child{font-size:14px}}
@media(max-width:780px){.about-hero{grid-template-columns:1fr;gap:0}.about-hero .about-intro{padding:24px 0 32px}.about-hero .display{font-size:clamp(54px,10.8vw,92px)}.about-hero .eyebrow{font-size:9px;margin-bottom:24px}.about-hero .about-intro>p:not(.eyebrow){font-size:20px;max-width:460px}.about-hero-visual{min-height:0;aspect-ratio:1.75}.about-founders{grid-template-columns:1fr;gap:28px;margin-top:28px}.founder-card{grid-template-columns:1fr 1.1fr;gap:20px}.founder-card>img{height:auto;aspect-ratio:.85;object-position:center}.founder-copy h2{font-size:25px}.founder-copy .founder-role{font-size:9px;letter-spacing:.08em;margin-bottom:12px}.founder-copy>p:last-child{font-size:14px}.about-page .intro-section{margin-top:55px}}
@media(max-width:380px){.about-hero .display{font-size:12.3vw}.about-hero-actions .micro-note{display:none}.founder-card{gap:14px;grid-template-columns:1fr 1.15fr}.founder-copy h2{font-size:22px}.founder-copy>p:last-child{font-size:13px}}
/* Let the image establish its own mobile height, including in Safari grid layouts. */
@media(max-width:780px){.about-hero-visual{aspect-ratio:auto;min-width:0;width:100%}.about-hero-visual img{position:static;height:auto;width:100%;aspect-ratio:auto}}

/* Founder voices and studio facts. */
.about-founders{margin-top:40px;row-gap:26px}
.founders-heading{grid-column:1/-1;margin:0;font:400 clamp(27px,2.6vw,42px)/1.2 Anton,sans-serif;max-width:900px}
.founder-portrait{position:relative;overflow:hidden;min-width:0;background:var(--panel);align-self:start}
.founder-portrait img{width:100%;height:310px;object-fit:cover;object-position:center 15%}
.founder-portrait blockquote{border-top:2px solid var(--accent);padding:18px 20px 22px;margin:0;font:400 clamp(22px,1.8vw,29px)/1.25 Anton,sans-serif;text-wrap:balance}
.founder-copy h3{font:400 clamp(23px,1.7vw,29px)/1.15 Anton,sans-serif;margin:0 0 8px}
.studio-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:42px;padding:30px 0;border-block:1px solid var(--line)}
.studio-facts>div{padding:0 28px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.studio-facts>div:first-child{padding-left:0;border:0}
.studio-facts strong{font:400 clamp(44px,5vw,76px)/1 Anton,sans-serif;color:var(--accent)}

.studio-facts span{font:11px/1.5 PlexMono,monospace;text-transform:uppercase;letter-spacing:.09em;color:#c4caca}
.about-page .intro-section{border-top:0;margin-top:0}
.about-step-marker{display:flex;align-items:center;gap:16px;color:var(--accent)}
.about-step-marker svg{display:block;width:44px;height:44px;flex:none}
.studio-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:50px 0 0}
.studio-principles li{border-top:2px solid var(--accent);padding-top:15px}

.studio-principles span{font:11px PlexMono,monospace;color:var(--muted)}
.studio-principles h3{font:400 clamp(24px,2vw,32px)/1.2 Anton,sans-serif;margin:18px 0 0}
@media(min-width:781px) and (max-width:1150px){.founder-card{grid-template-columns:1fr;align-content:start}.founder-portrait img{height:320px}.founder-copy{padding:4px 0}.founder-copy>p:last-child{max-width:380px}}
@media(max-width:780px){.about-founders{margin-top:32px;gap:28px}.founder-card{grid-template-columns:1fr;gap:20px}.founder-portrait img{height:auto;aspect-ratio:1.1;object-position:center 15%}.founder-portrait blockquote{font-size:clamp(25px,5vw,34px);max-width:440px}.founder-copy h3{font-size:27px}.founder-copy>p:last-child{max-width:460px}.studio-facts{margin-top:34px;padding:24px 0}.studio-facts>div{padding:0 12px}.studio-facts strong{font-size:44px}.studio-facts span{font-size:9px;letter-spacing:.03em}.studio-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin-top:36px}.studio-principles h3{font-size:26px}}
@media(max-width:380px){.studio-facts>div{padding:0 8px}.studio-facts strong{font-size:38px}.studio-principles h3{font-size:23px}}

/* Interaction only: no continuous animation. */
.button,.header-cta,.whatsapp-link,.text-link,.back-link,.form-tabs button,.dialog-close{transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.button .icon-arrow,.header-cta .icon-arrow,.text-link .icon-arrow,.back-link .icon-arrow,.service-card-head b,.service-list b,.footer-statement .icon-arrow{transition:transform .22s ease}
.primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.primary-nav a[aria-current]::after,.primary-nav a:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
  .button:hover,.header-cta:hover,.whatsapp-link:hover,.text-link:hover,.back-link:hover,.form-tabs button:hover,.dialog-close:hover{transform:translateY(-3px)}
  .button:hover .icon-arrow,.header-cta:hover .icon-arrow{transform:translateX(4px)}
  .button:hover .icon-arrow--up-right,.text-link:hover .icon-arrow--up-right,.footer-statement:hover .icon-arrow--up-right{transform:translate(3px,-3px) rotate(-45deg)}
  .back-link:hover .icon-arrow--left{transform:translateX(-4px) rotate(180deg)}
  .service-card a:hover .service-card-head b{transform:translate(2px,-2px)}
  .service-list a:hover b{transform:translate(3px,-3px)}
  .primary-nav a:hover::after{transform:scaleX(1)}
}
.button:active,.header-cta:active,.whatsapp-link:active,.text-link:active,.form-tabs button:active{transform:scale(.97)}
.button:disabled{transform:none;cursor:wait}
@media(max-width:780px){.primary-nav a::after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto;transform:scaleY(0);transform-origin:top}.primary-nav a[aria-current]::after,.primary-nav a:focus-visible::after{transform:scaleY(1)}}
.reveal-ready{transition:opacity .48s ease var(--reveal-delay,0ms),translate .48s ease var(--reveal-delay,0ms)}
.reveal-pending{opacity:0;translate:0 14px}
@media(max-width:780px){.reveal-ready{--reveal-delay:0ms!important}}
@media(prefers-reduced-motion:reduce){
  .reveal-ready,.reveal-pending{opacity:1;translate:none;transition:none}
  .button:hover,.header-cta:hover,.whatsapp-link:hover,.text-link:hover,.back-link:hover,.form-tabs button:hover,.dialog-close:hover,.button:active,.header-cta:active,.whatsapp-link:active,.text-link:active,.form-tabs button:active,.project-tile:hover img,.service-card a:hover img,.service-card a:hover .service-card-head b,.service-list a:hover b{transform:none}
  .button:hover .icon-arrow,.header-cta:hover .icon-arrow{transform:none}
  .button:hover .icon-arrow--up-right,.text-link:hover .icon-arrow--up-right,.footer-statement:hover .icon-arrow--up-right{transform:rotate(-45deg)}
  .back-link:hover .icon-arrow--left{transform:rotate(180deg)}
}
@media print{.reveal-pending{opacity:1;translate:none}}

/* Homepage video previews retain their poster and independent pause control. */
.media-tile .tile-content{display:block;width:100%;height:100%}
/* Fit the actual hero grid row, including 190px phone tiles. */
.home-hero>.project-tile{min-height:0;min-width:0}
.home-hero .project-tile:focus-within .tile-name{opacity:1;transform:none}
.media-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .25s ease}
.media-tile.has-video-frame video{opacity:1}
.about-hero-visual.media-tile{background:#070d0c}
.about-hero-visual.media-tile img,.about-hero-visual.media-tile video{object-fit:contain}
@media(max-width:780px){.about-hero-visual.media-tile img{aspect-ratio:2/1}}
.media-tile .tile-shade{pointer-events:none}
.tile-video-toggle{position:absolute;right:16px;bottom:16px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffffb3;border-radius:50%;color:white;background:#090c0da6;transition:transform .2s,background-color .2s}
.tile-video-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile-video-toggle .video-play{fill:currentColor;stroke:none}
.tile-video-toggle .video-pause,.tile-video-toggle.is-playing .video-play{display:none}
.tile-video-toggle.is-playing .video-pause{display:block}
.media-tile .tile-name{right:70px}
.project-hero-image video{display:block;width:100%;max-height:75vh;background:#050708}
@media(hover:hover) and (pointer:fine){.tile-video-toggle:hover{transform:translateY(-3px);background:#090c0de6}}
@media(max-width:500px){.tile-video-toggle{right:10px;bottom:10px}.media-tile .tile-name{font-size:19px;left:10px;bottom:65px;right:10px}}
@media(prefers-reduced-motion:reduce){.tile-video-toggle:hover{transform:none}}

/* Client logo strip beneath the original name-based client section. */
.client-logo-section{padding:80px 0}
.logo-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}
.logo-heading .display{font-size:clamp(45px,5vw,78px)}
.logo-heading p:not(.eyebrow){color:#b8c1c2;margin:18px 0 0}
.client-logo-rail{overflow-x:auto;border-block:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#4c5855 transparent;overscroll-behavior-x:contain}
.client-logo-track{display:flex;width:max-content}
.client-logo-group{list-style:none;display:flex;align-items:center;gap:46px;flex:none;margin:0;padding:26px 46px 26px 0}
.client-logo-group li{display:grid;place-items:center;width:170px;height:90px;flex:none}
.client-logo-group img{display:block;max-width:165px;max-height:70px;object-fit:contain;filter:grayscale(1);opacity:.76}
.client-logo-group li[data-logo="shadeport-systems"]{width:225px}
.client-logo-group li[data-logo="shadeport-systems"] img{max-width:220px}
.client-logo-group li[data-logo="morgan-beef"] img{max-height:78px}
.work-archive .archive-links{margin-top:0}
@media(max-width:780px){.client-logo-section{padding:60px 0}.logo-heading{align-items:start;flex-direction:column}.client-logo-group{gap:30px;padding-right:30px}.client-logo-group li{width:150px}.client-logo-group img{max-width:145px}.logo-heading .display{font-size:52px}}
@media(max-width:500px){.logo-heading .display{font-size:44px}}


.email-block{display:grid;gap:24px}
.contact-method{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.email-block .contact-icon{display:grid;place-items:center;width:44px;height:44px;margin-top:18px;border:1px solid #737a7d;border-radius:12px;transition:transform .2s ease,color .2s ease,border-color .2s ease,background-color .2s ease}
.email-block .contact-method-link{font-size:clamp(18px,5vw,23px);overflow-wrap:anywhere}
.contact-icon:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.contact-icon:hover{transform:translateY(-3px)}}
.form-required-note{margin:0 0 20px;font-size:13px;color:#b5bdbf}
.nd-form .field-label{font-size:15px;color:var(--white)}
.form-required-note .required-mark,.nd-form .required-mark{color:var(--orange);font-size:inherit}

/* Service details sweep upward from the title bar. */
.service-card{position:relative}
.service-card>img{display:block}
.service-panel{background:#171d20}
.service-card .service-card-head{padding:16px 20px;min-height:126px}
.service-card .service-card-head h2{font-size:clamp(26px,2.3vw,38px);margin:7px 0 0}
.service-toggle{display:none;background:none;border:0;color:#c7d1d4;padding:0;margin-top:10px;cursor:pointer;font:12px Inter,sans-serif;align-items:center;gap:10px;min-height:28px}
.service-card-head .service-toggle span{font:inherit}
.service-card-head .service-toggle-icon{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:white;transition:transform .22s ease}
.service-toggle-icon .icon-arrow{width:24px;height:24px}
.service-toggle-close{display:none!important}
.service-image-toggle{display:none}
.services-enhanced .service-image-toggle{display:block;position:absolute;inset:0 0 136px;width:100%;background:transparent;border:0;cursor:pointer}
.service-image-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}
.services-enhanced .service-card.is-open .service-image-toggle{visibility:hidden}
.service-details{padding:0 20px 22px}
.service-card .service-summary{font-size:14px;line-height:1.5;min-height:0;padding:0;margin:0 0 15px}
.service-details h3{font:11px PlexMono,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 12px}
.service-details ul{list-style:none;padding:0;margin:0 0 18px}
.service-details li{position:relative;padding:0 0 0 13px;margin:7px 0;color:#edf0f0;font-size:14px;line-height:1.45}
.service-details li:before{content:"";position:absolute;width:4px;height:4px;left:0;top:.55em;background:var(--accent)}
.service-actions{padding:14px 20px 18px;background:#171d20;border-top:1px solid #334046}
.service-card .service-enquire{display:flex;justify-content:space-between;width:100%;min-height:48px;padding:12px 18px;font-size:15px;margin:0;gap:24px}
.services-enhanced .service-card{height:470px}
.services-enhanced .service-card>img{height:calc(100% - 136px);width:100%;aspect-ratio:auto;object-fit:cover;object-position:center;background:#0d1112;transition:transform .6s ease}
.services-enhanced #social-media>img{object-position:left center}
.services-enhanced .service-panel{position:absolute;inset:0;display:flex;flex-direction:column;transform:translateY(calc(100% - 136px));transition:transform .75s cubic-bezier(.45,0,.2,1)}
.services-enhanced .service-card-head{flex:none;height:136px}
.services-enhanced .service-toggle{display:flex;position:relative;width:100%;min-height:30px;padding-right:58px}
.services-enhanced .service-details{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#55636b transparent;visibility:hidden;transition:visibility 0s .75s}
.services-enhanced .service-actions{flex:none;visibility:hidden;transition:visibility 0s .75s}
.services-enhanced .service-card.is-open .service-panel{transform:translateY(0)}
.services-enhanced .service-card.is-open .service-card-head{height:96px;min-height:96px}
.services-enhanced .service-card.is-open .service-toggle{position:absolute;right:20px;top:10px;margin:0;width:auto;padding:0}
.services-enhanced .service-card.is-open .service-toggle-icon{display:none}
.services-enhanced .service-card.is-open .service-toggle-close{display:block!important;color:var(--accent);font-size:22px}
.services-enhanced .service-card.is-open .service-actions{visibility:visible;transition-delay:0s}
.services-enhanced .service-card.is-open .service-details{visibility:visible;transition-delay:0s}
.services-enhanced .service-card.is-open>img{transform:scale(1.035)}
.service-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:500px){.services-enhanced .service-card{height:460px}.service-card .service-card-head h2{font-size:30px}}
@media(hover:hover) and (pointer:fine){.service-toggle:hover .service-toggle-icon{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.services-enhanced .service-panel,.services-enhanced .service-card>img,.services-enhanced .service-details,.services-enhanced .service-actions,.service-toggle-icon{transition:none}}

/* Work captions stay below the creative; desktop uses the approved editorial layout. */
.work-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
.work-showcase-card{margin:0;min-width:0}
.work-showcase-card .project-tile{min-height:0;aspect-ratio:16/9}
.work-showcase-portrait .project-tile{aspect-ratio:9/16}
.work-showcase-card .tile-content{position:absolute;inset:0}
.work-showcase-card .tile-meta,.work-showcase-card .tile-name,.work-showcase-card .tile-shade{display:none}
.work-showcase-card .project-tile:hover img{transform:none}
.work-showcase-card figcaption{padding:17px 0 0;border-top:2px solid var(--accent)}
.work-showcase-card h2{margin:0;font:clamp(24px,2.2vw,36px)/1.1 Anton,Impact,sans-serif;text-transform:uppercase}
.work-showcase-card figcaption p{margin:8px 0 0;color:var(--muted);font:10px/1.6 PlexMono,monospace;letter-spacing:.04em;text-transform:uppercase}
.work-showcase-card figcaption p span{color:var(--accent);padding-inline:4px}
@media(min-width:781px){
  .work-showcase{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,clamp(240px,23vw,350px)) auto;gap:24px 12px}
  .work-showcase > .work-showcase-card:nth-child(1){grid-column:1/3;grid-row:1/3}
  .work-showcase > .work-showcase-card:nth-child(2){grid-column:3;grid-row:1}
  .work-showcase > .work-showcase-card:nth-child(3){grid-column:3;grid-row:2}
  .work-showcase > .work-showcase-card:nth-child(-n+3){display:grid;grid-template-rows:minmax(0,1fr) auto}
  .work-showcase > .work-showcase-card:nth-child(-n+3) .project-tile{aspect-ratio:auto;height:100%}
  .work-showcase > .work-showcase-card:nth-child(2) video,.work-showcase > .work-showcase-card:nth-child(2) img{object-position:50% 23%}
}
@media(min-width:781px) and (max-width:1000px){.work-showcase-card figcaption p{font-size:9px;letter-spacing:0}.work-showcase-card h2{font-size:24px}}
@media(max-width:780px){
  .work-page{container-type:inline-size}
  .work-showcase{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(2,clamp(165px,48cqw,190px)) auto;gap:20px 8px}
  .work-showcase > .work-showcase-card{width:auto;justify-self:stretch}
  .work-showcase > .work-showcase-card:nth-child(1){grid-column:1/-1;grid-row:1}
  .work-showcase > .work-showcase-card:nth-child(2){grid-column:1;grid-row:2/4}
  .work-showcase > .work-showcase-card:nth-child(3){grid-column:2;grid-row:2}
  .work-showcase > .work-showcase-card:nth-child(4){grid-column:2;grid-row:3}
  .work-showcase > .work-showcase-card:nth-child(n+2):nth-child(-n+4){display:grid;grid-template-rows:minmax(0,1fr) auto}
  .work-showcase > .work-showcase-card:nth-child(n+2):nth-child(-n+4) .project-tile{height:100%;aspect-ratio:auto}
  .work-showcase > .work-showcase-card:nth-child(2) video,.work-showcase > .work-showcase-card:nth-child(2) img{object-position:50% 25%}
  .work-showcase .work-showcase-card h2{font-size:18px;line-height:1.15;letter-spacing:0}
  .work-showcase > .work-showcase-card:nth-child(1) h2{font-size:24px}
  .work-showcase .work-showcase-card figcaption{padding-top:9px}
  .work-showcase .work-showcase-card figcaption p{font:9px/1.5 PlexMono,monospace;letter-spacing:0;margin-top:5px}
  .work-showcase .work-showcase-card figcaption p span{padding-inline:1px}
  .work-showcase .tile-video-toggle{width:44px;height:44px;right:7px;bottom:7px;padding:12px}
}

/* Keep Safari date/time controls inside their grid tracks, including empty fields. */
.contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr)}
.contact-layout>* , .nd-form, .nd-form label, .form-two{min-width:0}
.form-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.nd-form input,.nd-form select,.nd-form textarea{max-width:100%;box-sizing:border-box}
.nd-form input[type="date"],.nd-form input[type="time"]{display:block;appearance:none;-webkit-appearance:none;min-height:52px;min-inline-size:0;inline-size:100%;max-inline-size:100%;color-scheme:dark}
.nd-form input::-webkit-date-and-time-value{min-width:0;text-align:left}
.nd-form input::-webkit-datetime-edit{padding:0;min-width:0}
.footer-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.footer-socials a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #737a7d;border-radius:50%;color:var(--white);transition:color .2s,border-color .2s,background-color .2s,transform .2s}
.footer-socials svg{width:21px;height:21px}
.footer-socials a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.footer-socials a:hover{transform:translateY(-3px)}}
@media(max-width:780px){.contact-layout{grid-template-columns:minmax(0,1fr)}.nd-form input,.nd-form select,.nd-form textarea{font-size:16px}}
@media(max-width:500px){.form-two{grid-template-columns:minmax(0,1fr)}}

/* Two-step call request: preferred timing, then three essential contact fields. */
.call-request section,.call-details{min-width:0}
.call-request [hidden]{display:none!important}
.call-progress{display:flex;gap:8px;margin-bottom:4px}
.call-progress span{height:3px;flex:1;background:#344044}
.call-progress .is-active{background:var(--accent)}
.call-request .call-step-label{font:10px/1.5 PlexMono,monospace;letter-spacing:.1em;color:var(--accent);margin:0 0 16px}
.call-request h2{font-size:clamp(36px,3.3vw,48px);margin:0 0 18px}
.call-lead{color:#b9c0c1;font-size:14px;margin:0 0 28px}
.call-month-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.call-month-heading strong{font-size:15px}
.call-request button:not(.button){color:var(--white);background:#141b1d;border:1px solid #526064;border-radius:7px;min-height:44px}
.call-month-heading button{width:44px;display:grid;place-items:center}
.call-month-heading .icon-arrow{width:18px;height:18px}
.call-weekdays,.call-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.call-weekdays{text-align:center;font-size:11px;color:#acb6b8;margin-bottom:6px}
.call-request .call-days button{padding:0;background:transparent;border-color:transparent;font-size:14px}
.call-request button:disabled{opacity:.35;cursor:default}
.call-request .call-days button[aria-current=date]{border-color:#526064}
.call-request button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#090c0d}
.call-request button:not(:disabled):not(.button):hover{border-color:var(--accent)}
.call-time-label{font-size:14px;margin:24px 0 12px}
.call-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.call-times button{font-size:14px}
.call-flexible{width:100%;margin:16px 0;font-size:14px}
.call-request .call-selection{color:var(--accent);font-size:13px;line-height:1.6;margin:16px 0}
.call-calendar-ui>.form-note{margin:0}
.call-request .button{width:100%;min-height:54px;font-size:15px;padding:16px 18px;gap:12px}
.call-details{display:grid;gap:18px;border:0;padding:0;margin:0;width:100%}
.call-details h2,.call-details .call-step-label,.call-details .call-selection,.call-details .form-required-note,.call-details .form-note{margin:0}
.call-back{display:flex;gap:10px;align-items:center;padding:9px 13px;justify-self:start;font-size:14px}
.call-back .icon-arrow{width:18px;height:18px}
.call-context{border-top:1px solid #394144;padding-top:5px}
.call-context summary{padding:12px 0;min-height:44px;color:var(--accent);font-size:14px;cursor:pointer}
.call-context>div{display:grid;gap:18px;padding-top:12px}
.call-request.is-enhanced .call-native-timing{display:none}
.call-request:not(.is-enhanced) .call-progress,.call-request:not(.is-enhanced) .call-step-label,.call-request:not(.is-enhanced) .call-selection{display:none}
.call-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:380px){.call-weekdays,.call-days{gap:2px}.call-request .call-days button{font-size:13px}}

/* Show the complete contact explainer frame, including its on-screen copy. */
.contact-explainer{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;margin:38px 0 0;background:#070d0c;border:1px solid #202b30}
.contact-explainer img{display:block;width:100%;height:100%;object-fit:contain}
.contact-explainer.media-tile video{object-fit:contain}

.form-fields{display:grid;gap:20px;min-width:0;width:100%;border:0;padding:0;margin:0}
.form-unavailable{color:#d7dbdc;line-height:1.7;margin:0}
.form-unavailable a{text-decoration:underline;color:var(--accent)}
.form-panel:not(.forms-ready) .form-tabs,.form-panel:not(.forms-ready) .nd-form,.form-panel:not(.forms-ready)>[data-project-required]{display:none}
.form-panel.forms-ready .form-unavailable{display:none}

/* Package scope remains readable inside the existing service disclosure. */
.service-card .service-scope-note{padding:14px 0 0;margin:14px 0 0;min-height:0;border-top:1px solid #465156;font-size:12px;line-height:1.55;color:#c4cbcd}
#saas-explainer-video .service-card-head h2{font-size:clamp(24px,2.1vw,34px);line-height:1.05}

/* Confirmation popup: scoped actions and prominent email reminder. */
#nd-thanks{width:min(540px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(24px,4vw,45px)}
#nd-thanks .display{font-size:clamp(48px,12vw,75px)}
#nd-thanks .thanks-notice{margin:22px 0 0;padding:15px 17px;border-left:3px solid var(--lime);background:rgba(197,255,36,.09);color:#f4f3eb;font-size:14px;font-weight:600;line-height:1.6}
#nd-thanks .thanks-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
#nd-thanks .thanks-actions .button{gap:18px;padding:14px 17px;font-size:14px;min-height:50px}
#nd-thanks .thanks-services{color:#f4f3eb}
@media(max-width:480px){#nd-thanks .thanks-actions{flex-direction:column}#nd-thanks .thanks-actions .button{width:100%}}
