@font-face{font-family:"Alegreya";font-style:normal;font-weight:700 800;font-display:swap;src:url(/fonts/alegreya-800.woff2) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sans-400.woff2) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sans-500.woff2) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sans-700.woff2) format("woff2")}

:root{
  /* timber and shellac */
  --walnut:#3a2216;
  --walnut-deep:#28160d;
  --walnut-mid:#56331f;
  --green:#143a31;        /* bottle-green leather, ink green */
  --green-deep:#0e2b24;
  --green-mid:#1f4d41;
  /* luminous accents */
  --honey:#e7b85c;        /* honey cane, used as a bright ground */
  --honey-light:#f3d48f;
  --cane:#f2d9a4;         /* headings on dark */
  --brass:#c9a14e;
  --rush:#d9a92e;
  --oxblood:#8a2f1f;
  /* bright grounds */
  --lime:#e6ece2;         /* lichen and limewash, cool not cream */
  --lime-2:#d6e0d2;
  --ink:#1a2a23;
  --ink-soft:#3c4f46;
  /* text on dark */
  --on-dark:#efe3cb;
  --on-dark-soft:#d6c4a3;
  --gut:16px;
  --wrap:1200px;
  --serif:"Alegreya",Georgia,"Times New Roman",serif;
  --sans:"Alegreya Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cane-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%2328160d'/%3E%3Cg stroke-linecap='round' fill='none'%3E%3Cg stroke='%23996a2c' stroke-width='3.4'%3E%3Cpath d='M0 0l24 24M0 22L22 0M22 24l2-2'/%3E%3C/g%3E%3Cg stroke='%23f0cd85' stroke-width='2'%3E%3Cpath d='M0 0l24 24M0 22L22 0M22 24l2-2'/%3E%3C/g%3E%3Cg stroke='%23996a2c' stroke-width='3.4'%3E%3Cpath d='M9 0v24M13 0v24M0 9h24M0 13h24'/%3E%3C/g%3E%3Cg stroke='%23f6dca2' stroke-width='2.1'%3E%3Cpath d='M9 0v24M13 0v24M0 9h24M0 13h24'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --rush-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='56' viewBox='0 0 28 56'%3E%3Crect width='28' height='56' fill='%23c4921a'/%3E%3Cg stroke-width='4.6' fill='none'%3E%3Cpath d='M-7 0l14 14M0 0l28 28M7 0l21 21M14 0l14 14M21 0l7 7M-7 7l21 21M-7 14l14 14M-7 21l7 7' stroke='%23e3b443'/%3E%3Cpath d='M-7 56l14-14M0 56l28-28M7 56l21-21M14 56l14-14M21 56l7-7M-7 49l21-21M-7 42l14-14M-7 35l7-7' stroke='%23d5a12a'/%3E%3C/g%3E%3Cg stroke='%237a5508' stroke-width='1' fill='none' opacity='.75'%3E%3Cpath d='M-7 0l14 14M0 0l28 28M7 0l21 21M14 0l14 14M21 0l7 7M-7 7l21 21M-7 14l14 14M-7 21l7 7' transform='translate(2.3 -2.3)'/%3E%3Cpath d='M-7 56l14-14M0 56l28-28M7 56l21-21M14 56l14-14M21 56l7-7M-7 49l21-21M-7 42l14-14M-7 35l7-7' transform='translate(2.3 2.3)'/%3E%3C/g%3E%3Cpath d='M0 28h28' stroke='%235a3d05' stroke-width='2'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--lime);color:var(--ink);font:400 1.18rem/1.6 var(--sans);padding-bottom:76px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.02;letter-spacing:-.012em;margin:0 0 .45em;text-wrap:balance}
h1{font-size:clamp(2.7rem,6.4vw,5.4rem)}
h2{font-size:clamp(2.1rem,4.4vw,3.5rem)}
h3{font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.12}
p{margin:0 0 1em;max-width:62ch}
.lede{font-size:clamp(1.25rem,1.9vw,1.45rem);line-height:1.5}
.small{font-size:1rem}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
@media (min-width:700px){:root{--gut:32px}}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--honey);color:var(--walnut-deep);padding:10px 14px;z-index:100}
.skip:focus{left:8px;top:8px}

