/* Põrandalihvimine — porandalihvimine.eu
   Calm premium craftsmanship: warm paper, oak and walnut, one spruce-green accent.
   Type: Brygada 1918 (display, phone numbers) + Commissioner (text, UI). Self-hosted, see /assets/fonts. */

/* ------------------------------------------------------------------ fonts */
@font-face{font-family:"Brygada 1918";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Brygada 1918";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Brygada 1918";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Brygada 1918";font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Brygada 1918";font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Brygada 1918";font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/brygada-1918-cyrillic-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Commissioner";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/commissioner-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Commissioner";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/commissioner-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Commissioner";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/commissioner-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ------------------------------------------------------------------ tokens */
:root{
  --paper:#F8F5EF;      /* page */
  --paper-2:#F1EBE1;    /* quiet panels */
  --card:#FFFCF7;       /* the form sheet */
  --sand:#E9DDC9;       /* oak-tone sections */
  --line:#DDD2C2;       /* hairlines */
  --line-2:#C9B9A2;     /* stronger rules */
  --line-3:#8F7D68;     /* form control borders (3:1+) */
  --ink:#271D16;        /* text, near-black brown */
  --ink-2:#5C4C40;      /* secondary text 7.5:1 */
  --ink-3:#6E5C4E;      /* small meta 5.8:1 */
  --oak:#C49A60;        /* decorative oak */
  --oak-deep:#7E5628;   /* oak as text 5.9:1 */
  --oak-light:#E2C48F;  /* highlights on walnut 9.4:1 */
  --walnut:#2D2019;
  --walnut-2:#3A2B21;
  --cream:#F3EBDD;
  --cream-2:#CDBEA8;    /* secondary text on walnut 8.6:1 */
  --accent:#2F4A3A;     /* spruce green 8.9:1 */
  --accent-2:#233A2D;
  --accent-tint:#E4E9E1;
  --error:#9A2B1E;
  --focus:var(--accent);

  --serif:"Brygada 1918",Georgia,"Times New Roman",serif;
  --sans:"Commissioner",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --maxw:1360px;
  --gutter:clamp(1.25rem,4vw,3.5rem);
  --gap:clamp(1.25rem,2.6vw,2.5rem);
  --sec:clamp(3.5rem,2.2rem + 5.2vw,7.5rem);
  --hdr:64px;
  --r:10px;
  --r-s:6px;

  --t-h1:clamp(2.3rem,1.15rem + 4.1vw,4.6rem);
  --t-h2:clamp(1.85rem,1.3rem + 2vw,3rem);
  --t-h2s:clamp(1.5rem,1.2rem + 1.1vw,2.1rem);
  --t-h3:clamp(1.25rem,1.1rem + .5vw,1.6rem);
  --t-lead:clamp(1.14rem,1.05rem + .45vw,1.38rem);
  --t-body:clamp(1.0625rem,1rem + .2vw,1.1875rem);
  --t-small:.9375rem;
}
@media (min-width:760px){:root{--hdr:76px}}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 1.25rem)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.62;font-weight:400;font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 3 3}
img,picture,video,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:600;color:inherit;hyphenate-limit-chars:12 5 5}
/* numbers, phone numbers, e-mail, nav and buttons never hyphenate */
.callbtn,.hdr-phone,.bigphone,.ftr__phone,.btn,.nav,.lang,.numbers__v,.brand,a[href^="mailto:"],a[href^="tel:"]{-webkit-hyphens:manual;hyphens:manual}
/* hyphenation helps narrow phone columns; on desktop lines are wide enough without it */
@media (min-width:960px){body{-webkit-hyphens:manual;hyphens:manual}}
p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
strong{font-weight:600}
::selection{background:var(--oak-light);color:var(--walnut)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.sr,.hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hp{left:-9999px}
.ico{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
main{display:block;outline:none}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.prose p,.prose .list{max-width:40em}
.prose p+p,.prose p+.list,.prose .list+p{margin-top:1em}
.prose a,.sec-intro a,.qa__a a,.pkg a,.ticks a{color:var(--accent);font-weight:500}
.tone-dark a:not(.btn):not(.callbtn){color:var(--oak-light)}
.prose--lg{font-size:var(--t-lead);line-height:1.55}

/* skip link */
.skip{position:absolute;left:1rem;top:.75rem;z-index:100;background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;border-radius:var(--r-s);font-weight:600;text-decoration:none;transform:translateY(-200%)}
.skip:focus{transform:none}

/* ------------------------------------------------------------------ buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.55rem 1.35rem;border:1.5px solid transparent;border-radius:var(--r);font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;text-align:center;transition:background-color .15s,border-color .15s,color .15s}
.btn .ico{width:1.15em;height:1.15em}
.btn--lg{min-height:58px;padding:.7rem 1.6rem;font-size:1.0625rem}
.btn--primary{background:var(--accent);color:var(--paper)}
.btn--primary:hover{background:var(--accent-2)}
.btn--line{border-color:var(--accent);color:var(--accent);background:transparent}
.btn--line:hover{background:rgba(47,74,58,.08)}  /* Material-style state layer: same button, light tint (no colour swap) */
.btn--on-dark{border-color:var(--cream-2);color:var(--cream)}
.btn--on-dark:hover{background:rgba(243,235,221,.12);color:var(--cream);border-color:var(--cream)}
.btn--text{background:none;border:0;padding-inline:.25rem;color:var(--ink-2);text-decoration:underline;text-underline-offset:.2em;font-weight:500}
.btn--text:hover{color:var(--ink)}
.btn[disabled]{opacity:.6;cursor:progress}

/* the phone as a button */
.callbtn{display:inline-flex;align-items:center;gap:.85rem;min-height:58px;padding:.55rem 1.4rem .6rem 1rem;border-radius:var(--r);background:var(--accent);color:var(--paper);text-decoration:none;transition:background-color .15s}
.callbtn:hover{background:var(--accent-2)}
.callbtn__ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(248,245,239,.12);flex:none}
.callbtn__ico .ico{width:20px;height:20px}
.callbtn__txt{display:flex;flex-direction:column;line-height:1.1}
.callbtn__label{font-size:.8125rem;font-weight:500;opacity:.88;letter-spacing:.01em}
.callbtn__num{font-family:var(--serif);font-weight:600;font-size:1.32rem;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;margin-top:.12rem}
.callbtn--lg{min-height:66px;padding:.65rem 1.6rem .7rem 1.05rem}
.callbtn--lg .callbtn__num{font-size:1.55rem}
.callbtn--light{background:var(--oak-light);color:var(--walnut)}
.callbtn--light:hover{background:var(--cream)}
.callbtn--light .callbtn__ico{background:rgba(45,32,25,.1)}
.callbtn--quiet{background:none;color:var(--ink);padding:0;min-height:0}
.callbtn--quiet:hover{background:none}
.callbtn--quiet .callbtn__ico{background:var(--accent);color:var(--paper);width:44px;height:44px}
.callbtn--quiet .callbtn__label{color:var(--ink-2);opacity:1}
.callbtn--quiet .callbtn__num{font-size:1.6rem}
.callbtn--quiet:hover .callbtn__num{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.callbtn--block{display:flex;width:100%}

/* the second phone line: one quiet row under the main call action */
.altline{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .55rem;font-size:.95rem;line-height:1.3;color:var(--ink-2)}
.altline__num{display:inline-block;padding-block:.65rem;margin-block:-.65rem;font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--ink);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;text-decoration-color:var(--oak);text-decoration-thickness:1.5px}
.altline__num:hover{text-decoration-color:currentColor}
.altline--menu{margin-top:1rem}
.altline--aside{margin-top:.7rem;font-size:.88rem}
.altline--aside .altline__num{font-size:1.02rem}
.altline--nf{margin-top:1.25rem}
.altline--dark{color:var(--cream-2);margin-top:.2rem}
.tone-dark .altline--dark .altline__num{color:var(--cream)}

/* ------------------------------------------------------------------ header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,245,239,.94);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.hdr{display:flex;align-items:center;gap:1rem;min-height:var(--hdr)}
.brand{display:inline-flex;align-items:center;min-width:0;margin-right:auto;min-height:44px;text-decoration:none}
.brand__logo{display:block;flex:0 1 auto;min-width:0;width:311px;height:auto}  /* as large as the header allows; gives way to the nav, language links and menu button */
@media (min-width:760px){.brand__logo{width:362px}}
.hdr>.lang,.hdr>.menu-btn,.hdr>.hdr-phone{flex:none}

.nav__list{display:flex;align-items:center;gap:.15rem}
.nav__link{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;padding:.4rem .7rem;border:0;background:none;border-radius:8px;font-size:.98rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav__link:hover{background:var(--paper-2)}
.nav__link[aria-current="page"],.nav__toggle[data-current]{text-decoration:underline;text-decoration-color:var(--oak);text-decoration-thickness:2px;text-underline-offset:.45em}
.nav__chev{width:1rem;height:1rem;transition:transform .15s}
.nav__toggle[aria-expanded="true"] .nav__chev{transform:rotate(180deg)}
.has-sub{position:relative}
.nav__sub a{display:block;text-decoration:none}
.nav__extra{display:none}

.lang ul{display:flex;gap:.1rem}
.lang a{display:inline-grid;place-items:center;min-width:40px;min-height:44px;padding:0 .4rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--ink-3);text-decoration:none;border-radius:8px}
.lang a:hover{color:var(--ink);background:var(--paper-2)}
.lang a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--oak);text-decoration-thickness:2px;text-underline-offset:.5em}

