@font-face{font-family:Barlow Condensed;src:url('assets/barlow-condensed-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--orange:#ff4a00;--carbon:#171717;--ivory:#f5f0e6;--steel:#a5aaa8;--rule:rgba(23,23,23,.2);--ease:cubic-bezier(.22,1,.36,1);--gutter:6.1vw;font-family:Manrope,sans-serif;color:var(--carbon);background:var(--ivory);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Barlow Condensed,sans-serif;font-weight:800;line-height:1;letter-spacing:-.015em}p{line-height:1.55}button,summary,a{touch-action:manipulation}button{cursor:pointer}::selection{background:var(--orange);color:var(--carbon)}:focus-visible{outline:2px solid currentColor;outline-offset:6px}.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.065em}.section-pad{padding-block:112px}.orange{color:var(--orange)}
.skip-link{position:fixed;top:16px;left:24px;padding:16px;background:var(--carbon);color:var(--ivory);z-index:20;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:10;background:var(--ivory);transition:box-shadow .3s}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.brand{display:block;width:218px;flex-shrink:0}.desktop-nav{display:flex;align-items:center;gap:40px;font-size:.875rem;font-weight:600}.nav-link{position:relative;padding-block:12px}.nav-link:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav-link:hover:after,.nav-link[aria-current]:after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 26px;background:var(--orange);color:var(--carbon);font-weight:600;font-size:.9375rem;border:1px solid transparent;border-radius:2px;transition:background .25s,color .25s,transform .35s var(--ease)}.button:hover{background:var(--carbon);color:var(--ivory);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-small{min-height:44px;padding:12px 24px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{padding-top:76px;display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);column-gap:4%;align-items:center}.hero-intro{margin-bottom:26px}.hero h1{font-size:clamp(5rem,8.8vw,9.5rem);line-height:.97;letter-spacing:-.024em}.hero h1>span{display:block}.hero-bottom{margin-top:36px;max-width:370px}.hero-bottom p{font-size:1.0625rem}.hero-bottom .button{margin-top:28px}.hero-figure{width:100%;align-self:stretch;display:flex;flex-direction:column;min-height:530px}.hero-image{flex:1;overflow:hidden;position:relative}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:42% center}.hero-figure figcaption{display:flex;justify-content:space-between;align-items:center;background:var(--orange);padding:16px 24px;min-height:80px;font-size:.8125rem;font-weight:600;letter-spacing:.055em}.hero-figure figcaption img{width:54px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:64px;padding-block:24px;border-top:1px solid var(--rule);font-size:.875rem}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:32px;position:relative;text-decoration:underline;text-underline-offset:6px;text-decoration-color:transparent;transition:text-decoration-color .25s}.text-link:hover{text-decoration-color:currentColor}.scroll-line{height:24px;width:1px;background:var(--carbon);display:inline-block}
.services{background:var(--carbon);color:var(--ivory);margin-top:32px}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center;padding-bottom:56px}.section-top h2{font-size:clamp(3.5rem,6vw,6rem)}.services-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-lead{font-size:1.0625rem;max-width:250px;padding-top:24px}.service{border-top:1px solid rgba(245,240,230,.28)}.service:last-child{border-bottom:1px solid rgba(245,240,230,.28)}.service summary{list-style:none;display:flex;align-items:center;gap:28px;min-height:106px;cursor:pointer;user-select:none}.service summary::-webkit-details-marker{display:none}.service-number{font-size:.875rem;color:var(--steel)}.service h3{font-size:clamp(2.5rem,3.7vw,3.75rem);transition:transform .4s var(--ease)}.service summary:hover h3{transform:translateX(6px)}.plus{margin-left:auto;position:relative;width:32px;height:32px;flex-shrink:0}.plus:before,.plus:after{content:'';background:var(--ivory);position:absolute;top:15px;left:5px;width:22px;height:1px;transition:transform .35s var(--ease)}.plus:after{transform:rotate(90deg)}.service[open] .plus:after{transform:rotate(0)}.service-body{padding:0 56px 36px 46px;max-width:630px}.service-body p{font-size:1rem;color:var(--ivory);margin-bottom:20px}.service-body .text-link{font-size:.875rem;text-decoration-color:rgba(245,240,230,.45)}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.detail-image{aspect-ratio:1.1;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover;object-position:42% center}.detail-figure figcaption{font-size:.75rem;margin-top:14px;line-height:1.5;max-width:350px}.approach-copy h2{font-size:clamp(4.5rem,7.5vw,7.5rem);margin-block:28px}.approach-copy>p:not(.eyebrow){max-width:370px;font-size:1.0625rem}.approach-note{border-top:1px solid var(--rule);padding-top:28px;margin-top:40px;display:flex;gap:20px;align-items:center;font-size:.875rem}.note-line{height:40px;width:5px;background:var(--orange)}
.contact{background:var(--orange)}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;margin-top:32px}.contact h2{font-size:clamp(4.5rem,7.5vw,8rem)}.contact-intro{margin-top:26px;font-size:1.0625rem}.contact-card{padding-top:24px;border-top:1px solid rgba(23,23,23,.45)}.contact-name{font-size:1rem;font-weight:600}.phone{display:inline-block;font-family:Barlow Condensed,sans-serif;font-weight:800;letter-spacing:.015em;font-size:clamp(2.875rem,4.5vw,4.8rem);line-height:1.2;margin-top:16px;white-space:nowrap}.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}.button-dark{background:var(--carbon);color:var(--ivory)}.button-dark:hover{background:var(--ivory);color:var(--carbon)}.copy-button{background:none;border:0;border-bottom:1px solid var(--carbon);padding:12px 0 8px;color:var(--carbon);font-size:.875rem;font-weight:600}.contact-hint{font-size:.875rem;max-width:355px;margin-top:28px}.copy-status{min-height:24px;margin-top:12px;font-size:.875rem}.site-footer{display:flex;align-items:center;gap:32px;min-height:136px;font-size:.8125rem}.site-footer .brand{width:190px}.site-footer>span{margin-left:auto}
@media(min-width:1800px){.hero h1{font-size:11.25rem}.hero-figure{min-height:650px}}
@media(max-width:1100px){.desktop-nav{gap:24px}.hero{column-gap:3%;grid-template-columns:1.3fr 1fr;padding-top:56px}.hero-figure{min-height:490px}.hero h1{font-size:8.8vw}.hero-bottom p{font-size:1rem}.section-pad{padding-block:88px}.approach{gap:7%}.section-top,.services-layout{grid-template-columns:.85fr 1.5fr}.site-footer{gap:20px}.site-footer>p{display:none}}
@media(max-width:760px){:root{--gutter:6.2vw}html{scroll-padding-top:90px}.header-inner{height:84px}.brand{width:192px}.desktop-nav{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--carbon);padding:12px 0 12px 12px;font-size:.875rem;min-height:44px}.menu-lines{position:relative;width:20px;height:14px}.menu-lines:before,.menu-lines:after{position:absolute;content:'';height:1px;width:20px;left:0;background:var(--carbon);transition:transform .3s var(--ease),top .3s var(--ease)}.menu-lines:before{top:3px}.menu-lines:after{top:10px}.menu-toggle[aria-expanded=true] .menu-lines:before{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{top:7px;transform:rotate(-45deg)}.mobile-nav{background:var(--ivory);padding:16px var(--gutter) 32px;position:absolute;top:84px;left:0;right:0;border-bottom:1px solid var(--rule)}.mobile-nav a{display:block;padding-block:15px;font-size:1.0625rem}.hero{grid-template-columns:1fr;padding-top:40px}.hero-intro{margin-bottom:20px}.hero h1{font-size:clamp(4.25rem,14.3vw,6.9rem);letter-spacing:-.02em}.hero-bottom{margin-top:24px;max-width:100%}.hero-bottom .button{margin-top:24px}.hero-figure{margin-top:36px;min-height:0}.hero-image{flex:auto;aspect-ratio:1.35}.hero-figure figcaption{min-height:64px;padding:10px 18px;font-size:.75rem}.hero-figure figcaption img{width:44px}.hero-foot{margin-top:28px;padding-block:20px;font-size:.8125rem;gap:12px}.hero-foot>a{font-size:0;gap:0}.scroll-line{height:28px}.section-pad{padding-block:64px}.services{margin-top:12px}.section-top,.services-layout{grid-template-columns:1fr;gap:24px}.section-top{padding-bottom:28px}.section-top h2{font-size:3.5rem}.section-lead{padding:0;max-width:none;margin-bottom:8px}.service summary{min-height:88px;gap:20px}.service h3{font-size:2.625rem}.service-body{padding:0 12px 28px 38px}.approach{grid-template-columns:1fr;gap:40px}.approach-copy{grid-row:1}.approach-copy h2{font-size:4.625rem;margin-block:24px}.approach-note{margin-top:28px;padding-top:24px}.detail-image{aspect-ratio:1.25}.contact-layout{grid-template-columns:1fr;gap:40px;margin-top:24px}.contact h2{font-size:4.625rem}.phone{font-size:3.875rem}.contact-card{padding-top:24px}.contact-actions{gap:20px}.site-footer{padding-block:32px;display:grid;grid-template-columns:1fr auto;gap:24px 12px}.site-footer .brand{grid-column:1/-1;width:192px}.site-footer>span{margin-left:0}.site-footer .text-link{justify-self:end}.desktop-break{display:none}}
.service-context{font-size:.875rem;margin-top:24px;color:var(--steel)}.service summary{display:grid;grid-template-columns:20px minmax(0,1fr) 32px;gap:24px;padding-block:24px}.service-heading{min-width:0}.service-subtitle{display:block;font-family:Manrope,sans-serif;font-size:.875rem;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--steel);margin-top:10px}.service-body{padding-left:44px;padding-right:16px;max-width:780px}.technical-list{margin:28px 0}.technical-list>div{display:grid;grid-template-columns:132px 1fr;gap:24px;padding-block:18px;border-top:1px solid rgba(245,240,230,.16)}.technical-list dt{font-weight:600;font-size:.875rem;line-height:1.5}.technical-list dd{margin:0;font-size:1rem;line-height:1.55}.service-body .technical-note{font-size:.9375rem;margin-bottom:24px}.technical-note strong{font-weight:600}.detail-image{aspect-ratio:4/5}.detail-image img{object-position:center}.instagram-contact{border-top:1px solid rgba(23,23,23,.45);padding-top:24px;margin-top:8px;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center}.instagram-label{grid-column:1/-1;font-size:.875rem}.instagram-handle{font-size:clamp(1.5rem,2.1vw,2rem);font-weight:600;letter-spacing:-.02em}.instagram-action{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.instagram-contact .instagram-handle{transition:transform .3s var(--ease)}.instagram-contact:hover .instagram-handle{transform:translateX(4px)}
@media(max-width:760px){.service summary{grid-template-columns:16px minmax(0,1fr) 24px;gap:12px;padding-block:24px}.service h3{font-size:clamp(1.95rem,7.5vw,2.625rem)}.service .plus{width:24px}.service .plus:before,.service .plus:after{left:2px;width:20px}.service-subtitle{font-size:.875rem;margin-top:8px}.service-body{padding-left:28px;padding-right:0}.technical-list>div{grid-template-columns:1fr;gap:8px;padding-block:20px}.technical-list{margin-top:20px}.service-context{margin-top:16px}.detail-image{aspect-ratio:4/5}.instagram-contact{gap:10px 12px}.instagram-action{font-size:.875rem}}
.reveal{transition:opacity .7s var(--ease),transform .8s var(--ease)}.will-reveal{opacity:0;transform:translateY(24px)}.reveal:focus-within{opacity:1;transform:none}.hero-image img,.detail-image img{transition:transform 1.2s var(--ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero-figure:hover .hero-image img,.detail-figure:hover .detail-image img{transform:scale(1.035)}}
@media(prefers-reduced-motion:no-preference){.hero-intro{animation:arrive .7s var(--ease) both}.hero h1>span{animation:arrive .85s var(--ease) .06s both}.hero h1>span+span{animation-delay:.14s}.hero-bottom{animation:arrive .85s var(--ease) .22s both}.hero-figure{animation:arrive 1s var(--ease) .15s both}.mobile-nav:not([hidden]){animation:arrive .3s var(--ease)}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:360px){.contact h2,.approach-copy h2{font-size:3.875rem}.phone{font-size:3.25rem}.brand{width:180px}.contact-actions{gap:16px}.hero h1{font-size:14.3vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.will-reveal{opacity:1;transform:none}}
