@font-face{font-family:"Neue Montreal";src:url("/fonts/NeueMontreal-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("/fonts/NeueMontreal-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("/fonts/NeueMontreal-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("/fonts/NeueMontreal-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --paper:#FBF8F2;
  --oat:#E8DFD0;
  --taupe:#8A7A68;
  --sage:#7C8B6B;
  --cocoa:#5A4636;
  --espresso:#2A211A;
  --oxblood:#8A2E26;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif;
  --measure:62ch;
  --gutter:clamp(20px,5vw,64px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--paper);
  color:var(--espresso);
  font-family:var(--sans);
  font-size:clamp(17px,1.05vw + 12px,19px);
  line-height:1.3;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--oxblood);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.15em}
a:focus-visible,button:focus-visible{outline:2px solid var(--oxblood);outline-offset:4px;border-radius:2px}

h1,h2,h3{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.06em;
  line-height:1;
  color:var(--espresso);
}
.callout{color:var(--oxblood)}
h1{font-size:clamp(44px,7vw,96px)}
h2{font-size:clamp(38px,5.4vw,72px)}
h3{font-size:clamp(30px,3.2vw,42px)}
p{max-width:var(--measure)}
p + p{margin-top:1em}

.wrap{width:min(1180px,100% - 2*var(--gutter));margin-inline:auto}

/* Header */
.site-head{padding:28px 0 0}
.site-head .wrap{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.mark{width:84px;height:84px;flex:none}
.nav{display:flex;gap:clamp(18px,3vw,44px);flex-wrap:wrap;margin-left:auto;margin-right:auto}
.nav a{font-size:clamp(19px,1.6vw,26px);color:var(--oxblood);text-transform:lowercase}
.nav a:hover{text-decoration:none;color:var(--cocoa)}
@media (max-width:640px){
  .site-head .wrap{gap:20px}
  .mark{width:64px;height:64px}
  .nav{margin-left:0;gap:16px 22px}
}

/* Hero */
.hero{padding:clamp(72px,12vw,160px) 0 clamp(56px,8vw,110px);text-align:center}
.hero h1{margin-inline:auto;max-width:24ch}
.hero .stand{margin:clamp(28px,3.5vw,44px) auto 0;max-width:46ch;color:var(--cocoa)}

/* Sections */
.section{padding:clamp(56px,8vw,120px) 0}
.section-head{text-align:center;margin-bottom:clamp(36px,5vw,64px)}
.section-head p{margin:20px auto 0;max-width:52ch;color:var(--cocoa)}


.services{background:var(--oat)}
.services .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,72px)}
.service h3{margin-bottom:20px}
.service p{max-width:none;color:var(--espresso)}
.service .icon{width:64px;height:64px;margin-bottom:26px;color:var(--espresso)}
@media (max-width:760px){.services .grid{grid-template-columns:1fr}}

.way .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px)}
.way .icon{display:block;width:72px;height:72px;margin:0 auto 26px;color:var(--espresso)}
.way h3{text-align:center;margin-bottom:18px;white-space:nowrap;font-size:clamp(26px,2.3vw,36px)}
.way p{max-width:none}
@media (max-width:820px){.way .grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

/* Button */
.cta-row{display:flex;justify-content:center;padding:clamp(24px,4vw,56px) 0 0}
.btn{
  display:inline-flex;align-items:center;gap:28px;
  border:4px solid var(--oxblood);border-radius:999px;
  padding:14px 14px 14px 44px;
  color:var(--oxblood);font-weight:700;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(18px,1.7vw,26px);line-height:1;
  background:transparent;
}
.btn:hover{text-decoration:none;background:rgba(138,46,38,.06)}
.btn .chev{width:56px;height:56px;border-radius:50%;background:var(--oxblood);display:grid;place-items:center;flex:none}
.btn .chev svg{width:22px;height:22px;stroke:var(--paper);fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){.btn{gap:18px;padding:12px 12px 12px 28px}.btn .chev{width:46px;height:46px}}

/* Contact */
.contact{background:var(--espresso);color:var(--paper)}
.contact h2{color:var(--paper)}
.contact .callout{color:var(--oat)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.contact .lines{font-family:var(--serif);letter-spacing:-.04em;line-height:1.05;font-size:clamp(28px,3.4vw,46px)}
.contact .lines a{color:var(--paper);display:block;padding:10px 0;border-bottom:1px solid rgba(232,223,208,.28)}
.contact .lines a:first-child{border-top:1px solid rgba(232,223,208,.28)}
.contact .lines a:hover{color:var(--oat);text-decoration:none}
.contact p{color:var(--oat);max-width:38ch}
@media (max-width:820px){.contact .wrap{grid-template-columns:1fr}}


/* Footer */
.site-foot{padding:clamp(48px,7vw,96px) 0 40px;text-align:center}
.site-foot .wordmark{width:min(420px,70vw);margin:0 auto 36px}
.site-foot small{display:block;color:var(--taupe);font-size:.82em;line-height:1.5;max-width:60ch;margin-inline:auto}
.site-foot small a{color:var(--taupe)}
.site-foot .links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:0 0 18px;font-size:.9em}
.site-foot .links a{color:var(--cocoa)}

/* Legal page */
.legal-head{padding:36px 0 0}
.legal-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-head .back{font-size:1em;color:var(--oxblood)}
.legal{padding:clamp(40px,6vw,80px) 0 clamp(56px,8vw,110px)}
.legal .wrap{max-width:760px}
.legal h1{font-size:clamp(40px,6vw,76px);margin-bottom:14px;color:var(--oxblood)}
.legal .intro{color:var(--cocoa);margin-bottom:clamp(36px,5vw,56px)}
.legal .updated{color:var(--taupe);font-size:.88em;margin-bottom:clamp(36px,5vw,56px)}
.legal .jump{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:clamp(40px,6vw,72px);padding-bottom:28px;border-bottom:1px solid var(--oat)}
.legal .jump a{color:var(--oxblood)}
.legal section + section{margin-top:clamp(56px,8vw,96px)}
.legal h2{font-size:clamp(34px,4.6vw,56px);margin-bottom:20px;color:var(--oxblood)}
.legal h3{font-size:clamp(24px,2.4vw,30px);margin:34px 0 12px;color:var(--oxblood)}
.legal p,.legal li{max-width:none;color:var(--espresso)}
.legal ul{padding-left:1.2em;margin:10px 0}
.legal li+li{margin-top:6px}
