
/* Layout idea: a wine-coloured hero with one brass call button; serif headings; a ruled "menu" of services; the phone number is always the first action. */
:root{
  --wine:#5a1226; --wine-d:#3f0b1a; --ink:#22161a; --paper:#f9f7f4; --cream:#f0ebe3; --line:#dcd3c7;
  --text:#2a1e22; --muted:#665a5d; --brass:#d9a441; --brass-d:#c28f2c; --white:#fff;
  --display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 17.5px/1.62 var(--body)}
a{color:var(--wine)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);line-height:1.12;margin:0;text-wrap:balance}
h1{font-size:clamp(2.2rem,5.2vw,3.8rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:66ch}
address{font-style:normal;margin:0 0 1em;overflow-wrap:anywhere}
.wrap{max-width:1120px;margin:0 auto;padding-left:22px;padding-right:22px}
.thin{max-width:790px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--white);padding:8px 12px;z-index:9}
.mast{background:var(--white);border-top:5px solid var(--wine);border-bottom:1px solid var(--line)}
.mast-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:12px;padding-bottom:12px}
.id{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}
.id-m{width:36px;height:36px;border-radius:50%;background:var(--wine);color:var(--brass);font:400 1.35rem/36px var(--display);text-align:center;flex:none}
.id-t{font:400 1.4rem/1.05 var(--display)}
.id-t small{display:block;font:500 .72rem/1.6 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;gap:4px 20px;margin-left:auto;font-size:.97rem;font-weight:500;white-space:nowrap}
.nav a{color:var(--text);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:var(--wine);border-color:var(--wine)}
.mast-tel{font:700 1rem var(--body);background:var(--wine);color:var(--white);padding:.7em 1.1em;border-radius:4px;text-decoration:none;white-space:nowrap;flex:none}
.mast-tel:hover{background:var(--wine-d)}
.tog{display:none;font:700 .97rem var(--body);background:var(--white);color:var(--wine);border:2px solid var(--wine);border-radius:4px;padding:.5em 1em;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 1.02rem/1 var(--body);padding:1em 1.4em;border-radius:4px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-g{background:var(--brass);color:var(--ink)}.btn-g:hover{background:var(--brass-d)}
.btn-p{background:var(--wine);color:var(--white)}.btn-p:hover{background:var(--wine-d)}
.btn-o{border-color:var(--wine);color:var(--wine);background:transparent}.btn-o:hover{background:var(--wine);color:var(--white)}
.btn-big{font-size:1.25rem;padding:1.05em 1.7em}
.go{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:1.6em}
.txt{font-weight:500}
.hero{background:var(--wine);color:#ecd9dd;padding:64px 0 96px}
.hero-s{padding:34px 0 54px}
.hero h1{color:var(--white);max-width:19ch}
.hero-s h1{max-width:24ch;font-size:clamp(2rem,4.4vw,3.1rem)}
.hl{color:var(--brass)}
.over{font:700 .8rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:1.1em}
.lead{font-size:1.2rem;margin-top:1em;max-width:58ch}
.hero .txt{color:var(--white)}
.pth{font-size:.9rem;margin-bottom:1.3em;color:#dcbfc6}.pth a{color:var(--white)}
.shelf{list-style:none;margin:-46px 0 0;padding:0;background:var(--white);border:1px solid var(--line);border-bottom:4px solid var(--brass);display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.shelf li{padding:22px 26px;display:grid;gap:2px;border-left:1px solid var(--line)}
.shelf li:first-child{border-left:0}
.shelf strong{font:400 1.25rem var(--display);color:var(--ink)}
.shelf span{font-size:.95rem;color:var(--muted)}
.sec{padding:66px 0}
.sec h2{margin-bottom:.5em}
.cream{background:var(--cream)}
.sub{color:var(--muted);margin-bottom:1.6em}
.halves{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:54px;align-items:start}
.halves>div>.btn{margin-top:.6em}
.halves2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px 48px;align-items:start}
.menu{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.menu a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}
.menu a::after{content:"\2192";grid-column:2;grid-row:1/3;align-self:center;color:var(--wine);font-size:1.3rem}
.mn-n{font:400 1.45rem var(--display);color:var(--ink)}
.menu a:hover .mn-n{color:var(--wine)}
.mn-d{color:var(--muted);font-size:1rem}
.st{list-style:none;counter-reset:s;margin:1.6em 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.st li{counter-increment:s}
.st li::before{content:counter(s);display:block;font:400 3rem/1 var(--display);color:var(--wine);border-bottom:2px solid var(--brass);padding-bottom:10px;margin-bottom:14px}
.st p{margin:.5em 0 0;color:var(--muted);font-size:1rem}
.tws{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;margin-bottom:1.6em}
.tw{border-top:2px solid var(--ink);padding-top:14px}
.tw p{margin:.5em 0 0;color:var(--muted);font-size:1rem}
.lnk{font-weight:700}.lnk::after{content:" \2192"}
.fq{margin-top:1.2em;border-top:2px solid var(--ink)}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{cursor:pointer;padding:17px 0;font:400 1.25rem var(--display);color:var(--ink)}
.fq p{margin:0 0 18px;color:var(--muted)}
.box{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--wine);padding:26px}
.box h2{font-size:1.5rem}
.box a,main p a{overflow-wrap:anywhere}
.box ul{margin:.8em 0 1.2em;padding-left:1.1em;display:grid;gap:7px}
.box .pl{list-style:none;padding:0;gap:4px;margin-bottom:0}
.tk{list-style:none;margin:.9em 0 0;padding:0;display:grid;gap:10px}
.tk li{padding-left:26px;position:relative}
.tk li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2.5px solid var(--wine);border-bottom:2.5px solid var(--wine);transform:rotate(-45deg)}
.ol{list-style:none;margin:.9em 0 0;padding:0;display:grid;gap:9px}
.tri{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:18px;margin-top:1.2em}
.tl a{font:400 2.4rem var(--display);color:var(--wine);text-decoration:none}
.fo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:1em}
.ff{display:grid;gap:5px}.ff-w{grid-column:1/-1}
.ff label{font-size:.9rem;font-weight:700}
.ff input,.ff select,.ff textarea{font:inherit;font-size:1rem;padding:.7em .8em;border:1px solid #a3979a;border-radius:4px;background:var(--white);color:var(--text);width:100%}
.fo .btn{justify-self:start}
.fo-out{grid-column:1/-1;margin:0;background:#fbf1dc;border:1px solid var(--brass-d);border-radius:4px;padding:10px 14px;font-size:.95rem}
.fin{background:var(--wine);color:#ecd9dd;padding:52px 0}
.fin h2{color:var(--white)}.fin p{margin:.5em 0 0}
.fin-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px}
.fin .go{margin-top:0}.fin .txt{color:var(--white)}
.base{background:var(--ink);color:#c5b8bb;font-size:.96rem;padding-top:48px}
.base a{color:var(--brass);overflow-wrap:anywhere}
.base-g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.base-n{font:400 1.3rem var(--display);color:var(--white);margin-bottom:.5em}
.base-h{font:700 .78rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:#96878b;margin-bottom:.7em}
.base ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.base-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;border-top:1px solid #ffffff22;margin-top:34px;padding-top:16px;padding-bottom:22px;font-size:.86rem}
.tab{display:none}
@media (max-width:1120px){
  .tog{display:inline-block;margin-left:auto}
  .nav{display:none;order:4;width:100%;flex-direction:column;gap:0;margin:0;white-space:normal;border-top:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:1.05rem}
  .nav a[aria-current]{border-color:var(--line);font-weight:700}
}
@media (max-width:860px){
  body{padding-bottom:58px}
  .halves,.halves2{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero{padding:40px 0 78px}.hero-s{padding:28px 0 42px}.sec{padding:46px 0}
  .mast-tel{display:none}
  .shelf{grid-template-columns:1fr}.shelf li{border-left:0;border-top:1px solid var(--line);padding:16px 20px}.shelf li:first-child{border-top:0}
  .st,.tws,.tri{grid-template-columns:1fr;gap:24px}
  .base-g{grid-template-columns:1fr 1fr}
  .base li a{display:inline-block;padding:5px 0}
  .fin-in{flex-direction:column;align-items:stretch}
  .tab{display:grid;grid-template-columns:1.7fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:5;box-shadow:0 -4px 14px #0003}
  .tab a{padding:18px 8px;text-align:center;font:700 1rem var(--body);text-decoration:none;background:var(--brass);color:var(--ink);display:grid;place-items:center}
  .tab a+a{background:var(--ink);color:var(--white);font-size:.84rem;padding:10px 8px}
}
@media (max-width:520px){
  .wrap{padding-left:16px;padding-right:16px}
  .go{flex-direction:column;align-items:stretch}.go .btn{width:100%}.go .txt{text-align:center}
  .fo{grid-template-columns:1fr}.fo .btn{width:100%}
  .base-g{grid-template-columns:1fr}
  .box{padding:20px}
}
