:root{--ink:#111;--paper:#fff;--soft:#f4f4f2;--grey:#777;--line:#dededb;--accent:#ff00a8;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}.site-header{height:100px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;width:136px;height:60px}.brand img{display:block;width:100%;height:100%;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:38px}.site-header nav a{font-size:12px;text-decoration:none;color:#333}.site-header nav .nav-contact{padding:13px 16px;border:1px solid var(--ink);font-weight:600}.nav-contact span{color:var(--accent);margin-left:12px}.hero{min-height:680px;padding:104px 10vw 76px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-copy{width:100%;max-width:1080px;position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:700;color:#626262}.hero .eyebrow{display:flex;gap:10px;align-items:center}.hero .eyebrow span{width:7px;height:7px;background:var(--accent);border:1px solid var(--accent);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.065em}h1{font-size:clamp(58px,7.2vw,100px);font-weight:600;line-height:.99;margin:34px 0 27px;max-width:1080px}h1 em,h2 em{font-style:normal}h1 em{background:linear-gradient(transparent 72%,var(--accent) 72%)}.intro{max-width:600px;font-size:17px;line-height:1.75;color:#5d5d5d;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:32px;padding:16px 19px;background:var(--ink);color:white;text-decoration:none;font-size:11px;font-weight:600;border:0}.button span{color:var(--accent);font-size:15px}.hero-bottom{position:absolute;bottom:22px;left:10vw;right:10vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#757575}.hero-bottom a{text-decoration:none;color:inherit}.hero-bottom b{font-size:14px;color:var(--accent);margin-left:10px}.intro-section,.approach{background:var(--soft);padding:100px 12vw 112px}.intro-section>.eyebrow,.approach>.eyebrow{margin-bottom:27px}.intro-grid,.approach-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:end}.intro-grid h2,.services-grid h2,.contact h2,.approach h2{font-size:clamp(40px,5vw,68px);line-height:1.08;font-weight:600;margin-bottom:0}.intro-grid h2 span{color:#8a8a86}.intro-text p,.approach-text p{font-size:14px;line-height:1.8;color:#555}.services{padding:106px 12vw 120px}.services>.eyebrow{margin-bottom:27px}.services-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.services-grid h2{font-size:clamp(38px,3.8vw,48px)}.services-grid h2 em{background:linear-gradient(transparent 72%,var(--accent) 72%)}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:27px 4px 28px;border-bottom:1px solid var(--line);align-items:start}.service-num{font-size:9px;letter-spacing:.1em;color:#888;padding-top:7px}.service h3{font-size:18px;font-weight:600;letter-spacing:-.03em;margin:0 0 8px}.service p{font-size:12px;color:#696969;line-height:1.7;max-width:620px;margin:0}.approach{background:white}.approach h2 em{background:linear-gradient(transparent 72%,var(--accent) 72%)}.approach-text p:last-child{margin-bottom:0}.contact{background:#151515;color:white;padding:80px 12vw 95px}.contact>.eyebrow{color:#aaa}.contact-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.contact h2{font-size:clamp(48px,6vw,78px);margin-bottom:20px}.contact h2 em{color:var(--accent)}.contact-copy>p{color:#bbb;font-size:14px;line-height:1.7}.contact-form fieldset{border:0;padding:0;margin:0;opacity:1;display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form fieldset:disabled{opacity:1}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#aaa}.contact-form label:nth-child(3){grid-column:1/-1}.contact-form input,.contact-form textarea{font:400 13px 'DM Sans',Arial,sans-serif;color:white;background:#202020;border:1px solid #4b4b4b;padding:13px 14px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#929292}.contact-form input:disabled,.contact-form textarea:disabled{opacity:1;-webkit-text-fill-color:white}.contact-form .button{justify-self:start;background:var(--accent);color:#111;cursor:pointer;margin-top:2px}.contact-form .button span{color:#111}footer{min-height:105px;padding:18px 7vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#777}footer .brand{width:64px;height:45px}footer>a:last-child{color:#222;text-decoration:none;font-weight:600}.footer-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-links a{color:#222;text-decoration:none;font-weight:600}.policy-main{max-width:900px;margin:0 auto;padding:78px 7vw 100px}.policy-main h1{font-size:clamp(44px,6vw,72px);line-height:1.04;margin:0 0 32px}.policy-main h2{font-size:20px;letter-spacing:-.02em;line-height:1.3;margin:38px 0 12px}.policy-main p,.policy-main li{font-size:14px;line-height:1.8;color:#454545}.policy-main ul{padding-left:24px;margin:0 0 18px}.policy-main li{padding-left:4px;margin:0 0 8px}.policy-main a{color:inherit}.policy-main p:last-child{margin-bottom:0}@media(max-width:800px){.site-header{height:84px;padding:0 6vw}.brand{width:112px;height:62px}.site-header nav{gap:18px}.hero-bottom{left:8vw;right:8vw}.intro-section,.approach,.services,.contact{padding-left:8vw;padding-right:8vw}.intro-section,.approach{padding-top:76px;padding-bottom:82px}.intro-grid,.approach-grid{grid-template-columns:1fr;gap:28px}.services-grid{grid-template-columns:1fr;gap:28px}.services-grid h2{margin:0}.services{padding-top:80px;padding-bottom:86px}.contact-row{grid-template-columns:1fr;gap:28px}.contact{padding-top:70px;padding-bottom:75px}}@media(max-width:520px){.site-header{padding:0 5vw}.site-header nav{gap:12px}.site-header nav a{font-size:9px}.site-header nav .nav-contact{padding:10px 8px}.brand{width:92px;height:56px}.intro{font-size:14px}.hero{min-height:590px;padding:60px 7vw 76px}.hero h1{font-size:47px}.hero-bottom{left:7vw;right:7vw;font-size:7px}.intro-section,.approach,.services,.contact{padding-left:7vw;padding-right:7vw}.intro-grid h2,.services-grid h2,.approach h2{font-size:42px}.service{grid-template-columns:34px 1fr;gap:11px;padding:23px 0}.service h3{font-size:16px}.service p{font-size:11px}.contact-row{grid-template-columns:1fr;gap:28px}.contact h2{font-size:55px}.contact-form fieldset{grid-template-columns:1fr}.contact-form label:nth-child(3){grid-column:auto}footer{padding:17px 5vw;flex-wrap:wrap}footer .brand{width:64px;height:45px}footer span{font-size:8px}}

/* Subtle interactions that keep the existing layout still */
.button{transition:background-color .18s ease,color .18s ease}
.button span{display:inline-block;transition:transform .18s ease}
.button:hover span,.button:focus-visible span{transform:translateX(4px)}
.site-header nav a:not(.nav-contact){position:relative}
.site-header nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header nav a:not(.nav-contact):hover::after,.site-header nav a:not(.nav-contact):focus-visible::after{transform:scaleX(1)}
.nav-contact{transition:border-color .18s ease}
.nav-contact span{display:inline-block;transition:transform .18s ease}
.nav-contact:hover,.nav-contact:focus-visible{border-color:var(--accent)}
.nav-contact:hover span,.nav-contact:focus-visible span{transform:translateX(4px)}
.service{position:relative}
.service::before{content:"";position:absolute;left:-12px;top:27px;bottom:28px;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .2s ease}
.service-num{transition:color .2s ease}
.service:hover::before,.service:focus-within::before{transform:scaleY(1)}
.service:hover .service-num,.service:focus-within .service-num{color:var(--accent)}
.intro-grid h2 em{font-style:normal;background:linear-gradient(transparent 72%,var(--accent) 72%)}
.hero h1 em,.intro-grid h2 em,.services-grid h2 em,.approach h2 em{background-size:0% 100%;background-repeat:no-repeat}
.hero h1 em.is-visible,.intro-grid h2 em.is-visible,.services-grid h2 em.is-visible,.approach h2 em.is-visible{animation:highlight-in .85s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes highlight-in{to{background-size:100% 100%}}
.contact-form input:focus,.contact-form textarea:focus{position:static;margin:0;transform:none;outline:2px solid var(--accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:800px){.contact-form input,.contact-form textarea{font-size:16px}}
html{scroll-behavior:smooth;scroll-padding-top:24px}
.back-to-top-section{display:flex;justify-content:center;align-items:center;background:var(--paper);padding:20px 7vw 22px}
.back-to-top.button{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:44px;padding:0;border:0;outline:none;box-shadow:none;background:transparent;color:var(--ink);font-size:14px;font-weight:400;line-height:1.7;letter-spacing:normal;text-transform:none}
.back-to-top .back-to-top-arrow{width:44px;height:44px;border:1px solid #c9c9c6;border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:19px;line-height:1;transition:transform .18s ease,border-color .18s ease}
.back-to-top .back-to-top-label{color:#666;font-size:14px;font-weight:400;line-height:1.7;letter-spacing:normal;text-transform:none;transition:none}
.back-to-top:hover .back-to-top-label,.back-to-top:focus-visible .back-to-top-label{transform:none}
.back-to-top:hover .back-to-top-arrow{transform:translateY(-2px);border-color:var(--accent)}
.back-to-top:focus-visible .back-to-top-arrow{outline:2px solid var(--accent);outline-offset:3px}
footer{border-top:1px solid var(--line)}
@media(max-width:800px){.back-to-top-section{padding-top:18px;padding-bottom:20px}}
