@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/panels/syne-normal-400-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Schibsted Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/panels/schibsted-grotesk-normal-400-700.woff2') format('woff2');
}

/* =========================================================================
   panels - massageatschiphol.com
   Flat colour blocks, hard rules, no radius, no shadow, no motion of any
   kind. Hover changes a colour or an underline and changes it at once.
   ========================================================================= */

:root{
  --teal:#06514B;
  --teal-2:#CFE3DF;
  --rust:#A83A16;
  --rust-2:#F6DCCA;
  --mustard:#D99A00;
  --plum:#5B1A46;
  --plum-2:#EDD5E5;
  --bone:#F6EFE2;
  --bone-2:#E3D6C2;
  --ink:#120E0C;
  --ink-2:#2E2208;
  --wa:#25D366;
  --wa-dark:#1ea857;
  /* read by scripts/gen-og-and-favicons.js for the share card, not by the page */
  --sky-1:#5B1A46;
  --sky-2:#A83A16;
  --sky-3:#D99A00;
  --cloud:#F6EFE2;
  --muted:#8F3012;
  --serif:"Syne", "Schibsted Grotesk", system-ui, sans-serif;
  --sans:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --max:1500px;
  --reading:68ch;
  /* referenced by the inherited shared templates' inline styles */
  --rule:rgba(18,14,12,0.22);
  --faint:#6B5540;
}
:root{
  --gut:clamp(15px,4.2vw,64px);
  --pad:clamp(44px,6.4vw,110px);
  --hair:2px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--teal);
  color:var(--bone);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--mustard);outline-offset:3px}
table{border-collapse:collapse;width:100%}

.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:120;background:var(--bone);color:var(--ink);padding:10px 16px;font-weight:700;text-decoration:none}

