/* ==========================================================================
   Beauty Pharm Supply Clinic — editorial luxe design system
   Neutral, restrained, high-end. Ivory · espresso · taupe · whisper of rose.
   ========================================================================== */

:root{
  --ink:#282320;          /* warm espresso — headings, primary buttons */
  --ink-2:#5b544c;        /* body text (AA on white/cream) */
  --ink-3:#8c8377;        /* muted / meta */
  --bg:#ffffff;
  --cream:#f7f3ec;        /* warm ivory section */
  --sand:#efe8db;
  --line:#e9e2d6;
  --line-2:#ddd4c5;
  --deep:#211d1a;         /* near-black warm — dark sections, footer */
  --deep-soft:#c3bab0;    /* text on deep */
  --rose:#b47f88;         /* muted dusty rose — sparing accent */
  --rose-ink:#8f5560;     /* accent text (small) */
  --gold:#a98a52;
  --radius:4px;
  --radius-lg:6px;
  --maxw:1280px;
  --shadow-sm:0 2px 14px rgba(40,35,32,.05);
  --shadow:0 26px 60px -34px rgba(40,35,32,.30);
  --shadow-lg:0 40px 90px -40px rgba(40,35,32,.4);
  --ease:cubic-bezier(.22,1,.36,1);
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --pad:clamp(76px,10vw,150px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink-2);background:var(--bg);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
svg{flex-shrink:0}
::selection{background:var(--ink);color:var(--cream)}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:0}

/* ---- Type ---- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.display{font-size:clamp(2.7rem,5vw,5rem);font-weight:270;line-height:1.02;letter-spacing:-.03em}
h2{font-size:clamp(2rem,3.6vw,3.1rem);font-weight:290}
h3{font-size:clamp(1.3rem,2vw,1.7rem)}
h4{font-size:1.1rem}
p{color:var(--ink-2)}
p+p{margin-top:1em}
.lead{font-size:clamp(1.12rem,1.5vw,1.32rem);line-height:1.6;color:var(--ink-2);font-weight:340}
.eyebrow{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--rose-ink)}
strong{color:var(--ink);font-weight:600}
em{font-style:italic}

/* ---- Layout ---- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(22px,5vw,60px)}
.section{padding:var(--pad) 0}
.section-sm{padding:clamp(48px,6vw,88px) 0}
.narrow{max-width:720px}
.mid{max-width:920px}
.center{text-align:center;margin-inline:auto}
.warm{background:var(--cream)}
.deep{background:var(--deep);color:#fff}
.deep h1,.deep h2,.deep h3{color:var(--cream)}
.deep p,.deep .lead{color:var(--deep-soft)}
.deep .eyebrow{color:#cf9aa4}
.mt-1{margin-top:12px}.mt-2{margin-top:22px}.mt-3{margin-top:36px}.mt-4{margin-top:52px}
.grid{display:grid;gap:clamp(20px,2.4vw,36px)}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:16px 30px;border-radius:2px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);cursor:pointer;transition:.4s var(--ease);white-space:nowrap}
.btn:hover{background:transparent;color:var(--ink);transform:translateY(-1px)}
.btn svg{width:15px;height:15px;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-light{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.btn-light:hover{background:transparent;color:var(--cream)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.deep .btn-ghost{color:var(--cream);border-color:rgba(255,255,255,.32)}
.deep .btn-ghost:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.link-arrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);transition:gap .3s var(--ease)}
.link-arrow svg{width:14px;height:14px}
.link-arrow:hover{gap:15px;color:var(--rose-ink)}

/* ---- Header ---- */
.header{position:fixed;inset:0 0 auto 0;z-index:100;transition:.4s var(--ease);background:rgba(255,255,255,.8);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border-bottom:1px solid transparent}
.header.solid{background:rgba(255,255,255,.94);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:82px}
.brand{display:flex;align-items:center}
.brand img{height:32px;width:auto}
.navlinks{display:flex;align-items:center;gap:0;list-style:none}
.navlinks>li{position:relative}
.navlinks>li>a{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink);transition:.2s;white-space:nowrap}
.navlinks>li>a:hover,.navlinks>li:focus-within>a{color:var(--rose-ink)}
.navlinks .caret{width:9px;height:9px;opacity:.55}
.dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(8px);min-width:280px;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow);padding:12px;opacity:0;visibility:hidden;transition:.26s var(--ease)}
.navlinks>li:hover .dropdown,.navlinks>li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown a{display:block;padding:9px 14px;border-radius:3px;font-size:13.5px;color:var(--ink-2);transition:.16s;white-space:nowrap}
.dropdown a:hover{background:var(--cream);color:var(--ink)}
.dropdown .dd-head{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);padding:6px 14px 8px;font-weight:600}
.dropdown svg{width:12px;height:12px;display:inline-block;vertical-align:middle;margin-left:4px}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .btn{padding:12px 22px}
.burger{display:none;width:28px;height:18px;position:relative;background:none;border:0;cursor:pointer}
.burger span{position:absolute;left:0;height:1.5px;width:100%;background:var(--ink);transition:.34s var(--ease)}
.burger span:nth-child(1){top:1px}.burger span:nth-child(2){top:8px}.burger span:nth-child(3){top:15px}
body.menu-open .burger span:nth-child(1){top:8px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:8px;transform:rotate(-45deg)}

