/* Marketing adaptation of Co-Aid Keshev, approved source docs/design.md (8 Oct 2026). */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;scroll-padding-bottom:110px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;text-wrap:pretty}
h1{font-size:clamp(44px,5.2vw,72px);line-height:1.12}
h2{font-size:clamp(34px,3.5vw,48px);line-height:1.2}
h3{font-size:29px;line-height:1.3}
p{color:var(--ink2)}
a{color:inherit;text-decoration:none}
a:hover{color:var(--seal)}
button{font:inherit;cursor:pointer}
img{display:block;max-width:100%}
svg{flex-shrink:0}
:focus-visible{outline:3px solid var(--seal);outline-offset:5px}
::selection{background:var(--seal-soft);color:var(--ink)}
[hidden]{display:none!important}
.shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;inset-block-start:12px;inset-inline-start:16px;padding:12px 24px;background:var(--ink);color:var(--bg);z-index:10001;transform:translateY(-180%);border-radius:999px}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand strong{display:block;font:400 24px/1.2 var(--serif)}
.brand small{display:block;font-size:13px;color:var(--ink2);line-height:1.5}
.nav nav,.nav-links{display:flex;align-items:center;gap:24px;font-size:16px}
.nav nav a:not(.btn){min-height:44px;display:inline-flex;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 26px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--bg);font:600 16px/1.4 var(--sans);text-align:center}
.btn:hover{background:var(--ink2);border-color:var(--ink2);color:var(--bg)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
.text-link{color:var(--seal);text-decoration:underline;text-underline-offset:5px}
.menu-toggle{display:none;min-width:48px;min-height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}
.mobile-nav{border-top:1px solid var(--line);padding:16px 24px;background:var(--surface)}
.mobile-nav a{display:block;padding:12px;border-bottom:1px solid var(--hair);font-size:20px}
.hero{padding:64px 0 28px}
.hero-grid{display:grid;grid-template-columns:1.1fr .82fr;gap:70px;align-items:center}
.eyebrow,.kicker{color:var(--seal);font-size:15px;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:"";width:22px;height:22px;border:1.5px solid var(--seal);border-radius:50%;flex-shrink:0}
.hero h1 span{color:var(--seal)}
.hero .lede{font-size:21px;line-height:1.65;max-width:43ch;margin-top:26px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-portrait{margin:0;position:relative}
.hero-portrait img{width:100%;height:490px;object-fit:cover;object-position:50% 38%;border-radius:120px 120px 28px 28px}
.hero-portrait figcaption{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink2);padding:16px 8px 0}
.hero-portrait figcaption span:first-child{font-weight:600}
.facts{display:flex;flex-wrap:wrap;gap:12px 36px;padding:24px 0;margin-top:34px;border-block:1px solid var(--line);font-size:16px;color:var(--ink2)}
.facts span{display:flex;align-items:center;gap:9px}
.facts span::before{content:"";width:5px;height:5px;border:1px solid var(--seal);border-radius:50%}
.section{padding:78px 0}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:36px}
.section-head p{max-width:50ch}
.section-head .kicker{margin-bottom:14px}
.routes-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.route-card{padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.route-card p{margin:14px 0 26px;max-width:45ch}
.route-card .meta-line{font-size:14px;color:var(--seal);margin-bottom:16px}
.route-card .arrow{display:block;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;text-align:center;line-height:40px;margin-top:20px}
.route-card:hover{border-color:var(--seal);color:var(--ink)}
.care-grid,.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.service{border-top:1px solid var(--line);padding:24px 0 30px}
.service p{font-size:17px;line-height:1.7;margin-top:12px}
.service .number{font-size:14px;color:var(--seal);display:block;margin-bottom:16px;font-variant-numeric:tabular-nums}
.ceramic{background:radial-gradient(ellipse at 18% 12%,var(--ceramic2),var(--ceramic) 70%);color:var(--on-ceramic);border-radius:28px;padding:48px}
.ceramic .kicker,.ceramic p{color:var(--on-ceramic2)}
.ceramic h2,.ceramic h3{color:var(--on-ceramic)}
.ceramic .btn{background:var(--on-ceramic);color:var(--ceramic);border-color:var(--on-ceramic)}
.ceramic .btn.ghost{background:transparent;color:var(--on-ceramic);border-color:#6d6962}
.ceramic .service{border-color:#494744}
.ceramic .service .number{color:var(--on-ceramic2)}
.forensic-top{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;margin-bottom:36px}
.forensic-top p{margin-top:20px}
.ring-art{width:140px;height:140px;border:1.5px solid #5d5952;border-radius:50%;display:grid;place-items:center;justify-self:end;align-self:center}
.ring-art::after{content:"";width:102px;height:102px;border:2px solid var(--on-ceramic);border-radius:50%}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.step{border-inline-start:1px solid var(--line);padding-inline-start:24px}
.step b{display:block;font:400 29px/1.3 var(--serif);margin:12px 0}
.step .number{font-size:14px;color:var(--seal)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.acard,.article-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hair);border-radius:22px;padding:26px;min-height:235px}
.acard .tag,.article-card .tag{color:var(--seal);font-size:14px;margin-bottom:18px}
.acard h4,.article-card h4{font-size:28px;line-height:1.28}
.acard p,.article-card p{font-size:16px;margin-top:12px}
.acard .more,.article-card .more{color:var(--seal);font-size:15px;margin-top:auto;padding-top:20px}
.acard:hover{border-color:var(--seal);color:var(--ink)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding-block:48px;border-block:1px solid var(--line)}
.about-copy p+p{margin-top:18px}
.languages{margin-top:24px;color:var(--seal);display:flex;gap:24px}
.reviews-band{padding:28px 32px;background:var(--surface2);border-radius:22px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.reviews-band p{font-size:17px;margin-top:8px}
.publication-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.publication-list a{display:block;border-top:1px solid var(--line);padding:22px 0}
.publication-list small{color:var(--seal);font-size:14px}
.publication-list h3{font-size:25px;margin-top:8px}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;padding:20px 0;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;min-height:60px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:26px;font-weight:400;color:var(--seal)}
details[open] summary::after{content:"−"}
details p{padding-bottom:22px}
.contact-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;padding:44px;background:var(--surface);border:1px solid var(--line);border-radius:28px}
.contact-panel p{margin-top:18px}
.contact-details{display:flex;flex-direction:column;gap:18px;justify-content:center}
.contact-detail{border-bottom:1px solid var(--line);padding-bottom:18px}
.contact-detail small{display:block;font-size:14px;color:var(--ink3)}
.contact-detail strong{font-size:20px;font-weight:500;display:block}
.note{font-size:15px;color:var(--ink2);line-height:1.65}
.urgent{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:15px}
.site-footer,footer{padding:34px 0;color:var(--ink2);font-size:15px}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.footer-links a,.footer-links button{min-height:44px;display:inline-flex;align-items:center}
.site-footer .note{margin-top:16px}
.footer-links button{background:none;border:0;color:inherit;padding:0}
.floating-contact{display:none}
.campaign .hero{padding-top:52px}
.campaign .hero-portrait img{height:450px}
.campaign .hero h1{font-size:clamp(43px,5vw,68px)}
.campaign .hero h1 span{display:block}
.campaign .section{padding-block:64px}
.legal .hero-grid{grid-template-columns:1.2fr .8fr}
.accessibility-note{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.article-page main.wrap{max-width:780px;padding:0 24px;margin-inline:auto}
.article-page .crumb{font-size:15px;color:var(--ink2);padding-top:36px}
.article-page .kicker{margin-top:28px;margin-bottom:18px}
.article-page h1{font-size:clamp(40px,4.4vw,59px)}
.article-page .meta{font-size:15px;display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:24px;color:var(--ink2)}
.article-page .lead{font:400 26px/1.6 var(--serif);margin-top:30px;padding-inline-start:24px;border-inline-start:2px solid var(--seal)}
.article-toc{margin:32px 0;padding:24px 28px;background:var(--surface);border:1px solid var(--hair);border-radius:22px}
.article-toc h2{font:600 16px var(--sans);margin-bottom:12px}
.article-toc ol{margin:0;padding-inline-start:24px}
.article-toc a{display:inline-block;padding:7px 0;text-decoration:underline;text-underline-offset:4px}
.article-page article h2{font-size:34px;margin:44px 0 18px;scroll-margin-top:110px}
.article-page article p{font-size:20px;line-height:1.85;margin-bottom:20px}
.article-page .faq-h{font-size:34px;margin:44px 0 18px}
.article-page .author{display:flex;gap:18px;align-items:center;border-block:1px solid var(--line);padding:24px 0;margin-top:48px}
.author img{width:72px;height:72px;object-fit:cover;object-position:50% 30%;border-radius:50%}
.author b{display:block;font:400 26px var(--serif)}
.author span{font-size:16px;color:var(--ink2)}
.article-page .cta{border-radius:22px;padding:28px;background:var(--surface2);margin-top:28px}
.cta b{font:400 30px var(--serif);display:block}
.cta p{margin:12px 0 20px}
.rel-h{margin-top:40px;margin-bottom:16px;color:var(--seal);font-size:16px}
.rel{display:block;border-top:1px solid var(--line);padding:18px 0;font:400 25px/1.4 var(--serif)}
.rel span{display:block;font:600 14px var(--sans);color:var(--seal);margin-bottom:8px}
.disc{font-size:15px;margin-top:32px}
.article-page footer{text-align:center;padding:32px 24px}
.article-page .fwa{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.payment-panel{padding:28px 0;border-bottom:1px solid var(--line)}
.payment-panel h3{margin-bottom:16px}
.payment-panel p{max-width:76ch;margin-bottom:20px;font-size:17px}
.booking-shortcut{display:inline-block;margin-top:20px;text-decoration:underline;text-underline-offset:4px;font-size:16px;min-height:44px;padding-block:10px}
.booking-panel{padding:36px;margin-top:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface);scroll-margin-block:110px}
.booking-panel h3{margin:12px 0 16px}
.booking-panel p{max-width:78ch;margin-bottom:20px}
.booking-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.booking-option{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--bg);min-height:136px}
.booking-option:hover{border-color:var(--seal);background:var(--surface2)}
.booking-option strong{font-size:20px;line-height:1.4}
.booking-option span{font-size:15px;color:var(--ink2)}
.booking-panel .note{margin-bottom:0}

@media(max-width:1050px){.nav-links{gap:16px}
.nav-links .optional{display:none}
.hero-grid{gap:36px}
.hero-portrait img{height:450px}
.hero h1{font-size:58px}
}

@media(max-width:780px){html{scroll-padding-top:84px}
.shell{width:calc(100% - 40px)}
.nav{min-height:76px;gap:14px}
.brand strong{font-size:23px}
.brand small{font-size:12px}
.brand img{width:36px;height:36px}
.nav .nav-links{display:none}
.menu-toggle{display:block}
.hero,.campaign .hero{padding-top:36px}
.hero-grid,.legal .hero-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}
.hero h1,.campaign .hero h1{font-size:clamp(41px,10vw,56px)}
.eyebrow{font-size:14px;gap:10px;margin-bottom:20px}
.hero .lede{font-size:19px;margin-top:20px}
.actions{margin-top:24px}
.hero-portrait{max-width:450px;margin-inline:auto;width:100%}
.hero-portrait img,.campaign .hero-portrait img{height:365px;object-position:50% 32%;border-radius:90px 90px 22px 22px}
.hero-portrait figcaption{font-size:13px}
.facts{gap:8px 20px;font-size:15px;margin-top:26px;padding:18px 0}
.section,.campaign .section{padding:48px 0}
.section-head,.forensic-top,.about-grid,.faq-layout,.contact-panel{grid-template-columns:1fr;gap:22px}
.section-head{margin-bottom:26px}
.routes-grid{grid-template-columns:1fr;gap:16px}
.route-card{padding:26px}
.care-grid,.grid3,.article-grid{grid-template-columns:1fr 1fr;gap:0 22px}
.article-grid{gap:16px}
.acard,.article-card{padding:22px}
.acard h4,.article-card h4{font-size:26px}
.steps{grid-template-columns:1fr;gap:28px}
.ceramic{padding:30px 24px;border-radius:24px}
.ring-art{display:none}
.ceramic .care-grid{grid-template-columns:1fr}
.about-grid{padding-block:32px}
.reviews-band{padding:26px;align-items:flex-start;flex-direction:column}
.publication-list{grid-template-columns:1fr}
.contact-panel{padding:28px 24px}
.contact-details{margin-top:10px}
.footer-top{flex-direction:column}
.site-footer{padding-bottom:90px}
.floating-contact{display:flex;position:fixed;bottom:12px;inset-inline:20px;z-index:50;gap:8px;background:var(--bg);padding:8px;border:1px solid var(--line);border-radius:999px}
.floating-contact .btn{flex:1;min-height:44px;padding:8px 16px}
.article-page .nav nav{gap:14px;font-size:14px}
.article-page .nav .btn{padding:9px 18px;font-size:14px}
.article-page .brand small{display:none}
.article-page .brand strong{font-size:21px}
.article-page .brand img{width:30px;height:30px}
.article-page main.wrap{padding:0 22px}
.article-page .lead{font-size:25px}
.article-page article p{font-size:19px}
.article-page .author{align-items:flex-start}
.article-page .nav nav>a:first-child{display:none}
}

@media(max-width:480px){.care-grid,.grid3,.article-grid{grid-template-columns:1fr}
.article-card,.acard{min-height:180px}
.hero .actions>.btn{flex:1;padding-inline:14px}
.contact-panel .actions{flex-direction:column}
.section h2{font-size:36px}
.hero-portrait img,.campaign .hero-portrait img{height:340px}
.hero-portrait figcaption{padding-inline:0}
.service{padding-bottom:24px}
.footer-links{gap:10px 18px}
.article-page .nav{gap:8px}
.article-page .brand{gap:8px}
}

.policy-page main{max-width:860px;margin:auto;padding:56px 24px}
.policy-page .nav{max-width:1100px;margin:auto;padding:0 24px}
.policy-page h2{font-size:30px;margin:38px 0 16px}
.policy-page p{margin:16px 0}
.policy-page .notice{background:var(--surface);padding:24px;border-radius:22px;margin:24px 0}
.policy-page table{width:100%;border-collapse:collapse;font-size:16px;margin:24px 0}
.policy-page th,.policy-page td{padding:16px;border:1px solid var(--line);text-align:start}
.policy-page th{background:var(--surface2)}
.policy-page a:not(.brand){text-decoration:underline;text-underline-offset:4px}
.policy-page footer{text-align:center;border-top:1px solid var(--line)}
.thanks-page{display:grid;place-items:center;min-height:100dvh;text-align:center;padding:30px}
.thanks-page h1{font-size:42px}
.thanks-page p{margin:24px 0}
.policy-page .updated{font-size:15px;color:var(--ink2)}

@media(max-width:620px){.policy-page table,.policy-page tbody,.policy-page tr,.policy-page td{display:block}
.policy-page thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.policy-page td{border-bottom:0}
.policy-page tr{margin:20px 0;border-bottom:1px solid var(--line)}
.policy-page .nav{gap:12px}
.policy-page .brand{font-size:18px}
.policy-page .back{font-size:14px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

@media(max-width:780px){.booking-panel{padding:24px}.booking-options{grid-template-columns:1fr}.booking-option{min-height:104px;padding:20px;gap:12px}}
