:root{--ink:#0d0d0d;--ink-soft:#242424;--blue:#2575fc;--blue-deep:#1359c8;--sky:#dff7fc;--paper:#f4f2ed;--paper-bright:#fbfaf7;--line:#c8c9c7;--body:#374153;--muted:#667083;--white:#fff;--font-display:"Gloock",Georgia,serif;--font-body:"Onest",Arial,sans-serif;--wrap:min(90%,1100px);--wide:min(94%,1440px);--nav-height:5.25rem;--ease:cubic-bezier(.2,.75,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}figure{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:500;transform:translateY(-180%);background:var(--white);padding:.75rem 1rem}.skip-link:focus{transform:none}
.site-header{position:absolute;inset:0 0 auto;z-index:50;width:var(--wide);height:var(--nav-height);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;color:var(--white)}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;line-height:1.05}.brand-mark{width:2.65rem;height:2.65rem;display:grid;place-items:center;border:1px solid currentColor;font-size:.66rem;font-weight:600;letter-spacing:.06em}.brand-name{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:clamp(1.3rem,2.5vw,2.6rem);font-size:.76rem;font-weight:500}.desktop-nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;border-bottom:1px solid transparent}.desktop-nav a:not(.nav-contact):hover,.desktop-nav a:not(.nav-contact):focus-visible{border-color:currentColor}.nav-contact{padding-inline:1.1rem;border:1px solid rgba(255,255,255,.58)}.nav-contact:hover,.nav-contact:focus-visible{background:var(--white);color:var(--ink)}.menu-toggle{display:none;width:3rem;height:3rem;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.55);padding:.8rem;cursor:pointer}.menu-toggle span,.menu-close span{display:block;height:1px;background:currentColor}.menu-toggle span+span{margin-top:.45rem}
.mobile-menu{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--white);display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s}.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu nav{width:min(82%,28rem);display:grid}.mobile-menu nav a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding-block:1rem;font-family:var(--font-display);font-size:clamp(1.5rem,8vw,2.5rem)}.mobile-menu nav a:last-child{font-family:var(--font-body);font-size:1rem;color:#d7d7d7}.menu-close{position:absolute;top:1.1rem;right:5%;z-index:2;width:3rem;height:3rem;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.55);cursor:pointer}.menu-close span{position:absolute;width:1.2rem;left:.85rem;top:1.45rem;transform:rotate(45deg)}.menu-close span+span{transform:rotate(-45deg)}
.hero{height:100vh;height:100svh;min-height:650px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);background:var(--ink);color:var(--white);overflow:hidden}.hero-copy{min-width:0;padding:calc(var(--nav-height) + clamp(2.2rem,5vw,5rem)) max(4vw,calc((100vw - min(94vw,1440px))/2)) clamp(2.4rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center}.hero-kicker,.section-kicker{margin-bottom:1.35rem;color:#8ee7fb;font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.hero h1{max-width:11ch;margin-bottom:1.35rem;font-family:var(--font-display);font-size:clamp(3.4rem,5.2vw,5.2rem);line-height:.98;letter-spacing:-.025em}.hero-lead{max-width:58ch;margin-bottom:1.7rem;color:#d7d7d7;font-size:clamp(.98rem,1.15vw,1.13rem);line-height:1.65}.hero-actions,.closing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.35rem}.button{display:inline-flex;min-height:3.1rem;align-items:center;justify-content:center;padding:.8rem 1.35rem;text-decoration:none;font-size:.78rem;font-weight:600;transition:background .25s,color .25s,transform .25s}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-light{background:var(--white);color:var(--ink)}.button-light:hover,.button-light:focus-visible{background:var(--sky)}.button-blue{background:var(--blue-deep);color:var(--white)}.button-blue:hover,.button-blue:focus-visible{background:var(--ink)}.text-link{display:inline-flex;min-height:2.75rem;align-items:center;font-size:.79rem;font-weight:600;text-underline-offset:.3rem}.hero-phone{color:#d7d7d7}.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto;padding-top:clamp(1.5rem,4vh,3rem);border-top:1px solid rgba(255,255,255,.2)}.hero-proof span{display:grid;gap:.15rem;padding-right:.85rem;color:#b9b9b9;font-size:.68rem;line-height:1.45}.hero-proof span+span{padding-left:.85rem;border-left:1px solid rgba(255,255,255,.2)}.hero-proof b{color:var(--white);font-size:.73rem;font-weight:600}.hero-media{position:relative;min-width:0;height:100%;overflow:hidden}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.42),transparent 28%),linear-gradient(0deg,rgba(13,13,13,.65),transparent 30%);pointer-events:none}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:56% center}.hero-media figcaption{position:absolute;z-index:1;right:max(3vw,calc((100vw - min(94vw,1440px))/2));bottom:clamp(2rem,5vw,4rem);max-width:18rem;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.72)}.hero-media figcaption span,.hero-media figcaption strong{display:block}.hero-media figcaption span{margin-bottom:.35rem;color:#d7d7d7;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.hero-media figcaption strong{font-family:var(--font-display);font-size:1.25rem;line-height:1.25;font-weight:400}
.approach,.services,.work,.process,.closing{padding:clamp(5rem,9vw,9rem) 0}.approach{width:var(--wrap);margin-inline:auto;display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(0,2.1fr) minmax(12rem,.8fr);gap:clamp(2rem,6vw,6rem);align-items:start}.approach-label{padding-top:.6rem;color:var(--blue-deep);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.approach h2,.section-head h2,.work h2,.process h2,.closing h2{margin-bottom:1.5rem;font-family:var(--font-display);font-size:clamp(2.7rem,5vw,5.3rem);line-height:1.01;letter-spacing:-.025em}.approach-copy p{max-width:70ch;margin:0;color:var(--body)}.approach-note{padding-top:1rem;border-top:1px solid var(--ink)}.approach-note span{color:var(--blue-deep);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.approach-note p{margin:.75rem 0 0;color:var(--body);font-size:.86rem}
.services{background:var(--paper-bright)}.section-head,.service-list,.work-head,.work-spread,.process-copy,.process-console,.closing{width:var(--wrap);margin-inline:auto}.section-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(14rem,.75fr);gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(3rem,6vw,5rem)}.section-kicker{color:var(--blue-deep)}.section-head h2{max-width:16ch;margin-bottom:0}.section-head>p{max-width:38ch;margin:0;color:var(--body)}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:minmax(2.5rem,.35fr) minmax(12rem,1.25fr) minmax(0,1.75fr) minmax(9rem,.75fr);gap:clamp(1rem,3vw,3rem);align-items:baseline;padding:clamp(1.7rem,3vw,2.8rem) 0;border-bottom:1px solid var(--line)}.service-index{color:var(--blue-deep);font-size:.68rem;font-weight:600}.service-row h3{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,2.5vw,2.7rem);line-height:1.08}.service-row p{max-width:70ch;margin:0;color:var(--body)}.service-use{color:#5d687a;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.work{background:var(--ink);color:var(--white);overflow:hidden}.work .section-kicker{color:#8ee7fb}.work-head{display:grid;grid-template-columns:.7fr 2.3fr;gap:2rem;align-items:start;margin-bottom:clamp(3rem,6vw,5rem)}.work-head h2{max-width:15ch;margin:0}.work-spread{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);grid-template-rows:auto auto;gap:clamp(1.2rem,3vw,3rem);align-items:end}.work-primary{grid-row:1/3}.work-primary img{width:100%;aspect-ratio:4/3;object-fit:cover}.work-secondary{width:84%}.work-secondary img{width:100%;aspect-ratio:4/3;object-fit:cover}.work-spread figcaption{display:grid;gap:.35rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.45)}.work-spread figcaption b{font-family:var(--font-display);font-size:1.2rem;font-weight:400}.work-spread figcaption span,.work-note{color:#c7c7c7;font-size:.85rem}.work-note{max-width:48ch;margin:0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.22)}
.process{background:var(--paper)}.process-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr) minmax(12rem,.8fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;margin-bottom:clamp(3rem,5vw,4rem)}.process-copy h2{max-width:14ch;margin:0}.process-copy>p:last-child{margin-top:.5rem;color:var(--body)}.process-console{display:grid;grid-template-columns:minmax(14rem,.9fr) minmax(0,2fr);background:var(--ink);color:var(--white)}.process-tabs{display:grid;border-right:1px solid rgba(255,255,255,.2)}.process-tabs button{display:flex;gap:1rem;align-items:center;min-height:4.5rem;padding:1rem 1.25rem;color:#ededed;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.17);text-align:left;cursor:pointer}.process-tabs button:last-child{border-bottom:0}.process-tabs button[aria-selected=true]{background:var(--blue-deep);color:var(--white)}.process-tabs span{font-size:.65rem;letter-spacing:.1em}.process-panel{min-height:25rem;padding:clamp(2.2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;outline-offset:-4px}.process-status{color:#8ee7fb;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.process-panel h3{max-width:18ch;margin:1.4rem 0 1rem;font-family:var(--font-display);font-size:clamp(2.3rem,4.2vw,4.6rem);line-height:1.01}.process-panel p{max-width:65ch;color:#d0d0d0}.process-progress{height:2px;margin:2rem 0 1.5rem;background:rgba(255,255,255,.2);overflow:hidden}.process-progress i{display:block;width:25%;height:100%;background:#51d4f2;transition:width .45s var(--ease)}.process-controls{display:flex;justify-content:flex-end;gap:.75rem}.process-controls button{min-height:2.75rem;padding:.6rem 1rem;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.4);cursor:pointer}.process-controls button:disabled{color:#bfbfbf;border-color:rgba(255,255,255,.28);opacity:1;cursor:not-allowed}.process-controls button:hover:not(:disabled),.process-controls button:focus-visible{background:var(--white);color:var(--ink)}
.closing{text-align:center}.closing .section-kicker{margin-bottom:1.2rem}.closing h2{max-width:15ch;margin-inline:auto}.closing>p:not(.section-kicker){max-width:65ch;margin:0 auto 2rem;color:var(--body)}.closing-actions{justify-content:center}.site-footer{padding:clamp(3rem,5vw,5rem) max(3vw,calc((100vw - min(94vw,1440px))/2));background:var(--ink);color:var(--white);display:grid;grid-template-columns:1.1fr .65fr 1.35fr .8fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}.footer-nav,.footer-contact{display:grid;gap:.25rem}.footer-nav a,.footer-contact a{min-height:2.5rem;display:flex;align-items:center;color:#d7d7d7;text-underline-offset:.3rem}.site-footer address{font-style:normal;color:#d7d7d7}.footer-meta{grid-column:2/-1;margin:1rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);color:#a7a7a7;font-size:.75rem}:focus-visible{outline:2px solid #51d4f2;outline-offset:3px}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.hero h1{font-size:clamp(3.2rem,6vw,4.6rem)}.approach{grid-template-columns:minmax(7rem,.55fr) minmax(0,2fr)}.approach-note{grid-column:2}.service-row{grid-template-columns:2.5rem minmax(12rem,1fr) minmax(0,1.5fr)}.service-use{grid-column:2}.process-copy{grid-template-columns:.6fr 2fr}.process-copy>p:last-child{grid-column:2}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;grid-template-rows:minmax(0,55fr) minmax(0,45fr)}.hero-copy{grid-row:1;padding:calc(var(--nav-height) + 1.5rem) 5% 1.5rem}.hero h1{max-width:12ch;margin-bottom:1rem;font-size:clamp(3rem,8vw,4.7rem)}.hero-lead{margin-bottom:1.2rem}.hero-proof{margin-top:1.5rem;padding-top:1.2rem}.hero-media{grid-row:2}.hero-media:after{background:linear-gradient(180deg,rgba(13,13,13,.42),transparent 30%),linear-gradient(0deg,rgba(13,13,13,.65),transparent 38%)}.hero-media figcaption{right:5%;bottom:1.25rem}.approach{grid-template-columns:1fr}.approach-note{grid-column:1}.section-head{grid-template-columns:1fr}.section-head>p{max-width:60ch}.work-head{grid-template-columns:1fr;gap:.75rem}.process-copy{grid-template-columns:1fr}.process-copy>p:last-child{grid-column:1;max-width:60ch}.site-footer{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1}}
@media(max-width:767px){:root{--nav-height:4.8rem}.hero{height:auto;min-height:100svh;grid-template-rows:auto minmax(16rem,40svh)}.hero-copy{min-height:60svh;padding-top:calc(var(--nav-height) + 1rem)}.hero h1{font-size:clamp(2.75rem,12vw,4rem)}.hero-lead{font-size:.93rem;line-height:1.5}.hero-proof span{font-size:.62rem}.hero-proof b{font-size:.68rem}.approach,.services,.work,.process,.closing{padding:clamp(4.5rem,14vw,6rem) 0}.service-row{grid-template-columns:2.5rem minmax(0,1fr)}.service-row p,.service-use{grid-column:2}.work-spread{grid-template-columns:1fr;grid-template-rows:auto}.work-primary{grid-row:auto}.work-secondary{width:78%;margin-left:auto}.process-console{grid-template-columns:1fr}.process-tabs{grid-template-columns:repeat(4,minmax(0,1fr));border-right:0;border-bottom:1px solid rgba(255,255,255,.25);overflow-x:auto}.process-tabs button{min-width:8.5rem;min-height:3.8rem;border-right:1px solid rgba(255,255,255,.17);border-bottom:0}.process-panel{min-height:21rem}}
@media(max-width:480px){.brand-name{font-size:.61rem}.brand-mark{width:2.35rem;height:2.35rem}.menu-toggle,.menu-close{width:2.8rem;height:2.8rem}.hero-copy{min-height:61svh}.hero h1{font-size:clamp(2.55rem,12.3vw,3.35rem)}.hero-lead{font-size:.86rem}.hero-actions{gap:.45rem 1rem}.button{min-height:2.8rem;padding:.65rem 1rem}.hero-proof{grid-template-columns:1fr 1fr;gap:.6rem 0}.hero-proof span:nth-child(3){display:none}.service-row{gap:.65rem}.work-secondary{width:100%}.site-footer{grid-template-columns:1fr}.footer-meta{grid-column:1}.footer-contact a{overflow-wrap:anywhere}}
:root{--ink:#0d0d0d;--ink-soft:#242424;--blue:#51d4f2;--blue-deep:#1359c8;--sky:#dff7fc}
.hero-media:after{background:linear-gradient(90deg,rgba(13,13,13,.42),transparent 28%),linear-gradient(0deg,rgba(13,13,13,.65),transparent 30%)}
.hero-kicker,.work .section-kicker,.process-status{color:#8ee7fb}.process-progress i{background:#51d4f2}:focus-visible{outline-color:#51d4f2}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Render-tuned geometry for this homepage's literal service headings. */
#main .section-head h2{max-width:19ch}
#main .hero-media figcaption span{width:fit-content;padding:.2rem .35rem;background:rgba(13,13,13,.94);color:var(--white)}
.site-header .desktop-nav{padding-inline:.75rem;background:rgba(13,13,13,.96)}
@media(min-width:1101px){#main .hero-copy{padding-right:clamp(2rem,4vw,4rem)}#main .section-head{grid-template-columns:minmax(0,2.45fr) minmax(12rem,.55fr)}#main .section-head h2{font-size:clamp(2.7rem,4.5vw,4.7rem)}}
@media(max-width:480px){#main .hero{height:100svh;min-height:100svh;grid-template-rows:minmax(0,1fr) 18rem}#main .hero-copy{min-height:0}}
