:root{--ink:#14131a;--muted:#66656e;--blue:#2464ed;--paper:#fff;--line:#e9e9ed;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}svg,img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.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}.skip-link{position:fixed;top:0;left:1rem;z-index:100;padding:.7rem 1rem;background:var(--ink);color:#fff;transform:translateY(-120%)}.skip-link:focus{transform:none}
.site-header{width:min(calc(100% - 80px),var(--max));margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;flex-shrink:0}.brand-logo{width:180px;height:65px;object-fit:contain;border-radius:8px}.primary-nav{display:flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:600}.primary-nav>a:not(.nav-cta):hover{color:var(--blue)}.nav-cta{padding:.85rem 1.45rem;border-radius:50px;background:var(--ink);color:#fff}.nav-cta:hover{background:var(--blue)}.menu-toggle{display:none;border:0;background:none;padding:.65rem;z-index:30}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;margin:5px 0;background:var(--ink)}
.hero{width:min(calc(100% - 80px),var(--max));margin:36px auto 0;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:4rem;padding:40px 0 70px}.hero-grid{display:none}.eyebrow,.section-index{font-size:.875rem;font-weight:600;letter-spacing:.025em;margin:0 0 1.6rem}.eyebrow{color:var(--muted)}h1,h2,h3,p{overflow-wrap:break-word}.hero h1{margin:0;font-size:clamp(3.4rem,5.8vw,5.3rem);line-height:1.035;letter-spacing:-.058em;font-weight:750}.hero h1 em{font-style:normal;color:var(--blue)}.hero-intro{font-size:1.0625rem;color:var(--muted);max-width:480px;margin:1.7rem 0 0;line-height:1.75}.hero-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin:2rem 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:52px;border-radius:50px;padding:.9rem 1.5rem;font-size:.9rem;font-weight:650;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary,.button-dark{background:var(--ink);color:#fff}.button-primary:hover,.button-dark:hover{background:var(--blue)}.text-link{font-size:.9rem;font-weight:600;border-bottom:1px solid #bdbdc4;padding-bottom:3px}.text-link:hover{color:var(--blue)}.hero-points{display:flex;gap:1.2rem;list-style:none;padding:1.6rem 0 0;margin:2rem 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.hero-points li{flex:1}.hero-points span{display:block;color:var(--ink);font-size:.75rem;margin-bottom:.3rem}
.cad-visual{position:relative;min-width:0;border-radius:30px;background:#0869ed;box-shadow:0 26px 55px -32px #124b9680;overflow:hidden;transform:rotate(-3deg)}.cad-visual svg{width:100%;height:auto; padding:10px 0;filter:drop-shadow(0 18px 18px #003d9c55)}.cad-visual .measure{stroke:#fff;opacity:.55}.cad-visual .measure-copy{fill:#fff}.cad-visual .model{stroke:#a9ceff}.visual-label{position:absolute;top:24px;font-size:.75rem;letter-spacing:.07em;color:#fff}.label-a{left:24px}.label-b{right:24px}.visual-footer{display:flex;justify-content:space-between;padding:1.2rem 1.5rem;background:#035bd9;color:#fff;font-size:.75rem;letter-spacing:.08em}.visual-footer strong{font-weight:500}
.service-strip{max-width:var(--max);margin:0 auto;border-block:1px solid var(--line);overflow:hidden}.marquee-track{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 1rem;color:#6a6973;font-size:.75rem;font-weight:600;letter-spacing:.08em}.marquee-track span{white-space:nowrap}.marquee-track i{font-style:normal;color:#b0afb9}.marquee-track span:nth-of-type(n+5),.marquee-track i:nth-of-type(n+4){display:none}
.section{width:min(calc(100% - 80px),var(--max));margin:auto;padding:100px 0}.section-index{color:var(--muted)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:5rem;align-items:end;margin-bottom:3rem}h2{font-size:clamp(2.3rem,3.6vw,3.5rem);letter-spacing:-.05em;line-height:1.13;margin:0;font-weight:700}.section-heading>p{color:var(--muted);margin:0;max-width:410px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{position:relative;padding:1.5rem;border-radius:24px;background:#f5f5f7;transition:transform .2s;min-width:0}.service-card:hover{transform:translateY(-5px)}.service-card:nth-child(2){background:#edf3ff}.service-card:nth-child(3){background:#f1effa}.service-card:nth-child(4){background:#f1f5f2}.card-number{font-size:.75rem;color:var(--muted)}.service-card svg{width:55px;height:55px;margin:2.2rem 0 2rem;fill:none;stroke:var(--ink);stroke-width:1.5}.featured svg{stroke:var(--blue)}.service-card h3{font-size:1.125rem;line-height:1.35;letter-spacing:-.03em;margin:0 0 1rem}.service-card p{font-size:1rem;color:var(--muted);margin:0;line-height:1.65}.service-card ul{list-style:none;padding:0;margin:1.6rem 0 0;font-size:.875rem}.service-card li{padding:.55rem 0;border-top:1px solid #dedee580}
.product-section{padding:0 40px 100px}.product-shell{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:60px;border-radius:32px;background:#f6f6f8}.product-heading{align-self:center;min-width:0}.product-kicker{display:inline-block;background:white;border:1px solid var(--line);padding:.4rem .9rem;border-radius:30px;font-size:.8rem;margin:0 0 1.2rem}.product-heading h2{font-size:clamp(2.9rem,4.5vw,4.6rem)}.product-heading h2 em{font-style:normal;color:var(--blue);display:block}.product-lead{color:var(--muted);margin:1.5rem 0 0;max-width:450px}.product-actions{display:flex;align-items:flex-start;flex-direction:column;gap:.9rem;margin-top:1.7rem}.product-actions>span{font-size:.875rem;color:var(--muted)}.product-showcase{background:#17171d;color:white;border-radius:24px;align-self:center;padding:2rem;min-width:0}.product-topline{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #37373d;padding-bottom:1rem;font-size:.75rem;color:#b0b0bd;letter-spacing:.05em}.product-topline strong{color:#bade95;font-weight:500}.product-logo-lockup{display:flex;align-items:center;gap:1.7rem;padding:3rem 0 2rem}.product-logo-lockup>div{display:grid;line-height:1}.product-logo-lockup small{font-size:.875rem;letter-spacing:.3em;margin-bottom:.7rem;color:#a4bfff}.product-logo-lockup b{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.06em}.product-cube{display:none}.product-tagline{font-size:1.1rem;color:#ececf2;margin:0}.product-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.product-tags span{border:1px solid #45454d;border-radius:20px;padding:.35rem .7rem;font-size:.75rem;color:#d5d5de}.product-formats{display:flex;flex-wrap:wrap;gap:1rem;border-top:1px solid #37373d;padding-top:1.1rem;margin-top:2rem;font-size:.75rem;color:#b0b0bd}.product-formats strong{margin-left:auto;color:#a4bfff;font-weight:500}
.process{display:grid;grid-template-columns:1fr 1fr;gap:6rem;border-top:1px solid var(--line)}.process-panel{padding:1rem 0}.process-intro{color:var(--muted);max-width:420px;margin:1.5rem 0 2rem}.process-steps{padding:0;margin:0;list-style:none}.process-steps li{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.process-steps li:first-child{padding-top:0}.process-steps li>span{font-size:.875rem;color:var(--blue);padding-top:.2rem}.process-steps h3{font-size:1.125rem;margin:0 0 .4rem;letter-spacing:-.025em}.process-steps p{margin:0;color:var(--muted)}.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:6rem;border-top:1px solid var(--line)}.deliverables-copy>p:last-child{color:var(--muted);max-width:430px;margin-top:1.5rem}.format-cloud{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:1rem}.format-cloud span{background:#f5f5f7;border:1px solid var(--line);border-radius:16px;padding:1rem 1.4rem;font-size:1.0625rem;font-weight:600}.format-cloud .large{font-size:1.5rem;padding:1.3rem 1.6rem}.format-cloud .accent{background:var(--blue);color:#fff;border-color:var(--blue)}.format-cloud .outline{background:#fff;border-style:dashed;font-size:.875rem;color:var(--muted)}
.cta-section{margin:0 40px 40px;padding:80px 24px;background:#f0f4ff;border-radius:32px;text-align:center}.cta-inner{max-width:850px;margin:auto}.cta-section p:not(.section-index){color:var(--muted);margin:1.5rem 0 2rem}.site-footer{width:min(calc(100% - 80px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:20px 0 40px;font-size:.875rem;color:var(--muted)}.footer-logo{width:145px;height:55px}.reveal{opacity:1}.reveal.visible{animation:arrive .45s ease both}@keyframes arrive{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.primary-nav{gap:1.2rem}.hero{gap:2rem}.hero h1{font-size:4.4rem}.hero-points{gap:.5rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-shell{padding:36px;gap:2rem}.process,.deliverables{gap:3rem}.product-showcase{padding:1.5rem}}
@media(max-width:760px){.site-header{width:calc(100% - 40px);min-height:90px}.brand-logo{width:155px;height:58px}.menu-toggle{display:block}.primary-nav{display:none;position:fixed;inset:0;background:#fff;padding:110px 24px 40px;z-index:25;flex-direction:column;align-items:stretch;gap:0;overflow:auto}.primary-nav.open{display:flex}.primary-nav a{padding:1.2rem;font-size:1.15rem;border-bottom:1px solid var(--line)}.primary-nav .nav-cta{margin-top:1rem;text-align:center}.hero{width:calc(100% - 40px);margin:10px auto 0;grid-template-columns:1fr;padding:30px 0 50px;gap:3rem}.hero h1{font-size:clamp(3.4rem,10vw,4.5rem)}.hero-intro{max-width:540px}.hero-actions{gap:1.2rem}.hero-points{gap:1rem;max-width:520px}.cad-visual{width:calc(100% - 12px);max-width:480px;justify-self:center;transform:rotate(-2deg)}.service-strip{margin-inline:20px}.marquee-track{flex-wrap:wrap;gap:.8rem 1.5rem;justify-content:center;font-size:.75rem}.marquee-track i{display:none}.section{width:calc(100% - 40px);padding:65px 0}.section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.section-heading>p{max-width:540px}.product-section{padding:0 20px 65px}.product-shell{grid-template-columns:1fr;padding:30px 24px;border-radius:24px;gap:2rem}.product-showcase{padding:1.7rem}.product-heading h2{font-size:3.6rem}.product-logo-lockup b{font-size:3rem}.process,.deliverables{grid-template-columns:1fr;gap:2rem}.process-panel{padding:0}.cta-section{margin:0 20px 20px;padding:60px 22px;border-radius:24px}.cta-section h2 br{display:none}.site-footer{width:calc(100% - 40px);flex-wrap:wrap;gap:1rem;padding-bottom:30px}.site-footer p{margin:0}.site-footer p:last-child{width:100%}}
@media(max-width:460px){.service-grid{grid-template-columns:1fr}.service-card{padding:1.8rem}.service-card svg{margin:1.5rem 0}.hero-points{font-size:.875rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(2.8rem,12vw,3.6rem)}.eyebrow{font-size:.8rem}.visual-label{font-size:.65rem;top:16px}.label-a{left:16px}.label-b{right:16px}.format-cloud{gap:.6rem}.format-cloud span{padding:.8rem 1rem}.product-shell{padding:28px 18px}.product-showcase{padding:1.3rem}.product-logo-lockup b{font-size:2.5rem}.product-formats{gap:.7rem}.product-formats strong{margin-left:0}.button{max-width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Legal pages share the landing page's typography and navigation. */
.site-footer{flex-wrap:wrap}.legal-links{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;width:100%;padding-top:1.25rem;border-top:1px solid var(--line)}.legal-links a:hover{color:var(--blue)}.legal-header{border-bottom:1px solid var(--line)}.legal-header .legal-home{font-weight:600;font-size:.9rem}.legal-page{width:min(calc(100% - 40px),800px);margin:0 auto;padding:60px 0 85px}.legal-page h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.1;letter-spacing:-.05em;margin:0 0 1rem}.legal-page .legal-meta{font-size:.875rem;color:var(--muted);margin-bottom:2rem}.legal-page h2{font-size:1.45rem;line-height:1.3;letter-spacing:-.025em;margin:2.5rem 0 1rem;scroll-margin-top:25px}.legal-page p,.legal-page li{color:#53525d}.legal-page li{margin:.6rem 0}.legal-page a:not(.button){color:#2056c4;text-decoration:underline;text-underline-offset:3px}.legal-page .legal-summary{padding:1.4rem 1.6rem;background:#f0f4ff;border-radius:20px;margin:2rem 0}.legal-page .legal-summary p{margin:0}.legal-toc{padding:1.25rem 1.5rem;border:1px solid var(--line);border-radius:20px}.legal-toc ol{padding-left:1.3rem;columns:2;column-gap:2rem}.legal-toc li{break-inside:avoid;font-size:.9rem}.legal-page ul{padding-left:1.4rem}@media(max-width:560px){.legal-toc ol{columns:1}.legal-page{padding-top:40px}.legal-header{gap:1rem}.legal-header .legal-home{font-size:.875rem}.legal-links{gap:.8rem 1.2rem}}

/* Preserve the supplied SSN logo without cropping or recolouring. */
.brand-logo{width:180px;height:82px;object-fit:contain;border-radius:0}.footer-logo{width:145px;height:65px}@media(max-width:760px){.brand-logo{width:145px;height:65px}.footer-logo{width:130px;height:58px}}

/* Studio collection: local artwork, shared CAD typography, SSN Prints colours. */
.product-shell{background:linear-gradient(135deg,#f1f6ff,#f6f8f4 60%,#fff9e9);gap:3rem}.product-heading h2 em{color:#1f51a3}.product-showcase{background:#0f1b2d}.product-topline{flex-wrap:wrap}.prints-logo{background:#fff;border-radius:16px;margin:1.5rem 0;padding:18px}.prints-logo img{width:100%;height:150px;object-fit:contain}.prints-steps{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;padding:0;list-style:none;counter-reset:steps;font-size:.8rem;margin:1.5rem 0}.prints-steps li{counter-increment:steps}.prints-steps li::before{content:counter(steps) ' / ';color:#bade95}.product-format-note{font-size:.8rem;line-height:1.6;color:#c5cedd;border-top:1px solid #394456;padding-top:1rem;margin-bottom:0}.studio-collection{grid-column:1/-1;min-width:0}.collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.collection-heading h3{font-size:1.6rem;letter-spacing:-.04em;margin:0}.collection-heading p{font-size:.875rem;color:var(--muted);margin:0}.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.studio-card{display:flex;flex-direction:column;background:white;border:1px solid #e0e6ed;border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s}.studio-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px -15px #1f51a360}.studio-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#eef1f6}.studio-copy{padding:1.25rem;display:flex;flex-direction:column;flex:1}.studio-category{font-size:.7rem;color:#42608a;margin:0 0 .4rem}.studio-copy h3{display:flex;justify-content:space-between;gap:.5rem;font-size:1.2rem;line-height:1.3;margin:0}.studio-copy h3 span{color:#1f51a3}.studio-copy>p:not(.studio-category){color:var(--muted);font-size:.875rem;line-height:1.65;margin:.8rem 0 1.2rem}.studio-link{margin-top:auto;font-size:.8rem;font-weight:700;color:#1f51a3}.more-studios{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;margin:1.5rem 0}.more-studios a{padding:.5rem .8rem;border:1px solid #d3dce8;background:#fff;border-radius:24px;color:#1f51a3}.studio-pipeline{border-top:1px solid #d9e1eb;padding-top:1.2rem;color:var(--muted);font-size:.875rem}.studio-pipeline summary{cursor:pointer;min-height:44px;color:var(--ink);font-weight:600}.studio-pipeline summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.studio-pipeline .text-link{display:inline-block;padding:.5rem 0}.product-actions .button{background:#1f51a3}.product-actions .button:hover{background:#143c7c}
@media(max-width:1050px){.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-shell{gap:2rem}.product-heading h2{font-size:clamp(2.6rem,10vw,3.6rem)}}
@media(max-width:540px){.studio-grid{grid-template-columns:1fr}.studio-copy{padding:1.3rem}.product-actions .button{padding:.9rem 1.1rem;gap:.6rem}.prints-logo img{height:125px}}