.disp{font-family:var(--serif);font-weight:800;line-height:.93;letter-spacing:-.02em}
.kick{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------------------------------------------------- colour blocks */
.s-teal{background:var(--teal);color:var(--bone)}
.s-rust{background:var(--rust);color:var(--bone)}
.s-mustard{background:var(--mustard);color:var(--ink)}
.s-plum{background:var(--plum);color:var(--bone)}
.s-ink{background:var(--ink);color:var(--bone)}
.s-teal .sub{color:var(--teal-2)}
.s-rust .sub{color:var(--rust-2)}
.s-plum .sub{color:var(--plum-2)}
.s-mustard .sub{color:var(--ink-2)}
.s-ink .sub{color:var(--bone-2)}

.sec{padding:var(--pad) var(--gut)}
.inner{max-width:var(--max);margin:0 auto}
.narrow{max-width:var(--reading)}

/* ------------------------------------------------------------ site header */
.site-header{background:var(--ink);color:var(--bone);border-bottom:3px solid var(--bone)}
.site-header .in{
  max-width:var(--max);margin:0 auto;padding:12px var(--gut);
  display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;
}
.logo{
  font-family:var(--serif);font-weight:800;text-transform:uppercase;
  letter-spacing:-.02em;font-size:1.05rem;line-height:1;text-decoration:none;
  margin-right:auto;display:block;
}
.logo small{display:block;font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.2em;color:var(--bone-2);margin-top:5px}
.logo:hover{color:var(--mustard)}
.site-header nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.site-header nav a{
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  text-decoration:none;color:var(--bone-2);border-bottom:2px solid transparent;padding-bottom:2px;
}
.site-header nav a:hover{color:var(--bone);border-bottom-color:var(--mustard)}
.head-cta{display:flex;gap:8px}
.nav-toggle{
  display:none;background:transparent;color:var(--bone);border:2px solid var(--bone);
  font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:8px 14px;cursor:pointer;
}
.nav-toggle:hover{background:var(--bone);color:var(--ink)}

/* ----------------------------------------------------------------- buttons */
.btn{
  display:inline-block;font-weight:700;font-size:1rem;letter-spacing:.02em;
  padding:15px 26px;text-decoration:none;border:2px solid transparent;
}
.btn-a{background:var(--mustard);color:var(--ink);border-color:var(--mustard)}
.btn-a:hover{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.btn-b{background:transparent;color:currentColor;border-color:currentColor}
.s-mustard .btn-b:hover{background:var(--ink);color:var(--mustard);border-color:var(--ink)}
.btn-b:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn-sm{padding:9px 15px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.bookrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:clamp(22px,3vw,40px)}
.mailline{margin-top:18px;font-size:1rem}
.mailline a{font-weight:700;overflow-wrap:anywhere}
.ulink{font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}
.s-teal .ulink:hover{color:var(--teal-2);border-bottom-color:var(--teal-2)}
.s-rust .ulink:hover{color:var(--rust-2);border-bottom-color:var(--rust-2)}
.s-plum .ulink:hover{color:var(--plum-2);border-bottom-color:var(--plum-2)}
.s-mustard .ulink:hover{color:var(--plum);border-bottom-color:var(--plum)}

/* ------------------------------------------------------------- the panels */
.panelset{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
.pan{
  padding:clamp(22px,3.2vw,52px) var(--gut);
  display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;
}
.p-teal{background:var(--teal);color:var(--bone)}
.p-rust{background:var(--rust);color:var(--bone)}
.p-mustard{background:var(--mustard);color:var(--ink)}
.p-plum{background:var(--plum);color:var(--bone)}
.p-ink{background:var(--ink);color:var(--bone)}
.p-teal .sub{color:var(--teal-2)}
.p-rust .sub{color:var(--rust-2)}
.p-plum .sub{color:var(--plum-2)}
.p-mustard .sub{color:var(--ink-2)}
.p-ink .sub{color:var(--bone-2)}

.brand{font-size:clamp(1.55rem,3vw,3.5rem);text-transform:uppercase}
.agebar{
  display:inline-block;border:2px solid currentColor;padding:5px 12px;
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
}
.line{
  font-size:clamp(1.02rem,1.5vw,1.35rem);font-weight:500;line-height:1.38;
}
.line-lg{
  font-family:var(--serif);font-weight:700;letter-spacing:-.01em;line-height:1.16;
  font-size:clamp(1.18rem,2.1vw,1.9rem);
}
.fee{font-size:clamp(3rem,8vw,7rem);line-height:.84;letter-spacing:-.035em}
.fee em{font-style:normal;font-size:.42em;letter-spacing:-.01em}
.feerow{display:flex;flex-wrap:wrap;gap:6px 22px;font-weight:700;font-size:.95rem}

/* ------------------------------------------------------------- page heads */
.h2{font-family:var(--serif);font-weight:800;line-height:.93;letter-spacing:-.02em;font-size:clamp(1.5rem,5.4vw,4.2rem);text-transform:uppercase;margin-bottom:.32em}
.h3{font-family:var(--serif);font-weight:800;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.big{font-family:var(--serif);font-weight:800;font-size:clamp(1.85rem,7vw,6rem);line-height:.86;letter-spacing:-.035em;text-transform:uppercase}
.lede{font-size:clamp(1.02rem,1.5vw,1.35rem);max-width:60ch;margin-bottom:clamp(24px,3.2vw,46px)}
.pagehead .lede{margin-bottom:0}
.pagehead h1{font-family:var(--serif);font-weight:800;line-height:.95;letter-spacing:-.025em;font-size:clamp(1.85rem,5.2vw,4.1rem);text-transform:uppercase;margin:.2em 0 .34em}
.pagehead .kick{display:block;margin-bottom:14px}
.pagehead .btns{margin-top:clamp(22px,3vw,38px)}

/* ------------------------------------------------------------ list blocks */
.tech{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:0;border-top:var(--hair) solid currentColor}
.tech li{border-bottom:var(--hair) solid currentColor;padding:20px 0 22px}
.tech a{display:block;text-decoration:none}
.tech .name{font-family:var(--serif);font-weight:800;font-size:clamp(1.24rem,2.3vw,1.9rem);line-height:1.02;letter-spacing:-.02em;display:block}
.tech a:hover .name{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.tech .note{display:block;margin-top:7px;font-size:.98rem;max-width:40ch}
@media (min-width:900px){.tech li{padding-right:36px}}

.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(22px,3vw,52px);margin-top:clamp(24px,3.2vw,46px)}
.cols p{max-width:46ch}

.rates{list-style:none;border-top:3px solid currentColor}
.rates li{border-bottom:3px solid currentColor;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;padding:16px 0 18px}
.rates .dur{font-family:var(--serif);font-weight:800;font-size:clamp(1.3rem,3vw,2.4rem);letter-spacing:-.02em;text-transform:uppercase}
.rates .amt{font-family:var(--serif);font-weight:800;font-size:clamp(1.7rem,4.4vw,3.2rem);letter-spacing:-.03em}

.dlist{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px}
.dlist li{font-family:var(--serif);font-weight:800;font-size:clamp(1rem,2.6vw,2rem);letter-spacing:-.02em;text-transform:uppercase;border:2px solid currentColor}
.dlist a,.dlist span{display:block;padding:7px 16px 9px;text-decoration:none}
.dlist a:hover{background:var(--bone);color:var(--plum)}
.s-mustard .dlist a:hover{background:var(--ink);color:var(--mustard)}

.index{list-style:none;border-top:var(--hair) solid currentColor}
.index li{border-bottom:var(--hair) solid currentColor}
.index a{display:block;padding:18px 0 20px;text-decoration:none}
.index__t{font-family:var(--serif);font-weight:800;font-size:clamp(1.14rem,2vw,1.75rem);line-height:1.06;letter-spacing:-.02em;display:block}
.index a:hover .index__t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.index__d{display:block;margin-top:8px;max-width:64ch}
.index__m{display:block;margin-top:8px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}

/* ---------------------------------------------------------------- roster */
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.5vw,24px)}
.roster--wide{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}
.who{margin:0;min-width:0}
.who a{display:block;text-decoration:none}
.who img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;background:var(--ink)}
.who figcaption{padding-top:10px}
.who .nm{font-family:var(--serif);font-weight:800;font-size:clamp(1.02rem,1.6vw,1.45rem);letter-spacing:-.01em;display:block;line-height:1.05}
.who a:hover .nm{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:3px}
.who .mt{display:block;font-size:.9rem;margin-top:3px}

.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:clamp(10px,1.4vw,20px)}
.shots img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--ink)}

