/* Visible consultation, quick enquiry and calls to action. */
:root{--consultation:#efda85;--consultation-hover:#e4c866;--landing-header-offset:94px}
.button-consultation{background:var(--consultation);color:var(--ink);border-color:var(--consultation)}
.button-consultation:hover{background:var(--consultation-hover);border-color:var(--consultation-hover)}
.landing-header .header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;min-height:82px}
.landing-header .brand{min-width:0;font-size:12px}
.landing-header .site-nav{display:flex;position:static;flex-direction:row;align-items:center;justify-content:center;gap:17px;margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.landing-header .site-nav a{font-size:13px;padding:12px 0}
.landing-header .header-actions{display:flex;gap:14px}
.landing-header .header-phone{display:block;font-size:13px}
.landing-header .header-cta{display:inline-flex;gap:12px;font-size:13px;min-height:44px;padding:12px 16px}
.landing-header .menu-toggle{display:none}
body#top section[id],.hero-estimate,body#top #vartist,.form-panel[id]{scroll-margin-top:var(--landing-header-offset)}
.hero-layout{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);min-height:700px}
.hero-copy{padding:58px 40px 40px 0}
.hero h1{font-size:clamp(46px,5.2vw,70px)}
.hero-lead{font-size:18px;max-width:540px}
.hero-actions{gap:18px 26px}
.hero-actions .button{min-width:210px}
.hero-footnote{position:static;display:flex;gap:19px;margin-top:30px;font-size:11px;letter-spacing:.07em}
.hero-footnote img{display:block;width:144px;height:110px;object-fit:contain;background:var(--ink);flex:none}
.hero-footnote span{display:block}
.hero-footnote span+span{margin-top:8px;max-width:200px;line-height:1.55}
.hero-estimate{min-width:0;background:var(--ink);color:var(--white);padding:34px 36px;align-self:stretch}
.consultation-label{display:inline-flex;align-items:center;gap:8px;border:1px solid #6a704d;padding:5px 10px;color:var(--consultation);font-size:11px;font-weight:650;letter-spacing:.03em;margin-bottom:17px}
.consultation-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--consultation)}
.hero-estimate h2{font-size:40px;line-height:1.06;max-width:410px;margin-bottom:12px}
.estimate-intro{font-size:15px;line-height:1.5;color:#cad6d5;max-width:450px;margin-bottom:22px}
.hero-estimate label{font-size:13px;margin-bottom:17px}
.hero-estimate input:not([type=checkbox]){min-height:48px;padding:12px 14px;background:var(--white);border-color:#b4c2bf;margin-top:7px;font-size:15px}
.hero-estimate .consent{font-size:11px;line-height:1.5;font-weight:400;color:#c8d5d3;margin:4px 0 19px;gap:9px}
.hero-estimate .consent input{accent-color:var(--consultation);width:15px;height:15px;flex:none;margin-top:2px}
.hero-estimate form>.button{width:100%;min-height:53px}
.estimate-form-note{color:#b7c7c5;font-size:11px;line-height:1.5;margin:12px 0 0;max-width:430px}
.hero-estimate .form-status{color:#e4eded;font-size:12px}
.form-status:empty{display:none}
.section-action{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:38px;padding:25px 28px;border:1px solid #d9c886;background:#f1ead0}
.section-action strong{display:block;font-family:Spectral,Georgia,serif;font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.section-action p{font-size:14px;line-height:1.55;color:var(--body);max-width:610px;margin:7px 0 0}
.section-action .button{flex:none;min-height:48px;font-size:14px;gap:18px}
.process-action{background:transparent;border-color:var(--line);padding:22px 0;border-left:0;border-right:0}
.contract-actions{display:flex;flex-wrap:wrap;gap:10px 14px}
.ref-price{min-height:288px}
.ref-price p{margin-top:0;margin-bottom:22px}
.ref-price .price-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px;font-size:14px;font-weight:700}
.ref-price .price-cta:hover{color:var(--accent-dark)}
.ref-price:last-child .price-cta{border-color:#496164}
.ref-price:last-child .price-cta:hover{color:var(--consultation)}
.faq-consultation{margin-top:23px;font-size:14px;gap:14px;min-height:50px}
@media(max-width:1239px) and (min-width:701px){
 :root{--landing-header-offset:142px}
 .landing-header .header-inner{grid-template-columns:1fr auto;gap:0 20px;padding:12px 0 4px}
 .landing-header .brand{grid-column:1;grid-row:1}
 .landing-header .header-actions{grid-column:2;grid-row:1}
 .landing-header .site-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;margin-top:10px;border-top:1px solid var(--line);gap:18px}
 .hero-copy{padding-right:30px}
 .hero h1{font-size:clamp(48px,5.2vw,62px)}
 .hero-estimate{padding:30px 26px}
 .hero-estimate h2{font-size:36px}
}
@media(max-width:900px){
 .landing-header .header-phone{display:none}
 .hero-layout{grid-template-columns:1fr;min-height:0}
 .hero-copy{padding:44px 0 35px}
 .hero-index{margin-bottom:24px}
 .hero-lead{max-width:670px}
 .hero-footnote{margin-top:25px}
 .hero-footnote img{width:112px;height:86px}
 .hero-estimate{padding:32px;margin-bottom:30px}
 .hero-estimate h2{max-width:none}
 .estimate-intro{max-width:none}
 .hero-estimate .consent{max-width:570px}
 .estimate-form-note{max-width:none}
 .section-action{align-items:flex-start;padding:24px;gap:20px}
}
@media(max-width:700px){
 :root{--landing-header-offset:124px}
 .landing-header .header-inner{grid-template-columns:1fr auto;gap:9px 15px;padding:10px 0;min-height:0}
 .landing-header .brand{grid-column:1;grid-row:1;font-size:11px}
 .landing-header .brand-mark{width:36px;height:36px;font-size:20px}
 .landing-header .header-actions{display:contents}
 .landing-header .header-cta{grid-column:1/-1;grid-row:2;min-height:38px;font-size:12px;padding:9px 14px}
 .landing-header .menu-toggle{display:block;grid-column:2;grid-row:1;width:36px;height:36px;padding:7px}
 .landing-header .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:14px 24px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(16,45,63,.1)}
 .landing-header .site-nav.open{display:flex}
 .landing-header .site-nav a{font-size:15px;padding:12px 0}
 .hero-copy{padding:35px 0 28px}
 .hero h1{font-size:clamp(39px,8.8vw,55px);margin-bottom:20px}
 .hero-lead{font-size:16px;margin-bottom:25px}
 .hero-footnote{gap:15px;font-size:10px;margin-top:23px}
 .hero-footnote img{width:94px;height:72px}
 .hero-footnote span+span{max-width:210px}
 .hero-estimate{padding:26px 23px;margin-bottom:22px}
 .hero-estimate input:not([type=checkbox]),.form-panel input:not([type=checkbox]),.form-panel textarea,.form-panel select{font-size:16px}
 .hero-estimate h2{font-size:34px}
 .consultation-label{font-size:10px;margin-bottom:15px}
 .estimate-intro{font-size:14px;margin-bottom:21px}
 .section-action{display:block;padding:23px}
 .section-action strong{font-size:25px}
 .section-action .button{margin-top:18px;min-height:49px}
 .process-action{padding:22px 0}
 .ref-price{min-height:0}
 .ref-price .price-cta{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.button-consultation{transition:none}}

/* Short first-contact forms and supporting information on demand. */
.phone-compact{display:none}
.content-disclosure{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.content-disclosure summary,.form-details summary{cursor:pointer;font-size:16px;font-weight:650;padding:20px 0;line-height:1.5}
.content-disclosure summary span,.form-details summary span{display:inline-block;font-size:12px;font-weight:400;color:var(--muted);margin-left:12px}
.content-disclosure[open]>div{padding-bottom:24px}
.task-disclosure{margin:0 0 40px}
.reference-sections #vartist .price-heading{margin-top:0!important}
.company-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start}
.company-layout .section-head{margin-bottom:0}
.company-layout .text-link{display:inline-flex;margin-top:25px}
.company-card{padding:28px;border:1px solid var(--line);background:var(--white)}
.company-card dl{margin:18px 0}
.company-card dl>div{padding:12px 0;border-bottom:1px solid var(--line)}
.company-card dt{color:var(--muted);font-size:12px}
.company-card dd{margin:5px 0 0;font-size:17px;font-weight:650}
.company-card p{font-size:14px;color:var(--body);margin:20px 0 0}
.form-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0}
.form-details summary{font-size:14px;padding:15px 0}
.form-details[open]{padding-bottom:6px}
.full-form-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}
@media(max-width:900px){
 .landing-header .header-phone{display:inline-flex;min-height:40px;align-items:center}
 .header-phone .phone-number{display:none}
 .header-phone .phone-compact{display:inline}
 .company-layout{gap:30px;grid-template-columns:1fr}
}
@media(max-width:700px){
 .landing-header .header-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:9px 9px}
 .landing-header .header-phone{grid-column:2;grid-row:1;font-size:11px;font-weight:650;min-height:36px;border-bottom:1px solid var(--ink)}
 .landing-header .menu-toggle{grid-column:3}
 .content-disclosure summary span{display:block;margin-left:0;margin-top:3px}
 .company-card{padding:23px}
}
