/* Shared site chrome for the service pages and the blog: copied rule for rule from the home page (public/home/home.css)
   so the header, menu, footer, phone bar, buttons and FAQ accordions match it exactly. */
[hidden]{display:none!important}
:root{
  --gold:#E1B427;
  --black:#040404;
  --grey:#545454;
  --white:#FFFFFF;
  --linen:#EFE9DE;
  --linen-2:#E6DECF;
  --walnut:#5B3A24;
  --walnut-2:#4C2F1C;
  --olive:#7C7A55;
  --line:#D6CCBA;
  --on-walnut:#EADFD2;
  --f-head:"Young Serif",Georgia,serif;
  --f-body:"Saira","Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(18px,4vw,56px);
  --max:1180px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .23 0 0 0 0 .14 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme:light;
}
*{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}
body{background:var(--linen) var(--grain);color:var(--black);font:400 17px/1.65 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--f-head);font-weight:400;margin:0;text-wrap:balance;letter-spacing:.005em}
p{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.btn{display:inline-flex;align-items:center;justify-content:center;font:600 16px/1 var(--f-body);text-decoration:none;padding:16px 26px;border-radius:999px;border:1.5px solid transparent;transition:background .2s,color .2s}
.btn-gold{background:var(--gold);color:var(--black)}
.btn-gold:hover{background:var(--black);color:var(--gold)}
.btn-black{background:var(--black);color:var(--white)}
.btn-black:hover{background:var(--walnut)}
.btn-outline{border-color:var(--black);color:var(--black)}
.btn-outline:hover{background:var(--black);color:var(--linen)}
.link{font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
.link:hover{text-decoration-color:currentColor}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(239,233,222,.96);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:12px}
.logo img{height:48px;width:auto;display:block}
nav.main{display:flex;align-items:center;gap:22px;font:500 15.5px var(--f-body)}
nav.main a{text-decoration:none}
nav.main a:not(.btn):hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}
nav.main .btn{padding:12px 20px;font-size:15px}
.drop{position:relative}
.drop>button{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.drop-menu{position:absolute;left:-16px;top:calc(100% + 14px);background:var(--linen);border:1px solid var(--line);border-radius:14px;padding:8px;min-width:240px;display:grid}
.drop-menu a{padding:9px 12px;border-radius:8px}
.drop-menu a:hover{background:var(--linen-2);text-decoration:none!important}
.menu-btn{display:none;background:none;border:1.5px solid var(--black);border-radius:999px;font:600 15px var(--f-body);padding:9px 16px;cursor:pointer;color:var(--black)}
@media (max-width:1000px){
  .menu-btn{display:inline-block}
  nav.main{position:absolute;inset:100% 0 auto 0;background:var(--linen);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:4px var(--gutter) 20px;font-size:19px}
  nav.main:not(.open){display:none}
  nav.main>a:not(.btn),.drop{padding:13px 0;border-bottom:1px solid var(--line)}
  .drop-menu{position:static;border:0;padding:6px 0 0 12px;background:none}
  .drop-menu a{padding:7px 0;font-size:17px}
  nav.main .btn{margin-top:16px;padding:16px}
  .logo img{height:40px}
}
footer.site{position:relative;background:var(--black);color:#CFC8BC;font-size:15.5px;overflow:hidden;isolation:isolate}
footer.site .book{display:grid;justify-items:center;text-align:center;gap:18px;padding-block:56px 48px;border-bottom:1px solid #2A2A2A}
footer.site .book h2{color:var(--white);font-size:clamp(28px,3.4vw,40px)}
footer.site .cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:40px;padding-block:44px}
footer.site .cols .ft-h{font:600 15px var(--f-body);letter-spacing:.06em;color:var(--gold);margin-bottom:12px}
footer.site .ft-c{font:inherit}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--white);text-decoration:underline;text-decoration-color:var(--gold)}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer.site .contact{display:grid;gap:8px}
footer.site .legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-block:22px 34px;border-top:1px solid #2A2A2A;font-size:14px}
footer.site .legal img{height:38px;width:auto}
footer.site .legal nav{display:flex;gap:20px}
@media (max-width:760px){
  footer.site .cols{grid-template-columns:1fr}
}
.qa{border-top:1.5px solid var(--black)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:400 clamp(19px,1.7vw,22px)/1.3 var(--f-head)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23040404' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center;transition:transform .25s}
.qa details[open] summary::after{transform:rotate(45deg)}
.qa summary:hover{color:var(--walnut)}
.qa details p{padding:0 46px 22px 0;color:var(--grey);font-size:16.5px;max-width:42em}
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;inset:auto 0 0 0;z-index:30;background:var(--linen);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .mbar .btn{padding:15px 20px}
  body{padding-bottom:78px}
}

/* skip link: hidden until a keyboard user tabs to it */
.skip{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 18px;border-radius:999px;background:var(--gold);color:var(--black);font:600 15px/1 var(--f-body);text-decoration:none;transition:top .2s}
.skip:focus{top:16px}
footer.site .ft-h,footer.site .ft-c{margin:0}
/* footer links: big enough to tap */
footer.site .legal nav a,footer.site .cols li a{display:inline-flex;align-items:center;min-height:44px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