.hdr-phone{display:none;flex-direction:column;justify-content:center;min-height:52px;padding:.35rem 1.05rem .45rem;border-radius:var(--r);background:var(--accent);color:var(--paper);text-decoration:none;line-height:1.1;transition:background-color .15s}
.hdr-phone:hover{background:var(--accent-2)}
.hdr-phone__label{font-size:.72rem;font-weight:500;opacity:.88;letter-spacing:.01em}
.hdr-phone__num{font-family:var(--serif);font-weight:600;font-size:1.22rem;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;margin-top:.1rem}
@media (min-width:760px){.hdr-phone{display:inline-flex}}

.menu-btn{display:inline-grid;place-items:center;width:46px;height:46px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.menu-btn .ico{width:24px;height:24px}
.menu-btn__close{display:none!important}
.menu-btn[aria-expanded="true"] .menu-btn__open{display:none!important}
.menu-btn[aria-expanded="true"] .menu-btn__close{display:block!important}
.lang--bar{display:none}
/* phone/tablet: the other languages sit next to the menu button, one tap away */
@media (max-width:1239.98px){
  .lang--bar{display:block}
  .lang--bar .is-current{display:none}
  .lang--bar a{min-width:36px;padding:0 .3rem}
  .hdr{gap:.5rem}
}

/* desktop navigation */
@media (min-width:1240px){
  .menu-btn{display:none}
  .lang--bar{display:block}
  .hdr{gap:1.25rem}
  .nav{margin-right:.25rem}
  .nav__sub{position:absolute;left:-.5rem;top:calc(100% + .35rem);min-width:16rem;padding:.5rem;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -18px rgba(45,32,25,.35);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility 0s .15s}
  .nav__sub::before{content:"";position:absolute;left:0;right:0;top:-.5rem;height:.5rem}
  .nav__sub a{padding:.7rem .9rem;border-radius:8px;font-size:.98rem;font-weight:500}
  .nav__sub a:hover{background:var(--paper-2)}
  .nav__sub a[aria-current="page"]{color:var(--accent);font-weight:600}
  .has-sub:hover .nav__sub,.no-js .has-sub:focus-within .nav__sub,.nav__toggle[aria-expanded="true"]+.nav__sub{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}
  .js .has-sub.is-closed .nav__sub{opacity:0;visibility:hidden}
}
@media (min-width:1240px) and (max-width:1359px){.nav__link{padding-inline:.5rem;font-size:.94rem}.hdr{gap:.9rem}}

/* small screens: menu panel */
@media (max-width:1239.98px){
  /* backdrop-filter would make the header the containing block of the fixed menu panel */
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}
  .js .nav{position:fixed;left:0;right:0;top:var(--hdr);bottom:0;z-index:49;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);padding:1rem var(--gutter) calc(6rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .js.nav-open .nav{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
  .nav-open body{overflow:hidden}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;max-width:40rem;margin-inline:auto}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__link{display:flex;width:100%;justify-content:space-between;min-height:60px;padding:.6rem 0;font-family:var(--serif);font-size:1.5rem;font-weight:600;border-radius:0}
  .nav__link:hover{background:none}
  .nav__sub{padding:0 0 1rem}
  .js .nav__toggle[aria-expanded="false"]+.nav__sub{display:none}
  .nav__sub a{padding:.55rem 0 .55rem 1rem;min-height:44px;font-size:1.08rem;border-left:2px solid var(--line)}
  .nav__sub a[aria-current="page"]{border-left-color:var(--accent);color:var(--accent);font-weight:600}
  .nav__extra{display:block;max-width:40rem;margin:2rem auto 0}
  .nav__note{margin-top:.9rem;color:var(--ink-2);font-size:var(--t-small)}
  /* without JS the menu is a plain list under the header */
  .no-js .menu-btn{display:none}
  .no-js .hdr{flex-wrap:wrap}
  .no-js .nav{order:9;width:100%;padding-bottom:1rem}
}

/* mobile action bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.5rem;padding:.6rem max(.75rem,env(safe-area-inset-left)) calc(.6rem + env(safe-area-inset-bottom));background:rgba(248,245,239,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);transition:transform .25s}
.mbar__btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.4rem .75rem;border-radius:var(--r);font-weight:600;font-size:1rem;line-height:1.15;text-align:center;text-decoration:none}
.mbar__call{background:var(--accent);color:var(--paper)}
.mbar__call .ico{width:22px;height:22px}
.mbar__quote{border:1.5px solid var(--accent);color:var(--accent);background:var(--card)}

/* pressed state: instant feedback on tap (phones have no hover) */
.btn,.callbtn,.hdr-phone,.mbar__btn{-webkit-tap-highlight-color:transparent;transition:background-color .15s,border-color .15s,color .15s,transform .1s}
.btn:active:not([disabled]),.callbtn:active,.hdr-phone:active,.mbar__btn:active{transform:scale(.98)}
.btn--primary:active,.callbtn:active,.hdr-phone:active,.mbar__call:active{background:#1B2E23}
.btn--line:active,.mbar__quote:active{background:rgba(47,74,58,.16)}
.btn--on-dark:active{background:rgba(243,235,221,.22)}
.callbtn--light:active{background:var(--cream)}
.callbtn--quiet:active{background:none}
@media (prefers-reduced-motion:reduce){.btn:active,.callbtn:active,.hdr-phone:active,.mbar__btn:active{transform:none}}
.mbar.is-hidden{transform:translateY(110%)}
@media (max-width:759.98px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}
@media (min-width:760px){.mbar{display:none}}
.nav-open .mbar{display:none}

/* ------------------------------------------------------------------ sections */
.sec{padding-block:var(--sec)}
.sec.is-joined{padding-top:0}
/* consecutive paper sections are divided by a hairline at the content width */
.tone-paper.after-paper>.wrap{position:relative}
.tone-paper.after-paper>.wrap::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:calc(var(--sec) * -1);border-top:1px solid var(--line)}
.tone-dark{background:var(--walnut);color:var(--cream);--focus:var(--oak-light)}
.tone-oak{background:var(--sand)}
.tone-oak .sec-intro,.tone-oak .numbers__l,.tone-oak .brands__note{color:#4F4035}

.sec-title{font-size:var(--t-h2);line-height:1.08;letter-spacing:-.016em;text-wrap:balance;max-width:20ch}
.sec-title--sm{font-size:var(--t-h2s);max-width:none}
.sec-head{display:grid;gap:1rem 3rem;margin-bottom:clamp(2rem,4.5vw,3.75rem)}
.sec-intro{font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:36em}
.tone-dark .sec-intro{color:var(--cream-2)}
.sec-intro{text-wrap:pretty}
/* desktop: the heading sits on its own row above the intro, so it may run the full width */
@media (min-width:960px){.sec-head .sec-title{max-width:none}}
.split-head{display:grid;gap:1.5rem var(--gap)}
@media (min-width:960px){
  .split-head{grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:clamp(2.5rem,6vw,7rem)}
  .split-head__side .sec-title{position:sticky;top:calc(var(--hdr) + 2rem)}
}
.split-head__side .sec-intro{margin-top:1rem;font-size:1.1rem}
/* the heading column is narrow: scale its title with the column so long words (сфотографировать) fit */
@media (min-width:960px){.split-head__side{container-type:inline-size}.split-head__side .sec-title{font-size:min(var(--t-h2),10.5cqi)}}
@media (min-width:960px){.split-head__side:has(.sec-intro) .sec-title{position:static}}

/* lists with an oak dash */
.list li{position:relative;padding-left:1.6rem}
.list li+li{margin-top:.55rem}
.list li::before{content:"";position:absolute;left:0;top:.8em;width:.85rem;height:2px;background:var(--oak)}

/* image wrappers */
.pic{display:block;position:relative}
.pic img{width:100%;height:100%;object-fit:cover}
/* muted loop over a photo (hero, split); the photo is its first frame, so the fade-in is invisible */
.loopvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;pointer-events:none}
.is-playing>.loopvid{opacity:1}
.loopvid__btn{position:absolute;right:.75rem;bottom:.75rem;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(45,32,25,.62);color:var(--cream);cursor:pointer}
.loopvid__btn[hidden]{display:none}
.loopvid__btn:hover{background:rgba(45,32,25,.82)}
.loopvid__btn .ico{width:20px;height:20px;stroke-width:2.4}
.loopvid__btn .ico--play{display:none;fill:currentColor;stroke-width:1.5}
.loopvid__btn[data-state="paused"] .ico--play{display:block}
.loopvid__btn[data-state="paused"] .ico--pause{display:none}
.pic.is-placeholder img{object-position:0 100%} /* keep the owner's label (bottom left) in view */
.ph-tag{position:absolute;right:.75rem;top:.75rem;z-index:2;padding:.3rem .6rem;border-radius:999px;background:rgba(45,32,25,.72);color:var(--cream);font-size:.75rem;font-weight:500;letter-spacing:.01em;pointer-events:none}

/* ------------------------------------------------------------------ hero */
.hero{padding:0;position:relative}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr)}
.hero__text{padding:clamp(1.75rem,5vw,3rem) var(--gutter) clamp(2rem,5vw,3rem)}
.hero__eyebrow{display:flex;align-items:center;gap:.75rem;font-size:.98rem;font-weight:500;color:var(--oak-deep);margin-bottom:1.1rem}
.hero__title{font-size:var(--t-h1);line-height:1.02;letter-spacing:-.022em;text-wrap:balance}
.hero__lead{margin-top:1.4rem;font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:32em}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero__note{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.4rem;font-size:var(--t-small);color:var(--ink-2);max-width:36em}
.hero__media{position:relative;background:var(--sand)}
.hero__media .pic{aspect-ratio:4/3}
.hero__media img,.hero__media .loopvid{object-position:var(--focus,50% 50%)}
.hero__badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem;padding-block:1.4rem;border-bottom:1px solid var(--line)}
.hero__badges li{display:flex;align-items:flex-start;gap:.55rem;font-size:.95rem;font-weight:500;line-height:1.35}
.hero__badges .ico{color:var(--accent);width:1.2rem;height:1.2rem;margin-top:.05rem;stroke-width:2}
@media (max-width:559.98px){.hero__actions>*{flex:1 1 100%}}
@media (min-width:560px){.hero__actions>*{flex:none}}
@media (min-width:1000px){
  .hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:clamp(540px,calc(100vh - var(--hdr) - 4.5rem),760px)}
  .hero__text{align-self:center;padding:clamp(2.5rem,4.5vw,4.5rem) clamp(2.5rem,4.5vw,5rem) clamp(2.5rem,4.5vw,4.5rem) max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)))}
  .hero--home .hero__title{font-size:clamp(2.6rem,1.2rem + 3.2vw,4.25rem)}
  .hero__lead{font-size:clamp(1.15rem,1rem + .35vw,1.32rem)}
  .hero__media .pic{position:absolute;inset:0;aspect-ratio:auto}
  .hero__badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-block:0}
  .hero__badges li{padding:1.35rem 1.5rem;border-left:1px solid var(--line)}
  .hero__badges li:first-child{padding-left:0;border-left:0}
  .hero:not(.hero--home) .hero__grid{min-height:clamp(480px,calc(70vh - var(--hdr)),640px)}
  .hero:not(.hero--home) .hero__title{font-size:clamp(2.4rem,1.2rem + 3.4vw,4.1rem)}
}
@media (max-width:999.98px){.hero__media .pic{max-height:62vh}.hero__badges{border-bottom:0}}
.hero .crumbs{margin-bottom:1.5rem}

