@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101111;--surface:#191a1a;--ink:#f1f1ec;--muted:#a0a19e;--line:#343635;--accent:#ff6b35;--max:1320px;color-scheme:dark;font-family:'Manrope',Arial,sans-serif;font-size:16px;font-weight:400;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:calc(100% - 112px);max-width:var(--max);margin-inline:auto}.accent{color:var(--accent)}.muted{color:#797c79}.header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:29px 0;border-bottom:1px solid var(--line)}.brand{font-size:1.4rem;font-weight:800;letter-spacing:.025em;display:flex;align-items:center;gap:12px;line-height:1.12}.brand-mark{display:grid;place-items:center;background:var(--accent);color:var(--bg);width:39px;height:43px;border-radius:3px;font-size:2.15rem;font-weight:800;letter-spacing:-.1em;padding-right:4px}.brand-caption{display:block;font-size:.75rem;font-weight:500;letter-spacing:.21em;margin-top:6px}.header nav{display:flex;gap:35px;font-size:.875rem}.header nav a{transition:color .2s}.header nav a:hover,.footer a:hover{color:var(--accent)}.header-cta{border:1px solid #62635f;border-radius:3px;padding:13px 18px;font-size:.875rem;transition:background .2s,color .2s}.header-cta span{margin-left:25px;font-size:1.2rem}.header-cta:hover{background:var(--ink);color:var(--bg)}.menu-toggle,.mobile-nav{display:none}.skip-link{position:absolute;top:-100px;left:16px;z-index:20;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{top:12px}.hero{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center;min-height:725px;padding-block:65px 35px}.hero-copy{z-index:2}.eyebrow{font-size:.75rem;letter-spacing:.095em;font-weight:600;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:10px;color:#cccdc8;margin-bottom:28px}.tiny-cross{font-size:1.5rem;color:var(--accent)}h1{font-size:clamp(3.7rem,6.9vw,6.45rem);letter-spacing:-.065em;line-height:1.05;font-weight:500;margin:0 0 30px}h1 .accent{font-weight:500}.hero-description{font-size:1rem;line-height:1.8;max-width:490px;color:#b2b4ae;margin:0 0 28px}.button{min-height:55px;padding:15px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:3px;font-size:.9rem;font-weight:700;transition:background .2s,transform .2s}.button span{font-size:1.5rem;font-weight:400;line-height:1}.button-orange{background:var(--accent);color:var(--bg)}.button-orange:hover{background:#ff8558;transform:translateY(-2px)}.hero-footnote{display:flex;gap:28px;color:#888b85;font-size:.75rem;letter-spacing:.1em;margin-top:43px}.hero-art{margin:0;position:relative;align-self:center;min-width:0}.art-frame{aspect-ratio:1/1;width:calc(100% + 55px);max-width:calc(100vw - 40px);margin-left:-25px;overflow:hidden}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:lighten}.hero-art figcaption{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.07em;color:#848680;margin:5px 12px 0 10px;padding-top:15px;border-top:1px solid var(--line)}.discipline-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px;background:#151616}.discipline-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;font-weight:600;font-size:clamp(.875rem,1.5vw,1.35rem);letter-spacing:.05em}.discipline-inner i{color:var(--accent);font-style:normal;font-size:1.45rem}.section{padding-top:105px;padding-bottom:105px}.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;margin-bottom:35px}.section-label{color:var(--accent)}.section-top p{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0;max-width:350px}h2{font-size:clamp(2.5rem,4.6vw,4.3rem);font-weight:500;line-height:1.12;letter-spacing:-.05em;margin:0}.service-list{margin-top:52px}.service{border-top:1px solid var(--line);transition:background .2s}.service:last-child{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:grid;grid-template-columns:70px 1fr 260px 30px;gap:20px;align-items:center;padding:29px 0}.service summary::-webkit-details-marker{display:none}.service-num{color:#90938c;font-size:.8125rem}.service h3{font-size:clamp(1.35rem,2.35vw,2.1rem);font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0}.service-short{color:var(--muted);font-size:.875rem}.expand{display:block;width:22px;height:22px;position:relative;justify-self:end}.expand:before,.expand:after{content:'';position:absolute;background:var(--ink);width:16px;height:1px;left:3px;top:10px;transition:transform .2s}.expand:after{transform:rotate(90deg)}.service[open] .expand:after{transform:rotate(0)}.service[open] h3,.service summary:hover h3{color:var(--accent)}.service-body{margin-left:90px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:0 50px 34px 0}.service-body p{font-size:1rem;color:#b2b5ae;line-height:1.75;margin:0;max-width:520px}.tags{display:flex;align-content:flex-start;flex-wrap:wrap;gap:8px}.tags span{border:1px solid #3d403a;padding:7px 11px;border-radius:3px;color:#cccec8;font-size:.8125rem;line-height:1.35}.business-section{background:#e8eae3;color:#171b16;position:relative}.business-inner{padding-top:80px;padding-bottom:48px}.business-section .section-label{color:#4c534b}.section-side{font-size:.75rem;letter-spacing:.08em;color:#626b5f}.business-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:end;margin-bottom:50px}.business-heading h2 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:8px}.business-heading>p{max-width:365px;margin:0;line-height:1.8;color:#5e665b}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #b9bdb4}.industry-card{padding:25px 29px 27px;position:relative;display:flex;flex-direction:column;min-width:0}.industry-card+.industry-card{border-left:1px solid #b9bdb4}.industry-number{font-size:.75rem;color:#64705d}.industry-icon{font-size:2rem;letter-spacing:-.065em;line-height:1;font-weight:400;margin-top:40px;margin-bottom:25px;color:#64705d}.industry-card h3{font-size:1.8rem;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}.industry-card p{color:#5e665b;font-size:.95rem;line-height:1.75;margin:0 0 30px;flex-grow:1}.industry-tags{font-size:.75rem;letter-spacing:.055em;font-weight:600;border-top:1px solid #c2c6bd;padding-top:17px;line-height:1.7}.business-note{font-size:.875rem;color:#5e665b;margin:26px 0 0}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.steps article{display:flex;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.steps article:first-child{padding-top:5px;border-top:0}.steps article:last-child{padding-bottom:0}.steps article>span{color:var(--accent);font-size:.8125rem;padding-top:4px}.steps h3{font-size:1.2rem;font-weight:500;margin:0 0 12px;letter-spacing:-.02em}.steps p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0;max-width:450px}.contact-panel{background:var(--accent);color:var(--bg);padding:48px 50px}.contact-panel .eyebrow{margin-bottom:30px}.contact-panel h2{font-size:clamp(2.75rem,5.55vw,5rem);line-height:1.1;letter-spacing:-.055em}.contact-panel h2 span{color:#622b15}.contact-bottom{margin-top:40px;padding-top:25px;border-top:1px solid #c65328;display:flex;align-items:end;justify-content:space-between;gap:35px}.contact-bottom>p{font-size:1rem;line-height:1.7;margin:0;max-width:440px}.footer{padding-top:70px;padding-bottom:26px}.footer-brand{display:flex;align-items:center;justify-content:space-between;font-size:clamp(4rem,15.3vw,14rem);font-weight:600;letter-spacing:-.075em;line-height:1.05;padding-right:10px}.footer-brand span{font-size:clamp(2.75rem,10vw,9rem);color:var(--accent);font-weight:400}.footer-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.75rem;letter-spacing:.06em;color:#92968e}.footer-bottom a{font-size:.875rem;letter-spacing:0;color:#c6c9bf}
@media(min-width:1600px){.hero{min-height:780px}.hero-art{margin-right:-25px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{gap:20px}.header nav{gap:22px}.hero{min-height:650px;grid-template-columns:1.25fr 1fr}.hero-footnote{gap:15px}.hero-description{max-width:420px}.desktop-break{display:none}.art-frame{width:calc(100% + 30px);margin-left:-10px}.service summary{grid-template-columns:40px 1fr 200px 25px;gap:18px}.service-body{margin-left:58px;gap:30px;padding-right:0}.business-heading{gap:40px}.industry-card{padding:24px}.industry-card h3{font-size:1.75rem}.approach-layout{gap:40px}.contact-panel{padding:40px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{padding-block:20px}.header nav,.header-cta{display:none}.brand{font-size:1.2rem}.brand-mark{width:33px;height:37px;font-size:1.9rem}.brand-caption{font-size:.75rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;border:1px solid #565a52;border-radius:3px;width:43px;height:43px;padding:10px}.menu-toggle span{height:1px;background:var(--ink);width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;background:#1c1e1a;padding:10px 20px;border-bottom:1px solid var(--line)}.mobile-nav a{padding:14px 0;border-bottom:1px solid #373b33;font-size:1rem}.mobile-nav a:last-child{border:0;color:var(--accent)}.hero{grid-template-columns:1fr;gap:15px;padding-top:38px;padding-bottom:27px;min-height:0}.hero .eyebrow{font-size:.75rem;letter-spacing:.05em;margin-bottom:20px}h1{font-size:clamp(3.05rem,9.3vw,4.8rem);letter-spacing:-.065em;margin-bottom:22px;line-height:1.07}.hero-description{font-size:1rem;max-width:490px;margin-bottom:23px}.hero-footnote{font-size:.75rem;gap:18px;margin-top:25px;flex-wrap:wrap}.hero-art{width:min(100%,470px);justify-self:center;margin:0}.art-frame{width:100%;margin:0;aspect-ratio:1.18/1}.hero-art img{object-fit:cover}.hero-art figcaption{margin:0;font-size:.75rem}.discipline-band{margin-top:0}.discipline-inner{flex-wrap:wrap;justify-content:center;gap:12px 17px;padding-block:19px;font-size:.75rem}.discipline-inner i{font-size:1rem}.section{padding-block:64px}.section-top{margin-bottom:27px;gap:20px}.section-top p{max-width:180px;font-size:.8rem}.section-top p br{display:none}.eyebrow{font-size:.75rem}h2{font-size:clamp(2.3rem,7.2vw,3.1rem)}.service-list{margin-top:32px}.service summary{grid-template-columns:24px 1fr 22px;gap:12px;padding-block:24px}.service h3{font-size:1.4rem}.service-short{display:none}.service-num{font-size:.75rem}.service-body{margin-left:36px;padding:0 0 27px;grid-template-columns:1fr;gap:19px}.service-body p{font-size:.95rem}.tags span{font-size:.75rem;padding:6px 8px}.business-inner{padding-top:50px;padding-bottom:35px}.section-side{font-size:.75rem;max-width:110px;text-align:right}.business-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.business-heading>p{max-width:100%;font-size:1rem}.industry-grid{grid-template-columns:1fr}.industry-card{padding:23px;display:block}.industry-card+.industry-card{border-left:0;border-top:1px solid #b9bdb4}.industry-icon{float:right;margin:0;font-size:2rem}.industry-card h3{font-size:1.7rem;margin:23px 0 15px}.industry-card p{font-size:1rem;margin-bottom:22px}.industry-tags{font-size:.75rem}.business-note{font-size:.875rem;line-height:1.7}.approach-layout{grid-template-columns:1fr;gap:35px}.steps article{gap:20px}.steps h3{font-size:1.2rem}.contact-panel{padding:30px 24px}.contact-panel .eyebrow{margin-bottom:23px}.contact-panel h2{font-size:clamp(2.3rem,7.8vw,3.8rem);line-height:1.12}.contact-bottom{align-items:flex-start;flex-direction:column;gap:25px;margin-top:27px;padding-top:24px}.contact-bottom>p{font-size:1rem}.footer{padding-top:43px;padding-bottom:25px}.footer-brand{font-size:16vw;letter-spacing:-.07em;padding-right:0}.footer-brand span{font-size:10vw}.footer-bottom{flex-wrap:wrap;font-size:.75rem;gap:17px;margin-top:25px;padding-top:20px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Direct studio contact links. */
.contact-bottom{flex-wrap:wrap;align-items:flex-start}
.contact-bottom>p{flex:1 1 280px}
.contact-details{flex:0 1 400px;min-width:0;max-width:100%}
.contact-label{display:block;font-size:.75rem;letter-spacing:.06em;line-height:1.5}
.contact-phone{display:inline-block;font-size:clamp(1.45rem,2.6vw,2.05rem);font-weight:600;letter-spacing:-.045em;line-height:1.4;margin-top:9px;max-width:100%;text-decoration-thickness:1px;text-underline-offset:6px}
.contact-phone:hover{text-decoration:underline}
.messenger-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}
.messenger-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:17px;min-height:44px;padding:10px 13px;border:1px solid #8b3e20;border-radius:3px;font-size:.875rem;font-weight:600;transition:background .2s,color .2s}
.messenger-links a:hover{background:var(--bg);color:var(--accent)}
.messenger-links span{font-size:1rem}
.contact-panel a:focus-visible{outline-color:var(--bg);outline-offset:4px}
@media(max-width:760px){.contact-bottom>p,.contact-details{flex:none}.contact-details{width:100%}.contact-phone{font-size:clamp(1.35rem,6vw,1.9rem)}.messenger-links{gap:8px}.messenger-links a{gap:12px;padding:10px 12px}}

/* Email contact form. */
.contact-email{display:block;width:fit-content;max-width:100%;font-size:1rem;margin-top:10px;overflow-wrap:anywhere;text-underline-offset:4px}
.contact-email:hover{text-decoration:underline}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);gap:56px;border-top:1px solid #c65328;margin-top:40px;padding-top:35px}
.contact-form-intro h3{font-size:1.75rem;line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:0 0 15px;max-width:300px}
.contact-form-intro p{font-size:1rem;line-height:1.75;margin:0;max-width:330px}
.contact-form{min-width:0}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;min-width:0}
.form-field label{font-size:.875rem;font-weight:600;line-height:1.5}
.form-field input,.form-field textarea{width:100%;min-width:0;border:1px solid #a24723;border-radius:3px;background:#ffffff16;color:var(--bg);font:inherit;font-size:1rem;padding:13px 14px;line-height:1.5;box-shadow:none;color-scheme:light}
.form-field textarea{min-height:150px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#68321d;opacity:1}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--bg);outline-offset:2px;background:#ffffff24}
.form-hint{font-size:.75rem;line-height:1.5;color:#633019}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.form-submit{background:var(--bg);color:var(--ink);border:1px solid var(--bg);cursor:pointer;white-space:normal;text-align:left}
.form-submit:hover{background:#2c302a;transform:translateY(-2px)}
.form-submit:focus-visible{outline:2px solid var(--bg);outline-offset:4px}
.form-note{font-size:.75rem;line-height:1.5;margin:0;color:#633019}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.form-honeypot{display:none}
@media(max-width:1000px){.contact-form-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:30px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.contact-form-layout{grid-template-columns:1fr;gap:24px;margin-top:30px;padding-top:28px}.contact-form-intro h3{font-size:1.6rem;max-width:none}.contact-form-intro p{max-width:none}.form-submit{width:100%;gap:18px;font-size:.875rem;padding-inline:14px}.contact-email{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.form-submit{transition:none}.form-submit:hover{transform:none}}
