:root{
  --bg:#F5EFE4; --bg-2:#ECE2D0; --ink:#1F2A22; --muted:#59614F; --line:#D9CCB4;
  --accent:#A8401F; --accent-ink:#FFF8EE; --kraft:#C49A64;
  --serif:'Young Serif',Georgia,serif; --sans:'Figtree',system-ui,-apple-system,sans-serif;
  --wrap:1180px; --gut:clamp(20px,4vw,40px);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,4.4vw,3.7rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.4rem}
p{max-width:62ch}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:9}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* header */
header{padding:22px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo svg{width:44px;height:44px;flex:none}
.logo b{display:block;font:400 1.6rem/1 var(--serif)}
.logo small{display:block;font:500 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}
nav{display:flex;align-items:center;gap:28px;font-weight:500;font-size:.98rem}
nav a{text-decoration:none}
nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;padding:14px 22px;border-radius:999px;transition:background .2s}
.btn:hover{background:#8E3418}
.btn svg{width:18px;height:18px}
@media (max-width:760px){nav a:not(.btn){display:none}nav .btn{padding:11px 16px;font-size:.92rem}}

/* hero */
.hero{display:grid;grid-template-columns:6fr 6fr;gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(24px,5vw,64px);padding-bottom:clamp(64px,8vw,110px)}
.hero p{font-size:1.15rem;color:var(--muted);margin:22px 0 32px}
.hero .more{margin-left:20px;font-weight:500;white-space:nowrap}
.hero figure{border-radius:6px;overflow:hidden;background:var(--bg-2)}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:8px}
  .hero p{margin:16px 0 24px}
  .hero .more{display:none}
}

/* range */
.range{border-top:1px solid var(--line);padding:clamp(64px,8vw,110px) 0}
.head{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);margin-bottom:clamp(36px,5vw,60px)}
.head p{color:var(--muted);font-size:1.1rem;align-self:end}
.items{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.items figure img{border-radius:6px;aspect-ratio:4/5;object-fit:cover;width:100%;background:var(--bg-2)}
.items h3{margin:22px 0 8px}
.items p{color:var(--muted)}
.extra{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px)}
.extra h3{font-size:1.25rem}
@media (max-width:860px){
  .head,.extra{grid-template-columns:1fr;gap:12px}
  .items{grid-template-columns:1fr;gap:40px}
  .items figure img{aspect-ratio:5/4}
}

/* way of working */
.work{background:var(--bg-2);padding:clamp(64px,8vw,110px) 0}
.work .grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px)}
.work .copy p+p{margin-top:22px}
.work strong{font-weight:600}
@media (max-width:860px){.work .grid{grid-template-columns:1fr;gap:20px}}

/* contact */
.contact{padding:clamp(64px,8vw,110px) 0}
.contact .grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px)}
.contact .lead{color:var(--muted);margin:18px 0 28px}
dl{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line)}
dt,dd{padding:16px 0;border-bottom:1px solid var(--line)}
dt{color:var(--muted)}
dd a{text-underline-offset:4px}
@media (max-width:860px){.contact .grid{grid-template-columns:1fr;gap:32px}dl{grid-template-columns:110px 1fr}}

nav a[aria-current="page"]:not(.btn){text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}

/* inner pages */
.page-head{padding:clamp(28px,5vw,64px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}
.page-head .wrap{display:grid;grid-template-columns:6fr 6fr;gap:clamp(28px,5vw,72px);align-items:end}
.page-head p{color:var(--muted);font-size:1.15rem}
@media (max-width:860px){.page-head .wrap{grid-template-columns:1fr;gap:14px}}
.cats{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.cat{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(28px,4vw,48px) 0}
.cat+.cat{border-top:1px solid var(--line)}
.cat:nth-child(even) figure{order:2}
.cat img{border-radius:6px;aspect-ratio:4/5;object-fit:cover;width:100%;background:var(--bg-2)}
.cat h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:14px}
.cat p+p{margin-top:14px}
.cat .incl{color:var(--muted)}
.cat .incl b{color:var(--ink);font-weight:600}
@media (max-width:860px){.cat{grid-template-columns:1fr;gap:20px}.cat:nth-child(even) figure{order:0}.cat img{aspect-ratio:5/4}}
.prose{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.prose .row{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,72px);padding:clamp(28px,4vw,44px) 0}
.prose .row+.row{border-top:1px solid var(--line)}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}
.prose p+p{margin-top:16px}
.prose strong{font-weight:600}
@media (max-width:860px){.prose .row{grid-template-columns:1fr;gap:12px}}
.wide img{width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:6px;background:var(--bg-2)}
@media (max-width:860px){.wide img{aspect-ratio:4/3}}
.more-link{display:inline-block;margin-top:28px;font-weight:600;text-underline-offset:4px}
.cta{border-top:1px solid var(--line);padding:clamp(56px,7vw,96px) 0}
.cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta p{color:var(--muted);margin-top:10px}
.checklist{margin:18px 0 0;padding-left:1.2em;color:var(--muted)}
.checklist li+li{margin-top:6px}

footer{background:var(--bg-2);padding:clamp(48px,6vw,72px) 0 28px;font-size:.95rem;color:var(--muted)}
.foot{display:grid;grid-template-columns:5fr 3fr 4fr;gap:32px}
.foot-name{font:400 1.3rem/1.2 var(--serif);color:var(--ink);margin-bottom:8px}
.foot-h{font-weight:600;color:var(--ink);margin-bottom:8px}
footer ul{list-style:none;padding:0}
footer li+li{margin-top:4px}
footer a{text-underline-offset:3px}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.88rem}
@media (max-width:760px){.foot{grid-template-columns:1fr;gap:24px}}