/* ---- Mobile drawer ---- */
.drawer{position:fixed;inset:82px 0 0 0;background:var(--bg);z-index:99;padding:24px clamp(22px,5vw,60px) 120px;overflow-y:auto;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.32s var(--ease)}
body.menu-open .drawer{opacity:1;transform:none;pointer-events:auto}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;cursor:pointer;font-family:var(--serif);font-weight:300;font-size:1.5rem;padding:18px 0;display:flex;justify-content:space-between;align-items:center}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary .caret{width:13px;height:13px;transition:.25s}
.drawer details[open] summary .caret{transform:rotate(180deg)}
.drawer .sub{padding:0 0 16px}
.drawer .sub a{display:block;padding:9px 0 9px 4px;color:var(--ink-2);font-size:15px}
.drawer>a{display:block;font-family:var(--serif);font-weight:300;font-size:1.5rem;padding:18px 0;border-bottom:1px solid var(--line)}
.drawer .btn{width:100%;justify-content:center;margin-top:26px}

/* ---- Sticky mobile booking bar ---- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.mobile-cta .btn{flex:1;justify-content:center;padding:14px}
.mobile-cta .call{flex:0 0 52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:2px;color:var(--ink)}
.mobile-cta .call svg{width:20px;height:20px}

/* ---- Hero (editorial split, light) ---- */
.hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:100svh;background:var(--cream);position:relative}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:124px clamp(28px,4.8vw,90px) 72px;width:100%;max-width:720px;margin-left:auto}
.hero-content .eyebrow{color:var(--rose-ink)}
.hero-content h1{margin-top:22px;font-size:clamp(2.7rem,4.6vw,4.9rem);line-height:1.0;letter-spacing:-.035em;font-weight:260}
.hero-content .lead{margin-top:24px;max-width:510px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;margin-top:44px;padding-top:30px;border-top:1px solid var(--line-2);max-width:520px;list-style:none}
.hero-trust li{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.02em;color:var(--ink-2)}
.hero-trust li::before{content:"";width:16px;height:1px;background:var(--rose);flex-shrink:0}
.hero-media{position:relative;overflow:hidden;background:var(--sand)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 26%;filter:saturate(.9)}

/* interior page hero */
.phero{padding:140px 0 clamp(56px,7vw,96px)}
.phero .display{max-width:17ch}
.phero .lead{margin-top:20px;max-width:640px}

/* ---- Trust bar ---- */
.trustbar{background:var(--deep);color:var(--cream)}
.trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 52px;padding:26px 0}
.trustbar div{display:flex;align-items:center;gap:12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-soft)}
.trustbar div::before{content:"";width:16px;height:1px;background:var(--rose);flex-shrink:0}

