@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root { --paper:#F5F5EF; --paper-dark:#E9EBE2; --ink:#202920; --blue:#202D26; --blue-dark:#17221C; --blue-mid:#394C3D; --amber:#BCD48E; --amber-light:#D0E6A8; --white:#FAFBF7; --rule:#CCD0C5; --muted:#626B60; }
html { scroll-padding-top:90px; }
body { font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased; }
p,input,textarea,select,.hero-sub,.adv-body,.prob-card p,.svc-card p,.about-body,.page-sub,.card-body,.cta-sub,.hero-copy,.section-intro,.pitch-copy { font-family:'DM Sans',sans-serif !important; }
h1,h2,h3,.hero-headline,.sec-heading,.page-title,.cta-title,.card-title,.section-title,.proof-stat,.crew-name,.adv-title { font-family:'Space Grotesk',sans-serif !important; font-weight:500; letter-spacing:-.045em !important; }
a,button { transition:background .2s,color .2s,transform .2s; }
#site-header,body>header { background:var(--paper); border-bottom:1px solid var(--rule); box-shadow:none !important; }
.header-inner { height:82px; min-height:82px; max-width:1440px; }
.header-logo,.logo { font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; letter-spacing:-.055em; color:var(--ink); }
.header-logo em,.logo em { color:var(--ink); }
.header-nav a,header nav a { color:var(--ink); font-family:'DM Sans',sans-serif; letter-spacing:0; text-transform:none; font-size:13px; }
.header-nav a:hover,header nav a:hover,header nav a.active { color:#507139; }
.btn-header,.btn-nav,.nav-cta { background:var(--ink); color:var(--white)!important; border:1px solid var(--ink); font-family:'DM Sans',sans-serif!important; font-size:12px!important; font-weight:600; letter-spacing:.02em!important; padding:13px 20px; border-radius:3px; }
.hamburger span { background:var(--ink); }.mobile-nav { background:var(--paper); border-color:var(--rule); }.mobile-nav a { color:var(--ink); }
#hero { background:var(--paper); min-height:0; padding:160px 48px 36px; }
#hero:before,#hero:after,.sec-dark:before,.page-hero:before,.cta-section:before,.hero:after,.pitch:after { display:none; }
#hero .hero-inner { grid-template-columns:minmax(0,1fr) 270px; gap:70px; max-width:1344px; align-items:end; }
.hero-eyebrow { color:#5A6754; margin-bottom:32px; letter-spacing:.1em; }
.hero-headline { font-size:clamp(42px,6.65vw,98px); line-height:1; color:var(--ink); margin-bottom:30px; }
.amber-period { color:#6B8A40; }
.hero-sub { color:#566052; font-size:18px; line-height:1.6; max-width:630px; }
.btn-fill,.btn-ghost,.btn-cta,.btn { font-family:'DM Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.025em; padding:17px 25px; border-radius:3px; }
.btn-fill { background:var(--ink); border-color:var(--ink); color:var(--white); }.btn-fill:hover { background:#3D503D; border-color:#3D503D; }.btn-ghost { color:var(--ink); border:1px solid #98A28E; }.btn-ghost:hover { border-color:var(--ink); }
.typewriter-label { color:#63705C; border-color:#AFB8A4; font-size:9px; }.typewriter-box { background:#E8ECDf; border:0; border-radius:3px; min-height:195px; padding:27px 22px; margin-top:18px; }.tw-prefix { color:#5F6F50; }#tw-display { font-family:'Space Grotesk',sans-serif; font-size:27px; font-weight:500; letter-spacing:-.045em; color:#293D22; min-height:92px; }.cursor { background:#6B8A40; }
.hero-bottom { max-width:1344px; margin-top:70px; }.hero-rule { background:#B8C0AF; }.hero-byline { color:#616C5A; font-size:9px; letter-spacing:.06em; }
.sec-cream,.sec-dark { padding:100px 48px; }.sec-inner { max-width:1344px; }.sec-heading { font-size:clamp(34px,4vw,58px); padding-top:0; }.num-bg { position:static; display:block; font-family:'DM Sans',sans-serif; font-size:11px; color:#63705C; opacity:1; margin-bottom:20px; letter-spacing:.1em; }.num-bg.light { color:#C8D5BD; }
.problem-grid { border:0; gap:36px; margin-top:44px; }.prob-card { padding:28px 0; border:0; border-top:1px solid #AEB8A4; background:transparent; }.prob-card:hover { background:transparent; }.prob-card:after { display:none; }.prob-card h3 { font-size:25px; line-height:1.18; }.prob-card p { font-size:16px; color:#5A6355; }.card-tag { color:#617351; }
.sec-dark { background:#202D26; }.svc-subhead { color:#BCD48E; margin:24px 0 42px; }.services-grid { gap:18px; }.svc-card { background:#2B3A30; border:1px solid #4A5A48; border-radius:4px; padding:28px; }.svc-card:hover { transform:translateY(-2px); box-shadow:none; }.svc-card h3 { color:#F4F7ED; font-size:25px; line-height:1.1; }.svc-card:before { display:none; }.svc-price { font-size:24px; }.pill { background:transparent; border:1px solid #66745A; border-radius:20px; color:#D9E4CE; font-size:8px; letter-spacing:.06em; }
.why-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; }.adv-block { padding-left:48px; }.adv-num { font-family:'DM Sans',sans-serif; font-size:17px; color:#6A7D55; top:4px; }.adv-title { font-size:23px; }.adv-body { font-size:16px; color:#596451; }.spec-box { border:1px solid #BEC7B2; background:#E9EDE1; border-radius:4px; }.spec-titlebar { background:#34452F; }.spec-corner-l,.spec-dwg { color:#78954D; }
#about { background:#202D26; }.about-l { background:#293B2B; }.about-r { background:var(--paper); }.about-body { font-size:17px; line-height:1.85; }.about-email { color:#D6E5C4; }.crew-name { font-size:18px; }.crew-member img { border-color:#A9BD88!important; }.creds span { border-width:1px!important; font-family:'DM Sans',sans-serif!important; font-size:10px!important; letter-spacing:.04em!important; }
.contact-note { color:#687B55; }.contact-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:80px; }.f-group input,.f-group textarea,.f-group select,input,textarea,select { border:1px solid #BEC7B2; border-radius:3px; background:#FAFBF7; }.f-submit,.submit { background:var(--ink); color:#FAFBF7; border-color:var(--ink); font-family:'DM Sans',sans-serif; border-radius:3px; }.cinfo-val { font-size:17px; }.cinfo-label { color:#65794E; }.stamp-wrap { opacity:.6; filter:grayscale(1); }
#footer,footer { background:#202D26; border-top:1px solid #53654B; }.footer-logo,.f-logo { font-family:'Space Grotesk',sans-serif; letter-spacing:-.03em; }.footer-email,.f-email { color:#BCD48E; }
.page-hero { background:var(--paper); padding:90px 48px 55px; }.page-title { color:var(--ink); font-size:clamp(44px,7vw,90px); }.page-title em { color:#6B854D; }.page-sub { color:#596451; }.eyebrow { color:#63754F; }.grid-section { max-width:1440px; }.grid-section .grid { gap:24px; }.card { border:1px solid #465B41; border-radius:5px; background:#293B2B; }.card:hover { box-shadow:none; transform:translateY(-3px); }.card-title { font-size:32px; color:#EAF0DF; }.card-bg-num { display:none; }.cta-title { font-size:42px; line-height:1.05; }
.hero { background:#202D26; }.hero .hero-inner { min-height:0; padding-block:100px; }.hero h1 { font-size:clamp(48px,6.2vw,90px); line-height:1; }.hero-proof { border-width:1px; }.proof-stat { font-size:36px; }.section-title { font-size:clamp(36px,4vw,62px); line-height:1.06; }.case h3 { font-size:29px; }.case-grid { gap:28px; border:0; }.case,.case+.case { border:1px solid var(--rule); border-radius:4px; overflow:hidden; }.service h3 { font-size:25px; }.pitch { background:#202D26; }.pitch h1 { font-size:clamp(42px,4.6vw,70px); line-height:1.03; }.form-side h2 { font-size:36px; }.promise strong { font-family:'Space Grotesk',sans-serif; }
:focus-visible { outline:3px solid #78994D; outline-offset:4px; }
@media(max-width:1100px) { #hero .hero-inner { grid-template-columns:1fr; gap:38px; } #hero .hero-inner>div:last-child { max-width:460px; }.typewriter-box { min-height:135px; }#tw-display { min-height:50px; }.hero-headline { font-size:clamp(42px,8vw,86px); }.why-grid,.contact-grid { grid-template-columns:1fr; gap:45px; }.header-nav { gap:18px; }.header-logo { font-size:17px; } }
@media(max-width:768px) { #hero { padding:125px 24px 28px; }.hero-headline { font-size:clamp(30px,7.7vw,59px); }.header-inner { height:72px; min-height:72px; padding-inline:24px; }.sec-cream,.sec-dark { padding:68px 24px; }.hero-bottom { margin-top:42px; }.problem-grid { grid-template-columns:1fr; gap:8px; }.services-grid { grid-template-columns:1fr; }.hero-sub { font-size:16px; }.sec-heading { font-size:34px; }.hero-byline { line-height:1.8; }.hero-ctas { flex-direction:row; }.grid-section .grid { grid-template-columns:1fr; }.card-footer { flex-wrap:wrap; gap:16px; }.case-grid { grid-template-columns:1fr; }.page-hero { padding:60px 24px; }.hero .hero-inner { padding:65px 24px; }.hero h1 { font-size:48px; }.about-r,.about-l { padding:48px 24px; }.about-email { overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
.form-kicker,.section-kicker { color:#566D40; }
.plain-dark .section-kicker,.section-dark .section-kicker { color:#BCD48E; }
.card .card-tag { color:#BDCAB4; }.card .card-num,.card .card-url { color:#BCD48E; }
/* Direction two: a typographic studio, with a restrained vermilion accent. */

:root { --paper:#FAF9F6; --paper-dark:#EEECE7; --ink:#20201F; --blue:#242423; --blue-dark:#171716; --blue-mid:#41413E; --amber:#FF7055; --amber-light:#FF957F; --white:#FAF9F6; --rule:#D2CFC8; --muted:#686660; }
#site-header,body>header { background:#FAF9F6; border-color:#D2CFC8; }
.header-logo,.logo { letter-spacing:-.055em; font-size:20px; }.header-logo em,.logo em { color:#DF442F; }
.header-inner { height:88px; min-height:88px; }.header-nav a:hover,header nav a:hover,header nav a.active { color:#D9432D; }
.btn-header,.btn-nav,.nav-cta,.btn-fill,.btn-ghost,.btn-cta,.btn,.f-submit,.submit { border-radius:0; }
#hero { padding:152px 48px 32px; background:#FAF9F6; }
#hero .hero-inner { grid-template-columns:minmax(0,1fr) 325px; gap:70px; align-items:end; }
.hero-headline { font-family:'Barlow Condensed','Arial Narrow',sans-serif!important; font-weight:600; font-size:clamp(72px,9.2vw,132px); line-height:.86; letter-spacing:-.025em!important; margin-bottom:38px; }
.hero-eyebrow { color:#74716A; font-size:10px; letter-spacing:.07em; margin-bottom:40px; }
.amber-period { color:#E6442D; }.hero-sub { color:#64615B; max-width:580px; font-size:17px; line-height:1.7; }
.btn-fill { background:#E6442D; border-color:#E6442D; color:#FFF; }.btn-fill:hover { background:#BD321F; border-color:#BD321F; }.btn-ghost { border-color:#AAA59C; color:#282724; }
.typewriter-label { border-color:#B9B3AA; color:#737067; }.typewriter-box { background:#EEEAE3; border:0; border-left:3px solid #E6442D; border-radius:0; padding:30px; min-height:188px; }.tw-prefix { color:#7C7267; }#tw-display { font-family:'Barlow Condensed',sans-serif; font-size:42px; font-weight:500; color:#262522; line-height:1; letter-spacing:0; }.cursor { background:#E6442D; width:2px; }.hero-bottom { margin-top:70px; }.hero-rule { background:#B7B2A8; }.hero-byline { color:#767168; }
.sec-cream { background:#FAF9F6; }.sec-dark { background:#242423; }.sec-heading,.page-title,.cta-title,.section-title { font-family:'Barlow Condensed',sans-serif!important; font-weight:600; font-size:clamp(48px,5.2vw,76px); line-height:.96; letter-spacing:-.01em!important; }.num-bg { color:#D9432D; }.num-bg.light { color:#FF7055; }
.problem-grid { gap:48px; }.prob-card { border-color:#B6AEA2; }.prob-card h3 { font-size:26px; font-weight:500; }.prob-card p { color:#6A665E; }.card-tag { color:#AE3929; }
.services-grid { gap:0; border-top:1px solid #66625A; border-left:1px solid #66625A; }.svc-card { background:transparent; border:0; border-right:1px solid #66625A; border-bottom:1px solid #66625A; border-radius:0; padding:36px; }.svc-card:hover { background:#30302D; transform:none; }.svc-card h3 { font-family:'Barlow Condensed',sans-serif!important; font-size:34px; letter-spacing:0!important; font-weight:500; }.svc-subhead { color:#FF947D; }.svc-card p { color:#CCC9C1; }.svc-price { color:#FF947D; }.pill { border-color:#69665E; color:#C9C5BC; border-radius:0; }
.adv-num { color:#D9432D; }.adv-body { color:#69655D; }.spec-box { background:#EEEAE3; border-color:#C5BBAE; border-radius:0; }.spec-titlebar { background:#272723; }.spec-corner-l,.spec-dwg { color:#C7573B; }
#about,.about-l { background:#242423; }.about-r { background:#EEEAE3; }.about-email { color:#FF947D; }.crew-member img { border-color:#C1B8AA!important; }.contact-note,.cinfo-label { color:#B54532; }.f-group input,.f-group textarea,.f-group select,input,textarea,select { border-color:#BDB6AC; border-radius:0; background:#FFF; }
#footer,footer { background:#242423; border-top:1px solid #60594E; }.footer-email,.f-email { color:#FF947D; }
.page-hero { background:#FAF9F6; }.page-title { font-size:clamp(74px,10vw,142px); }.page-title em { color:#D9432D; }.page-sub { color:#69655D; }.eyebrow { color:#AA402F; }.card { background:#242423; border:0; border-radius:0; }.card-title { font-family:'Barlow Condensed',sans-serif!important; font-size:43px; letter-spacing:0!important; }.card .card-tag { color:#C1BCB2; }.card .card-num,.card .card-url { color:#FF947D; }
.hero,.pitch { background:#242423; }.hero h1,.pitch h1 { font-family:'Barlow Condensed',sans-serif!important; font-size:clamp(66px,8vw,122px); line-height:.92; letter-spacing:-.01em!important; }.hero-proof { border-color:#FF7055; }.proof-stat { font-family:'Barlow Condensed',sans-serif!important; font-size:48px; }.case,.case+.case { border-radius:0; }.form-kicker,.section-kicker { color:#B34632; }.plain-dark .section-kicker,.section-dark .section-kicker { color:#FF947D; }
:focus-visible { outline-color:#D9432D; }
@media(max-width:1100px) { #hero .hero-inner { grid-template-columns:minmax(0,1fr) 260px; gap:36px; }.hero-headline { font-size:clamp(62px,9vw,102px); }.typewriter-box { padding:24px; }#tw-display { font-size:34px; } }
@media(max-width:768px) { #hero { padding:126px 24px 30px; }#hero .hero-inner { grid-template-columns:1fr; gap:38px; }.hero-headline { font-size:clamp(52px,12.8vw,96px); line-height:.91; }.hero-eyebrow { margin-bottom:32px; }.hero-sub { font-size:16px; }.typewriter-box { min-height:130px; }.hero-bottom { margin-top:40px; }.header-inner { min-height:72px; height:72px; }.header-logo,.logo { font-size:18px; }.svc-card { padding:28px; }.sec-heading { font-size:48px; }.hero h1,.pitch h1 { font-size:64px; }.page-title { font-size:86px; } }