/* ---- dark grounds share text colours ---- */
.top,.hero,.phero,.seats,.story,.make,.closer,.sect.walnut,.sect.green,.ctaband,.foot,.lost,.texhero{color:var(--on-dark)}
.hero h1,.phero h1,.seats h2,.story h2,.make h2,.closer h2,.closer h3,.sect.walnut h2,.sect.walnut h3,.sect.green h2,.sect.green h3,.ctaband h2,.lost h1,.texhero h1,.foot h2{color:var(--cane)}

/* ---- buttons ---- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.5em 0 1.2em}
.btn{display:inline-flex;align-items:center;gap:.55em;min-height:54px;padding:.7em 1.4em;border-radius:6px;font:700 1.12rem/1.1 var(--sans);text-decoration:none;border:2px solid transparent;transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:21px;height:21px;flex:none}
.btn-main{background:var(--honey);color:var(--walnut-deep);box-shadow:0 1px 0 #fff6 inset,0 10px 24px -12px #000a}
.btn-main:hover{background:var(--honey-light)}
.btn-line{border-color:currentColor;color:inherit}
.honey .btn-main,.sect.lime .btn-main,.steps .btn-main,.reviews .btn-main,.polish .btn-main{background:var(--green);color:var(--cane)}
.honey .btn-main:hover,.sect.lime .btn-main:hover{background:var(--green-mid)}

/* ---- header ---- */
.top{background:var(--green-deep);position:relative;z-index:20}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:76px;justify-content:space-between}
.logo{display:block;flex:none}
.logo-ink{display:block;width:176px;aspect-ratio:1400/416;background:var(--cane);-webkit-mask:url(/img/logo-600.png) center/contain no-repeat;mask:url(/img/logo-600.png) center/contain no-repeat}
.mainnav{display:none}
.mainnav a{color:var(--on-dark);text-decoration:none;font-weight:500;font-size:1.06rem;padding:.35em 0;border-bottom:2px solid transparent}
.mainnav a:hover,.mainnav a[aria-current=page]{border-bottom-color:var(--honey);color:var(--cane)}
.top-call{display:none}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font:700 1.05rem var(--sans);padding:.55em 1.1em;border:2px solid var(--cane);color:var(--cane);border-radius:6px;min-height:48px;display:flex;align-items:center;gap:.55em}
.menu summary::-webkit-details-marker{display:none}
.menu summary::before{content:"";width:18px;height:12px;background:linear-gradient(var(--cane),var(--cane)) 0 0/100% 2px no-repeat,linear-gradient(var(--cane),var(--cane)) 0 5px/100% 2px no-repeat,linear-gradient(var(--cane),var(--cane)) 0 10px/100% 2px no-repeat}
.menu nav{position:absolute;right:0;top:calc(100% + 12px);background:var(--walnut-deep);border:1px solid var(--brass);border-radius:8px;padding:10px;display:grid;min-width:260px;box-shadow:0 24px 50px -20px #000c}
.menu nav a{color:var(--on-dark);text-decoration:none;font-weight:500;padding:.65em .8em;border-radius:5px}
.menu nav a:hover{background:var(--walnut-mid)}
@media (min-width:1080px){
  .mainnav{display:flex;gap:22px}
  .menu{display:none}
  .top-call{display:inline-flex;min-height:46px;padding:.5em 1.1em;font-size:1.05rem}
}

/* ---- woven bands ---- */
.band{height:34px;border-top:2px solid var(--brass);border-bottom:2px solid var(--brass)}
.band-cane{background:var(--cane-pat) 0 0/24px 24px var(--walnut-deep)}
.band-rush{background:var(--rush-pat) 0 0/22px 44px;height:44px;border-color:#6e4d07}
@media (min-width:900px){.band{height:42px}.band-cane{background-size:28px 28px}.band-rush{height:52px;background-size:26px 52px}}

/* ---- gallery frames ---- */
.frame{margin:0;position:relative;isolation:isolate}
.frame .mat{position:relative;padding:clamp(7px,1vw,12px);background:linear-gradient(160deg,#2c180e,#170c07);border-radius:3px;box-shadow:0 0 0 1px #c9a14e8c,0 0 0 4px #170c07,0 0 0 5px #c9a14e55,0 34px 60px -26px #000d}
.frame .mat::after{content:"";position:absolute;inset:clamp(7px,1vw,12px);background:radial-gradient(120% 70% at 50% -10%,#ffe7b81f,transparent 60%);pointer-events:none}
.frame img{width:100%;height:auto}
.frame figcaption{display:inline-block;margin-top:16px;padding:.32em .8em;background:linear-gradient(180deg,#e3c47c,#b8903f);color:#24140b;font:500 .98rem/1.3 var(--sans);border-radius:2px;box-shadow:0 1px 0 #fff5 inset,0 4px 10px -6px #000a}
.frame::before{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;top:-90px;height:240px;background:radial-gradient(closest-side,#ffd9902a,#ffd99000);pointer-events:none}
.sect.lime .frame::before,.honey .frame::before,.steps .frame::before,.polish .frame::before{display:none}

/* ---- home hero ---- */
.hero{position:relative;background:radial-gradient(70% 90% at 78% 10%,#5a3520 0,transparent 60%),linear-gradient(180deg,var(--walnut) 0,var(--walnut-deep) 100%);padding:44px 0 64px;overflow:hidden}
.hero .wrap{display:grid;gap:44px;align-items:center}
.hero h1{max-width:14ch}
.hero .lede{color:var(--on-dark)}
.trust{font-size:1.05rem;color:var(--on-dark-soft);max-width:46ch}
.stars{color:var(--honey);letter-spacing:.08em;margin-right:.3em}
.hero-art{position:relative;padding-bottom:70px}
.hero-frame{max-width:500px;width:calc(100% - 40px);margin:0 0 0 auto}
.hero-small{position:absolute;left:0;bottom:0;width:44%;max-width:230px;transform:rotate(-3deg);z-index:2}
.hero-small figcaption{font-size:.9rem}
@media (min-width:900px){
  .hero{padding:72px 0 96px}
  .hero .wrap{grid-template-columns:1.25fr .85fr;gap:64px}
  .hero-frame{transform:rotate(1.2deg)}
  .hero-small{left:-30px}
}

/* ---- steps strip ---- */
.steps{background:var(--lime);padding:64px 0 72px}
.steps-head{display:grid;gap:4px;margin-bottom:32px}
.steps-head h2{margin:0;color:var(--ink)}
.steps-head .lede{color:var(--ink-soft);margin:0}
.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 16px}
.strip li{position:relative}
.st-media{aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--walnut-deep);box-shadow:0 18px 30px -18px #28160db0}
.st-media picture,.st-media img,.st-media svg{width:100%;height:100%;display:block;object-fit:cover}
.st-cap{margin:14px 0 0;font:800 clamp(1.3rem,2.2vw,1.75rem)/1.12 var(--serif);color:var(--walnut);max-width:16ch;text-wrap:balance}
.next{display:none}
@media (min-width:900px){
  .steps{padding:88px 0 96px}
  .steps-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:44px}
  .strip{grid-template-columns:repeat(4,1fr);gap:40px}
  .next{display:block;position:absolute;top:calc(50% - 64px);right:-38px;width:36px;color:var(--oxblood);z-index:2}
  .next svg{width:36px;height:16px}
}

/* ---- seats (home) ---- */
.seats{background:linear-gradient(180deg,var(--green) 0,var(--green-deep) 100%);padding:72px 0 80px}
.seats .wrap{display:grid;gap:48px}
.mats{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:26px}
.mats h3{margin:0 0 6px}
.mats h3 a{color:var(--cane);text-decoration:none;display:inline-block;padding-bottom:16px;background-repeat:repeat-x;background-position:0 100%;background-size:auto 12px}
.mats h3 a:hover{color:var(--honey-light)}
.m-cane h3 a,.m-berg h3 a{background-image:var(--cane-pat);background-size:12px 12px}
.m-rush h3 a{background-image:var(--rush-pat);background-size:12px 24px;background-position:0 calc(100% + 6px)}
.m-cord h3 a{background-image:repeating-linear-gradient(90deg,#e6d6b2 0 6px,#b9a679 6px 7px)}
.mats p{margin:0;color:var(--on-dark)}
.note{margin-top:26px;color:var(--honey-light);font-weight:500}
.seats-media{position:relative;padding:0 0 90px}
.seats-media .f-tall{width:70%;max-width:420px}
.seats-media .f-small{position:absolute;right:4px;bottom:0;width:44%;max-width:250px;z-index:2;transform:rotate(-1.5deg)}
@media (min-width:900px){
  .seats{padding:100px 0 110px}
  .seats .wrap{grid-template-columns:1fr 1fr;gap:72px;align-items:center}
  .mats{grid-template-columns:1fr 1fr;gap:30px 36px}
}

/* ---- story (home) ---- */
.story{background:radial-gradient(60% 80% at 20% 0,#4b2a19,transparent 70%),var(--walnut-deep);padding:72px 0}
.story .wrap{display:grid;gap:40px;align-items:center}
.story-text p{color:var(--on-dark)}
.more{display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:700}
.more a{color:var(--honey-light)}
@media (min-width:900px){.story{padding:104px 0}.story .wrap{grid-template-columns:1.35fr 1fr;gap:64px}}

/* ---- before/after slider ---- */
.ba{position:relative;overflow:hidden;border-radius:4px;background:#170c07;--pos:50%;touch-action:pan-y;box-shadow:0 0 0 1px #c9a14e8c,0 0 0 6px #170c07,0 0 0 7px #c9a14e55,0 30px 60px -28px #000d}
.ba picture,.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .ba-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}
.ba .ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:var(--honey);z-index:3;pointer-events:none}
.ba .ba-line::after{content:"";position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:var(--honey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328160d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/24px no-repeat;box-shadow:0 0 0 3px #28160d,0 8px 18px -6px #000c}
.ba input:focus-visible ~ .ba-line::after{outline:3px solid var(--cane);outline-offset:3px}
.ba .tag{position:absolute;bottom:12px;z-index:2;background:#28160ddd;color:var(--cane);font-size:.95rem;font-weight:700;padding:.2em .75em;border-radius:3px;pointer-events:none}
.ba .tag.l{left:12px}.ba .tag.r{right:12px}
.ba.portrait{aspect-ratio:3/4}
.ba.land{aspect-ratio:4/3}
.ba.wide{aspect-ratio:16/9}
.ba-cap{font-size:1.02rem;margin-top:16px;opacity:.92}

/* ---- polish (home, bright honey) ---- */
.polish{background:linear-gradient(180deg,var(--honey) 0,#dcaa4b 100%);color:var(--walnut-deep);padding:72px 0 88px}
.polish h2{color:var(--walnut-deep)}
.polish .wrap{display:grid;gap:36px}
.polish .more a{color:var(--walnut-deep)}
.polish .f-inset{max-width:300px;width:70%;margin:-90px 0 0 auto;transform:rotate(-2deg);position:relative;z-index:2}
@media (min-width:900px){
  .polish{padding:104px 0 112px}
  .polish .wrap{grid-template-columns:.9fr 1.3fr;grid-template-rows:auto auto;gap:0 64px}
  .pol-text{grid-column:1;grid-row:1/3;align-self:center}
  .polish .f-wide{grid-column:2;grid-row:1;max-width:620px}
  .polish .f-inset{grid-column:2;grid-row:2;margin:-120px 0 0 -40px;width:44%;max-width:280px}
}

/* ---- make (wood grain, dark) ---- */
.make{position:relative;background:var(--green-deep);padding:72px 0;overflow:hidden;isolation:isolate}
.grain{position:absolute;inset:0;z-index:-1}
.grain picture,.grain img{width:100%;height:100%;object-fit:cover;filter:sepia(.6) saturate(.9) brightness(.42) contrast(1.15)}
.grain::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e2b24f0 0,#0e2b24c4 55%,#0e2b2499 100%)}
.make .wrap{display:grid;gap:40px;align-items:center}
.make-card p{color:var(--on-dark)}
@media (min-width:900px){.make{padding:110px 0}.make .wrap{grid-template-columns:1fr 1.1fr;gap:72px}}

/* ---- reviews (bright, compact) ---- */
.reviews{background:var(--lime-2);padding:64px 0}
.reviews .wrap{display:grid;gap:24px}
.reviews h2{color:var(--ink);font-size:clamp(1.9rem,3.6vw,2.8rem);margin:0 0 .2em}
.src{font-size:1.02rem;color:var(--ink-soft);margin:0}
.src .stars{color:var(--oxblood)}
.reviews blockquote{margin:0;background:#f3f6f0;border-radius:10px;padding:22px 24px;box-shadow:0 12px 24px -20px #1a2a2366}
.reviews blockquote p{margin:0 0 10px;font-size:1.1rem;line-height:1.5}
.reviews footer{font-size:.98rem;color:var(--ink-soft);font-weight:500}
.reviews .q-big{background:var(--green);color:var(--on-dark)}
.reviews .q-big p{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.35;color:var(--cane)}
.reviews .q-big footer{color:var(--on-dark-soft)}
.q-side{display:grid;gap:16px}
@media (min-width:900px){
  .reviews{padding:84px 0}
  .reviews .wrap{grid-template-columns:1.25fr 1fr;gap:20px 28px}
  .rev-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:10px}
  .rev-head h2{max-width:20ch}
  .src{max-width:30ch;text-align:right}
  .reviews .q-big{padding:34px 36px;display:flex;flex-direction:column;justify-content:space-between}
}

/* ---- closer ---- */
.closer{background:linear-gradient(180deg,var(--walnut) 0,var(--walnut-deep) 100%);padding:72px 0}
.closer .wrap{display:grid;gap:44px}
.tips{margin:0 0 8px;padding:0;list-style:none;counter-reset:t;display:grid;gap:10px}
.tips li{counter-increment:t;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:12px;font-size:1.15rem}
.tips li::before{content:counter(t);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--honey);color:var(--walnut-deep);font:800 1.1rem var(--serif)}
.where{border-top:2px solid #c9a14e66;padding-top:28px}
.where p{color:var(--on-dark)}
.where a{color:var(--honey-light);font-weight:700}
@media (min-width:900px){.closer{padding:100px 0}.closer .wrap{grid-template-columns:1.3fr 1fr;gap:80px;align-items:start}.where{border-top:0;border-left:2px solid #c9a14e55;padding:8px 0 0 40px}}

/* ---- inner page hero ---- */
.phero{background:radial-gradient(60% 90% at 85% 0,#5a3520 0,transparent 60%),linear-gradient(180deg,var(--walnut) 0,var(--walnut-deep) 100%);padding:20px 0 64px;overflow:hidden}
.phero .wrap{display:grid;gap:40px;align-items:center}
.phero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);margin-top:.35em}
.phero .ph-text p{color:var(--on-dark)}
.ph-media{width:100%;max-width:600px;margin:0 auto}
.ph-media .f-tall{max-width:380px;margin:0 auto}
.crumbs{font-size:1rem;color:var(--on-dark-soft);padding-top:8px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:var(--on-dark-soft)}
.phero.solo .wrap{grid-template-columns:1fr}
.phero.solo{padding-bottom:48px}
@media (min-width:900px){
  .phero{padding:28px 0 92px}
  .phero .wrap{grid-template-columns:1.05fr 1fr;gap:64px}
  .phero.flip .ph-media{order:-1}
}
.num{font:800 clamp(2.4rem,7vw,4.4rem)/1 var(--serif);color:var(--honey);text-decoration:none;display:inline-block;margin:.1em 0 .2em}
.wa{margin-top:-4px}

/* texture hero (rush page) */
.texhero{position:relative;padding:56px 0 72px;overflow:hidden;isolation:isolate;background:var(--green-deep)}
.texhero>picture{position:absolute;inset:0;z-index:-1}
.texhero>picture img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) brightness(.62) contrast(1.05)}
.texhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0e2b24ee,#0e2b2466 75%)}
.texhero .panel{max-width:640px}
.texhero .crumbs,.texhero .crumbs a{color:var(--on-dark)}
.texhero .lede{color:var(--on-dark)}
@media (min-width:900px){.texhero{padding:96px 0 120px}}

/* ---- generic sections ---- */
.sect{padding:64px 0}
.sect.tight{padding-top:48px}
.sect.lime{background:var(--lime)}
.sect.honey{background:linear-gradient(180deg,var(--honey),#dcaa4b);color:var(--walnut-deep)}
.sect.honey h2{color:var(--walnut-deep)}
.sect.walnut{background:var(--walnut-deep)}
.sect.green{background:var(--green)}
.sect.walnut p,.sect.green p{color:var(--on-dark)}
.sect.walnut a,.sect.green a{color:var(--honey-light)}
.sect.lime a{color:var(--green-mid);font-weight:500}
.cols{display:grid;gap:40px;align-items:center}
.al-top{align-items:start}
@media (min-width:900px){
  .sect{padding:96px 0}
  .cols{grid-template-columns:1fr 1fr;gap:64px}
  .cols.wide-l{grid-template-columns:1.3fr 1fr}
  .cols.wide-r{grid-template-columns:1fr 1.25fr}
}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-self:start}
.pair figure{margin:0}
.pair img{border-radius:6px;aspect-ratio:3/4;object-fit:cover;width:100%}
.pair figcaption{font-size:.98rem;margin-top:8px;font-weight:500}

/* hung pictures, deliberately uneven */
.hang,.detailrow{display:grid;gap:40px;margin-top:32px}
@media (min-width:900px){
  .hang{grid-template-columns:.8fr 1.1fr .9fr;align-items:start;gap:40px}
  .hang .h2{margin-top:60px}
  .hang .h3{margin-top:20px}
  .detailrow{grid-template-columns:1.3fr 1fr 1fr;align-items:end;gap:36px}
  .detailrow .d2{margin-bottom:50px}
}

/* salon hang */
.salon{display:grid;gap:36px;margin-top:32px}
@media (min-width:900px){
  .salon{grid-template-columns:repeat(12,1fr);gap:40px 36px;align-items:start}
  .salon .s1{grid-column:1/8}
  .salon .s2{grid-column:8/11;margin-top:40px}
  .salon .s3{grid-column:1/5}
  .salon .s4{grid-column:5/10}
  .salon .s5{grid-column:10/13;margin-top:-80px}
  .salon .s2:last-child{grid-column:8/13}
  .salon .s4:last-child{grid-column:5/13}
}

.workgrid{display:grid;gap:52px}
.workgrid article h2,.workgrid article h3{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:16px}
@media (min-width:900px){.workgrid{grid-template-columns:1fr 1fr;gap:64px 56px}}

.probs{display:grid;gap:22px;margin:28px 0 0}
.probs div{padding:0}
.probs dt::after{content:"";display:block;width:56px;height:8px;margin-top:8px;background:var(--rush-pat) 0 0/8px 16px}
.probs dt{font-family:var(--serif);font-weight:800;font-size:1.4rem;margin-bottom:6px;color:var(--walnut)}
.probs dd{margin:0}
@media (min-width:700px){.probs{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.probs{grid-template-columns:1.2fr 1fr 1fr;gap:34px 44px}}

.faq details{border-bottom:1px solid #c9a14e66;max-width:820px}
.faq summary{cursor:pointer;font:800 1.35rem/1.25 var(--serif);color:var(--cane);padding:18px 40px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 2rem var(--sans);color:var(--honey)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 20px}

.tablewrap{overflow-x:auto;margin-top:20px;border-radius:10px;box-shadow:0 14px 30px -24px #1a2a2388}
table.plain{border-collapse:collapse;width:100%;min-width:540px;background:#f3f6f0;font-size:1.08rem}
table.plain th,table.plain td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--lime-2);vertical-align:top}
table.plain thead th{background:var(--green);color:var(--cane);font:800 1.15rem var(--serif)}
table.plain tbody th{font-weight:700;color:var(--walnut)}
.dist table.plain{min-width:0}

.pull{font:700 clamp(1.4rem,2.6vw,2rem)/1.35 var(--serif);color:var(--cane);margin:0}
.pull-src{margin-top:14px;color:var(--on-dark-soft)}
.ticks{padding-left:1.2em}
.ticks li{margin-bottom:.4em}
.ticks li::marker{color:var(--oxblood)}
.svc{padding:0;list-style:none;display:grid;gap:14px;max-width:860px}
.svc li{padding:16px 0;border-bottom:1px solid #1a2a2322}
.svc a{font-family:var(--serif);font-weight:800;font-size:1.3rem}
.towns-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:10px}
.towns-list li{background:var(--green-deep);border:1px solid #c9a14e88;color:var(--cane);padding:.3em .9em;border-radius:4px;font-weight:500}

/* ---- cta band ---- */
.ctaband{background:var(--cane-pat) 0 0/28px 28px var(--walnut-deep);padding:56px 0;position:relative}
.ctaband .wrap{background:var(--green-deep);border:1px solid var(--brass);border-radius:6px;padding:32px 24px;max-width:calc(var(--wrap) - 2*var(--gut));width:calc(100% - 2*var(--gut));box-shadow:0 30px 60px -30px #000}
.ctaband p{color:var(--on-dark);margin:0}
.ctaband .btns{margin:22px 0 0}
@media (min-width:900px){.ctaband{padding:80px 0}.ctaband .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:44px 52px}.ctaband .btns{margin:0;flex:none}}

/* ---- 404 ---- */
.lost{background:var(--walnut-deep);padding:90px 0 110px}
.lost a{color:var(--honey-light)}

/* ---- footer ---- */
.foot{background:var(--green-deep);padding:56px 0 40px}
.foot .wrap{display:grid;gap:32px}
.foot .logo-ink{width:190px;margin-bottom:16px}
.foot h2{font-size:1.4rem;margin-bottom:10px}
.foot .f-gap{margin-top:22px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--on-dark)}
.foot p{color:var(--on-dark-soft)}
.f-num a{font:800 1.9rem var(--serif);color:var(--honey);text-decoration:none}
.fine{font-size:.95rem;grid-column:1/-1;max-width:none;border-top:1px solid #c9a14e44;padding-top:20px;margin:0}
@media (min-width:900px){.foot .wrap{grid-template-columns:1.4fr 1fr 1fr;gap:56px}}

/* ---- phone call bar ---- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1.2fr 1fr;gap:8px;padding:8px var(--gut) calc(8px + env(safe-area-inset-bottom));background:var(--green-deep);border-top:2px solid var(--brass)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;border-radius:6px;font-weight:700;font-size:1.08rem;text-decoration:none}
.callbar svg{width:20px;height:20px}
.callbar .c1{background:var(--honey);color:var(--walnut-deep)}
.callbar .c2{border:2px solid var(--cane);color:var(--cane)}
@media (min-width:1080px){.callbar{display:none}body{padding-bottom:0}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- overlay: big hung picture with a text card laid over it ---- */
.overlay{display:grid}
.overlay .frame{max-width:820px}
.ov-card{position:relative;z-index:2;margin:14px 0 0;padding:26px 24px;border:1px solid var(--brass);border-radius:6px;box-shadow:0 30px 60px -30px #000}
.sect.walnut .ov-card{background:var(--green-deep)}
.sect.green .ov-card{background:var(--walnut-deep)}
.ov-card p:last-child{margin-bottom:0}
@media (min-width:900px){
  .overlay{grid-template-columns:repeat(12,1fr);align-items:center}
  .overlay .frame{grid-column:1/9;grid-row:1}
  .overlay .ov-card{grid-column:8/13;grid-row:1;margin:0;padding:40px 40px}
  .overlay.rev .frame{grid-column:5/13}
  .overlay.rev .ov-card{grid-column:1/6}
}
/* ---- stack: heading and words first, pictures underneath ---- */
.stack-head{max-width:720px}
.stack-media{margin-top:36px}
.stack-media.narrow{max-width:480px}
.stack-media.duo{display:grid;gap:36px}
@media (min-width:900px){.stack-media.duo{grid-template-columns:300px 1fr;align-items:end;gap:48px}}
/* ---- home make: centred words, two hung pieces ---- */
.make .wrap.make-wrap{display:block}
.make-card.centre{max-width:740px;margin:0 auto;text-align:center}
.make-card.centre p{margin-left:auto;margin-right:auto}
.make-hang{display:grid;gap:40px;margin-top:44px}
@media (min-width:900px){.make-hang{grid-template-columns:1.45fr 1fr;align-items:start;gap:48px}.make-hang .mh2{margin-top:90px}}
.stack.centre{text-align:center}
.stack.centre .stack-head{margin:0 auto}
.stack.centre .stack-head p{margin-left:auto;margin-right:auto}
.stack.centre .stack-media{margin-left:auto;margin-right:auto}
.polish .f-wide{text-align:right}
main,.foot{overflow-x:clip}
@media (max-width:899px){.frame::before{left:0;right:0}}
@media (max-width:599px){.btns .pn{display:none}.btns{gap:10px}.btns .btn{padding:.7em 1.1em}}
.hero-frame{text-align:right}
.btns .pn{margin-left:-.2em}