/* ---- Breadcrumbs ---- */
.crumbs{padding:104px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:9px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a:hover{color:var(--rose-ink)}
.crumbs li+li::before{content:"/";margin-right:9px;color:var(--line-2)}

/* ---- Concern cards (photographic, editorial) ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,34px)}
.ccard{position:relative;display:flex;flex-direction:column;background:var(--bg);transition:.5s var(--ease);text-decoration:none}
.ccard-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.ccard-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);filter:saturate(.92)}
.ccard:hover .ccard-media img{transform:scale(1.05)}
.ccard-body{padding:22px 2px 0;display:flex;flex-direction:column;flex:1}
.ccard-num{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--rose);margin-bottom:6px}
.ccard-body h3{font-size:1.28rem;margin-bottom:8px}
.ccard-body p{font-size:14px;color:var(--ink-3);flex:1;line-height:1.6}
.ccard-body .link-arrow{margin-top:18px}
.ccard.solid{background:var(--deep);padding:34px 30px;justify-content:center}
.ccard.solid .ccard-body{padding:0}
.ccard.solid h3{color:var(--cream)}.ccard.solid p{color:var(--deep-soft)}
.ccard.solid .link-arrow{color:var(--cream)}

/* ---- Image + text split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5.5vw,96px);align-items:center}
.split.rev .sm{order:2}
.sm{overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.sm img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.sb{max-width:520px}

/* ---- Process steps ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.step{padding:34px 28px 34px 0;border-top:1px solid var(--line-2)}
.step .n{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--rose);line-height:1;display:block;margin-bottom:16px}
.step h3{font-size:1.18rem;margin-bottom:9px}
.step p{font-size:14px;color:var(--ink-3);line-height:1.6}

/* ---- Feature blocks (no icons — editorial) ---- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.4vw,56px)}
.feat{border-top:1px solid var(--line-2);padding-top:24px}
.feat .fk{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--rose);display:block;margin-bottom:14px}
.feat h3{font-size:1.3rem;margin-bottom:11px}
.feat p{font-size:15px;line-height:1.65}

/* ---- Practitioner ---- */
.pract{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,4.5vw,80px);align-items:center}
.pract .pimg{overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.pract .pimg img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.92)}
.credlist{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;list-style:none}
.credlist li{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-2);border:1px solid var(--line-2);padding:9px 15px;border-radius:2px}

/* ---- Checklist ---- */
.checklist{list-style:none;display:grid;gap:15px}
.checklist li{position:relative;padding-left:28px;color:var(--ink-2)}
.checklist li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:1px;background:var(--rose)}

/* ---- Quote band ---- */
.qband{text-align:center}
.qband blockquote{font-family:var(--serif);font-weight:270;font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1.25;letter-spacing:-.02em;max-width:980px;margin-inline:auto}
.qband cite{display:block;margin-top:30px;font-style:normal;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.deep .qband cite{color:var(--deep-soft)}

/* ---- FAQ ---- */
.faq{border-top:1px solid var(--line-2);max-width:840px}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:26px 0;font-family:var(--serif);font-weight:300;font-size:clamp(1.15rem,1.8vw,1.5rem);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex-shrink:0;width:16px;height:16px;position:relative;margin-top:8px}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--rose);transition:.3s var(--ease)}
.faq summary .pm::before{top:7px;left:0;width:16px;height:1px}
.faq summary .pm::after{left:7px;top:0;width:1px;height:16px}
.faq details[open] summary .pm::after{transform:scaleY(0)}
.faq .fa{padding:0 0 26px;max-width:730px}
.faq .fa p{font-size:15.5px;color:var(--ink-2)}
.faq .fa p+p{margin-top:.8em}

/* ---- Location ---- */
.loc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,64px);align-items:center}
.locinfo dl{display:grid;gap:20px;margin-top:28px}
.locinfo dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-ink);font-weight:700;margin-bottom:6px}
.locinfo dd{font-size:16px;color:var(--ink)}
.locinfo dd a:hover{color:var(--rose-ink)}
.map{overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--sand)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.25) contrast(.95)}

