:root{--ink:#161616;--muted:#626262;--paper:#f6f5f2;--line:#d9d8d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #777;outline-offset:6px}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fafaf8;position:sticky;top:0;z-index:20;border-bottom:1px solid #e1e1df}.wordmark{font-size:24px;letter-spacing:1px;font-weight:700;white-space:nowrap}.wordmark span{font-weight:400;font-size:16px;letter-spacing:3px}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a{padding:13px 0;position:relative}nav a:hover:after,nav a.active:after{content:'';height:1px;background:currentColor;position:absolute;bottom:5px;left:0;right:0}.nav-contact{border:1px solid #bbb;padding:12px 18px;display:flex;gap:28px}.menu-toggle{display:none}.hero{height:calc(100svh - 84px);min-height:520px;max-height:950px;position:relative;background:#202020;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 80%)}.hero-logo{position:absolute;width:clamp(280px,34vw,580px);height:auto;top:50%;left:7%;transform:translateY(-50%);filter:invert(1);mix-blend-mode:screen}.scroll-link{position:absolute;bottom:32px;left:50%;color:white;border:1px solid #ffffff80;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px}.section{padding:100px 7%}.section-label{font-size:11px;letter-spacing:2px;font-weight:600;margin-bottom:48px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}h1,h2,h3,h4,p{margin-top:0}h1{font-weight:400;font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-2px}h1 span{color:#777}h2{font-size:clamp(32px,3.5vw,50px);font-weight:400;letter-spacing:-1.7px;line-height:1.15}p{line-height:1.8;font-size:15px;color:var(--muted)}strong{font-weight:600;color:#303030}.about-copy h2{font-size:22px;letter-spacing:-.5px;margin-bottom:20px}.about-copy p{margin-bottom:22px}.approach{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.services{background:#eae9e5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading p{margin-bottom:3px;max-width:300px}.service-group{border-top:1px solid #bdbdb8}.service-group:last-child{border-bottom:1px solid #bdbdb8}.service-group summary{display:flex;align-items:center;gap:30px;padding:30px 0;cursor:pointer;list-style:none}.service-group summary::-webkit-details-marker{display:none}.group-number{font-size:12px;color:#666}.service-group h3{font-size:clamp(18px,2vw,26px);font-weight:400;letter-spacing:-.6px;margin:0;flex:1}.plus{font-size:28px;font-weight:300;transition:transform .2s}.service-group[open] .plus{transform:rotate(45deg)}.service-list{list-style:none;margin:0;padding:0 0 30px 46px;display:grid;grid-template-columns:1fr 1fr;gap:26px 55px}.service-list li{border-top:1px solid #d1d1ca;padding-top:20px}.service-list h4{font-size:16px;line-height:1.5;font-weight:500;margin-bottom:8px}.service-list p{font-size:14px;line-height:1.7;margin:0}.careers{background:#1a1a1a;color:white}.careers .section-label{color:#aaa}.careers-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.careers h2{font-size:clamp(38px,4.8vw,68px);margin:0}.careers p{color:#bdbdbd;max-width:430px;margin-bottom:28px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:60px;border:1px solid #171717;padding:17px 24px;color:#fff;background:#171717;font-size:14px;cursor:pointer;transition:background .2s}.button:hover{background:#424242}.button-light{background:#f5f5f2;color:#171717;border-color:#f5f5f2}.button-light:hover{background:#d8d8d4}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{margin-bottom:25px}.email{display:inline-block;font-size:17px;border-bottom:1px solid #999;padding-bottom:9px;margin-top:24px}.field{display:flex;flex-direction:column;gap:12px;margin-bottom:26px;min-width:0}.field label{font-size:13px}.field label span{color:#757575}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #bbb;border-radius:0;background:transparent;padding:7px 0 13px;color:var(--ink);font-size:14px;outline-offset:5px}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus{outline:none;border-color:#111}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form-note{font-size:12px;line-height:1.6;max-width:420px;margin-top:0}#form-status{font-size:13px;margin:18px 0 0}footer{padding:35px 7%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>a:last-child{font-size:11px;margin:0}footer .wordmark{font-size:20px}footer .wordmark span{font-size:12px}
@media(min-width:1600px){.section,footer{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}@media(max-width:800px){header{height:70px;padding:0 6%}.menu-toggle{display:flex;gap:16px;align-items:center;background:none;border:0;padding:12px 0;font-size:13px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fafaf8;padding:20px 6% 30px;flex-direction:column;align-items:stretch;gap:8px;border-bottom:1px solid #bbb}nav.open{display:flex}.nav-contact{justify-content:space-between}html{scroll-padding-top:70px}.hero{height:calc(85svh - 70px);min-height:450px}.hero-logo{width:70%;left:15%;top:52%}.hero-photo{object-position:62% center}.hero-shade{background:rgba(0,0,0,.3)}.section{padding:65px 7%}.section-label{margin-bottom:32px}.about-grid,.careers-grid,.contact-grid{grid-template-columns:1fr;gap:30px}h1{font-size:40px;margin-bottom:8px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:20px}.section-heading p{font-size:14px}.service-group summary{gap:16px;padding:25px 0}.service-list{grid-template-columns:1fr;padding-left:30px;gap:22px}.service-group h3{font-size:20px;line-height:1.3}.careers h2{font-size:44px}.contact-grid{gap:45px}.email{font-size:16px;margin-top:8px}footer{flex-wrap:wrap;padding:30px 7%;gap:20px}footer p{flex-basis:40%}footer .wordmark{flex-basis:100%}}@media(max-width:400px){.form-row{grid-template-columns:1fr;gap:0}.wordmark{font-size:22px}.wordmark span{font-size:13px}.careers h2{font-size:36px}h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Orange accents */
:root{--accent:#ff8b24;--accent-text:#ff8b24}
.section-label{display:flex;align-items:center;gap:14px;color:var(--accent-text)}
.section-label::before{content:'';display:block;flex:0 0 30px;height:2px;background:var(--accent)}
.about-copy h2,.group-number{color:var(--accent-text)}
.approach{border-top-color:var(--accent)}
.plus,.button span,.nav-contact span{color:var(--accent)}
nav a.active,nav a:hover{color:var(--accent-text)}
nav a.active:after,nav a:hover:after{background:var(--accent)}
.careers .section-label{color:#ff8b24}
.email{border-bottom-color:var(--accent)}
.email:hover{color:var(--accent-text)}
.field input:focus,.field textarea:focus{border-bottom-color:var(--accent-text)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent-text)}

/* Native orange dot cursor on mouse-equipped devices. */
@media (hover:hover) and (pointer:fine){
  html,body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23ff8b24'/%3E%3C/svg%3E") 10 10,auto!important}
}

/* Subtle emphasis for orange typography. */
.section-label{font-weight:700}
.about-copy h2,.group-number{font-weight:600}
.plus{font-weight:400}
.button span,.nav-contact span,nav a.active,nav a:hover{font-weight:600}