/* breadcrumbs */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .55rem;font-size:.9rem;color:var(--ink-3)}
.crumbs li{display:flex;align-items:center;gap:.55rem}
.crumbs li+li::before{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);opacity:.7}
.crumbs a{color:var(--ink-2);display:inline-block;padding-block:.6rem;margin-block:-.6rem}

/* page head (pages without a hero) */
.pagehead{padding-top:clamp(2rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);border-bottom:1px solid var(--line)}
.pagehead__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem var(--gap)}
.pagehead .crumbs{margin-bottom:1.5rem}
.pagehead__title{font-size:clamp(2.25rem,1.2rem + 3.6vw,4.2rem);line-height:1.04;letter-spacing:-.02em;text-wrap:balance;max-width:18ch}
.pagehead__lead{margin-top:1.25rem;font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:36em}
.pagehead__aside{display:none}
.pagehead__hours{margin-top:.8rem;color:var(--ink-2);font-size:var(--t-small)}
.pagehead__quote{display:inline-flex;align-items:center;min-height:44px;margin-top:.25rem;color:var(--accent);font-weight:600}
@media (min-width:1000px){
  .pagehead__grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end}
  .pagehead__aside{display:block;padding-left:2rem;border-left:1px solid var(--line);margin-bottom:.4rem}
}
.pagehead--plain .pagehead__title{max-width:22ch}
/* thank-you page: the short confirmation stays on one line on wide screens */
@media (min-width:1100px){.page-thanks .pagehead__grid{grid-template-columns:minmax(0,1fr)}.page-thanks .pagehead__title{max-width:none}}
.topics{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:2.25rem}
.topics__label{font-size:.9rem;font-weight:600;color:var(--ink-3)}
.topics ul{display:flex;flex-wrap:wrap;gap:.5rem}
.topics a{display:inline-flex;align-items:center;min-height:44px;padding:.3rem 1rem;border:1px solid var(--line-2);border-radius:999px;text-decoration:none;font-weight:500;font-size:.98rem}
.topics a:hover{border-color:var(--ink);background:var(--card)}
.pagehead+.sec.tone-paper{padding-top:clamp(3rem,6vw,6rem)}

