/* Dedicated campaign entrance; calculator styles and behaviour stay shared. */
.ad-quote{--ad-green:#075d4d;--ad-ink:#173e35;--ad-gold:#ae7c26;--ad-muted:#52675e;background:#fffaf0}
.ad-quote .site-header{background:#fffdf7f5;border-color:#dbe2d7;backdrop-filter:blur(12px)}
.ad-quote .site-header .nav{max-width:1320px;min-height:94px;gap:24px;justify-content:space-between}
.ad-header-actions{display:flex;align-items:center;gap:30px;flex-shrink:0}
.ad-header-phone{display:flex;align-items:center;gap:10px;color:var(--ad-ink);font-size:.9rem;font-weight:600;white-space:nowrap}
.ad-header-phone svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ad-header-start{font:600 .75rem/1.2 var(--f-sans);border:1px solid #b6cbbb;border-radius:5px;background:transparent;padding:15px 19px;color:var(--ad-green);cursor:pointer;display:flex;gap:24px;align-items:center}
.ad-header-start:hover{background:#e9f2e9}
.ad-header-start:focus-visible,.ad-quote .ad-primary:focus-visible{outline:3px solid #bd8a2e;outline-offset:5px}
.ad-quote .q-page{padding-top:94px;padding-bottom:0}
.ad-intro{display:block}
.ad-quote .container.ad-hero{max-width:1320px;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px;padding-top:46px;padding-bottom:54px}
.ad-hero-copy{padding:16px 0 20px}
.ad-quote .eyebrow{font-size:.65rem;letter-spacing:.18em;color:#996c23}
.ad-hero h1{font:400 clamp(2.8rem,4.4vw,4.4rem)/1.07 var(--f-serif);letter-spacing:-.035em;color:var(--ad-ink);margin:26px 0 26px}
.ad-hero h1 em{font-weight:400;color:#947027}
.ad-lede{font-size:1.04rem;line-height:1.8;color:var(--ad-muted);max-width:34ch;margin:0 0 27px}
.ad-quote .ad-primary{border-radius:6px;font-size:.81rem;padding:22px 27px;gap:42px;min-height:63px;background:var(--ad-green);border-color:var(--ad-green);box-shadow:0 9px 24px #075d4d14;text-transform:none;letter-spacing:.01em;font-weight:600}
.ad-quote .ad-primary:hover{background:#074c40;border-color:#074c40;transform:translateY(-1px)}
.ad-quote .ad-primary>span{font-size:1.3rem;line-height:1}
.ad-gate-note{font-size:.73rem;line-height:1.7;max-width:39ch;color:var(--ad-muted);margin:17px 0 22px}
.ad-assurances{display:flex;flex-wrap:wrap;gap:10px 22px;color:#315a4c;font-size:.69rem}
.ad-assurances span{display:flex;gap:7px;align-items:center}
.ad-assurances i{font-style:normal;font-size:.75rem;background:#e4efdf;color:#14624c;border-radius:50%;display:grid;place-items:center;width:19px;height:19px}
.ad-hero-photo{position:relative;min-width:0;margin:0;align-self:stretch;min-height:565px;border-radius:120px 8px 8px 8px;overflow:hidden;background:#e2ddd0}
.ad-hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}
.ad-hero-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#142c22bd);pointer-events:none}
.ad-hero-photo figcaption{position:absolute;z-index:1;bottom:32px;left:34px;color:#fffdf4}
.ad-hero-photo figcaption span{display:block;font-size:.55rem;letter-spacing:.18em;margin-bottom:12px;color:#fff0c9}
.ad-hero-photo figcaption strong{font:400 1.75rem/1.22 var(--f-serif)}
.ad-service-band{background:var(--ad-green);color:#edf8ee}
.ad-service-band>.container{max-width:1320px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;padding-bottom:25px}
.ad-service-band p{font-size:.7rem;line-height:1.5;margin:0;color:#d6e7d9}
.ad-service-band p strong{font-size:1.1rem;font-family:var(--f-serif);font-weight:400;color:#ffe5a8}
.ad-service-band .container>span{font-size:.75rem;display:flex;align-items:center;gap:12px}
.ad-service-band .container>span::before{content:"✧";color:#f0d28c;font-size:1.3rem}
.ad-how{max-width:1210px;padding-top:86px;padding-bottom:86px}
.ad-section-heading{text-align:center;max-width:650px;margin:0 auto 40px}
.ad-intro h2{font:400 clamp(2rem,3.1vw,3rem)/1.15 var(--f-serif);color:var(--ad-ink);letter-spacing:-.025em;margin:18px 0}
.ad-section-heading>p{font-size:.87rem;color:var(--ad-muted);line-height:1.8;margin:0}
.ad-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.ad-choice-grid article{min-width:0}
.ad-choice-art{height:170px;border-bottom:1px solid #d6dfce;margin-bottom:24px;display:flex;align-items:center;justify-content:center;position:relative}
.ad-choice-art>svg{height:135px;width:220px}
.ad-choice-art>span{position:absolute;font-size:.57rem;bottom:12px;right:0;color:#527361}
.ad-choice-grid h3{font:400 1.5rem/1.2 var(--f-serif);color:var(--ad-ink);margin:0 0 12px}
.ad-choice-grid p{font-size:.82rem;color:var(--ad-muted);line-height:1.75;margin:0;max-width:34ch}
.ad-stone-fan img{width:107px;height:118px;object-fit:cover;border:5px solid #fffdf7;box-shadow:0 3px 12px #152e2a15;position:absolute;border-radius:3px}
.ad-stone-fan img:nth-child(1){transform:translate(-62px,0) rotate(-12deg);z-index:2}
.ad-stone-fan img:nth-child(2){transform:translate(0,-10px);z-index:3}
.ad-stone-fan img:nth-child(3){transform:translate(62px,0) rotate(12deg);z-index:1}
.ad-quote-art>div{background:#fffef9;border:1px solid #bdcfbe;border-top:4px solid #b48b36;border-radius:5px;padding:18px 24px;min-width:210px;box-shadow:0 6px 12px #153e3510}
.ad-quote-art div>span{font-size:.5rem;letter-spacing:.12em;color:#697b70;display:block}
.ad-quote-art strong{font:400 2.4rem/1.3 var(--f-serif);display:block;color:#17523f}.ad-quote-art i{font-style:normal;color:#b7c9bb}
.ad-quote-art small{font-size:.6rem;color:#556b5d;display:block}.ad-quote-art>b{position:absolute;right:28px;bottom:32px;background:#075d4d;color:#fff;padding:8px 11px;border:4px solid #fffaf0;border-radius:50%;font-size:1rem}
.ad-work-section{padding:70px 0 80px;background:#edf2e9}
.ad-work-section>.container{max-width:1320px}
.ad-work-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px}
.ad-work-heading h2{margin-bottom:0}.ad-work-heading>a{font-size:.77rem;color:#195a45;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;padding-bottom:6px}
.ad-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ad-work-grid figure{margin:0;min-width:0}
.ad-work-grid img{width:100%;height:340px;object-fit:cover;display:block;border-radius:6px}
.ad-work-grid figcaption{padding:22px 0 0}
.ad-work-grid figcaption>span{font-size:.62rem;color:#5d7767;letter-spacing:.06em;display:block;margin-bottom:7px}
.ad-work-grid figcaption strong{font:400 1.5rem/1.25 var(--f-serif);color:#214e3d}
.ad-bottom{max-width:1280px;display:grid;grid-template-columns:1fr 1fr;gap:94px;padding-top:90px;padding-bottom:88px}
.ad-final h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}
.ad-final>p{font-size:.9rem;line-height:1.8;color:var(--ad-muted);margin:20px 0 25px}
.ad-final .ad-final-small{font-size:.7rem;margin-top:20px}.ad-final-small a{color:var(--ad-green);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.ad-faq h2{font-size:1.75rem;margin:0 0 21px}
.ad-faq details{border-top:1px solid #d0dccb;padding:19px 0}.ad-faq details:last-child{border-bottom:1px solid #d0dccb}
.ad-faq summary{cursor:pointer;color:#254b3b;font-size:.84rem;font-weight:500;line-height:1.6;list-style:none;display:flex;justify-content:space-between;gap:14px}
.ad-faq summary::-webkit-details-marker{display:none}.ad-faq summary::after{content:"+";font-size:1.15rem;color:#92702b}.ad-faq details[open] summary::after{content:"−"}
.ad-faq details p{font-size:.78rem;line-height:1.8;color:#52675e;margin:15px 0 0;padding-right:22px}
.ad-quote .site-footer{padding-top:0}.ad-quote .site-footer .foot-bottom{max-width:1320px;padding-top:28px;padding-bottom:28px;font-size:.64rem;gap:20px}
.ad-quote .q-shell{padding-bottom:52px}
@media(max-width:1050px){.ad-quote .container.ad-hero{gap:32px}.ad-hero-photo{min-height:520px}.ad-header-actions{gap:18px}.ad-header-start{display:none}.ad-service-band>.container{gap:16px;flex-wrap:wrap}.ad-service-band p{width:100%;text-align:center}.ad-service-band .container>span{font-size:.7rem}.ad-bottom{gap:50px}.ad-choice-grid{gap:30px}.ad-quote-art>b{right:0}}
@media(max-width:700px){.ad-quote .site-header .nav{min-height:80px;gap:14px}.ad-quote .brand .mark{font-size:1.65rem}.ad-quote .brand .sub{font-size:.51rem;letter-spacing:.19em}.ad-quote .brand__logo{width:40px;height:40px}.ad-quote .brand--emblem{gap:10px}.ad-header-phone{font-size:0;gap:0;border:1px solid #b6cbbb;padding:12px;border-radius:50%}.ad-header-phone span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ad-header-phone svg{height:20px;width:20px}.ad-quote .q-page{padding-top:80px}.ad-quote .container.ad-hero{grid-template-columns:1fr;gap:27px;padding-top:31px;padding-bottom:30px}.ad-hero-copy{padding:0}.ad-hero h1{font-size:clamp(2.6rem,8.8vw,3.5rem);margin:19px 0 19px;line-height:1.06}.ad-lede{font-size:.93rem;margin-bottom:21px;max-width:38ch}.ad-quote .ad-primary{width:100%;padding:20px 24px;justify-content:space-between;font-size:.83rem;min-height:60px}.ad-gate-note{font-size:.69rem;max-width:45ch;margin:13px 0 17px}.ad-assurances{font-size:.63rem;gap:11px 18px}.ad-hero-photo{min-height:0;height:290px;border-radius:60px 6px 6px 6px}.ad-hero-photo img{object-position:50% 55%}.ad-hero-photo figcaption{left:22px;bottom:22px}.ad-hero-photo figcaption strong{font-size:1.4rem}.ad-hero-photo figcaption span{font-size:.5rem;margin-bottom:7px}.ad-service-band>.container{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px;padding-top:22px;padding-bottom:24px}.ad-service-band p{grid-column:1/-1;margin-bottom:6px}.ad-service-band p br{display:none}.ad-service-band p strong{margin-left:4px}.ad-service-band .container>span{font-size:.65rem;gap:8px}.ad-service-band .container>span::before{font-size:1.1rem}.ad-how{padding-top:50px;padding-bottom:50px}.ad-section-heading{text-align:left;margin-bottom:25px}.ad-intro h2{font-size:2rem;margin:14px 0}.ad-section-heading>p{font-size:.79rem}.ad-choice-grid{grid-template-columns:1fr;gap:0}.ad-choice-grid article{display:grid;grid-template-columns:115px 1fr;column-gap:22px;padding:22px 0;border-bottom:1px solid #d5dfce}.ad-choice-art{width:115px;height:110px;grid-column:1;grid-row:1/3;border:0;margin:0}.ad-choice-art>svg{width:115px;height:100px}.ad-choice-art>span{font-size:.47rem;bottom:1px}.ad-choice-grid h3{font-size:1.27rem;align-self:end;margin-bottom:8px}.ad-choice-grid p{font-size:.74rem}.ad-stone-fan img{width:51px;height:69px;border-width:3px}.ad-stone-fan img:nth-child(1){transform:translate(-29px,0) rotate(-12deg)}.ad-stone-fan img:nth-child(2){transform:translate(0,-6px)}.ad-stone-fan img:nth-child(3){transform:translate(29px,0) rotate(12deg)}.ad-quote-art>div{min-width:0;width:115px;padding:12px 9px}.ad-quote-art div>span{font-size:.32rem}.ad-quote-art strong{font-size:1.8rem}.ad-quote-art small{font-size:.36rem}.ad-quote-art>b{right:-8px;bottom:12px;font-size:.6rem;padding:4px 7px;border-width:3px}.ad-work-section{padding:44px 0}.ad-work-heading{display:block;margin-bottom:24px}.ad-work-heading>a{display:inline-block;margin-top:12px;font-size:.72rem}.ad-work-grid{grid-template-columns:1fr;gap:30px}.ad-work-grid img{height:250px}.ad-work-grid figcaption{padding-top:16px}.ad-work-grid figcaption strong{font-size:1.35rem}.ad-bottom{grid-template-columns:1fr;gap:48px;padding-top:50px;padding-bottom:50px}.ad-final h2{font-size:2.5rem}.ad-final>p{font-size:.83rem}.ad-faq h2{font-size:1.65rem}.ad-quote .site-footer .foot-bottom{font-size:.6rem;line-height:1.8}.ad-quote .q-shell{padding-bottom:30px}.ad-quote .eyebrow{font-size:.57rem}}
@media(prefers-reduced-motion:reduce){.ad-quote .ad-primary:hover{transform:none}}
