@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#172622;--paper:#f7f8f5;--green:#164c3b;--acid:#d7f26d;--line:#ccd2ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #71912b;outline-offset:6px}header{max-width:1440px;margin:auto;padding:30px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:20px;line-height:1.1;letter-spacing:-.8px}.brand-dot{color:#4d7c23}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:#567622}.nav-contact{border:1px solid var(--ink);padding:10px 18px;border-radius:3px}section{padding:90px 6%;max-width:1440px;margin:auto}.hero{padding-top:65px;padding-bottom:0}.eyebrow{text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:1.8px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:600;line-height:1.07;letter-spacing:-.055em;margin:0}h1{font-size:clamp(56px,8.7vw,126px);margin:34px 0 40px}h1 span{color:var(--green)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px}.hero-bottom p{max-width:530px;font-size:21px;line-height:1.55;margin:0}.button{display:inline-block;background:var(--ink);color:white;padding:18px 24px;border-radius:3px;font-size:15px;white-space:nowrap}.button:hover{background:var(--green)}.hero-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:70px;padding:18px 0;color:#57645d;font-size:13px}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:25px;margin-bottom:55px}.section-top .eyebrow{padding-top:12px}h2{font-size:clamp(36px,4.6vw,64px)}.services{padding-top:75px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-grid article{padding:42px;background:var(--green);color:white;border-radius:3px}.service-grid article:nth-child(2){background:var(--acid);color:var(--ink)}.number{display:block;font-size:14px;margin-bottom:35px;opacity:.8}h3{font-size:36px;letter-spacing:-1.6px}.service-grid p{max-width:440px;margin-top:25px}.service-grid ul{list-style:none;margin:30px 0;padding:0}.service-grid li{padding:10px 0;border-top:1px solid #ffffff40;font-size:16px}.service-grid article:nth-child(2) li{border-color:#17262230}.text-link{display:inline-block;font-weight:600;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:4px}.service-grid article:first-child .text-link:hover{color:var(--acid)}.experience{padding-top:35px}.cases{border-top:1px solid var(--ink)}.case{display:grid;grid-template-columns:1fr 2fr;gap:25px;border-bottom:1px solid var(--line);padding:38px 0}.case-meta{font-size:14px;color:#57645d;padding-top:6px}.case h3{font-size:28px;letter-spacing:-1px}.case p{max-width:730px;color:#4a5851}.facts{display:flex;gap:60px;margin-top:25px}.facts div{display:flex;flex-direction:column;max-width:200px}.facts strong{font:600 52px Manrope;letter-spacing:-2px}.facts span,.case-tag{font-size:14px;color:#57645d}.about{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;margin-top:38px}.about p{margin:0 0 22px}.about .lead{font-size:23px;line-height:1.5}.contact{background:var(--green);color:white;max-width:none;padding-top:70px;padding-bottom:70px}.contact h2{margin:32px 0 25px;font-size:clamp(40px,5.5vw,78px);color:var(--acid)}.contact p{color:#d2ded6}.email{display:inline-block;font-size:clamp(17px,2.7vw,36px);border-bottom:1px solid #aac0af;margin:25px 0 30px;overflow-wrap:anywhere}.contact-details{display:flex;gap:35px;font-size:16px}footer{display:flex;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;padding:25px 6%;font-size:13px;color:#57645d}@media(min-width:1440px){.contact{padding-left:calc((100vw - 1440px)/2 + 86px)}}@media(max-width:850px){nav{gap:18px}nav a:first-child{display:none}.hero-bottom{align-items:flex-start;flex-direction:column}.section-top{grid-template-columns:1fr}.service-grid article{padding:30px}.about-grid{gap:35px}.facts{gap:30px}}@media(max-width:600px){header{padding:24px 6%}.brand{font-size:18px}nav a{display:none}nav .nav-contact{display:block;padding:9px 12px;font-size:12px}section{padding:55px 6%}.hero{padding-top:40px}.eyebrow{font-size:12px;letter-spacing:1px}h1{font-size:clamp(44px,10.5vw,64px);margin:28px 0}.hero-bottom p{font-size:18px}.hero-index{margin-top:45px;font-size:12px;gap:20px}.hero-index span:last-child{max-width:135px;text-align:right}.service-grid,.about-grid,.case{grid-template-columns:1fr}.service-grid{gap:16px}.section-top{margin-bottom:32px}.service-grid h3{font-size:32px}.number{margin-bottom:22px}.case{gap:15px;padding:28px 0}.case h3{font-size:26px}.about-grid{gap:28px;margin-top:28px}.about .lead{font-size:21px}.contact-details{gap:22px;flex-wrap:wrap}footer{flex-wrap:wrap}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Mid-century direction */
:root{--ink:#243a37;--paper:#f1ecdf;--green:#235a5c;--acid:#d9d6a7;--line:#c8c3b4}
h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(52px,7.6vw,109px);line-height:1.06}h1 span{color:#aa5635}h3{font-weight:600}
.hero-composition{display:grid;grid-template-columns:1fr 285px;align-items:center;gap:35px;margin:28px 0 30px}.hero-composition h1{margin:0}.retro-mark{width:100%;aspect-ratio:1}.retro-mark svg{display:block;width:100%;height:auto}
.brand-dot{color:#aa5635}.service-grid article{border-radius:0}.service-grid article:nth-child(2){background:#d9d6a7}.number{font-family:Georgia,serif;font-size:24px}.button,.nav-contact{border-radius:0}.button{background:#aa5635}.contact h2{color:#f1ecdf}.facts strong{font-family:'DM Serif Display',Georgia,serif}.contact{border-top:10px solid #b7653e}
@media(max-width:1000px){.hero-composition{grid-template-columns:1fr 210px;gap:20px}}@media(max-width:700px){.hero-composition{grid-template-columns:1fr 120px;gap:12px}h1{font-size:clamp(38px,7.5vw,56px)}}@media(max-width:440px){.hero-composition{grid-template-columns:1fr}.retro-mark{width:110px;margin:8px 0 0 auto}.hero-composition h1{font-size:48px}}
