:root{
  --paper:#F7F1E8;
  --shelf:#EBDFCF;
  --ink:#2B221A;
  --rust:#A24B2A;
  --dim:#8C7C6A;
  --line:rgba(43,34,26,.16);
  --panelpad:clamp(18px,2vw,28px);
  --gap:clamp(14px,1.4vw,22px);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,system-ui,sans-serif;
  font-weight:400;
  font-size:1rem;
  line-height:1.62;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rust);text-decoration:underline;text-underline-offset:2px}
a:hover{color:#8B3E22}
h1,h2,h3,h4{font-family:Sora,sans-serif;line-height:1.2;margin:0 0 .6em}
h1{
  font-weight:700;
  font-size:clamp(2rem,4.2vw,3.4rem);
  line-height:1.06;
  letter-spacing:-0.02em;
}
h2{font-weight:600;font-size:clamp(1.4rem,2.2vw,2rem)}
h3{font-weight:600;font-size:1.1rem;letter-spacing:.01em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.prose{max-width:72ch}
ul,ol{margin:0 0 1em;padding-left:1.2em}
button,input,select,textarea{font:inherit}

:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.board--ink :focus-visible,
.utilitystrip :focus-visible,
.heroband :focus-visible,
.cookiebar :focus-visible,
.btn--onDark:focus-visible{outline-color:#F7F1E8}

.skip{
  position:absolute;left:12px;top:-48px;z-index:80;
  background:var(--rust);color:#FFF6EF;padding:8px 12px;border-radius:var(--radius);
}
.skip:focus{top:12px}
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.hp{
  position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;
  overflow:hidden!important;opacity:0!important;
}

.console{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,3vw,40px)}

.utilitystrip{
  background:var(--ink);color:#F7F1E8;
  font-size:.82rem;letter-spacing:.02em;
}
.utilitystrip__inner{
  display:flex;flex-wrap:wrap;gap:8px 18px;
  justify-content:flex-end;align-items:center;
  padding:8px clamp(16px,3vw,40px);
}
.utilitystrip a{color:#F7F1E8;text-decoration:none}
.utilitystrip a:hover{text-decoration:underline}

/* sticky nav */
.topbar{
  position:sticky;top:0;z-index:40;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.topbar__inner{
  display:flex;align-items:center;gap:18px;
  padding:12px 0;min-height:64px;
}
.topbar__brand{
  display:flex;align-items:center;gap:10px;
  font-family:Sora,sans-serif;font-weight:600;font-size:1.02rem;
  color:var(--ink);text-decoration:none;letter-spacing:-0.01em;
  margin-right:auto;
}
.topbar__brand svg{width:22px;height:22px;flex-shrink:0}
.topbar__menu{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;
  list-style:none;margin:0;padding:0;
}
.topbar__menu a{
  color:var(--ink);text-decoration:none;font-weight:500;font-size:.92rem;
}
.topbar__menu a:hover,
.topbar__menu a[aria-current="page"]{color:var(--rust)}
.topbar__cta{flex-shrink:0}
.topbar__burger{
  display:none;margin-left:auto;
  background:transparent;border:1px solid var(--line);
  border-radius:var(--radius);padding:8px 10px;color:var(--ink);cursor:pointer;
}
.topbar__burger span{
  display:block;width:18px;height:2px;background:var(--ink);margin:3px 0;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:Sora,sans-serif;font-weight:600;font-size:.88rem;
  padding:10px 16px;border-radius:var(--radius);border:1px solid transparent;
  text-decoration:none;cursor:pointer;line-height:1.2;
}
.btn--primary{background:var(--rust);color:#FFF6EF}
.btn--primary:hover{background:#8B3E22;color:#FFF6EF}
.btn--quiet{background:var(--shelf);color:var(--ink);border-color:var(--line)}
.btn--quiet:hover{background:#E1D2BE;color:var(--ink)}
.btn--onDark{background:#F7F1E8;color:var(--ink)}
.btn--onDark:hover{background:#FFFFFF;color:var(--ink)}

.heroband{
  background-color:var(--ink);
  background-image:linear-gradient(100deg,rgba(43,34,26,.86) 0%,rgba(43,34,26,.62) 60%,rgba(43,34,26,.78) 100%),var(--hero-img);
  background-size:cover;
  background-position:center;
  color:#F7F1E8;
  padding:clamp(56px,8vw,110px) 0;
}
.heroband--hero{
  --hero-img:url("/images/hero.jpg");
  background-image:linear-gradient(100deg,rgba(43,34,26,.92) 0%,rgba(43,34,26,.78) 55%,rgba(43,34,26,.9) 100%),var(--hero-img);
}
.heroband--office{--hero-img:url("/images/office.jpg")}
.heroband--meeting{--hero-img:url("/images/meeting.jpg")}
.heroband--work1{--hero-img:url("/images/work-1.jpg")}
.heroband--work2{--hero-img:url("/images/work-2.jpg")}
.heroband--work3{--hero-img:url("/images/work-3.jpg")}
.heroband--detail1{--hero-img:url("/images/detail-1.jpg")}
.heroband--detail2{--hero-img:url("/images/detail-2.jpg")}
.heroband--plain{
  --hero-img:none;
  background-image:none;
  padding:clamp(40px,6vw,72px) 0;
}
.heroband--narrow{padding:clamp(40px,6vw,80px) 0}
.heroband__inner{max-width:760px}
.heroband h1{color:#F7F1E8}
.heroband p{color:#F7F1E8;font-size:1.05rem}
.heroband__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.heroband__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}
.heroband__chips li{
  border:1px solid rgba(247,241,232,.28);
  background:rgba(43,34,26,.35);
  color:#F7F1E8;
  font-size:.82rem;padding:6px 10px;border-radius:var(--radius);
}

.board{padding-block:clamp(44px,5vw,78px)}
.board--ink{background:var(--ink);color:#F7F1E8}
.board--ink h2,.board--ink h3{color:#F7F1E8}
.board--ink p,.board--ink li{color:#F7F1E8}
.board--ink .tag-line{color:#C9B9A4}
.board--ink .tile,.board--ink .tile h3,.board--ink .tile p{color:var(--ink)}
.board--ink .widget h3,.board--ink .widget p{color:var(--ink)}
.board--ink .widget a{color:var(--rust)}
.board--ink .widget .tag-line{color:var(--dim)}
.board--tight{padding-block:clamp(28px,3vw,44px)}

.gridpair{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(24px,3vw,56px);
  align-items:start;
}
.gridpair--flip{grid-template-columns:1.08fr .92fr}
.figcap{margin-top:8px;color:var(--dim);font-size:.85rem}
.board--ink .figcap{color:#C9B9A4}
.frame{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--shelf);
}
.frame img{width:100%;height:auto}

.tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--gap);
}
.tile{
  background:var(--shelf);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:var(--panelpad);
}
.tile__value{
  font-family:Sora,sans-serif;font-weight:600;
  font-size:clamp(1.5rem,2.4vw,2.1rem);
  color:var(--rust);letter-spacing:-0.02em;
  margin:.2em 0 .4em;
}

.tag-line{
  font-family:Inter,sans-serif;font-weight:600;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.14em;color:var(--dim);
  display:block;margin-bottom:6px;
}

.widget{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:var(--panelpad);
}
.widget__head{margin-bottom:12px}
.widget__body p+p{margin-top:.8em}
.widgetstack{display:flex;flex-direction:column}
.widgetstack .widget{
  border-radius:0;
  border-bottom:0;
}
.widgetstack .widget:first-child{border-radius:var(--radius) var(--radius) 0 0}
.widgetstack .widget:last-child{border-radius:0 0 var(--radius) var(--radius);border-bottom:1px solid var(--line)}

.steprail{list-style:none;margin:0;padding:0;counter-reset:step}
.steprail li{
  position:relative;
  padding:18px 0 18px 64px;
  border-bottom:1px solid var(--line);
  counter-increment:step;
}
.steprail li:last-child{border-bottom:0}
.steprail li::before{
  content:counter(step);
  position:absolute;left:0;top:18px;
  font-family:Sora,sans-serif;font-weight:600;color:var(--rust);
  font-size:1.3rem;width:44px;
}

.deftable{width:100%;border-collapse:collapse;font-size:.95rem;overflow-x:auto;display:block}
.deftable table{width:100%;border-collapse:collapse}
table.deftable{display:table}
.deftable th,.deftable td{
  text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;
}
.deftable thead th{
  background:var(--ink);color:#F7F1E8;font-weight:600;font-family:Inter,sans-serif;
}
.deftable tbody tr:nth-child(even){background:var(--shelf)}

.boardlayout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:clamp(22px,3vw,40px);
  align-items:start;
}
.panelrail{
  position:sticky;top:96px;
  display:flex;flex-direction:column;gap:16px;
}
.panelrail__nav{
  background:var(--shelf);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;
}
.panelrail__nav a{
  display:block;color:var(--ink);text-decoration:none;font-size:.9rem;
  padding:6px 0;border-bottom:1px solid var(--line);
}
.panelrail__nav a:last-child{border-bottom:0}
.panelrail__nav a:hover{color:var(--rust)}
.panelrail__card{
  background:var(--ink);color:#F7F1E8;
  border-radius:var(--radius);padding:16px;
}
.panelrail__card p{color:#F7F1E8;font-size:.92rem}
.panelrail__card a:not(.btn){color:#F7F1E8}
.panelrail__card .btn{margin-top:10px;width:100%}

.faqset{display:flex;flex-direction:column;gap:10px}
.faqitem{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  padding:12px 16px;
}
.faqitem summary{
  font-family:Sora,sans-serif;font-weight:600;cursor:pointer;list-style:none;
}
.faqitem summary::-webkit-details-marker{display:none}
.faqitem[open] summary{margin-bottom:8px;color:var(--rust)}

.sitefoot{background:var(--ink);color:#F7F1E8;padding:clamp(36px,5vw,64px) 0 24px}
.sitefoot a{color:#F7F1E8}
.sitefoot h2,.sitefoot h3{color:#F7F1E8}
.footform{
  background:rgba(247,241,232,.06);
  border:1px solid rgba(247,241,232,.16);
  border-radius:var(--radius);
  padding:var(--panelpad);
  margin-bottom:36px;
}
.footform .tag-line{color:#C9B9A4}
.formgrid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin-top:16px;
}
.formgrid .full{grid-column:1/-1}
label{display:block;font-weight:500;margin-bottom:4px;font-size:.9rem}
.hint{display:block;color:var(--dim);font-size:.8rem;margin-top:4px}
.board--ink .hint,.footform .hint,.panelrail__card .hint{color:#C9B9A4}
input[type="text"],input[type="email"],input[type="tel"],select,textarea{
  width:100%;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;
}
.footform input[type="text"],
.footform input[type="email"],
.footform textarea{background:#F7F1E8;color:var(--ink)}
.check{display:flex;gap:10px;align-items:flex-start}
.check input{margin-top:4px}
.sitefoot__cols{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--gap);
  margin-bottom:28px;
}
.sitefoot__cols h3{font-size:.95rem;margin-bottom:10px}
.sitefoot__cols ul{list-style:none;padding:0;margin:0}
.sitefoot__cols li{margin-bottom:6px}
.sitefoot__cols a{text-decoration:none}
.sitefoot__cols a:hover{text-decoration:underline}
.trustline{
  border-top:1px solid rgba(247,241,232,.16);
  padding-top:18px;color:#C9B9A4;font-size:.92rem;
}
.sitefoot__legal{
  margin-top:16px;color:#C9B9A4;font-size:.85rem;
}
.sitefoot__legal p{margin-bottom:.7em}

.cookiebar{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  background:var(--ink);color:#F7F1E8;
  border-top:1px solid rgba(247,241,232,.16);
  padding:16px clamp(16px,3vw,40px);
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
}
.cookiebar p{margin:0;max-width:70ch;color:#F7F1E8}
.cookiebar__act{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cookiebar__link{color:#F7F1E8}
.cookiebar.is-closed{display:none}

.lift-in{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease}
html.js .lift-in{opacity:0;transform:translateY(14px)}
html.js .lift-in.shown{opacity:1;transform:none}
.no-js .lift-in{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion: reduce){
  .lift-in,html.js .lift-in{opacity:1!important;transform:none!important;transition:none!important}
}

.cta-panel{padding:var(--panelpad)}
.cta-panel .btn{margin-top:14px}

.notice{
  border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;margin-bottom:18px;background:var(--shelf);
}
.notice--ok{border-color:#3d6b3d;background:#e7f0e4}
.notice--err{border-color:#9b2c2c;background:#f6e4e0}

.pattern-label{font-style:italic;color:var(--dim);display:block;margin-bottom:8px}
.sect{margin-bottom:clamp(28px,4vw,48px);scroll-margin-top:96px}
.mapframe{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}

.no-js .topbar__menu{display:flex}

@media (max-width:1180px){
  .topbar__menu{gap:4px 12px}
  .topbar__menu a{font-size:.86rem}
}
@media (max-width:980px){
  .gridpair,.gridpair--flip,.boardlayout{grid-template-columns:1fr}
  .panelrail{position:static}
  .sitefoot__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .topbar__burger{display:inline-block}
  .topbar__menu{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--paper);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;padding:12px 16px 18px;
  }
  .topbar__menu.is-open{display:flex}
  .no-js .topbar__menu{display:flex;position:static;border-bottom:0;padding:0}
  .topbar{position:sticky}
  .topbar__inner{position:relative;flex-wrap:wrap}
  .formgrid{grid-template-columns:1fr}
  .heroband__chips{flex-direction:column}
}
@media (max-width:520px){
  .sitefoot__cols{grid-template-columns:1fr}
  .utilitystrip__inner{justify-content:flex-start;font-size:.78rem}
  .topbar__cta{display:none}
  .cookiebar{flex-direction:column;align-items:flex-start}
}
