/* Editorial refresh · November 2026. Loaded after page-specific styles. */
:root{--ink:#242b32;--muted:#4e5963;--paper:#f6f5f2;--line:#dfdfda;--radius:10px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
h1{line-height:1.12;font-weight:700}
h2{font-size:clamp(29px,3.1vw,43px);line-height:1.18;font-weight:650}
h3{line-height:1.32;letter-spacing:-.015em}
p{color:var(--muted);text-wrap:pretty}
main p,main li{overflow-wrap:break-word}
main .lead{font-size:19px;line-height:1.75;max-width:65ch}
main .eyebrow{letter-spacing:.09em;line-height:1.65}
.section{padding-block:72px}
.section-head{align-items:center;gap:44px;margin-bottom:34px}
.section-head>p{max-width:42ch;font-size:17px;line-height:1.75}
.button{border-radius:10px;min-height:48px;padding:15px 22px;font-size:16px;font-weight:650;box-shadow:0 4px 12px #a4131c0c}
.button.outline{background:#fff;border-color:#c8cdd0}
.button.outline:hover{border-color:var(--red);color:var(--red);background:#fff9f8}
.text-link{line-height:1.6;font-size:16px;text-decoration-thickness:1px}
.home-hero{position:relative;grid-template-columns:1fr 1fr;gap:42px;padding:38px;margin-top:28px;margin-bottom:18px;background:#f6f5f2;border:1px solid #ece9e3;border-radius:24px;align-items:center}
.home-hero .hero-copy{min-width:0;padding:0}
.home-hero .hero-copy>.hero-eyebrow{font-size:12px;letter-spacing:.08em;max-width:40ch;margin-bottom:22px}
.home-hero h1{font-size:clamp(38px,4.05vw,60px);line-height:1.1;margin-bottom:25px;letter-spacing:-.035em;text-wrap:initial}
.home-hero .hero-copy .lead{font-size:18px;line-height:1.8;max-width:46ch;margin-bottom:26px}
.home-hero .actions{gap:18px 22px}
.home-hero .hero-image{height:530px;min-width:0}
.home-hero .hero-image img{border-radius:17px}
.home-hero .image-label{left:18px;bottom:46px;padding:19px 21px;border-radius:10px;max-width:calc(100% - 36px)}
.home-hero .image-label strong{font-size:19px;line-height:1.35}
.home-hero .hero-image figcaption{border-radius:5px;bottom:10px;left:12px;right:12px}
.hero-reassurance{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;line-height:1.6;color:#4e5963;margin:24px 0 0;padding-top:18px;border-top:1px solid #d9d9d2}
.hero-reassurance span::before{content:"✓";color:var(--red);font-weight:700;margin-right:7px}
.cards{gap:20px}
.service-card{border:1px solid #dedfdc;border-radius:16px;background:#fff;padding:28px;min-height:255px;transition:transform .2s,border-color .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-3px);border-color:#bc7d80;background:white;box-shadow:0 12px 28px #242b320a}
.service-card .eyebrow{font-size:12px;margin-bottom:20px;color:var(--red)}
.service-card h2,.service-card h3{font-size:24px;line-height:1.3;letter-spacing:-.02em;margin-bottom:14px}
.service-card p{font-size:17px;line-height:1.7;margin-bottom:20px}
.service-card .card-link{font-size:15px;padding-top:12px}
.service-card .card-photo{margin:-28px -28px 24px;width:calc(100% + 56px)}
.service-hero{gap:48px;padding-block:36px 48px}
.service-hero h1{font-size:clamp(35px,3.7vw,54px);line-height:1.16;max-width:22ch;letter-spacing:-.03em}
.service-hero .lead{font-size:18px;line-height:1.8}
.service-hero>.service-photo{border-radius:20px}
.page-intro .lead{max-width:65ch}
.breadcrumbs{font-size:14px;line-height:1.7;flex-wrap:wrap;gap:8px 12px;margin-bottom:28px}
.choice-grid>article{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:14px;padding:28px}
.choice-grid h3{font-size:23px;line-height:1.35}
.choice-grid p,.detail-grid p,.faq p,.steps p{font-size:17px;line-height:1.75}
.detail-grid h2{font-size:26px;line-height:1.3}
.proposal-box{border-radius:16px}
.proposal-box p{color:#e0e4e8}
.faq summary{font-size:18px;line-height:1.6;padding-right:12px}
.faq details{padding-block:22px}
.company-slice p{font-size:17px;line-height:1.8}
.home-project .home-section-photo img,.method-section .home-section-photo img{border-radius:18px}
.company-facts-grid{gap:24px;border:0}
.company-facts-grid article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:25px}
.company-facts-grid p{font-size:16px;line-height:1.7}
.audience-card{border-radius:16px}
.audience-copy p{font-size:16px;line-height:1.7}
.audiences>div>a{padding:0}
.lead-intake{background:var(--paper);border-radius:20px;padding:38px;margin-top:24px}
.service-form label{font-size:16px}
.service-form input,.service-form select,.service-form textarea{padding:13px 14px;border-color:#aeb6bd;border-radius:9px;line-height:1.5;min-width:0}
.service-form input:focus,.service-form select:focus,.service-form textarea:focus{border-color:var(--red)}
.service-form .form-grid{gap:23px}
.fine{line-height:1.75}
.article{max-width:820px}
.article p,.article li{font-size:18px;line-height:1.85}
.article h2{font-size:30px;line-height:1.3;margin-top:36px;margin-bottom:20px}
.article h3{font-size:23px;line-height:1.4}
.article a:not(.button){text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a4131c80}
.article .fine{font-size:14px}
@media(min-width:851px) and (max-width:1100px){.home-hero{padding:28px;gap:28px}.home-hero h1{font-size:42px}.home-hero .hero-image{height:510px}.home-hero .actions{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.home-hero{grid-template-columns:1fr;padding:30px;gap:26px;margin-top:20px}.home-hero h1{font-size:clamp(38px,7vw,54px)}.home-hero .hero-copy .lead{max-width:60ch}.home-hero .hero-image{height:400px}.section{padding-block:54px}.section-head{gap:25px}.service-hero{gap:28px}.company-facts-grid{gap:15px}.service-card{min-height:240px}}
@media(max-width:760px){body{font-size:17px}.service-hero{padding-block:24px 36px}.service-hero h1{font-size:clamp(33px,7vw,43px);max-width:none;line-height:1.17}.service-hero .lead{font-size:18px;line-height:1.75}.lead-intake{padding:26px}.choice-grid>article{padding:25px}.section-head>p{max-width:60ch}.article p,.article li{font-size:17px;line-height:1.8}}
@media(max-width:560px){.home-hero{width:calc(100% - 28px);padding:24px 20px;border-radius:19px;gap:24px}.home-hero .hero-copy>.hero-eyebrow{font-size:11px;letter-spacing:.06em;margin-bottom:20px}.home-hero h1{font-size:clamp(34px,8.5vw,44px);line-height:1.12;margin-bottom:22px}.home-hero .hero-copy .lead{font-size:17px;line-height:1.75}.home-hero .actions{gap:17px;align-items:stretch}.home-hero .actions .text-link{text-align:center}.home-hero .hero-image{height:300px}.home-hero .image-label{left:12px;bottom:42px;padding:15px;max-width:calc(100% - 24px)}.home-hero .image-label strong{font-size:17px}.hero-reassurance{font-size:12px;gap:7px;margin-top:22px}.hero-reassurance span{display:block;width:100%}.section{padding-block:43px}.section-head{margin-bottom:26px}.section-head>p{margin-top:18px}.service-card{padding:25px;min-height:0}.service-card h2,.service-card h3{font-size:23px}.service-card p{font-size:17px}.service-card .card-photo{margin:-25px -25px 22px;width:calc(100% + 50px)}.lead-intake{padding:24px 20px;border-radius:16px}.company-facts-grid article{padding:23px}.home-project .lead{font-size:18px}.method-body .steps{grid-template-columns:1fr}.method-body .steps h3{font-size:22px}.company-slice p{font-size:17px}.article h2{font-size:27px}.article h3{font-size:22px}.button{font-size:16px}.actions{gap:18px}.audience-copy{padding:23px}.page-intro h1{font-size:clamp(33px,8vw,42px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.audience-card,.button{transition:none}.service-card:hover,.audience-card:hover,.button:hover{transform:none}}

/* PDF review: image captions use document flow, never overlapping the photo label. */
.home-hero .hero-image{display:flex;flex-direction:column;align-self:center;height:auto;min-height:0;border:1px solid #e0dfd9;border-radius:17px;overflow:hidden;background:white}
.home-hero .hero-image>img{height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0;flex:none}
.home-hero .image-label{position:static;inset:auto;max-width:none;width:100%;margin:0;padding:20px 22px;border-left:0;border-bottom:1px solid #e9e7e1;box-shadow:none;border-radius:0}
.home-hero .image-label span{margin-bottom:7px}
.home-hero .image-label strong{display:block;line-height:1.4}
.home-hero .hero-image>figcaption{position:static;inset:auto;display:block;margin:0;padding:12px 22px 16px;color:#4e5963;background:#fff;text-shadow:none;border-radius:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.card-link{align-items:center;gap:16px;line-height:1.5}
.card-link::after{flex:0 0 auto}
.service-card,.audience-card,.footer-grid>div,.footer-bottom,.footer-bottom>div,.form-grid>label{min-width:0}
.footer-bottom{align-items:flex-start;gap:20px 30px}
.footer-bottom>span{flex:0 0 auto}
.footer-bottom>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 24px;max-width:100%;line-height:1.65}
.footer-bottom a{overflow-wrap:anywhere}
.service-form label>.fine{display:block;font-weight:400;margin-top:8px}
.service-form input[type="file"]{max-width:100%;overflow:hidden}
/* Complete product photographs and readable next steps across the service guides. */
#guide-feature-visual{max-width:980px;margin:24px auto 36px}
#guide-feature-visual img{width:100%;height:auto;max-height:480px;object-fit:contain;background:#f3f5f7}
#guide-feature-visual figcaption{line-height:1.6;padding-top:12px}
.service-photo>img[src*="ariosa-"]{height:auto;max-height:420px;object-fit:contain;background:#f3f5f7}
.seo-related{padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--paper);margin-block:36px}
.seo-related h2{font-size:clamp(25px,2.8vw,34px);line-height:1.25}
.seo-related h3{margin-top:28px}
.seo-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:22px 0}
.seo-related li{margin:0;padding:0;min-width:0}
.seo-related li>a{display:flex;align-items:center;min-height:76px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:16px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.seo-related li>a:hover{border-color:var(--red);color:var(--red)}
.lead-status:not(:empty),#energy-status:not(:empty){padding:15px 18px;border-left:3px solid var(--red);border-radius:6px;background:#fff;line-height:1.7;overflow-wrap:anywhere}
.choice-grid>*,.detail-grid>*,.steps>*,.brand-product{min-width:0}
.vmc-entry{padding-block:30px 48px}
.vmc-entry-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:46px;align-items:center}
.vmc-entry-copy{min-width:0}
.vmc-entry h1{font-size:clamp(38px,4vw,58px);line-height:1.13;margin-bottom:23px}
.vmc-entry .lead{font-size:19px;line-height:1.7;margin-bottom:20px}
.vmc-entry .actions{margin-top:25px;gap:15px 22px;align-items:flex-start}
.vmc-entry-note{font-size:13px;margin:20px 0 0;padding-top:17px;border-top:1px solid var(--line)}
.vmc-entry-image{margin:0;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--paper)}
.vmc-entry-image img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;object-position:58% center}
.vmc-entry-image figcaption{padding:12px 17px;font-size:12px;line-height:1.6;color:var(--muted)}
.vmc-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.vmc-choice-grid>article{padding:28px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:14px;background:var(--paper)}
.vmc-choice-grid h3{font-size:25px;line-height:1.3}
.vmc-choice-grid .fine{margin-bottom:0}
.vmc-compare-link{margin:24px 0 0}
.technical-method .detail-grid{margin-top:28px}
.guide-feature-visual{padding-inline:20px}
.guide-feature-visual img{display:block;border-radius:12px}
.guide-feature-visual figcaption{font-size:13px;color:var(--muted)}
.guide-checklist{padding:25px 28px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;background:var(--paper);margin-block:28px}
.article .guide-checklist h2{font-size:24px;margin-top:0}
.article .guide-checklist li{margin-block:9px}
.guide-updated{font-size:13px;color:var(--muted);margin-top:17px}
.required-mark{color:var(--red);font-weight:700}
.form-required-note{font-size:14px!important;margin:20px 0!important}
.page-intro .actions{margin-top:24px}
.header-inner .brand img[src*="logo-wordmark"]{position:static;left:auto;top:auto;max-width:100%}
@media(max-width:1000px){.vmc-entry-grid{gap:28px}.vmc-entry h1{font-size:43px}.vmc-entry .lead{font-size:18px}}
@media(max-width:800px){.vmc-entry-grid{grid-template-columns:minmax(0,1fr)}.vmc-entry-image img{aspect-ratio:16/10;object-position:center}.vmc-entry{padding-bottom:25px}.vmc-choice-grid{grid-template-columns:minmax(0,1fr)}.vmc-entry h1{font-size:clamp(35px,7vw,46px)}}
@media(max-width:560px){.vmc-entry .actions{flex-direction:column;align-items:stretch}.vmc-entry .actions .text-link{text-align:center}.vmc-choice-grid>article{padding:23px}.vmc-entry .lead{font-size:18px}.guide-checklist{padding:22px 20px}.article .guide-checklist h2{font-size:23px}}
@media(max-width:700px){
 .seo-related{padding:23px 20px}
 .seo-related ul{grid-template-columns:minmax(0,1fr)}
 .seo-related li>a{min-height:64px;padding:14px 16px}
 #guide-feature-visual img{max-height:360px}
}
@media(max-width:850px){
 .footer-bottom{flex-direction:column;align-items:stretch}
 .footer-bottom>div{justify-content:flex-start}
 .home-team-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:18px}
 .home-team-person{min-width:0}
 .home-team-person strong{overflow-wrap:anywhere}
}
@media(max-width:560px){
 .home-hero .hero-image>img{aspect-ratio:4/3}
 .home-hero .image-label{padding:17px 16px}
 .home-hero .hero-image>figcaption{padding:11px 16px 14px;font-size:12px;line-height:1.6}
 .home-hero .hero-copy .actions .text-link{justify-content:center}
 .home-team-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:0;margin-block:24px}
 .home-team-person{width:auto;flex:none}
 .home-team-person img{width:100%;aspect-ratio:4/5}
 .home-team-person strong{font-size:13px;line-height:1.45}
 .home-team-person span{font-size:12px;line-height:1.5}
 .footer-bottom{padding-bottom:100px}
 .footer-bottom>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
 .footer-bottom a{display:flex;align-items:center;min-height:44px;line-height:1.5;font-size:13px}
 .service-form .form-grid{grid-template-columns:minmax(0,1fr)}
 .home-project .text-link,.office-quick-links .button{overflow-wrap:anywhere}
}
@media print{
 header{position:static}
 .mobile-contact,.pino-widget{display:none!important}
 .footer-bottom{padding-bottom:24px}
 img{break-inside:avoid}
}