/* ------------------------------------------------------------------ promises */
.sec--promises .sec-title{margin-bottom:clamp(1.75rem,4vw,3rem)}
.promises{display:grid;gap:2rem var(--gap)}
.promise{display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:1rem;padding-top:1.25rem;border-top:1px solid var(--line-2)}
.promise__ico{grid-row:span 2;width:2.25rem;height:2.25rem;color:var(--oak-deep);stroke-width:1.3}
.promise__title{font-size:var(--t-h3);line-height:1.2;letter-spacing:-.008em}
.promise__text{margin-top:.5rem;color:var(--ink-2);font-size:1rem;line-height:1.58}
@media (min-width:640px){.promise{display:block;padding-top:1.5rem}.promise__title{margin-top:1.1rem}}
@media (max-width:639.98px){.promises{gap:1.5rem}}
@media (min-width:640px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.promises{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ------------------------------------------------------------------ services */
.services{display:grid;gap:clamp(2.75rem,5vw,4.5rem) var(--gap)}
@media (min-width:760px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc{position:relative;display:flex;flex-direction:column}
.svc__media{position:relative;border-radius:var(--r-s);overflow:hidden;background:var(--sand)}
.svc__media .pic{aspect-ratio:3/2}
.svc__title{margin-top:1.4rem;font-size:clamp(1.45rem,1.2rem + .9vw,1.95rem);line-height:1.15;letter-spacing:-.012em}
.svc__title a{text-decoration:none}
.svc__title a::after{content:"";position:absolute;inset:0;z-index:1}
.svc__title a:focus-visible{outline:none}
.svc:has(a:focus-visible){outline:3px solid var(--focus);outline-offset:6px;border-radius:var(--r-s)}
.svc__text{margin-top:.6rem;color:var(--ink-2);max-width:34em}
.svc__text a{position:relative;z-index:2}
.svc__more{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-weight:600;font-size:.98rem;color:var(--accent)}
.svc__more .ico{transition:transform .2s}
.svc:hover .svc__title a{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--oak)}
.svc:hover .svc__more .ico{transform:translateX(4px)}

/* ------------------------------------------------------------------ meister */
.meister{display:grid;gap:2.5rem var(--gap)}
.meister__media{position:relative;border-radius:var(--r-s);overflow:hidden;background:var(--walnut-2)}
.meister__media .pic{aspect-ratio:4/5}
.meister .sec-title{color:var(--cream)}
.meister__text{margin-top:1.5rem;font-family:var(--serif);font-size:clamp(1.15rem,1.05rem + .45vw,1.38rem);line-height:1.6;color:var(--cream)}
.meister__text p{max-width:32em}
.meister__text p+p{margin-top:1em}
.meister__sig{display:flex;align-items:center;gap:.8rem;margin-top:1.75rem;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--oak-light)}
.meister .btn{margin-top:2.25rem}
@media (min-width:900px){
  .meister{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2.5rem,6vw,7rem);align-items:center}
}

/* numbers row (facts block and inside meister) */
.numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 0}
.numbers li{display:flex;flex-direction:column;padding:0 1.25rem;border-left:1px solid var(--line-2)}
.numbers__v{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,1.3rem + 1.9vw,3.1rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}
@media (max-width:559.98px){.numbers li{padding:0 .9rem}.numbers__v{font-size:1.75rem}}
.numbers__l{margin-top:.55rem;font-size:.98rem;line-height:1.4;color:var(--ink-2);max-width:14em}
@media (min-width:800px){
  .numbers--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .numbers--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .numbers--5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.sec--facts .sec-title{margin-bottom:clamp(1.75rem,3.5vw,2.75rem)}
.numbers--dark{margin-top:2.25rem;padding-top:2rem;border-top:1px solid rgba(243,235,221,.16);grid-template-columns:repeat(3,minmax(0,1fr))}
.numbers--dark li{border-left-color:rgba(243,235,221,.18)}
.numbers--dark li:first-child{border-left:0;padding-left:0}
.numbers--dark li{padding:0 1rem}
.numbers--dark .numbers__v{color:var(--oak-light);font-size:clamp(1.5rem,.95rem + 1.4vw,2.3rem)}
.numbers--dark .numbers__l{color:var(--cream-2);font-size:.92rem}
@media (max-width:559.98px){
  .numbers--dark{grid-template-columns:1fr;gap:0;padding-top:.5rem}
  .numbers--dark li{display:grid;grid-template-columns:minmax(0,7.5rem) minmax(0,1fr);align-items:baseline;gap:1rem;padding:.8rem 0;border-left:0;border-bottom:1px solid rgba(243,235,221,.12)}
  .numbers--dark li:last-child{border-bottom:0}
  .numbers--dark .numbers__l{margin-top:0;max-width:none}
}

/* ------------------------------------------------------------------ process */
.steps{display:grid;gap:2rem var(--gap);counter-reset:step}
.step{display:grid;grid-template-columns:3.25rem minmax(0,1fr);column-gap:1rem}
.step__n{grid-row:span 2;font-family:var(--serif);font-weight:500;font-size:2.6rem;line-height:.9;color:var(--oak);font-variant-numeric:lining-nums}
.step__title{font-size:var(--t-h3);line-height:1.2;letter-spacing:-.008em}
.step__text{margin-top:.5rem;color:var(--ink-2);font-size:1rem}
@media (min-width:1000px){
  .steps{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
  .steps--3{--n:3}.steps--5{--n:5}.steps--6{--n:3}
  /* subgrid: number, title and text share rows across the columns, so texts start on one line */
  .step{display:block;padding-top:0}
  @supports (grid-template-rows:subgrid){
    .step{display:grid;grid-template-columns:minmax(0,1fr);grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
  }
  .step__n{grid-row:auto;display:block;font-size:clamp(3.2rem,2rem + 2.4vw,4.6rem);padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line-2)}
}

/* ------------------------------------------------------------------ before / after */
.gallery{display:grid;gap:2.25rem var(--gap)}
@media (min-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.gallery:not(.gallery--1):not(.gallery--2):not(.gallery--4){grid-template-columns:repeat(3,minmax(0,1fr))}}
/* a single pair is shown large: one column, at most 1000 px wide, a little flatter so it fits the screen */
@media (min-width:700px){
  .gallery--1{grid-template-columns:minmax(0,1fr);max-width:1000px}
  .gallery--1 .ba.is-ready .ba__frame{aspect-ratio:3/2}
  .gallery--1 .ba__side img{object-position:50% 35%}
}
.ba__frame{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:var(--r-s);overflow:hidden;background:var(--sand)}
.ba__side{position:relative}
.ba__side .pic{aspect-ratio:4/3}
.ba__tag{position:absolute;top:.6rem;left:.6rem;z-index:2;padding:.25rem .6rem;border-radius:999px;background:rgba(248,245,239,.9);color:var(--ink);font-size:.78rem;font-weight:600;line-height:1.3;pointer-events:none}
.ba__cap{margin-top:.85rem;font-size:1rem;color:var(--ink-2);line-height:1.45}
/* enhanced: one frame with a draggable divider */
.ba.is-ready .ba__frame{display:block;aspect-ratio:4/3;touch-action:pan-y;cursor:ew-resize;-webkit-user-select:none;user-select:none}
.ba.is-ready .ba__side{position:absolute;inset:0}
.ba.is-ready .ba__side .pic{aspect-ratio:auto;height:100%}
.ba.is-ready .ba__after{clip-path:inset(0 0 0 var(--pos,50%))}
.ba.is-ready .ba__after .ba__tag{left:auto;right:.6rem}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);z-index:3;width:0;pointer-events:none}
.ba__handle::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--paper);box-shadow:0 0 0 1px rgba(45,32,25,.18)}
.ba__knob{position:absolute;top:50%;left:0;display:grid;place-items:center;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 4px 14px rgba(45,32,25,.28)}
.ba__knob .ico{width:22px;height:22px}
.ba__range:focus-visible~.ba__handle .ba__knob{outline:3px solid var(--focus);outline-offset:3px}
.gallery__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid var(--line)}
.gallery__note{font-size:var(--t-small);color:var(--ink-3);max-width:40em}

