:root{--ink:#4a4d4f;--navy:#555a5d;--rose:#eb5b25;--rose-dark:#c94718;--cream:#f5f5f3;--white:#fff;--muted:#617181;--line:#dfe5e8;--shadow:0 20px 50px rgba(16,39,61,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
.topbar a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,39,61,.09)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px}
.mark{width:42px;height:42px;border:2px solid var(--rose);border-radius:50% 50% 45% 45%;display:grid;place-items:center;color:var(--rose);font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif;font-size:1.45rem}
.brand-logo{width:58px;height:58px;object-fit:contain;flex:0 0 auto}
.brand-name{font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif;font-size:1.5rem;letter-spacing:.02em}
.brand small{display:block;color:var(--muted);font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}
.links{display:flex;align-items:center;gap:16px}
.links a{text-decoration:none;font-size:.9rem;font-weight:650}
.links a:hover{color:var(--rose)}
.nav-group{position:relative}
.nav-group summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-size:.9rem;font-weight:650;letter-spacing:.025em}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.nav-group[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}
.nav-group summary:hover{color:var(--rose)}
.nav-submenu{position:absolute;top:calc(100% + 14px);left:-18px;display:grid;gap:3px;min-width:220px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-15px;height:15px}
.nav-submenu a{display:block;padding:9px 10px;border-radius:5px;white-space:nowrap}
.nav-submenu a:hover{background:var(--cream)}
.nav-service-group{display:grid;margin:2px 0;padding:3px 0;border-left:3px solid var(--rose);background:#fafafa;border-radius:0 5px 5px 0}
.nav-submenu .nav-service-group>a:first-child{padding-bottom:5px}
.nav-submenu .nav-subpage{position:relative;padding:4px 10px 7px 27px;color:var(--muted);font-size:.8rem;font-weight:650}
.nav-submenu .nav-subpage:before{content:"";position:absolute;left:13px;top:50%;width:7px;border-top:1px solid #aeb8bd}
.nav-submenu .nav-subpage:hover{color:var(--rose-dark)}
.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;text-decoration:none;font-weight:750;transition:.2s}
.button{background:var(--rose);color:#fff;box-shadow:0 8px 20px rgba(184,95,115,.24)}
.button:hover{background:var(--rose-dark);transform:translateY(-1px)}
.button-outline{border:1px solid var(--ink);background:#fff}
.menu{display:none;background:none;border:0;font-size:1.7rem}
.hero{position:relative;min-height:650px;display:grid;align-items:center;overflow:hidden;background:var(--cream)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,241,.99) 0%,rgba(247,244,241,.94) 35%,rgba(247,244,241,.15) 70%)}
.hero-content{position:relative;z-index:2;width:min(590px,53%);padding:90px 0}
.eyebrow{font-weight:800;color:var(--rose-dark);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}
.hero h1,.page-hero h1{font-family:"Avenir Next","Century Gothic","Trebuchet MS",sans-serif;font-weight:500;line-height:1.06;font-size:clamp(2.75rem,5vw,5.25rem);margin:.2em 0}
.hero p{font-size:1.18rem;color:#425466;max-width:53ch}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:32px;font-size:.88rem;font-weight:650}
.trust span:before{content:"✓";color:var(--rose);margin-right:7px}
.section{padding:88px 0}
.section.alt{background:var(--cream)}
.section-title{max-width:700px;margin-bottom:40px}
.section-title h2,.split h2{font:500 clamp(2rem,4vw,3.4rem)/1.13 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.15em 0}
.section-title p,.lead{font-size:1.08rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:8px;box-shadow:0 5px 20px rgba(16,39,61,.05)}
.card .num{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--rose);color:#fff;font:800 1.25rem/1 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.03em;box-shadow:0 7px 18px rgba(16,39,61,.14)}
.card h3{font:500 1.55rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.6em 0}
.card p{color:var(--muted)}
.text-link{font-weight:800;color:var(--rose-dark);text-decoration:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.feature-panel{background:var(--navy);color:#fff;padding:50px;border-radius:8px;box-shadow:var(--shadow)}
.feature-panel h3{font:500 2rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.feature-panel p{color:#d9e5ed}
.checks{padding:0;list-style:none}
.checks li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid rgba(255,255,255,.14)}
.checks li:before{content:"✓";position:absolute;left:0;color:#efafbd}
.quote{font:italic 1.4rem/1.5 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.testimonial-intro{max-width:760px;margin-bottom:38px}
.testimonial-heading{margin:0 0 18px;font:500 1.55rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;color:var(--ink)}
.testimonial-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.testimonial{padding:20px 22px;border-left:3px solid var(--rose);background:#fff;border-radius:0 8px 8px 0;box-shadow:0 8px 24px rgba(16,39,61,.06)}
.testimonial .quote{margin:0;font-size:1rem;line-height:1.55}
.testimonial-more{margin-top:10px;font-size:.92rem;color:var(--muted)}
.testimonial-more summary{display:inline-block;color:var(--rose-dark);font-weight:700;cursor:pointer;list-style:none}
.testimonial-more summary::-webkit-details-marker{display:none}
.testimonial-more summary:after{content:" +"}
.testimonial-more[open] summary:after{content:" −"}
.testimonial-more p{margin:10px 0 0;font-style:italic;line-height:1.55}
.testimonial-credit{margin:12px 0 0;color:var(--muted);font-size:.88rem;font-weight:600}
.testimonial-footer{margin-top:18px}
.testimonial-footer .disclaimer{margin:0 0 14px}
.google-review-summary{padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--cream)}
.google-review-summary h3{margin:1px 0 5px;font:500 1.05rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.google-review-summary p{margin:0 0 9px;color:var(--muted);font-size:.9rem;line-height:1.55}
.google-review-summary .text-link{font-size:.9rem}
.google-review-stars{color:var(--rose);font-size:.9rem;letter-spacing:.12em}
.cta{background:var(--rose);color:#fff;padding:55px 0}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{font:500 2.4rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:0}
.cta .button{background:#fff;color:var(--ink);box-shadow:none}
.footer{background:#0d2639;color:#dce5eb;padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.footer h3{color:#fff;font:500 1.25rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.footer a{color:#dce5eb}
.fine{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:22px;font-size:.8rem;color:#aebbc5}
.page-hero{padding:90px 0 75px;background:linear-gradient(135deg,var(--cream),#fff)}
.page-hero h1{font-size:clamp(2.7rem,5vw,4.5rem);max-width:800px}
.content{max-width:800px}
.content h2{font:500 2.1rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin-top:1.5em}
.notice{border-left:4px solid var(--rose);padding:20px 24px;background:#fbf3f5;margin:30px 0}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.price{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}
.price strong:last-child{white-space:nowrap}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
.form{background:var(--cream);padding:36px;border-radius:8px}
.field{display:grid;gap:7px;margin-bottom:18px}
.field label{font-weight:700}
.field input,.field select,.field textarea{font:inherit;border:1px solid #bdc8cf;background:#fff;padding:13px;border-radius:4px;width:100%}
.field textarea{min-height:130px}
.disclaimer{font-size:.82rem;color:var(--muted)}
@media(max-width:850px){.topbar .wrap{justify-content:center}
.topbar span{display:none}
.menu{display:block}
.links{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
.links.open{display:flex}
.nav-group{width:100%}
.nav-group summary{justify-content:space-between;padding:6px 0}
.nav-submenu{position:static;min-width:0;margin:5px 0 2px 7px;padding:4px 0 4px 16px;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
.nav-submenu:before{display:none}
.nav-submenu a{padding:6px 0}
.hero{min-height:720px;align-items:end}
.hero:after{background:linear-gradient(0deg,rgba(247,244,241,1) 10%,rgba(247,244,241,.83) 60%,rgba(247,244,241,.12))}
.hero-content{width:100%;padding:250px 0 60px}
.hero h1{font-size:3rem}
.cards,.split,.footer-grid,.contact-grid{grid-template-columns:1fr}
.testimonial-list{grid-template-columns:1fr}
.section{padding:65px 0}
.cta .wrap{display:block}
.cta .button{margin-top:22px}
.price-grid{grid-template-columns:1fr}
}
@media(max-width:520px){.wrap{width:min(100% - 28px,1160px)}
.brand small{display:none}
.hero h1{font-size:2.55rem}
.feature-panel,.form,.card{padding:26px}
.trust{display:grid;gap:7px}
.topbar{font-size:.78rem}
}

.brand-lockup{display:block;width:clamp(255px,25vw,390px);height:auto}
.nav{min-height:104px}
@media(max-width:850px){.brand-lockup{width:260px}
.nav{min-height:92px}
.links{top:92px}
}
@media(max-width:520px){.brand-lockup{width:220px}
}

.thermo-gallery-section{padding-top:10px}
.thermo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:85%;margin-inline:auto}
.thermo-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(16,39,61,.08)}
.thermo-gallery img{width:100%;aspect-ratio:1.35/1;object-fit:cover;background:#050505}
.thermo-gallery figcaption{display:grid;padding:16px 20px}
.thermo-gallery figcaption strong{font:500 1.25rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.thermo-gallery figcaption span{color:var(--muted);font-size:.92rem}
.gallery-note{margin-top:22px}
@media(max-width:760px){.thermo-gallery{grid-template-columns:1fr;width:85%}
.thermo-gallery img{aspect-ratio:1.7/1}
}

.hero img{object-position:center center}
@media(max-width:850px){.hero img{object-position:62% center}
}

.hero h1,.page-hero h1,.section-title h2,.split h2,.card h3,.feature-panel h3,.cta h2,.footer h3,.content h2,.thermo-gallery figcaption strong{font-weight:400;letter-spacing:.015em}
.hero h1,.page-hero h1{letter-spacing:.025em}
.eyebrow{letter-spacing:.2em}
.links a,.button,.button-outline{letter-spacing:.025em}

.location-hero{position:relative;min-height:620px;display:flex;align-items:end;overflow:hidden;background:#333}
.location-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.location-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,29,30,.85) 0%,rgba(26,29,30,.25) 62%,rgba(26,29,30,.08) 100%)}
.location-hero-copy{position:relative;z-index:1;color:#fff;padding-bottom:70px}
.location-hero-copy h1{font-size:clamp(2.7rem,5vw,4.8rem);font-weight:400;line-height:1.08;letter-spacing:.02em;max-width:820px;margin:.15em 0}
.location-hero-copy p{font-size:1.15rem;max-width:650px}
.location-portrait{border-radius:8px;overflow:hidden;max-height:680px;box-shadow:var(--shadow)}
.location-portrait img{width:100%;height:100%;object-fit:cover}
.arrival-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:stretch}
.arrival-grid>img{width:100%;height:560px;object-fit:cover;border-radius:8px}
.map-section{padding-top:70px}
.map-frame{height:520px;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.map-frame iframe{width:100%;height:100%;border:0}
.map-permission{height:100%;display:grid;place-content:center;justify-items:start;max-width:620px;margin:auto;padding:40px;text-align:left}
.map-permission h3{font:400 clamp(1.7rem,3vw,2.3rem)/1.15 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.35em 0}
.map-permission p{color:var(--muted);max-width:570px}
.links{gap:16px}
.links a{font-size:.9rem}
@media(max-width:850px){.location-hero{min-height:540px}
.location-hero-copy{padding-bottom:45px}
.location-intro,.arrival-grid{grid-template-columns:1fr}
.location-portrait{max-height:580px}
.arrival-grid>img{height:480px}
.map-frame{height:420px}
}
@media(max-width:520px){.location-hero{min-height:470px}
.arrival-grid>img{height:390px}
.map-frame{height:360px}
}

.chiro-visual-hero{position:relative;min-height:610px;display:flex;align-items:center;overflow:hidden;background:#333}
.chiro-visual-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.chiro-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,245,243,.98) 0%,rgba(245,245,243,.9) 36%,rgba(245,245,243,.06) 68%)}
.chiro-hero-copy{position:relative;z-index:1}
.chiro-hero-copy h1{font-size:clamp(2.7rem,5vw,4.5rem);font-weight:400;line-height:1.08;letter-spacing:.02em;max-width:680px;margin:.15em 0}
.chiro-hero-copy p{font-size:1.1rem;color:#5f6264;max-width:540px}
@media(max-width:850px){.chiro-visual-hero{min-height:680px;align-items:end}
.chiro-visual-hero>img{object-position:64% center}
.chiro-hero-shade{background:linear-gradient(0deg,rgba(245,245,243,1) 4%,rgba(245,245,243,.88) 48%,rgba(245,245,243,.08) 78%)}
.chiro-hero-copy{padding-bottom:48px}
.chiro-hero-copy h1{font-size:2.7rem}
}

.thermo-visual-hero{background:#242729;color:#fff;overflow:hidden}
.thermo-hero-grid{min-height:570px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.thermo-hero-copy h1{font-size:clamp(2.7rem,5vw,4.6rem);font-weight:400;line-height:1.08;letter-spacing:.02em;margin:.15em 0}
.thermo-hero-copy p{font-size:1.12rem;color:#d9d9d7;max-width:570px}
.thermo-light-link{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid #eb5b25;padding:12px 0}
.thermo-hero-image{position:relative;margin:0;background:transparent}
.thermo-hero-image img{width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(ellipse 92% 88% at center,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 92% 88% at center,#000 72%,transparent 100%)}
.thermo-hero-image figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.thermo-hero-grid{min-height:auto;grid-template-columns:1fr;gap:34px;padding-top:65px;padding-bottom:55px}
.thermo-hero-image{width:100%;max-width:620px}
.thermo-hero-copy h1{font-size:2.75rem}
}
.credentials{padding:60px 0;background:#fff;border-top:1px solid var(--line)}
.credentials h2{font:400 clamp(1.8rem,3vw,2.6rem)/1.15 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.2em 0 30px}
.credential-logos{display:flex;align-items:center;gap:44px;flex-wrap:wrap}
.credential-logos a{display:flex;align-items:center;justify-content:center}
.credential-logos img{display:block;max-width:250px;max-height:105px;width:auto;height:auto;object-fit:contain}
.credential-single{gap:24px}
.credential-single img{width:105px}
.credentials p{max-width:680px;color:var(--muted);margin:22px 0 0}
.credential-single p{margin:0}
@media(max-width:600px){.credential-logos{gap:28px}
.credential-logos img{max-width:210px;max-height:90px}
.credential-single{align-items:flex-start;flex-direction:column}
.credential-single p{margin:0}
}
.pemf-hero{padding:45px 0 50px}
.pemf-hero-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:55px;align-items:center}
.pemf-hero-copy{padding:35px 0}
.sano-brand-mark{width:105px;height:auto;margin-bottom:22px;mix-blend-mode:multiply}
.pemf-product-image{margin:0;background:#fff;border-radius:12px;box-shadow:0 22px 55px rgba(16,39,61,.13);overflow:hidden}
.pemf-product-image img{width:100%;height:auto;display:block}
.pemf-product-image figcaption{padding:11px 16px;color:var(--muted);font-size:.82rem;text-align:center}
@media(max-width:850px){.pemf-hero-grid{grid-template-columns:1fr;gap:20px}
.pemf-hero-copy{padding:15px 0 0}
.pemf-product-image{max-width:620px}
.pemf-hero{padding:45px 0}
}
.pemf-image-hero{position:relative;min-height:650px;display:grid;align-items:center;overflow:hidden;background:#151719;color:#fff}
.pemf-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pemf-image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,24,34,.92) 0%,rgba(12,24,34,.72) 35%,rgba(12,24,34,.08) 68%)}
.pemf-image-hero-inner{position:relative;z-index:2;padding:80px 0}
.pemf-overlay-copy{width:min(540px,48%)}
.pemf-overlay-copy h1{font:400 clamp(2.8rem,5vw,4.9rem)/1.06 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;margin:.15em 0}
.pemf-overlay-copy p{font-size:1.12rem;color:#eef1f3}
.pemf-overlay-copy .sano-brand-mark{mix-blend-mode:screen;background:#fff;padding:6px;border-radius:4px}
.pemf-light-link{color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid var(--rose);padding:12px 0}
.pemf-detail-product{width:100%;height:auto;margin:-18px 0 24px;border-radius:6px;background:#fff}
.pemf-system-panel{padding-top:34px}
@media(max-width:850px){.pemf-image-hero{min-height:720px;align-items:end}
.pemf-hero-background{object-position:68% center}
.pemf-image-hero:after{background:linear-gradient(0deg,rgba(12,24,34,.97) 7%,rgba(12,24,34,.72) 55%,rgba(12,24,34,.08) 88%)}
.pemf-image-hero-inner{padding:310px 0 55px}
.pemf-overlay-copy{width:100%;max-width:620px}
.pemf-overlay-copy h1{font-size:2.8rem}
}
.chiro-image-hero{position:relative;min-height:620px;display:grid;align-items:center;overflow:hidden;background:#eef2f4}
.chiro-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.chiro-image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,249,250,.98) 0%,rgba(247,249,250,.9) 34%,rgba(247,249,250,.12) 66%)}
.chiro-image-hero-inner{position:relative;z-index:2;padding:80px 0}
.chiro-overlay-copy{width:min(565px,49%)}
.chiro-overlay-copy h1{font:400 clamp(2.8rem,5vw,4.8rem)/1.06 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;margin:.15em 0}
.chiro-overlay-copy p{font-size:1.12rem;color:#425466}
@media(max-width:850px){.chiro-image-hero{min-height:720px;align-items:end}
.chiro-hero-background{object-position:66% center}
.chiro-image-hero:after{background:linear-gradient(0deg,rgba(247,249,250,.99) 9%,rgba(247,249,250,.88) 50%,rgba(247,249,250,.08) 86%)}
.chiro-image-hero-inner{padding:320px 0 55px}
.chiro-overlay-copy{width:100%;max-width:620px}
.chiro-overlay-copy h1{font-size:2.75rem}
}
.more-nav{position:relative}
.more-nav summary{cursor:pointer;list-style:none;font-size:.94rem;font-weight:650;letter-spacing:.025em}
.more-nav summary::-webkit-details-marker{display:none}
.more-nav summary:after{content:"⌄";margin-left:6px;color:var(--rose)}
.more-nav>div{position:absolute;top:calc(100% + 14px);right:0;min-width:190px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);display:grid;gap:2px}
.more-nav>div a{padding:9px 11px;white-space:nowrap}
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.download-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:30px}
.download-card h3{font:400 1.45rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.45em 0}
.download-card p{color:var(--muted);flex:1}
.download-type{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-dark)}
.download-notice{max-width:760px;margin-top:32px}
@media(max-width:850px){.more-nav{width:100%}
.more-nav summary{padding:5px 0}
.more-nav>div{position:static;box-shadow:none;border:0;border-left:2px solid var(--rose);border-radius:0;margin-top:8px;padding:4px 0 4px 12px}
.download-grid{grid-template-columns:1fr}
}
.arterial-support{background:var(--cream)}
.arterial-support h2{font:400 clamp(2rem,4vw,3.4rem)/1.13 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.15em 0}
.arterial-pathway{background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px;box-shadow:0 12px 35px rgba(16,39,61,.08)}
.arterial-pathway span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--rose);color:#fff;font-weight:800;font-size:.8rem}
.arterial-pathway h3{display:inline;margin-left:10px;font:400 1.35rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.arterial-pathway p{margin:6px 0 24px 46px;color:var(--muted)}
.arterial-image-hero{position:relative;min-height:610px;display:grid;align-items:center;overflow:hidden;background:#edf1f3}
.arterial-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.arterial-image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,249,250,.98) 0%,rgba(247,249,250,.9) 35%,rgba(247,249,250,.08) 66%)}
.arterial-image-hero-inner{position:relative;z-index:2;padding:80px 0}
.arterial-overlay-copy{width:min(575px,50%)}
.arterial-overlay-copy h1{font:400 clamp(2.8rem,5vw,4.7rem)/1.06 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;margin:.15em 0}
.arterial-overlay-copy p{font-size:1.12rem;color:#425466}
.metulas-product-image{width:min(100%,420px);margin:0 auto 38px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 18px 45px rgba(16,39,61,.11)}
.metulas-product-image img{width:100%;max-height:470px;object-fit:contain}
.metulas-product-image figcaption{text-align:center;padding:10px 14px;color:var(--muted);font-size:.82rem}
@media(max-width:850px){.arterial-image-hero{min-height:720px;align-items:end}
.arterial-hero-background{top:0;right:0;left:0;width:100%;height:58%;object-fit:cover;object-position:72% center}
.arterial-image-hero:after{background:linear-gradient(0deg,rgba(247,249,250,.99) 8%,rgba(247,249,250,.88) 53%,rgba(247,249,250,.08) 88%)}
.arterial-image-hero-inner{padding:315px 0 55px}
.arterial-overlay-copy{width:100%;max-width:620px}
.arterial-overlay-copy h1{font-size:2.75rem}
}
.order-section{background:#fff}
.order-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.order-grid>div>h2{font:400 clamp(2rem,4vw,3.3rem)/1.13 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.15em 0}
.order-points{list-style:none;padding:0;margin:28px 0}
.order-points li{padding:10px 0;border-bottom:1px solid var(--line)}
.order-points li:before{content:"✓";color:var(--rose);margin-right:9px}
.order-total{display:grid;gap:8px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:4px;margin:-4px 0 18px}
.order-total span{display:flex;justify-content:space-between;gap:20px}
.order-total .grand-total{border-top:1px solid var(--line);padding-top:9px;font-size:1.08rem}
.delivery-info{margin-top:28px;padding:22px 24px;border-left:4px solid var(--rose);background:var(--cream)}
.delivery-info h3{font:400 1.35rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:0 0 8px}
.delivery-info p{margin:6px 0}
.order-consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;margin:6px 0 20px}
.order-consent input{margin-top:5px}
.order-form .field label span{font-weight:400;color:var(--muted)}
@media(max-width:850px){.order-grid{grid-template-columns:1fr;gap:35px}
}
.manufacturer-action{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 24px}
.manufacturer-action span{font-size:.8rem;color:var(--muted)}
.thermo-image-hero{position:relative;min-height:610px;display:grid;align-items:center;overflow:hidden;background:#171a1c;color:#fff}
.thermo-hero-background{position:absolute;right:-2%;top:0;width:61%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(.96)}
.thermo-image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#171a1c 0%,rgba(23,26,28,.97) 34%,rgba(23,26,28,.35) 63%,rgba(23,26,28,.08) 100%)}
.thermo-image-hero-inner{position:relative;z-index:2;padding:80px 0}
.thermo-overlay-copy{width:min(570px,50%)}
.thermo-overlay-copy h1{font:400 clamp(2.8rem,5vw,4.7rem)/1.06 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;margin:.15em 0}
.thermo-overlay-copy p{font-size:1.12rem;color:#e1e4e5}
@media(max-width:850px){.thermo-image-hero{min-height:720px;align-items:end}
.thermo-hero-background{right:0;top:0;width:100%;height:58%;object-fit:cover}
.thermo-image-hero:after{background:linear-gradient(0deg,#171a1c 8%,rgba(23,26,28,.9) 48%,rgba(23,26,28,.06) 86%)}
.thermo-image-hero-inner{padding:315px 0 55px}
.thermo-overlay-copy{width:100%;max-width:620px}
.thermo-overlay-copy h1{font-size:2.75rem}
}
.home-mill-hero{background:var(--cream)}
.home-mill-hero img{left:auto;right:0;width:64%;object-position:center 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 12%,#000 34%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 12%,#000 34%)}
.home-mill-hero:after{background:linear-gradient(90deg,rgba(247,244,241,1) 0%,rgba(247,244,241,1) 34%,rgba(247,244,241,.9) 43%,rgba(247,244,241,.44) 57%,rgba(247,244,241,.04) 78%)}
@media(max-width:850px){.home-mill-hero img{left:0;width:100%;height:58%;object-position:center 45%;-webkit-mask-image:none;mask-image:none}
.home-mill-hero:after{background:linear-gradient(0deg,rgba(247,244,241,1) 8%,rgba(247,244,241,.86) 56%,rgba(247,244,241,.08) 88%)}
}
.thermo-hero-visuals{position:absolute;right:0;top:0;width:62%;height:100%;display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden}
.thermo-hero-photo,.thermo-hero-visuals .thermo-hero-background{position:static;width:100%;height:100%;object-fit:cover}
.thermo-hero-photo{object-position:56% center;filter:saturate(.78) contrast(1.03)}
.thermo-hero-visuals .thermo-hero-background{object-position:center;filter:saturate(.9) contrast(.97);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%);margin-left:-12%;width:112%}
@media(max-width:850px){
.thermo-hero-visuals{right:0;top:0;width:100%;height:58%}
.thermo-hero-photo,.thermo-hero-visuals .thermo-hero-background{height:100%}
}
.practitioner-points{margin:24px 0 26px}
.practitioner-portrait{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.practitioner-portrait img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 34%}
.practitioner-portrait div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border-top:3px solid var(--rose)}
.practitioner-portrait strong{font:400 1.25rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;color:var(--ink)}
.practitioner-portrait span{font-size:.85rem;color:var(--muted);text-align:right}
@media(max-width:600px){.practitioner-portrait div{align-items:flex-start;flex-direction:column;gap:5px}.practitioner-portrait span{text-align:left}}
.pemf-credentials{background:#fff}
.pemf-credential{gap:36px}
.pemf-credential img{width:min(100%,280px);max-width:280px;max-height:none}
.pemf-credential p{max-width:560px;margin:0;color:var(--muted);font-size:1.05rem}
.pemf-shop-link{display:inline-block;margin-top:18px}
@media(max-width:650px){.pemf-credential{align-items:flex-start;flex-direction:column;gap:22px}}
.social-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:6px}
.facebook-link{display:inline-flex;align-items:center;gap:9px;color:#315b9b;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(49,91,155,.35);padding:5px 0}
.facebook-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-size:21px;font-weight:700;line-height:1;padding-top:4px;box-sizing:border-box;flex:0 0 auto}
.facebook-link:hover,.facebook-link:focus-visible{color:#234574;border-bottom-color:#234574}

.pemf-library{background:#eef2f4}
.pemf-solfeggio-callout{margin:30px 0;padding:25px 28px;border-left:5px solid var(--rose);border-radius:0 8px 8px 0;background:linear-gradient(135deg,#fff7f2,#fff);box-shadow:0 8px 24px rgba(16,39,61,.06)}
.pemf-solfeggio-callout h3{font:400 1.5rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.45em 0}
.pemf-solfeggio-callout p{margin:0;color:var(--muted)}
.pemf-library-intro{max-width:790px}
.pemf-download-layout{max-width:980px}
.pemf-download-card{display:grid;grid-template-columns:76px 1fr auto;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-top:5px solid var(--rose);border-radius:8px;padding:30px;box-shadow:0 10px 30px rgba(16,39,61,.07)}
.pemf-document-mark{display:grid;place-items:center;width:72px;height:84px;border:2px solid var(--rose);border-radius:6px;color:var(--rose-dark);font-size:.85rem;font-weight:800;letter-spacing:.1em;background:#fff8f4}
.pemf-download-card h3{font:400 1.55rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.4em 0}
.pemf-download-card p{color:var(--muted);margin:0}
.pemf-download-pending{background:#8a9094;box-shadow:none;cursor:not-allowed;white-space:nowrap}
.pemf-download-pending:hover{background:#8a9094;transform:none}
.pemf-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pemf-resource-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--rose);border-radius:8px;padding:30px;box-shadow:0 10px 30px rgba(16,39,61,.07)}
.pemf-resource-card-accent{background:var(--navy);border-color:var(--navy);border-top-color:var(--rose);color:#fff}
.pemf-resource-audience{display:block;color:var(--rose-dark);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.pemf-resource-card-accent .pemf-resource-audience{color:#ffa781}
.pemf-resource-card h3{font:400 1.55rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.7em 0 .45em}
.pemf-resource-card>p{color:var(--muted);min-height:82px}
.pemf-resource-card-accent>p{color:#e2e8eb}
.pemf-resource-card details{border-top:1px solid var(--line);margin-top:22px;padding-top:4px}
.pemf-resource-card-accent details{border-top-color:rgba(255,255,255,.2)}
.pemf-resource-card summary{cursor:pointer;padding:15px 0 10px;color:var(--rose-dark);font-weight:800;list-style:none}
.pemf-resource-card summary::-webkit-details-marker{display:none}
.pemf-resource-card summary:after{content:"＋";float:right;font-size:1.15rem}
.pemf-resource-card details[open] summary:after{content:"−"}
.pemf-resource-card-accent summary{color:#fff}
.pemf-resource-detail{padding:5px 0 2px}
.pemf-spec-list{margin:0}
.pemf-spec-list>div{display:grid;grid-template-columns:105px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.pemf-spec-list dt{font-weight:800}.pemf-spec-list dd{margin:0;color:var(--muted)}
.pemf-settings-list{padding-left:20px;margin:5px 0}.pemf-settings-list li{padding:7px 0;color:#e2e8eb}
.pemf-resource-warning{font-size:.84rem;color:#fff;border-left:3px solid #ffa781;padding-left:12px}
.pemf-resource-actions{display:grid;gap:18px;margin-top:26px;justify-items:start}
.pemf-library-notice{margin:32px 0 0;background:#fff}
@media(max-width:900px){.pemf-resource-grid{grid-template-columns:1fr}.pemf-resource-card>p{min-height:0}}
@media(max-width:520px){.pemf-resource-card{padding:25px}.pemf-spec-list>div{grid-template-columns:1fr;gap:2px}}
@media(max-width:760px){.pemf-download-card{grid-template-columns:72px 1fr}.pemf-download-pending{grid-column:1/-1;justify-self:start}}

/* Prices */
.price-hero{padding:92px 0 78px;background:linear-gradient(125deg,#f5f5f3 0%,#fff 64%);overflow:hidden}
.price-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.72fr);gap:76px;align-items:center}
.price-hero h1{font:400 clamp(2.9rem,5vw,5rem)/1.05 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;max-width:820px;margin:.16em 0}
.price-hero .lead{max-width:650px}
.price-reassurance{position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--rose);border-radius:8px;padding:38px;box-shadow:var(--shadow)}
.price-reassurance:before{content:"“";position:absolute;right:28px;top:4px;color:rgba(235,91,37,.12);font:700 7rem/1 Georgia,serif}
.price-reassurance-kicker,.price-label{display:block;color:var(--rose-dark);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.price-reassurance h2{font:400 2rem/1.15 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.45em 0}
.price-reassurance p{color:var(--muted)}
.price-benefits{background:var(--navy);color:#fff;padding:34px 0}
.price-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.price-benefit-grid>div{display:grid;grid-template-columns:64px 1fr;column-gap:18px;padding:7px 34px;border-right:1px solid rgba(255,255,255,.17)}
.price-benefit-grid>div:first-child{padding-left:0}.price-benefit-grid>div:last-child{border:0;padding-right:0}
.price-benefit-grid span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--rose);color:#fff;font-size:1.25rem;font-weight:800;letter-spacing:.03em;box-shadow:0 7px 18px rgba(0,0,0,.16)}
.price-benefit-grid strong{font-size:1rem}.price-benefit-grid p{margin:2px 0 0;color:#dce2e5;font-size:.86rem;line-height:1.5}
.price-list-section{background:#fff}
.price-thermo-section{background:var(--cream)}
.price-section-intro{max-width:790px;margin-bottom:36px}
.price-card-grid{display:grid;gap:24px}.price-card-grid-two{grid-template-columns:repeat(2,1fr)}
.price-card{display:flex;flex-direction:column;min-height:310px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:34px;box-shadow:0 10px 28px rgba(16,39,61,.06)}
.price-card-featured{border-top:5px solid var(--rose);padding-top:30px}
.price-card-dark{background:#fff;border:1px solid var(--line);border-top:5px solid var(--rose);color:var(--ink);padding-top:30px;box-shadow:0 10px 28px rgba(16,39,61,.06)}
.price-card-dark .price-label{color:var(--rose-dark)}.price-card-dark p{color:var(--muted)}
.price-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.price-card h3{font:400 1.55rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:1.05em 0 .5em}
.price-card p{color:var(--muted);margin:0 0 24px;max-width:50ch}
.price-card .text-link,.price-card .price-light-link{margin-top:auto;align-self:flex-start}
.price-amount{color:var(--rose);font:400 2.35rem/1 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;white-space:nowrap}
.price-card-dark .price-amount{color:var(--rose)}.price-light-link{color:var(--rose-dark);text-decoration:none;font-weight:800;border-bottom:1px solid rgba(201,71,24,.4)}
.price-detail-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px;align-items:start}
.price-detail-heading{position:sticky;top:145px}.price-detail-heading h2{font:400 clamp(2rem,4vw,3.25rem)/1.12 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.2em 0}.price-detail-heading p{color:var(--muted)}
.price-detail-list{border-top:3px solid var(--rose)}
.price-row{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:20px 8px;border-bottom:1px solid var(--line)}
.price-row span{display:grid}.price-row small{color:var(--muted);font-size:.84rem;margin-top:2px}.price-row b{color:var(--rose-dark);font-size:1.22rem;white-space:nowrap}
.price-final-cta{padding:68px 0 38px;background:linear-gradient(135deg,#f1f2f0,#fff)}
.price-final-grid{display:flex;justify-content:space-between;align-items:center;gap:50px}.price-final-grid h2{font:400 clamp(2rem,4vw,3.2rem)/1.1 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.15em 0}.price-final-grid p{color:var(--muted);margin:0;max-width:650px}.price-final-grid .actions{flex:0 0 auto;margin:0}
.price-note{margin:48px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
@media(max-width:850px){.price-hero-grid,.price-detail-layout{grid-template-columns:1fr;gap:42px}.price-hero{padding:65px 0}.price-benefit-grid{grid-template-columns:1fr}.price-benefit-grid>div,.price-benefit-grid>div:first-child,.price-benefit-grid>div:last-child{padding:16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.price-benefit-grid>div:last-child{border:0}.price-detail-heading{position:static}.price-final-grid{align-items:flex-start;flex-direction:column;gap:25px}.price-final-grid .actions{margin:0}.price-card-grid-two{grid-template-columns:1fr}}
@media(max-width:520px){.price-hero h1{font-size:2.65rem}.price-reassurance,.price-card{padding:26px}.price-card-featured{padding-top:22px}.price-card-top{align-items:flex-end}.price-amount{font-size:2rem}.price-final-grid .actions{width:100%}.price-final-grid .button,.price-final-grid .button-outline{width:100%}}

/* PEMF support centre */
.support-hero{padding:86px 0 72px;background:linear-gradient(125deg,#eef2f4 0%,#fff 70%)}
.support-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:70px;align-items:center}
.support-hero h1{font:400 clamp(2.75rem,5vw,4.7rem)/1.06 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;letter-spacing:.02em;max-width:820px;margin:.18em 0}
.support-hero .lead{max-width:700px}
.support-start-card{background:var(--navy);color:#fff;border-top:5px solid var(--rose);border-radius:8px;padding:34px;box-shadow:var(--shadow)}
.support-start-card strong{font:400 1.6rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.support-start-card p{color:#e1e7ea;margin:12px 0 22px}
.resource-jump{position:sticky;top:104px;z-index:10;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 8px 20px rgba(16,39,61,.05)}
.resource-jump .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:thin}
.resource-jump a{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--cream);text-decoration:none;font-size:.84rem;font-weight:750}
.resource-jump a:hover,.resource-jump a:focus-visible{background:var(--rose);color:#fff}
.support-section{scroll-margin-top:175px}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.support-grid-two{grid-template-columns:repeat(2,1fr)}
.support-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:29px;box-shadow:0 8px 25px rgba(16,39,61,.055)}
.support-card-featured{border-top:5px solid var(--rose);padding-top:25px}
.resource-kind{color:var(--rose-dark);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.support-card h3{font:400 1.38rem/1.22 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.65em 0 .4em}
.support-card p{color:var(--muted);margin:0 0 20px;flex:1}
.support-card .text-link,.support-card .button{margin-top:auto}
.support-safety{max-width:920px;margin-top:36px}
.pemf-download-prompt{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:34px;padding:30px;border:1px solid var(--line);border-top:5px solid var(--rose);border-radius:8px;background:var(--cream)}
.pemf-download-prompt h2{font:400 1.65rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:.35em 0}
.pemf-download-prompt p{margin:0;color:var(--muted);max-width:700px}
.pemf-download-prompt .button{flex:0 0 auto}
@media(max-width:900px){.support-hero-grid{grid-template-columns:1fr;gap:34px}.support-grid{grid-template-columns:repeat(2,1fr)}.resource-jump{top:92px}}
@media(max-width:650px){.support-grid,.support-grid-two{grid-template-columns:1fr}.support-hero{padding:60px 0}.support-start-card{padding:27px}.pemf-download-prompt{align-items:flex-start;flex-direction:column;gap:22px}.pemf-download-prompt .button{width:100%}.resource-jump{position:static}}

.resource-link,.video-resource-link{display:inline-flex;align-items:center;gap:9px}
.pdf-resource-link:before,.video-resource-link:before{content:"";display:inline-block;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain}
.pdf-resource-link:before{width:18px;height:21px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M3 1h12l6 6v20H3z' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath d='M15 1v7h6' fill='none' stroke='white' stroke-width='2'/%3E%3Ctext x='5' y='21' font-family='Arial' font-size='7' font-weight='700' fill='white'%3EPDF%3C/text%3E%3C/svg%3E")}
.video-resource-link:before{width:24px;height:17px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20'%3E%3Crect width='28' height='20' rx='5' fill='%23ff0033'/%3E%3Cpath d='M11 5l9 5-9 5z' fill='white'/%3E%3C/svg%3E")}
.arterial-test-fee{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.arterial-test-fee span{font-weight:700}.arterial-test-fee strong{color:#ffa781;font:400 2rem/1 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.price-cardiovascular-section{background:linear-gradient(135deg,#f1f2f0,#fff)}
.price-cardiovascular-section .price-card{min-height:270px}

/* Privacy notice and data-minimised contact form */
.privacy-hero{padding-bottom:58px}
.privacy-updated{margin:26px 0 0;color:var(--muted);font-size:.88rem;font-weight:700}
.privacy-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:70px;align-items:start}
.privacy-contents{position:sticky;top:135px;display:grid;gap:3px;padding:24px;border:1px solid var(--line);border-top:4px solid var(--rose);border-radius:8px;background:var(--cream)}
.privacy-contents strong{margin-bottom:8px;font:400 1.2rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.privacy-contents a{padding:6px 0;color:var(--muted);font-size:.87rem;text-decoration:none}
.privacy-contents a:hover{color:var(--rose-dark)}
.privacy-content{max-width:820px}
.privacy-content section{scroll-margin-top:140px;padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--line)}
.privacy-content section:last-child{border-bottom:0}
.privacy-content h2{font:400 clamp(1.75rem,3vw,2.35rem)/1.15 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:0 0 18px}
.privacy-content h3{font:400 1.35rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif;margin:28px 0 10px}
.privacy-content li{margin:8px 0}.privacy-content address{font-style:normal}
.privacy-table-wrap{overflow-x:auto;margin:24px 0}
.privacy-table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.5}
.privacy-table th,.privacy-table td{padding:14px;text-align:left;vertical-align:top;border:1px solid var(--line)}
.privacy-table th{background:var(--navy);color:#fff}
.contact-enquiry-form>p:first-of-type{margin-top:-5px;color:var(--muted)}
.field label span{font-weight:400;color:var(--muted)}
.contact-health-warning{display:grid;gap:3px;margin:4px 0 18px;padding:16px 18px;border-left:4px solid var(--rose);background:#fff}
.contact-health-warning span{color:var(--muted);font-size:.88rem}
.privacy-check{display:flex;align-items:flex-start;gap:11px;margin:4px 0 22px;font-size:.88rem}
.privacy-check input{flex:0 0 auto;margin-top:5px}.privacy-check a{color:var(--rose-dark);font-weight:700}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-preview-note{margin:18px 0 0}
@media(max-width:850px){.privacy-layout{grid-template-columns:1fr;gap:42px}.privacy-contents{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-contents strong{grid-column:1/-1}}
@media(max-width:520px){.privacy-contents{grid-template-columns:1fr}.privacy-table{font-size:.82rem}.privacy-table th,.privacy-table td{padding:10px}}

/* Shop and recommended products */
.shop-hero{padding:76px 0;background:linear-gradient(125deg,var(--cream),#fff 62%,#edf2f0)}
.shop-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:70px;align-items:center}
.shop-hero h1{max-width:780px;margin:.2em 0;font:400 clamp(2.8rem,6vw,5.4rem)/.98 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.shop-hero .lead{max-width:710px;color:var(--muted)}
.shop-hero-note{padding:28px;border-top:5px solid var(--rose);border-radius:8px;background:#fff;box-shadow:0 16px 45px rgba(16,39,61,.09)}
.shop-hero-note strong{font:400 1.3rem/1.2 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.shop-hero-note p{margin:12px 0 0;color:var(--muted);font-size:.9rem}
.shop-grid{display:grid;grid-template-columns:1fr;gap:28px}
.shop-card{position:relative;display:grid;grid-template-columns:minmax(320px,42%) minmax(0,1fr);min-height:330px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 34px rgba(16,39,61,.06);overflow:hidden}
.shop-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--rose),#f39a68)}
.shop-card-image{display:grid;place-items:center;width:100%;height:100%;min-height:330px;background:var(--cream);overflow:hidden}
.shop-card-image img{display:block;width:100%;height:100%;max-height:330px;padding:28px;box-sizing:border-box;object-fit:contain}
.shop-card-image-product{display:grid;place-items:center;background:#fff}
.shop-card-image-product img{padding:22px}
.shop-card-content{display:flex;flex-direction:column;align-items:flex-start;padding:42px 46px 40px}
.shop-card-number{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border-radius:50%;background:var(--cream);color:var(--rose-dark);font:700 1.05rem "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.shop-card h2{margin:.3em 0 .55em;font:400 clamp(1.7rem,3vw,2.35rem)/1.1 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.shop-card p:not(.eyebrow){max-width:610px;margin:0 0 26px;color:var(--muted)}
.shop-card .button{margin-top:auto}
.shop-disclosure{max-width:850px;padding-left:30px;border-left:5px solid var(--rose)}
.shop-disclosure h2{margin-top:0;font:400 clamp(1.65rem,3vw,2.25rem)/1.15 "Avenir Next","Century Gothic","Trebuchet MS",sans-serif}
.shop-disclosure p{margin-bottom:0;color:var(--muted)}
@media(max-width:850px){.shop-hero-grid{grid-template-columns:1fr;gap:34px}.shop-card{grid-template-columns:minmax(250px,38%) minmax(0,1fr)}.shop-card-content{padding:36px 34px}}
@media(max-width:650px){.shop-card{grid-template-columns:1fr}.shop-card-image{height:260px;min-height:260px}.shop-card-image img{max-height:260px;padding:22px}.shop-card-content{padding:32px 28px 30px}}
@media(max-width:560px){.shop-hero{padding:55px 0}.shop-card{min-height:0}.shop-card-image{height:230px;min-height:230px}.shop-card-image img{max-height:230px}}