/* ---- Forms ---- */
.form{display:grid;gap:20px;max-width:600px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
.field .req{color:var(--rose-ink)}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:14px 16px;min-height:52px;transition:.2s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.consent input{width:19px;height:19px;margin-top:2px;flex-shrink:0;accent-color:var(--ink)}
.form-note{font-size:13px;color:var(--ink-3)}
.form-status{display:none;padding:15px 17px;border-radius:2px;font-size:15px}
.form-status.ok{display:block;background:#eef3ee;color:#3c5c41;border:1px solid #cfe0d1}
.form-status.err{display:block;background:#f7edec;color:#8a4b46;border:1px solid #e6cfcb}

/* ---- Disclaimer ---- */
.disclaimer{background:var(--cream);border:1px solid var(--line);border-left:2px solid var(--rose);padding:22px 24px}
.disclaimer p{font-size:13px;color:var(--ink-3);line-height:1.65}
.reviewed{font-size:12px;color:var(--ink-3);letter-spacing:.02em}

/* ---- Related ---- */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rcard{display:block;padding:26px 0 0;border-top:1px solid var(--line-2);transition:.3s var(--ease)}
.rcard:hover{border-color:var(--ink)}
.rcard .rk{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-ink);font-weight:700}
.rcard h4{font-family:var(--serif);font-weight:300;font-size:1.25rem;margin:10px 0 0}

/* ---- Article ---- */
.article{max-width:720px;margin-inline:auto}
.article .dek{font-size:1.24rem;color:var(--ink-2);line-height:1.5;font-weight:340}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.prose h2{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:48px 0 16px}
.prose h3{font-size:1.35rem;margin:32px 0 10px}
.prose p{font-size:17px;line-height:1.78;margin-bottom:18px}
.prose ul{margin:0 0 20px 2px;padding-left:20px}
.prose li{font-size:17px;line-height:1.72;color:var(--ink-2);margin-bottom:9px}
.prose a{color:var(--rose-ink);text-decoration:underline;text-underline-offset:3px}
.postcard{display:flex;flex-direction:column;text-decoration:none;transition:.4s var(--ease)}
.postcard .pc-media{aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.postcard img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1s var(--ease)}
.postcard:hover img{transform:scale(1.04)}
.postcard .pc-body{padding:20px 0 0}
.postcard .rk{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-ink);font-weight:700}
.postcard h3{font-size:1.3rem;margin:9px 0}

/* ---- CTA band ---- */
.ctaband .box{background:var(--deep);padding:clamp(52px,7vw,96px);text-align:center;color:#fff}
.ctaband h2{color:var(--cream)}
.ctaband p{color:var(--deep-soft);max-width:600px;margin:18px auto 0}

/* ---- Footer ---- */
.footer{background:var(--deep);color:var(--deep-soft);padding:clamp(72px,8vw,116px) 0 34px}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.footer .brand img{height:30px}
.footer-brand p{font-size:14px;margin-top:20px;max-width:290px;line-height:1.7}
.footer-col h4{font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#cf9aa4;margin-bottom:18px}
.footer-col ul{list-style:none;display:grid;gap:11px}
.footer-col a{font-size:14px;color:var(--deep-soft);transition:.2s}
.footer-col a:hover{color:var(--cream)}
.footer-disc{margin-top:clamp(52px,6vw,84px);padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.footer-disc p{font-size:12px;color:#948a7f;line-height:1.7;max-width:1000px}
.footer-legal{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}
.footer-legal p,.footer-legal a{font-size:11.5px;letter-spacing:.04em;color:#877d72}
.footer-legal a:hover{color:var(--cream)}

/* ---- 404 ---- */
.e404{min-height:72vh;display:flex;align-items:center;text-align:center}
.e404 .big{font-family:var(--serif);font-style:italic;font-size:clamp(5rem,15vw,10rem);color:var(--rose);line-height:1}

/* ---- Reveal ---- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ---- Responsive ---- */
@media(max-width:1040px){
  .cards,.related,.features{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step{padding-right:22px}
}
@media(max-width:860px){
  body{font-size:16px}
  .navlinks,.nav-cta .btn{display:none}
  .burger{display:block}
  .mobile-cta{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-media{order:-1;height:46vh;min-height:320px}
  .hero-media img{object-position:50% 22%}
  .hero-content{padding:40px clamp(22px,5vw,52px) 52px;max-width:none;margin:0}
  .hero-trust{max-width:none}
  .split,.loc,.pract{grid-template-columns:1fr;gap:32px}
  .split.rev .sm{order:0}
  .sm,.pract .pimg{aspect-ratio:3/2}
  .cards,.related,.features{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step{padding:26px 0}
  .frow{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:520px){
  .footer-top{grid-template-columns:1fr}
  .hero-trust{grid-template-columns:1fr}
}