/* ------------------------------------------------------------------ video */
.video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-s);overflow:hidden;background:var(--walnut)}
.video__frame video,.video__frame .pic{width:100%;height:100%;object-fit:cover}
.video__missing{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.75rem;padding:.8rem 1.4rem .8rem .9rem;border-radius:999px;background:rgba(45,32,25,.78);color:var(--cream);font-weight:600;white-space:nowrap}
.video__missing .ico{width:38px;height:38px;padding:9px;border-radius:50%;background:var(--cream);color:var(--walnut);fill:currentColor;stroke:none}
.video__cap{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.9rem;color:var(--ink-2);font-size:1rem}
.video__label{font-weight:600;color:var(--oak-deep)}

/* ------------------------------------------------------------------ materials */
.brands{--logo-s:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 0}
.brands__item{display:flex;flex-direction:column;gap:.35rem;padding:0 1rem;border-left:1px solid var(--line-2)}
.brands__name{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,1.25rem + .9vw,2rem);line-height:1.05;letter-spacing:-.01em;color:var(--walnut)}
.brands__logo{height:2.4rem;width:auto;max-width:100%;object-fit:contain;object-position:left center}
/* optical sizing: every logo gets the same area (height = sqrt(area / aspect ratio)), then heavy, dark
   logos are trimmed ~10 % and light, thin ones enlarged a little, so all look the same size */
.brands__logo--bona{height:calc(1.85rem * var(--logo-s))}
.brands__logo--osmo{height:calc(3.15rem * var(--logo-s))}
.brands__logo--berger-seidle{height:calc(1.8rem * var(--logo-s))}
.brands__logo--loba{height:calc(4rem * var(--logo-s))}
.brands__logo--mirka{height:calc(1.72rem * var(--logo-s))}
.brands__logo--makita{height:calc(2.16rem * var(--logo-s))}
.brands__logo--wirbel{height:calc(2rem * var(--logo-s))}
.brands__logo--tempest{height:calc(2.55rem * var(--logo-s))}
.brands__item:has(.brands__logo){display:grid;grid-template-rows:calc(4.2rem * var(--logo-s)) auto;align-content:start;row-gap:.6rem}
.brands__item:has(.brands__logo) .brands__logo{align-self:center}  /* logos share one row height, so the notes line up */
.brands__note{font-size:.92rem;line-height:1.35;color:var(--ink-2)}
@media (max-width:399.98px){.brands__item{padding:0 .7rem}.brands__note{font-size:.84rem}}
@media (min-width:640px){.brands{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* wide screens: logos stay in 4 roomy columns (4 + 3) and grow 25 %, instead of 7 narrow columns of small logos */
@media (min-width:1000px){.brands{--logo-s:1.25;row-gap:2.75rem}.brands__item{padding:0 1.5rem}}
@media (min-width:1180px){.brands--6{grid-template-columns:repeat(6,minmax(0,1fr))}.brands--5{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ------------------------------------------------------------------ packages */
.pkgs{display:grid;gap:2.5rem var(--gap)}
@media (min-width:960px){.pkgs--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pkgs--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pkgs--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pkg{display:flex;flex-direction:column;padding-top:1.5rem;border-top:3px solid var(--walnut)}
.pkg:nth-child(2){border-top-color:var(--oak-deep)}
.pkg:nth-child(3){border-top-color:var(--oak)}
.pkg__name{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);line-height:1.1;letter-spacing:-.015em}
.pkg__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .9rem;margin-top:.55rem}
.pkg__price strong{font-family:var(--serif);font-weight:600;font-size:1.35rem;color:var(--accent);font-variant-numeric:lining-nums}
.pkg__price span{font-size:.92rem;color:var(--ink-3)}
.pkg__summary{margin-top:.6rem;font-size:1.08rem;color:var(--ink)}
.ticks{margin:1.25rem 0 1.5rem;display:grid;gap:.55rem}
.ticks li{display:flex;gap:.6rem;align-items:flex-start;color:var(--ink-2);font-size:1rem;line-height:1.45}
.ticks .ico{color:var(--accent);margin-top:.12rem;stroke-width:2;width:1.1rem;height:1.1rem}
.pkg__when{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:1.08rem;line-height:1.45;color:var(--ink)}
.pkg__when-l{display:block;margin-bottom:.25rem;font-family:var(--sans);font-style:normal;font-size:.85rem;font-weight:600;color:var(--oak-deep)}

/* ------------------------------------------------------------------ checklist */
.checklist{display:grid;column-gap:var(--gap);align-content:start}
@media (min-width:700px){.checklist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.checklist li{display:flex;gap:.9rem;align-items:flex-start;padding:1.05rem 0;border-bottom:1px solid var(--line);font-size:1.05rem;line-height:1.45}
.checklist__box{display:grid;place-items:center;width:1.6rem;height:1.6rem;flex:none;border:1.5px solid var(--line-3);border-radius:5px;color:var(--accent);margin-top:-.05rem}
.checklist__box .ico{width:1.05rem;height:1.05rem;stroke-width:2.2}

/* ------------------------------------------------------------------ table */
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.45}
.tbl th,.tbl td{padding:1.05rem 1.25rem 1.05rem 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{padding-top:0;font-family:var(--serif);font-size:1.35rem;font-weight:600;border-bottom:2px solid var(--ink)}
.tbl thead th:first-child{font-family:var(--sans);font-size:.88rem;color:var(--ink-3);vertical-align:bottom}
.tbl tbody th{font-weight:600;width:22%}
.tbl td{color:var(--ink-2)}
.tbl-note{margin-top:1.25rem;font-size:var(--t-small);color:var(--ink-3);max-width:44em}
@media (max-width:699.98px){
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:auto}
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl tr{padding:1.1rem 0;border-bottom:1px solid var(--line)}
  .tbl tr:first-child{border-top:2px solid var(--ink)}
  .tbl th,.tbl td{border:0;padding:0}
  .tbl tbody th{width:auto;font-family:var(--serif);font-size:1.25rem;margin-bottom:.5rem}
  .tbl td{display:grid;grid-template-columns:minmax(0,7.5rem) minmax(0,1fr);gap:1rem;padding:.3rem 0}
  .tbl td::before{content:attr(data-label);font-weight:600;color:var(--ink)}
}

/* ------------------------------------------------------------------ warranty */
.wty{display:grid;gap:2.5rem var(--gap)}
@media (min-width:900px){.wty{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wty__cond{grid-column:1/-1}}
.wty__h{font-size:var(--t-h3);line-height:1.2;margin-bottom:1rem}
.marks li{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--line);line-height:1.45}
.marks .ico{width:1.65rem;height:1.65rem;padding:.3rem;border-radius:50%;flex:none;stroke-width:2;margin-top:-.1rem}
.marks--yes .ico{background:var(--accent-tint);color:var(--accent)}
.marks--no .ico{background:var(--paper-2);color:var(--ink-3)}
.marks--no li{color:var(--ink-2)}
.wty__cond{padding:clamp(1.5rem,3vw,2.5rem);background:var(--paper-2);border-radius:var(--r)}
.wty__ol{counter-reset:c;display:grid;gap:.9rem;margin-top:.25rem}
@media (min-width:900px){.wty__ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}}
.wty__ol li{counter-increment:c;position:relative;padding-left:2.5rem;line-height:1.45}
.wty__ol li::before{content:counter(c);position:absolute;left:0;top:-.15rem;font-family:var(--serif);font-weight:600;font-size:1.6rem;line-height:1;color:var(--oak-deep)}
.wty__note{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line-2);font-family:var(--serif);font-style:italic;font-size:1.1rem}

/* ------------------------------------------------------------------ faq */
.faq{border-top:1px solid var(--line-2)}
.qa{border-bottom:1px solid var(--line)}
.qa__q{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;cursor:pointer;list-style:none;font-family:var(--serif);font-weight:600;font-size:clamp(1.12rem,1.05rem + .35vw,1.32rem);line-height:1.35;letter-spacing:-.005em}
.qa__q::-webkit-details-marker{display:none}
.qa__q::marker{content:""}
.qa__q:hover{color:var(--accent)}
.qa__q:focus-visible{outline-offset:2px}
.qa__ico{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border:1px solid var(--line-2);border-radius:50%;color:var(--ink);margin-top:-.2rem;transition:transform .2s,background-color .2s}
.qa__ico .ico{width:1.1rem;height:1.1rem}
.qa[open] .qa__ico{transform:rotate(45deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}
.qa__a{padding:0 3.5rem 1.6rem 0;color:var(--ink-2);max-width:44em}
.qa__a p+p{margin-top:.8em}

/* ------------------------------------------------------------------ split */
.split{display:grid;gap:2.25rem var(--gap);align-items:center}
.split__media{position:relative;border-radius:var(--r-s);overflow:hidden;background:var(--sand)}
.split__media .pic{aspect-ratio:3/2}
.split__body .prose{margin-top:1.25rem}
.split--portrait .split__media .pic{aspect-ratio:4/5}
@media (max-width:899.98px){.split--portrait .split__media{max-width:30rem}}
@media (min-width:900px){
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2.5rem,6vw,6.5rem)}
  .split--portrait .split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .split--portrait.split--right .split{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .split--right .split__media{order:2}
}

/* ------------------------------------------------------------------ not doing */
.nodo{align-content:start;border-top:1px solid var(--line-2);max-width:44rem}
.nodo li{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--line);line-height:1.45}
.nodo .ico{color:var(--oak-deep);stroke-width:2;margin-top:.05rem}