/* ----------------------------------------------------------------- prose */
.prose{max-width:var(--reading)}
.prose.wide{max-width:76ch}
.prose p{margin-bottom:1.05em}
.prose h2{font-family:var(--serif);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;font-size:clamp(1.3rem,2.6vw,2.1rem);margin:1.5em 0 .5em}
.prose h3{font-family:var(--serif);font-weight:800;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;margin:1.6em 0 .55em}
.prose ul,.prose ol{margin:0 0 1.05em 1.15em}
.prose li{margin-bottom:.4em}
.prose a{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.s-teal .prose a,.s-rust .prose a,.s-plum .prose a{color:var(--bone)}
.s-mustard .prose a{color:var(--ink)}
.s-teal .prose a:hover{color:var(--teal-2)}
.s-rust .prose a:hover{color:var(--rust-2)}
.s-plum .prose a:hover{color:var(--plum-2)}
.s-mustard .prose a:hover{color:var(--plum)}
.prose strong{font-weight:700}
/* Build- and content-generated prose can carry inline colours written for a
   light ground. On a dark block they have to yield. */
.s-teal [style*="color:var(--ink)"],.s-rust [style*="color:var(--ink)"],.s-plum [style*="color:var(--ink)"]{color:var(--bone)!important}
.s-mustard [style*="color:var(--ink)"]{color:var(--ink)!important}
.independence{margin-top:1.4em;padding-top:1.1em;border-top:var(--hair) solid currentColor;font-size:.95rem}

/* ------------------------------------------------------------- spec lists */
.spec{border-top:var(--hair) solid currentColor}
.spec>div{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;padding:10px 0 11px;border-bottom:var(--hair) solid currentColor}
.spec dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.spec dd{font-weight:700}
.spec a{text-decoration:underline;text-underline-offset:3px}

.taglist{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.taglist .tag{border:2px solid currentColor;padding:6px 11px;text-decoration:none;display:inline-block}
.taglist a.tag:hover{background:var(--bone);color:var(--plum)}
.s-mustard .taglist a.tag:hover{background:var(--ink);color:var(--mustard)}
.label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-top:24px}

/* ------------------------------------------------------------------- faq */
.faq{border-top:var(--hair) solid currentColor;max-width:80ch}
.faq details{border-bottom:var(--hair) solid currentColor}
.faq summary{
  cursor:pointer;list-style:none;padding:16px 0 17px;font-family:var(--serif);
  font-weight:800;font-size:clamp(1.02rem,1.6vw,1.3rem);letter-spacing:-.01em;line-height:1.2;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.faq .a{padding:0 0 18px;max-width:64ch}
.faq .a p{margin-bottom:.9em}
.faq .a p:last-child{margin-bottom:0}
.faq .a a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ------------------------------------------------------- the rates table */
.rates-card{border-top:3px solid currentColor;max-width:820px}
.rates-card__title{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:14px 0 4px}
.rates-card__table{margin-bottom:22px}
.rates-card__table caption{
  text-align:left;font-family:var(--serif);font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;font-size:1.05rem;padding:16px 0 8px;
}
.rates-card__table th,.rates-card__table td{
  text-align:left;padding:9px 14px 10px 0;border-bottom:var(--hair) solid currentColor;
  font-size:.95rem;vertical-align:baseline;
}
.rates-card__table thead th{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.rates-card__table tbody th{font-weight:700}
.rates-card__table td{font-family:var(--serif);font-weight:800;letter-spacing:-.01em;font-size:1.06rem;white-space:nowrap}
.rates-card__cur{font-family:var(--sans);font-weight:700;font-size:.64em;letter-spacing:.1em;margin-right:4px}
.rates-card__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rates-card__terms{padding:4px 0 16px}
.rates-card__terms a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

.ladder{max-width:620px;border-top:3px solid currentColor}
.ladder th,.ladder td{text-align:left;padding:12px 0 13px;border-bottom:var(--hair) solid currentColor}
.ladder th{font-weight:700}
.ladder td{text-align:right;font-family:var(--serif);font-weight:800;font-size:1.3rem;letter-spacing:-.02em}

/* ----------------------------------------------- breadcrumbs and related */
main>nav.crumbs{max-width:var(--max);padding:16px var(--gut) 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
main>nav.crumbs ol{opacity:1;gap:4px 10px}
main>nav.crumbs a{color:var(--teal-2);border-bottom:2px solid transparent}
main>nav.crumbs a:hover{color:var(--bone);border-bottom-color:var(--mustard)}
main>nav.crumbs [aria-current]{opacity:1;color:var(--bone);letter-spacing:.1em}
main>aside.seo-related{max-width:var(--max);padding:var(--pad) var(--gut)}
main>aside.seo-related .seo-related__in{border-top:3px solid var(--bone)}
main>aside.seo-related .seo-related__h{opacity:1;color:var(--teal-2);font-weight:700;letter-spacing:.2em}
main>aside.seo-related a{border-bottom:var(--hair) solid rgba(246,239,226,.3);font-weight:500}
main>aside.seo-related a:hover{opacity:1;color:var(--teal-2);border-bottom-color:var(--teal-2)}

/* ---------------------------------------------------------------- footer */
.site-footer{background:var(--plum);color:var(--bone);border-top:3px solid var(--bone);padding:var(--pad) var(--gut) 34px}
.foot-in{max-width:var(--max);margin:0 auto}
.foot-brand{font-family:var(--serif);font-weight:800;font-size:clamp(1.3rem,3.2vw,2.3rem);text-transform:uppercase;letter-spacing:-.02em;line-height:1;margin-bottom:12px}
.foot-note{color:var(--plum-2);max-width:56ch;margin-bottom:clamp(26px,3.4vw,46px)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:26px 34px;border-top:var(--hair) solid var(--bone);padding-top:26px}
.foot-cols h2{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--plum-2);margin-bottom:12px}
.foot-cols ul{list-style:none}
.foot-cols li{margin-bottom:7px}
.foot-cols a{text-decoration:none;border-bottom:2px solid transparent}
.foot-cols a:hover{color:var(--mustard);border-bottom-color:var(--mustard)}
.legal{
  display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;
  border-top:var(--hair) solid var(--bone);margin-top:30px;padding-top:20px;
  font-size:.8rem;color:var(--plum-2);
}
.age21{display:inline-block;border:2px solid currentColor;padding:2px 7px;font-weight:700;font-size:.68rem;letter-spacing:.1em;margin-right:8px}

/* -------------------------------------------------------------- age bar */
.age-bar{display:none}
body.age-bar-open .age-bar{
  display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;
  gap:10px 18px;flex-wrap:wrap;align-items:center;justify-content:center;
  padding:10px var(--gut);background:var(--mustard);color:var(--ink);
  border-top:3px solid var(--ink);font-size:.86rem;
}
.ab-tag{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;border:2px solid currentColor;padding:3px 8px}
.ab-line{max-width:60ch}
.ab-ok{
  font:inherit;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  background:var(--ink);color:var(--mustard);border:2px solid var(--ink);padding:9px 15px;cursor:pointer;
}
.ab-ok:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}

/* ----------------------------------------------------------- mobile dock */
.m-dock{display:none}
.m-dock svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto}

@media (max-width:1080px){
  .site-header nav{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0;border-top:var(--hair) solid var(--bone);padding-top:10px}
  .site-header nav.open{display:flex}
  .site-header nav a{padding:9px 0;border-bottom:none}
  .nav-toggle{display:block}
  .head-cta{display:none}
}
@media (max-width:860px){
  .panelset{grid-template-columns:1fr}
  .roster{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{padding-bottom:76px;font-size:16px}
  body.age-bar-open{padding-bottom:150px}
  body.age-bar-open .age-bar{bottom:76px}
  .pan{padding:18px var(--gut);gap:12px}
  .kick{font-size:.6rem;letter-spacing:.15em}
  .fee{font-size:clamp(2.4rem,12vw,4.2rem)}
  .feerow{font-size:.88rem;gap:4px 16px}
  .btn{padding:12px 18px;font-size:.93rem}
  .agebar{font-size:.6rem;padding:4px 10px}
  .m-dock{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:9px;
    padding:10px 11px;background:var(--teal);border-top:3px solid var(--bone);
  }
  .m-dock a{
    flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:7px;
    text-align:center;padding:12px 6px;font-size:.88rem;font-weight:700;
    text-decoration:none;border:2px solid var(--bone);
  }
  .m-dock__wa{background:var(--mustard);color:var(--ink);border-color:var(--mustard)}
  .m-dock__tg,.m-dock__bk{background:transparent;color:var(--bone)}
}
@media (max-width:400px){
  .dlist li{font-size:.92rem}
  .tech .name{font-size:1.2rem}
  .roster{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================================
   SHARED-TEMPLATE COMPATIBILITY LAYER
   About, questions, contact, booking, the glossary, the booking terms, the
   legal pages and the 404 render markup this theme does not own. They sit in
   the same chrome and are given the same language here: one bone panel, ink
   type, hard rules, nothing that moves.
   ========================================================================= */
main>section:not(.sec):not(.panelset){background:var(--bone);color:var(--ink);padding:var(--pad) 0;border-bottom:3px solid var(--ink)}
main>section:not(.sec):not(.panelset)[style*="linear-gradient"]{background:var(--bone-2)}
main>section:not(.sec):not(.panelset)[style*="var(--ink)"]{background:var(--ink);color:var(--bone)}
main>section:not(.sec):not(.panelset)[style*="var(--ink)"] a{color:var(--mustard)}
main>section:not(.sec):not(.panelset):last-of-type{border-bottom:0}

.container{max-width:var(--max);margin:0 auto;padding:0 var(--gut);width:100%}
.reading{max-width:var(--reading)}
.reading.container{max-width:calc(var(--reading) + 2 * var(--gut));margin-left:max(0px,calc((100% - var(--max)) / 2))}

main>section:not(.sec):not(.panelset) h1{font-family:var(--serif);font-weight:800;line-height:.95;letter-spacing:-.025em;font-size:clamp(1.85rem,5.2vw,4.1rem);text-transform:uppercase;overflow-wrap:break-word}
main>section:not(.sec):not(.panelset) h2{font-family:var(--serif);font-weight:800;line-height:1.02;letter-spacing:-.02em;font-size:clamp(1.3rem,2.6vw,2.1rem);text-transform:uppercase;margin-top:1.6em}
main>section:not(.sec):not(.panelset) h3{font-family:var(--serif);font-weight:800;line-height:1.16;letter-spacing:-.01em;font-size:clamp(1.02rem,1.6vw,1.3rem);margin-top:1.5em}
main>section:not(.sec):not(.panelset) h4,main>section:not(.sec):not(.panelset) h5{font-family:var(--serif);font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;margin-top:1.4em}
main>section:not(.sec):not(.panelset) p{margin-top:.95em;line-height:1.66}
main>section:not(.sec):not(.panelset) .lede{font-size:clamp(1.02rem,1.5vw,1.35rem);max-width:60ch;margin-top:1em;margin-bottom:0;color:var(--muted)}
main>section:not(.sec):not(.panelset) .label-top{margin-bottom:12px}
.label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.hero-small{padding-bottom:clamp(26px,3vw,44px)}
main>section.hero:not(.sec):not(.panelset){padding:var(--pad) 0;background:var(--bone-2)}
main>section.hero:not(.sec):not(.panelset)>*{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}

.reading a:not(.btn){color:var(--plum);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.reading a:not(.btn):hover{color:var(--rust)}
.reading ul,.reading ol{margin:1em 0 0 1.15em}
.reading li{margin-top:.45em;line-height:1.6}
.reading strong{font-weight:700}
.reading table{margin-top:1.3em}
.reading th,.reading td{text-align:left;padding:10px 14px 11px 0;border-bottom:var(--hair) solid var(--rule)}
.reading th{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.reading h3[data-faq]{border-top:var(--hair) solid var(--rule);padding-top:1.1em}

.btn-primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.btn-primary:hover{background:var(--rust);border-color:var(--rust);color:var(--bone)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bone)}
main>section:not(.sec):not(.panelset) .btn+.btn{margin-left:10px}

.tag{display:inline-block;border:2px solid currentColor;padding:6px 11px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;text-decoration:none}
a.tag:hover{background:var(--ink);color:var(--bone)}
.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

.t-grid,.like-grid,.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:clamp(12px,1.5vw,22px);margin-top:1.4em}
.t-grid>*,.like-grid>*{min-width:0}
.t-card,.like-card{display:block;min-width:0;text-decoration:none;color:inherit}
.t-card .photo,.like-photo{aspect-ratio:3/4;background:var(--ink);overflow:hidden}
.t-card .photo img,.like-photo img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:var(--ink)}
.t-card .name,.like-name{font-family:var(--serif);font-weight:800;font-size:1.05rem;letter-spacing:-.01em;line-height:1.05;padding-top:10px;display:block}
.t-card:hover .name,.like-card:hover .like-name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:3px}
.t-card .meta,.like-meta{display:block;font-size:.85rem;color:var(--muted);padding-top:3px}

.s-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:0;border-top:var(--hair) solid var(--ink);margin-top:1.4em}
.s-card{display:block;border-bottom:var(--hair) solid var(--ink);padding:18px 24px 20px 0;text-decoration:none;color:inherit}
.s-card .num{font-size:.68rem;letter-spacing:.2em;font-weight:700;color:var(--muted)}
.s-card .nm{display:block;font-family:var(--serif);font-weight:800;font-size:clamp(1.24rem,2.2vw,1.8rem);letter-spacing:-.02em;line-height:1.02;margin-top:5px}
a.s-card:hover .nm{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.s-card .ds{display:block;font-size:.95rem;line-height:1.5;color:var(--muted);margin-top:7px;max-width:40ch}

.price-table,.stats-table,.rates-table{width:100%;border-top:3px solid var(--ink);margin-top:1.3em}
.price-table td,.stats-table td,.rates-table td{padding:12px 0 13px;border-bottom:var(--hair) solid var(--rule);vertical-align:baseline}
.price-table td:first-child,.stats-table td:first-child,.rates-table td:first-child{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.price-table td:last-child,.stats-table td:last-child,.rates-table td:last-child{text-align:right;font-family:var(--serif);font-weight:800;font-size:1.3rem;letter-spacing:-.02em}

.tabs{margin:0}
.tab-nav{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;margin-bottom:18px;border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule)}
.tab-btn{font:inherit;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:9px 14px;background:transparent;color:var(--ink);border:2px solid var(--ink);cursor:pointer}
.tab-btn:hover,.tab-btn.active{background:var(--ink);color:var(--bone)}
.tab-panel{display:none}
.tab-panel.active{display:block}

.carousel{position:relative;background:var(--ink)}
.carousel-track{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{flex:0 0 calc(25% - 5px);aspect-ratio:3/4;background:var(--ink)}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-prev,.carousel-next{position:absolute;top:calc(50% - 21px);z-index:4;width:42px;height:42px;background:var(--bone);color:var(--ink);border:2px solid var(--ink);font-size:20px;line-height:1;cursor:pointer}
.carousel-prev{left:10px}
.carousel-next{right:10px}
.carousel-prev:hover,.carousel-next:hover{background:var(--mustard)}
.carousel-dots{display:flex;justify-content:center;gap:5px;padding-top:9px}
.carousel-dot{width:16px;height:3px;background:rgba(18,14,12,.3)}
.carousel-dot.active{background:var(--rust)}

.book-banner{background:var(--ink);color:var(--bone);padding:16px var(--gut)}
.book-banner a{color:var(--mustard);font-weight:700}

.journal-list{display:grid;border-top:var(--hair) solid var(--ink);margin-top:1.4em}
.journal-item{display:block;border-bottom:var(--hair) solid var(--ink);padding:18px 0 20px;text-decoration:none;color:inherit}
.journal-item .date{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.journal-item h3{margin:7px 0 0;font-family:var(--serif);font-weight:800;text-transform:none;letter-spacing:-.02em}
.journal-item:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px}
.journal-item .lede{font-size:.95rem;color:var(--muted);margin-top:6px;max-width:72ch}

.form-row{margin-top:18px}
.form-row label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.form-row select,.form-row input{
  width:100%;max-width:100%;min-height:50px;padding:12px 13px;margin-top:8px;border-radius:0;
  background:var(--bone-2);border:2px solid var(--ink);color:var(--ink);font:inherit;font-size:.95rem;
}
.form-row select:focus,.form-row input:focus{outline:3px solid var(--mustard);outline-offset:2px}

main>section:not(.sec):not(.panelset) .rates-card{border-top-color:var(--ink)}
main>section:not(.sec):not(.panelset) .independence{border-top-color:var(--rule)}
.no-save,.no-save img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.no-save img{-webkit-user-drag:none}

@media (max-width:760px){
  .carousel-slide{flex:0 0 100%}
  .t-grid,.like-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---- injected by build: breadcrumbs + related pages ---- */
.crumbs{position:relative;z-index:3;max-width:var(--max,1200px);margin:0 auto;padding:14px clamp(18px,4vw,40px) 0;font-size:12.5px;line-height:1.5;letter-spacing:.02em}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;opacity:.72}
.crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.crumbs li+li::before{content:"/";opacity:.5}
.crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:currentColor}
.crumbs [aria-current]{opacity:.85;overflow-wrap:anywhere}
.seo-related{position:relative;z-index:3;max-width:var(--max,1200px);margin:0 auto;padding:clamp(28px,4vw,48px) clamp(18px,4vw,40px)}
.seo-related__in{border-top:1px solid rgba(128,128,128,.28);padding-top:22px}
.seo-related__h{margin:0 0 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.seo-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 28px}
.seo-related a{color:inherit;text-decoration:none;display:block;padding:6px 0;border-bottom:1px solid rgba(128,128,128,.16);font-size:15px;line-height:1.4}
.seo-related a:hover{opacity:.75}
