/* Shared editorial layout for service pages and guides. */
.desktop-nav{gap:24px;padding-left:0}
.hero h1 .hero-topic{font:500 14px/1.6 var(--sans);letter-spacing:.02em;margin-top:25px;max-width:400px}
.breadcrumbs{padding-block:24px;color:var(--muted);font-size:12px;line-height:1.7}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.breadcrumbs li+li:before{content:'/';margin-right:8px;color:#8a9688}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:9%;padding-block:36px 64px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(50px,5.9vw,84px);max-width:900px;text-wrap:balance}
.page-intro{font-size:18px;line-height:1.8;color:var(--muted);max-width:710px;margin-top:25px}
.page-hero .hero-actions{flex-wrap:wrap}
.page-aside{align-self:start;border-left:1px solid var(--line);padding-left:28px}
.page-aside img{width:142px;height:168px;object-fit:cover;object-position:center 20%;border-radius:3px;margin-bottom:20px}
.page-aside strong{display:block;font:500 30px/1.15 var(--serif);margin-bottom:10px}
.page-aside p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:15px}
.page-aside .text-link{font-size:13px}
.page-content{max-width:900px;margin-inline:auto;padding-block:48px 72px}
.page-content section+section{margin-top:48px}
.page-content h2{font-size:clamp(34px,4vw,49px);margin-bottom:22px;text-wrap:balance}
.page-content h3{font-size:29px;margin-block:24px 12px}
.page-content p,.page-content li{font-size:16px;line-height:1.9;color:#515e53}
.page-content p+p{margin-top:16px}
.page-content ul,.page-content ol{padding-left:24px;margin-block:18px}
.page-content li+li{margin-top:10px}
.page-content a:not(.button){text-decoration:underline;text-underline-offset:4px}
.page-content .note{padding:22px 26px;border-left:2px solid #8b9b83;background:#e9ece2;margin-block:25px}
.page-content .faq-list{margin-top:20px}
.page-content .faq-list summary{font-size:27px}
.page-content .faq-list p{font-size:15px;padding-bottom:24px}
.related-section{padding-block:55px 65px;border-top:1px solid var(--line)}
.related-section h2{font-size:clamp(35px,4vw,54px);margin-bottom:28px}
.editorial-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.editorial-link{display:flex;flex-direction:column;border-top:1px solid #91a18d;padding-block:22px;gap:14px}
.editorial-link .link-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.editorial-link h3{font-size:32px;line-height:1.12}
.editorial-link p{color:var(--muted);font-size:14px;line-height:1.8}
.editorial-link>a{font-size:14px;align-self:flex-start;margin-top:auto}
.editorial-link h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.article-meta{font-size:12px;color:var(--muted);margin-top:20px}
.article-contents{padding:24px 28px;border:1px solid var(--line);margin-bottom:40px}
.article-contents strong{font-weight:500}
.article-contents ol{margin-bottom:0}
.article-contents li{font-size:14px}
.contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-block:25px}
.contact-facts div{border-top:1px solid var(--line);padding-top:20px}
.contact-facts dt{font-size:12px;color:var(--muted);margin-bottom:10px}
.contact-facts dd{margin:0;font-size:17px;overflow-wrap:anywhere}
.footer-links{font-size:12px}
.service-body .service-page-link{grid-column:1;font-size:13px;align-self:center;justify-self:start}
.form-note{font-size:12px}.consent-check{font-size:12px}.input-label{font-size:12px}
.inner-page .section-label{font-size:11px}
.office-address{font-size:14px!important;line-height:1.8!important;margin-top:24px!important;margin-bottom:20px!important}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:24px}
.price-card{border:1px solid var(--line);padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;background:#f8f7f2}
.price-card h3,.page-content .price-card h3{font-size:31px;line-height:1.1;margin:0;min-height:2.2em}
.price-card p{font-size:14px;line-height:1.75;color:var(--muted)}
.price-card .price-value,.page-content .service-price{font:500 clamp(28px,3vw,40px)/1.2 var(--serif);letter-spacing:-.025em;color:var(--green);white-space:nowrap}
.price-card .text-link{margin-top:auto;font-size:13px}
.price-card .button{font-size:12px;width:100%;margin-top:4px;padding-inline:12px}
.price-explanation{max-width:900px;font-size:14px;line-height:1.8;color:var(--muted);margin:24px 0}
.price-extra{padding:24px;border-left:2px solid #8b9b83;background:#e9ece2;margin-top:25px}
.price-overview{margin-bottom:45px}
.page-content:has(.price-overview){max-width:1100px}
.page-content:has(.article-list){max-width:1100px}
.privacy-settings{color:inherit;background:none;border:0;text-decoration:underline;text-underline-offset:4px;text-align:left;padding:0;font-size:inherit;cursor:pointer}
.analytics-choice{position:fixed;bottom:16px;left:16px;z-index:60;width:min(520px,calc(100% - 32px));padding:20px 22px;background:var(--paper);color:var(--green);border:1px solid #9caa97;border-radius:5px;box-shadow:0 4px 24px #20382f22}
.analytics-choice[hidden]{display:none}
.analytics-choice h2{font:500 24px/1.2 var(--serif);margin-bottom:10px}
.analytics-choice p{font-size:12px;line-height:1.7}
.analytics-choice a{text-decoration:underline}
.analytics-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.analytics-actions button{min-height:42px;font-size:12px;padding:10px 16px;border-radius:4px;border:1px solid var(--green);background:transparent;color:var(--green)}
.analytics-actions button:first-child{background:var(--green);color:var(--paper)}
@media(max-width:1000px){.desktop-nav{gap:16px;font-size:12px}.page-hero{grid-template-columns:minmax(0,1fr) 230px;gap:5%}.page-aside{padding-left:22px}.editorial-links{gap:20px}}
@media(max-width:800px) and (min-width:701px){.header-phone span{display:none}.header-phone svg{width:24px;height:24px}}
@media(max-width:700px){
  .hero h1 .hero-topic{font-size:12px;letter-spacing:0;margin-top:20px;display:block}
  .breadcrumbs{font-size:11px;padding-block:18px}
  .page-hero{display:block;padding-block:20px 35px}
  .page-hero h1{font-size:clamp(42px,11.5vw,62px);overflow-wrap:anywhere}
  .page-intro{font-size:16px;margin-top:22px}
  .page-aside{display:none}
  .page-hero .hero-actions{gap:18px}
  .page-hero .button{font-size:14px;padding-inline:20px}
  .page-content{padding-block:35px 48px}
  .page-content p,.page-content li{font-size:15px;line-height:1.85}
  .page-content h2{font-size:36px}
  .page-content section+section{margin-top:35px}
  .page-content .note{padding:18px}
  .page-content .faq-list summary{font-size:25px}
  .related-section{padding-block:35px 40px}
  .editorial-links{grid-template-columns:1fr;gap:5px}
  .editorial-link{padding-block:24px}
  .editorial-link h3{font-size:31px}
  .article-contents{padding:18px}
  .contact-facts{grid-template-columns:1fr}
  .service-body .service-page-link{display:inline-flex;margin-top:16px;font-size:12px}
  .service-body,.service-desc,.faq details p{font-size:13px}
  .form-note,.consent-check{font-size:12px}
  .price-grid{grid-template-columns:1fr;gap:16px}
  .price-card h3,.page-content .price-card h3{min-height:0;font-size:30px}
  .price-card .price-value{font-size:38px}
  .analytics-choice{padding:16px 18px}
}