/* ------------------------------------------------------------------ price note */
.pnote{display:grid;gap:2.5rem var(--gap);align-items:start}
.pnote__body .prose{margin-top:1.25rem}
.pnote__body .btn{margin-top:2rem}
.pnote__points{background:var(--walnut);color:var(--cream);border-radius:var(--r);padding:.5rem clamp(1.5rem,3vw,2.5rem)}
.pnote__points li{padding:1.35rem 0;border-bottom:1px solid rgba(243,235,221,.14);font-family:var(--serif);font-size:clamp(1.18rem,1.08rem + .4vw,1.42rem);line-height:1.35}
.pnote__points li:last-child{border-bottom:0}
.pnote__points li:first-child{color:var(--oak-light)}
@media (min-width:960px){.pnote{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2.5rem,6vw,6.5rem)}.pnote__body{position:sticky;top:calc(var(--hdr) + 2rem)}}

/* ------------------------------------------------------------------ area */
.area__where{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.25rem;font-family:var(--serif);font-size:1.25rem;line-height:1.35}
.area__where .ico{color:var(--oak-deep);width:1.5rem;height:1.5rem;margin-top:.05rem}

/* ------------------------------------------------------------------ related links */
.rel{display:grid;gap:0 var(--gap);margin-top:clamp(1.5rem,3vw,2.25rem)}
@media (min-width:760px){.rel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.rel--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rel--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rel__item{padding:1.25rem 0 1.5rem;border-top:1px solid var(--line-2)}
.rel__link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;text-decoration:none}
.rel__title{font-family:var(--serif);font-weight:600;font-size:var(--t-h3);line-height:1.2}
.rel__arrow{color:var(--accent);transition:transform .2s}
.rel__link:hover .rel__title{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--oak)}
.rel__link:hover .rel__arrow{transform:translateX(4px)}
.rel__text{margin-top:.35rem;color:var(--ink-2);font-size:1rem}

/* ------------------------------------------------------------------ cta (dark) */
.cta{display:grid;gap:2.25rem var(--gap);align-items:center}
.cta .sec-title{color:var(--cream);max-width:18ch}
.cta__text{margin-top:1.1rem;font-size:var(--t-lead);color:var(--cream-2);max-width:32em;line-height:1.5}
.cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.cta__note{color:var(--cream-2);font-size:var(--t-small);margin-top:.2rem}
@media (min-width:960px){.cta{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2.5rem,6vw,6.5rem)}.cta__actions{align-items:stretch;justify-self:end;width:min(100%,24rem)}}

/* ------------------------------------------------------------------ legal */
.toc{display:none}
@media (min-width:960px){.toc{display:block;position:sticky;top:calc(var(--hdr) + 2rem)}}
.toc__label{font-size:.9rem;font-weight:600;color:var(--ink-3);margin-bottom:.75rem}
.toc ol{border-left:1px solid var(--line-2)}
.toc a{display:block;padding:.4rem 0 .4rem 1rem;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink);text-decoration:underline}
.legal__h{scroll-margin-top:calc(var(--hdr) + 1.5rem);font-size:var(--t-h2s);line-height:1.15;margin:2.5rem 0 .9rem}
.legal__h:first-child{margin-top:0}
.legal .list{margin-top:1em}
.legal__company{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:var(--t-small);color:var(--ink-3)}

/* ------------------------------------------------------------------ contact + form */
.contact{display:grid;gap:3rem var(--gap);align-items:start}
@media (min-width:1040px){.contact{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2.5rem,5vw,5.5rem)}.contact__info{position:sticky;top:calc(var(--hdr) + 2rem)}}
.contact__text{margin-top:1.1rem;font-size:var(--t-lead);color:var(--ink-2);line-height:1.5;max-width:30em}
.bigphone{display:inline-flex;flex-direction:column;margin-top:2rem;text-decoration:none;color:var(--ink)}
.bigphone__label{font-size:.95rem;font-weight:500;color:var(--ink-2)}
.bigphone__num{font-family:var(--serif);font-weight:600;font-size:clamp(2.3rem,1.6rem + 2.6vw,3.6rem);line-height:1.05;letter-spacing:-.01em;color:var(--accent);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;text-decoration:underline;text-decoration-color:var(--oak);text-decoration-thickness:2px;text-underline-offset:.16em}
.bigphone:hover .bigphone__num{text-decoration-color:var(--accent)}
.contact__callback{margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.45;max-width:26em}
.cinfo{margin-top:2rem;border-top:1px solid var(--line-2)}
.cinfo>div{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.cinfo dt{font-size:.88rem;font-weight:600;color:var(--ink-3);padding-top:.12rem}
.cinfo dd{margin:0}
.cinfo a{color:var(--accent);font-weight:500}
.contact__calc{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.5rem;padding:.9rem 1rem;border-radius:var(--r);background:var(--paper-2);font-size:.95rem;line-height:1.45;max-width:30em}
.contact__calc>.ico{color:var(--oak-deep);width:1.35rem;height:1.35rem;margin-top:.05rem;flex:none}
.contact__calc a{display:inline-flex;align-items:center;gap:.3em;color:var(--accent);font-weight:600;white-space:nowrap}
.contact__calc a .ico{width:1em;height:1em;flex:none}
.cinfo .altrow a{font-family:var(--serif);font-weight:600;font-size:1.12rem;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}

.qform{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(1.25rem,3.5vw,2.75rem);box-shadow:0 1px 0 rgba(45,32,25,.04),0 30px 60px -40px rgba(45,32,25,.35)}
.qform__title{font-size:clamp(1.6rem,1.3rem + 1vw,2.15rem);line-height:1.1;letter-spacing:-.012em}
.qform__intro{margin-top:.6rem;color:var(--ink-2)}
.qform__req{margin-top:.5rem;font-size:.875rem;color:var(--ink-3)}
.qform__progress{margin-top:1.5rem}
.qform__steplabel{font-size:.9rem;font-weight:600;color:var(--oak-deep)}
.qform__bar{margin-top:.55rem;height:4px;border-radius:4px;background:var(--paper-2);overflow:hidden}
.qform__bar span{display:block;height:100%;width:33.4%;background:var(--accent);border-radius:4px;transition:width .3s}
.qstep{margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.qstep__label{font-size:.9rem;font-weight:600;color:var(--oak-deep);margin-bottom:1.25rem;outline:none}
.js .qform.is-steps .qstep{border-top:0;padding-top:0;margin-top:1.75rem}
.js .qform.is-steps .qstep:not(.is-active){display:none}
.js .qform.is-steps .qstep__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.qstep__nav{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:2rem}
.qstep__nav .btn--text{margin-right:auto}
.qstep__nav .btn .ico{width:1.1rem;height:1.1rem}

.lbl{display:block;margin-bottom:.65rem;font-weight:600;font-size:1.02rem;line-height:1.35;padding:0}
.lbl__opt{font-weight:400;color:var(--ink-3);font-size:.92rem}
.req{color:var(--error);font-weight:600}
.opts{border:0;margin:0 0 1.75rem;padding:0;min-width:0}
.opts__grid{display:grid;gap:.6rem}
@media (min-width:560px){.opts__grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:480px){.opts__grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:560px){.opts__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.opts__grid--area{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:560px){.opts__grid--area{grid-template-columns:repeat(5,minmax(0,1fr))}}
.opts__grid--chips{display:flex;flex-wrap:wrap}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.opt__box{display:flex;align-items:center;gap:.7rem;height:100%;min-height:56px;padding:.75rem .95rem;border:1.5px solid var(--line-3);border-radius:var(--r);background:var(--card);font-size:.98rem;font-weight:500;line-height:1.3;cursor:pointer;transition:border-color .12s,background-color .12s}
.opt__box:hover{border-color:var(--ink)}
.opt__txt{min-width:0}
.opt__hint{display:block;margin-top:.15rem;font-size:.84rem;font-weight:400;line-height:1.35;color:var(--ink-3)}
.opt__dot{position:relative;width:1.15rem;height:1.15rem;flex:none;border:1.5px solid var(--line-3);border-radius:50%;background:var(--card)}
.opt input:checked+.opt__box{border-color:var(--accent);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}
.opt input:checked+.opt__box .opt__dot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--card)}
.opt input:focus-visible+.opt__box{outline:3px solid var(--focus);outline-offset:2px}
.opts__grid--area .opt__box{justify-content:center;text-align:center;padding-inline:.5rem}
.opts__grid--area .opt__dot,.opts__grid--chips .opt__dot{display:none}
.opts__grid--chips .opt__box{min-height:44px;padding:.45rem 1.05rem;border-radius:999px}

.field{margin-bottom:1.6rem}
.field-row{display:grid;gap:0 1rem}
@media (min-width:560px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field__hint{margin:-.3rem 0 .85rem;font-size:.92rem;color:var(--ink-3);line-height:1.45}
.input{display:block;width:100%;min-height:54px;padding:.8rem 1rem;border:1.5px solid var(--line-3);border-radius:var(--r);background:#fff;font-size:1.05rem;line-height:1.4;transition:border-color .12s,box-shadow .12s}
.input::placeholder{color:#8C7A68;opacity:1}
.input:hover{border-color:var(--ink-2)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,74,58,.25)}
.input--area{min-height:7.5rem;resize:vertical}
.input[aria-invalid="true"]{border-color:var(--error)}
.input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(154,43,30,.2)}
.field__err{margin-top:.45rem;color:var(--error);font-size:.92rem;font-weight:500;display:flex;gap:.4rem}

.drop{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1.15rem;border:1.5px dashed var(--line-3);border-radius:12px;background:var(--paper);transition:border-color .15s,background-color .15s}
.drop.is-over{border-color:var(--accent);background:var(--accent-tint)}
.drop__text{color:var(--ink-3);font-size:.95rem}
.drop__btn{display:none}
.drop__input{max-width:100%;font-size:.95rem}
.js .drop__btn{display:inline-flex;cursor:pointer}
.js .drop__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.js .drop__input:focus-visible+.drop__btn{outline:3px solid var(--focus);outline-offset:3px}
.no-js .drop__text{display:none}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.6rem;margin-top:.8rem}
.thumbs:empty{display:none}
.thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb__name{position:absolute;inset:auto 0 0;padding:.25rem .4rem;font-size:.7rem;line-height:1.2;color:var(--ink-2);background:rgba(255,252,247,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thumb.is-busy::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%) 0 0/200% 100%;animation:shimmer 1.2s infinite}
@keyframes shimmer{to{background-position:-200% 0}}
.thumb__rm{position:absolute;top:.3rem;right:.3rem;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(45,32,25,.82);color:var(--cream)}
.thumb__rm::before{content:"";position:absolute;inset:-6px}
.thumb__rm .ico{width:16px;height:16px;stroke-width:2}
.thumb__rm:hover{background:var(--walnut)}

.qform__privacy{margin:.25rem 0 1.5rem;font-size:.9rem;color:var(--ink-3);line-height:1.5}
.qform__privacy a{color:var(--accent);font-weight:500}
.qform__submit{padding-top:1.5rem;border-top:1px solid var(--line)}
.qform__min{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;border-radius:var(--r);background:var(--paper-2);font-size:.95rem;line-height:1.45;color:var(--ink)}
.qform__min .ico{color:var(--oak-deep);width:1.35rem;height:1.35rem;margin-top:.05rem}
.qform__alert{margin-top:1rem;padding:.9rem 1rem;border-left:3px solid var(--error);border-radius:6px;background:#F7E9E3;color:var(--error);font-weight:500;line-height:1.45}
.qstep__nav--final{margin-top:1.25rem}
@media (max-width:479.98px){.qstep__nav .btn--primary{flex:1}}

/* ------------------------------------------------------------------ footer */
.site-footer{background:var(--walnut);color:var(--cream);--focus:var(--oak-light)}
.frieze{height:14px;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='14'><path fill='%23C9A26C' stroke='%238C6232' stroke-width='.6' d='M0 0L14 -14L14 -7L0 7ZM14 -14L28 0L28 7L14 -7ZM0 14L14 0L14 7L0 21ZM14 0L28 14L28 21L14 7ZM0 28L14 14L14 21L0 35ZM14 14L28 28L28 35L14 21Z'/><path fill='%23B48A52' stroke='%238C6232' stroke-width='.6' d='M0 -7L14 -21L14 -14L0 0ZM14 -21L28 -7L28 0L14 -14ZM0 7L14 -7L14 0L0 14ZM14 -7L28 7L28 14L14 0ZM0 21L14 7L14 14L0 28ZM14 7L28 21L28 28L14 14Z'/></svg>") 0 0/28px 14px repeat-x}
.ftr{display:grid;gap:2.5rem var(--gap);padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:2rem}
.brand--footer{margin:0}
.brand--footer .brand__logo{width:363px}
.ftr__about{margin-top:1.25rem;color:var(--cream-2);max-width:28em;font-size:1.02rem}
.ftr .ftr__phone{display:inline-block;font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,1.5rem + 2.4vw,3.3rem);line-height:1.05;color:var(--oak-light);text-decoration:none;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.ftr__phone:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.ftr__note{margin-top:.8rem;color:var(--cream-2);font-family:var(--serif);font-style:italic;font-size:1.08rem;max-width:26em}
.ftr__cols{display:grid;gap:2rem var(--gap);padding-top:2.5rem;border-top:1px solid rgba(243,235,221,.14)}
@media (min-width:700px){.ftr__cols{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}}
.ftr__h{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--oak-light);margin-bottom:1rem;letter-spacing:.01em}
.ftr__dl>div{display:flex;flex-wrap:wrap;column-gap:.75rem;padding:.3rem 0}  /* value drops under its label when the e-mail would not fit beside it */
.ftr__dl dt{flex:0 0 6.5rem;color:var(--cream-2);font-size:.9rem}
.ftr__dl dd{flex:1 1 12.5rem;min-width:0;margin:0}
.ftr__dl a[href^="mailto:"]{white-space:nowrap}
.ftr a{color:var(--cream)}
.ftr__links li a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.ftr__links li a:hover{text-decoration:underline}
.ftr__legal{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2rem;padding-top:1.5rem;border-top:1px solid rgba(243,235,221,.14);font-size:.875rem;color:var(--cream-2)}
.ftr__company{flex:1 1 30rem}
.ftr__cookie{background:none;border:0;padding:.5rem 0;color:var(--cream);text-decoration:underline;font-size:.875rem;min-height:44px}
@media (min-width:1000px){
  .ftr{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end}
  .ftr__call{justify-self:end;text-align:right}
  .ftr__note{margin-left:auto}
  .ftr__cols,.ftr__legal{grid-column:1/-1}
}

/* ------------------------------------------------------------------ cookie banner (only when GA is configured) */
.cookie{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:60;max-width:34rem;padding:1.25rem 1.4rem;background:var(--card);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 20px 50px -20px rgba(45,32,25,.45)}
.cookie__text{font-size:.95rem;line-height:1.5}
.cookie__text a{color:var(--accent)}
.cookie__actions{display:flex;gap:.6rem;margin-top:1rem;justify-content:flex-end}
@media (max-width:759.98px){.cookie{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* ------------------------------------------------------------------ 404 */
.nf__code{font-family:var(--serif);font-weight:600;font-size:clamp(4rem,3rem + 6vw,8rem);line-height:1;color:var(--oak-deep);margin-bottom:1rem}
.nf__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2rem}
.nf__langs{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem}
.nf__langs a{display:inline-flex;min-height:44px;align-items:center;color:var(--accent);font-weight:500}

/* ------------------------------------------------------------------ motion + print */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
  .site-header,.mbar,.frieze,.qform,.cookie,.menu-btn{display:none!important}
  body{background:#fff;padding:0}
  .tone-dark,.site-footer{background:#fff;color:#000}
}

/* ------------------------------------------------------------------ price calculator */
html:not(.js) .sec--calculator{display:none}  /* needs main.js; the price text and the form work without it */
.calc{display:grid;gap:2rem var(--gap);align-items:start}
@media (min-width:1040px){.calc{grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(2.5rem,5vw,5.5rem)}.calc__head{position:sticky;top:calc(var(--hdr) + 2rem)}}
.calc__intro{margin-top:1.1rem;font-size:var(--t-lead);color:var(--ink-2);line-height:1.5;max-width:30em}
.calc__card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(1.25rem,3.5vw,2.75rem);box-shadow:0 1px 0 rgba(45,32,25,.04),0 30px 60px -40px rgba(45,32,25,.35)}
.calc__types{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.calc__types{grid-template-columns:repeat(4,minmax(0,1fr))}}
.calc__type .opt__box{flex-direction:column;justify-content:center;gap:.55rem;padding:.9rem .5rem;text-align:center;font-size:.94rem}
.calc__pat{width:44px;height:44px;fill:none;stroke:var(--oak-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.calc__fine{stroke-width:.9;opacity:.6}
.calc__type input:checked+.opt__box .calc__pat{stroke:var(--accent)}
.calc__arearow{display:flex;align-items:center;gap:1rem}
.calc__range{flex:1;min-width:0;height:44px;margin:0;accent-color:var(--accent);cursor:pointer}
.calc__num{display:flex;align-items:center;gap:.5rem;flex:none;font-weight:500}
.calc__num .input{width:6.25rem;text-align:right;-moz-appearance:textfield}
.calc__num .input::-webkit-inner-spin-button,.calc__num .input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.opts__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.calc__check{display:flex;align-items:flex-start;gap:.75rem;margin:0 0 1.75rem;line-height:1.45;cursor:pointer}
.calc__check input{flex:none;width:1.3rem;height:1.3rem;margin:.12rem 0 0;accent-color:var(--accent);cursor:pointer}
.calc__result{border-top:1px solid var(--line);padding-top:1.5rem}
.calc__rlabel{font-size:.9rem;font-weight:600;color:var(--oak-deep)}
.calc__sum{margin-top:.25rem;font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,1.6rem + 2vw,3.1rem);line-height:1.1;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.calc__sum.is-empty{font-family:var(--sans);font-size:1.2rem;font-weight:500;color:var(--ink-3);letter-spacing:0}
.calc__notes{margin:.9rem 0 1.6rem;padding:0;list-style:none;color:var(--ink-2);font-size:.98rem;line-height:1.5}
.calc__notes li+li{margin-top:.3rem}
.qform__calc{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--r);background:var(--accent-tint);color:var(--accent-2);font-size:.95rem;line-height:1.45}
.pnote__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.pnote__body .pnote__actions .btn{margin-top:0}
@media (max-width:639.98px){.calc__type .opt__box{min-height:0;padding:.65rem .4rem;gap:.4rem}.calc__pat{width:34px;height:34px}.calc__type:last-child{grid-column:span 2}}
