@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');
@font-face { font-family:'Panton'; src:local('Panton Regular'),local('Panton'); font-style:normal; font-weight:400; font-display:swap; }
:root { --blue:#1f3d89; --ink:#102251; --ice:#f4f7fc; --line:#dbe3f1; --muted:#68738c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.topline { height:28px; display:flex; align-items:center; justify-content:center; background:var(--blue); color:#fff; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.site-header { height:92px; padding:0 6vw; display:flex; align-items:center; gap:42px; position:relative; z-index:20; background:rgba(255,255,255,.96); border-bottom:1px solid #edf0f6; }
.brand-mark { width:190px; height:58px; background:url('rejuvi-logo-v2.png') center / 190px auto no-repeat; flex:none; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:32px; font-size:13px; letter-spacing:.04em; }
.desktop-nav a,.menu-trigger { background:none; border:0; color:#243254; cursor:pointer; padding:12px 0; }
.menu-trigger span { margin-left:5px; color:#8490a8; }
.header-cta,.primary-button { background:var(--blue); color:#fff; padding:16px 23px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.mobile-toggle { display:none; margin-left:auto; background:none; border:0; font-size:23px; color:var(--blue); }
.mega-menu { position:absolute; top:92px; left:0; right:0; background:#fff; border-top:1px solid var(--line); box-shadow:0 22px 50px rgba(25,45,90,.12); padding:36px 14vw; display:grid; grid-template-columns:1fr 240px; gap:50px; }
.mega-menu>div:first-child { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.mega-menu .eyebrow { grid-column:1/-1; }
.mega-menu a { border-top:1px solid var(--line); padding:20px 0; display:flex; flex-direction:column; gap:8px; }
.mega-menu small { color:var(--muted); }
.mega-visual { background:var(--ice); height:160px; display:flex; align-items:center; justify-content:center; }
.mega-visual img { height:145px; object-fit:contain; }
.hero { min-height:660px; position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:70px 8vw 80px; background:linear-gradient(108deg,#f8fbff 0%,#eef4fc 55%,#e2edfb 100%); }
.hero-copy { max-width:690px; position:relative; z-index:3; }
.eyebrow { color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.hero h1,.section-heading h2 { margin:18px 0 22px; color:#152e67; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(48px,5.1vw,78px); font-weight:400; line-height:.98; letter-spacing:-.04em; }
.hero h1 em { color:var(--blue); font-weight:400; }
.hero-copy>p { max-width:560px; color:#56647f; font-size:16px; line-height:1.7; }
.hero-actions { margin-top:34px; display:flex; align-items:center; gap:30px; }
.text-button { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid #a9b7d2; padding:8px 0; }
.text-button span { margin-left:9px; }
.hero-products { height:520px; position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:center; }
.product-halo { position:absolute; width:440px; height:440px; border-radius:50%; background:rgba(255,255,255,.65); box-shadow:0 20px 90px rgba(31,61,137,.12); bottom:22px; }
.hero-product { position:relative; object-fit:contain; filter:drop-shadow(0 30px 24px rgba(20,43,92,.18)); }
.hero-product-front { width:330px; height:390px; z-index:3; transform:translateX(46px); }
.hero-product-back { width:280px; height:465px; z-index:2; margin-right:-160px; transform:translate(-10px,-22px); opacity:.92; }
.floating-note { position:absolute; right:0; top:105px; background:#fff; padding:15px 20px; display:flex; gap:14px; align-items:center; box-shadow:0 14px 30px rgba(31,61,137,.1); z-index:4; }
.floating-note span { color:#9aa8c2; font-family:Georgia,serif; font-size:24px; }
.floating-note p { margin:0; font-size:10px; line-height:1.55; text-transform:uppercase; letter-spacing:.08em; }
.hero-orb { position:absolute; border:1px solid rgba(31,61,137,.13); border-radius:50%; }
.hero-orb-one { width:540px; height:540px; right:4vw; top:70px; }
.hero-orb-two { width:690px; height:690px; right:-5vw; top:-15px; }
.hero-index { position:absolute; right:4vw; bottom:28px; display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.12em; }
.hero-index span { width:60px; height:1px; background:#91a1c2; }
.care-section,.product-section { padding:110px 7vw; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:80px; margin-bottom:52px; }
.section-heading h2 { font-size:clamp(40px,4.2vw,62px); margin-bottom:0; }
.section-heading>p { max-width:470px; color:var(--muted); line-height:1.75; font-size:14px; margin-bottom:5px; }
.care-grid { display:grid; grid-template-columns:1.18fr 1fr 1fr; gap:18px; }
.care-card { position:relative; height:520px; overflow:hidden; background:#ced8ea; color:#fff; }
.care-card img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.care-card:hover img { transform:scale(1.04); }
.care-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,23,55,.03) 30%,rgba(9,26,64,.82) 100%); }
.care-number { position:absolute; top:24px; right:24px; z-index:2; font-family:Georgia,serif; font-size:18px; }
.care-overlay { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:32px; }
.care-overlay small { letter-spacing:.14em; text-transform:uppercase; }
.care-overlay h3 { font-family:Georgia,serif; font-size:30px; font-weight:400; line-height:1.08; margin:10px 0 24px; }
.care-overlay span { font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.product-section { background:#f7f9fd; }
.section-heading.compact { align-items:center; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.product-card { background:#fff; padding:0 0 28px; }
.product-image { height:380px; background:linear-gradient(145deg,#f0f4fb,#fbfcff); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-image img { width:82%; height:82%; object-fit:contain; transition:transform .5s ease; }
.product-card:hover .product-image img { transform:scale(1.04) translateY(-4px); }
.product-card>small,.product-card>h3,.product-card>a { margin-left:28px; margin-right:28px; }
.product-card>small { display:block; margin-top:24px; color:#7b88a3; text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.product-card>h3 { font-family:Georgia,serif; font-weight:400; font-size:24px; margin-top:10px; margin-bottom:20px; }
.product-card>a { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.product-card>a span { float:right; }
.whatsapp { position:fixed; right:22px; bottom:22px; z-index:30; background:#173b86; color:#fff; padding:13px 18px; border-radius:999px; display:flex; gap:8px; align-items:center; box-shadow:0 10px 30px rgba(24,55,126,.28); font-size:12px; font-weight:700; }
@media (max-width:960px) {
  .site-header { height:76px; padding:0 22px; }.brand-mark{width:150px;background-size:160px auto}.desktop-nav,.header-cta{display:none}.mobile-toggle{display:block}.mega-menu{top:76px;padding:28px 24px;grid-template-columns:1fr}.mega-visual{display:none}
  .hero{grid-template-columns:1fr;padding:70px 24px 40px}.hero-copy{z-index:5}.hero-products{height:420px;margin-top:20px}.hero-product-front{width:270px}.hero-product-back{width:220px}.floating-note{right:10px}.hero-orb-one{right:-35vw}
  .section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:24px}.care-section,.product-section{padding:80px 24px}.care-grid{grid-template-columns:1fr 1fr}.care-card:first-child{grid-column:1/-1}.product-grid{grid-template-columns:1fr 1fr}.section-heading.compact .text-button{display:inline-block;margin-top:20px}
}
@media (max-width:620px) {
  .topline{font-size:8px}.mega-menu>div:first-child{grid-template-columns:1fr}.hero h1{font-size:47px}.hero-copy>p{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-products{height:340px}.hero-product-front{width:220px;height:290px}.hero-product-back{width:180px;height:330px;margin-right:-120px}.floating-note{display:none}.care-grid,.product-grid{grid-template-columns:1fr}.care-card:first-child{grid-column:auto}.care-card{height:430px}.product-image{height:330px}.whatsapp span{display:none}.whatsapp{padding:14px 16px}
}

/* PHP + JSON hosting package additions */
[hidden] { display:none !important; }
.hero-slide { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; min-width:0; }
.hero-slide.is-active { animation:heroIn .8s ease both; }
.admin-auth-page { min-height:100vh; display:grid; place-items:center; padding:32px; background:linear-gradient(135deg,#eef4fc,#dfe8f8); }
.admin-auth-card { width:min(480px,100%); padding:38px; background:#fff; border-top:4px solid var(--blue); box-shadow:0 24px 80px rgba(15,42,99,.18); }
.admin-auth-card .brand-mark { display:block; margin:-18px 0 20px -30px; }
.admin-auth-card>span { color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.16em; }
.admin-auth-card h1 { margin:12px 0; font:400 36px/1.05 Georgia,serif; color:#173575; }
.admin-auth-card p { color:var(--muted); font-size:12px; line-height:1.7; }
.admin-auth-card form { display:flex; flex-direction:column; gap:14px; margin-top:26px; }
.admin-auth-card label { display:flex; flex-direction:column; gap:7px; color:#6d7890; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.admin-auth-card input { width:100%; padding:13px; border:1px solid #dbe3ee; outline:0; color:#20345e; background:#fbfcfe; }
.admin-auth-card input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(31,61,137,.08); }
.admin-auth-card button { padding:14px 18px; border:0; background:var(--blue); color:#fff; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.admin-alert { padding:12px 14px; margin-top:16px; background:#fff0ee; color:#963d34; font-size:11px; line-height:1.5; }
.admin-success { background:#e8f5ef; color:#23664e; }
.admin-runtime-note { margin-top:20px; padding-top:16px; border-top:1px solid #e5eaf2; color:#8792a5; font-size:9px; line-height:1.6; }
.admin-loading { min-height:50vh; display:grid; place-items:center; color:#748198; }
.upload-help { display:block; margin-top:7px; color:#7c899e; font-size:8px; line-height:1.5; }
.save-message.error { color:#a84d43; }.save-message.success { color:#24745a; }
.catalog-card-hidden { display:none; }

@media (max-width:960px) {
  .hero-slide { grid-template-columns:1fr; }
}

/* Shared navigation and homepage */
.mega-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.mega-links>.eyebrow { grid-column:1/-1; margin-bottom:12px; }
.mega-links>a { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid var(--line); padding:18px 0; }
.mega-links>a .mega-item-copy { display:flex; flex:1; flex-direction:column; gap:7px; }
.mega-links.has-protocol-icons>a { justify-content:flex-start; }
.mega-item-icon { width:42px; height:42px; flex:none; object-fit:cover; border-radius:50%; border:1px solid rgba(31,61,137,.16); }
.mega-links .mega-arrow { color:#9aa7c0; }
.mega-links .mega-all { grid-column:1/-1; justify-content:flex-start; gap:10px; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.mega-visual { position:relative; overflow:hidden; }
.mega-visual>img { width:100%; height:100%; object-fit:cover; opacity:.9; }
.mega-visual>div { position:absolute; inset:auto 0 0; padding:20px; color:#fff; background:linear-gradient(transparent,rgba(11,33,83,.9)); display:flex; flex-direction:column; gap:6px; }
.mega-visual>div small { letter-spacing:.14em; font-size:8px; }
.mobile-menu { display:none; }
.hero-media { height:520px; position:relative; z-index:2; display:flex; align-items:center; justify-content:center; }
.hero-media>img,.hero-media>video { position:relative; z-index:2; width:88%; height:88%; object-fit:contain; filter:drop-shadow(0 30px 24px rgba(20,43,92,.18)); }
.hero-media-photo { margin:30px 0; height:470px; overflow:hidden; box-shadow:0 30px 80px rgba(31,61,137,.18); }
.hero-media-photo>img,.hero-media-photo>video { width:100%; height:100%; object-fit:cover; filter:none; }
.hero-media-photo .product-halo { display:none; }
.hero-media-photo:after { content:""; position:absolute; z-index:3; inset:0; background:linear-gradient(90deg,transparent 45%,rgba(19,45,101,.12)); pointer-events:none; }
.hero-animate { animation:heroIn .8s ease both; }
@keyframes heroIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
.slider-dots { position:absolute; left:8vw; bottom:28px; z-index:5; display:flex; gap:7px; }
.slider-dots button { width:25px; height:3px; padding:0; border:0; background:#c5d0e2; cursor:pointer; transition:.3s; }
.slider-dots button.active { width:52px; background:var(--blue); }
.care-grid-full { grid-template-columns:repeat(3,1fr); }
.care-grid-full .care-card { height:470px; }
.care-grid-full .care-card:first-child { grid-column:auto; }
.product-grid-six { grid-template-columns:repeat(3,1fr); }
.product-grid-six .product-card>p,.catalog-grid .product-card>p { margin:0 28px 22px; color:var(--muted); font-size:12px; line-height:1.65; min-height:40px; }
.home-products { background:#fff; }
.home-products .product-card { border:1px solid #e5eaf3; }
.about-section { display:grid; grid-template-columns:1fr 1fr; min-height:760px; background:#173575; color:#fff; }
.about-art { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 48% 52%,#7798d1 0,#325a9f 30%,#173575 67%); }
.about-art:before,.about-art:after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.15); }
.about-art:before { width:600px; height:600px; }.about-art:after { width:420px; height:420px; }
.about-art img { width:58%; height:70%; object-fit:contain; position:relative; z-index:2; filter:drop-shadow(0 30px 28px rgba(2,15,45,.35)); }
.about-art>span { position:absolute; left:35px; bottom:32px; font-size:9px; letter-spacing:.23em; line-height:1.7; color:#c8d7f0; }
.about-water { position:absolute; width:600px; height:150px; bottom:12%; border-radius:50%; border:1px solid rgba(255,255,255,.28); box-shadow:0 0 0 30px rgba(255,255,255,.03),0 0 0 70px rgba(255,255,255,.03); }
.about-copy { align-self:center; padding:90px 8vw 90px 7vw; }
.about-copy .eyebrow { color:#bdd0f1; }
.about-copy h2 { font:400 clamp(42px,4.1vw,64px)/1.05 Georgia,serif; letter-spacing:-.035em; margin:18px 0 30px; }
.about-copy>p { color:#d6e0f1; font-size:15px; line-height:1.85; max-width:650px; }
.about-points { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:46px 0; padding:30px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.about-points>div { display:flex; flex-direction:column; gap:8px; }.about-points strong { font:400 32px Georgia,serif; }.about-points span { color:#bdcbe3; font-size:10px; line-height:1.55; }
.about-copy .primary-button { display:inline-block; background:#fff; color:var(--blue); }
.knowledge-strip { padding:70px 7vw; display:grid; grid-template-columns:auto auto 1fr auto; gap:12px 28px; align-items:center; background:#eef4fc; }
.knowledge-strip>span { font:italic 24px Georgia,serif; }.knowledge-strip>strong { font:400 25px Georgia,serif; color:var(--blue); }.knowledge-strip p { color:var(--muted); font-size:12px; line-height:1.6; }.knowledge-strip a { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.footer { padding:90px 7vw 30px; background:#0d2458; color:#fff; }
.footer-lead { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,.16); }
.footer-lead h2 { margin:14px 0 0; font:400 clamp(38px,4.1vw,60px)/1.03 Georgia,serif; }.eyebrow.light { color:#bed0ef; }
.footer-cta { padding-bottom:10px; border-bottom:1px solid #fff; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.footer-cta span { margin-left:15px; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding:60px 0; }
.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }.footer-grid strong { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#a9bfe5; margin-bottom:7px; }.footer-grid a { font-size:12px; color:#f0f4fb; }.footer-grid p { color:#aab9d2; font-size:12px; line-height:1.7; max-width:260px; }
.brand-mark-light { width:220px; height:70px; margin:0; padding:0; filter:none; background-color:transparent; background-size:210px auto; border:0; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); padding-top:26px; color:#899bb9; font-size:10px; }
.cookie-card { position:fixed; left:22px; bottom:22px; z-index:50; width:min(430px,calc(100vw - 44px)); background:#fff; box-shadow:0 20px 70px rgba(9,28,70,.24); padding:24px; border-top:3px solid var(--blue); }
.cookie-card>div:first-child { display:flex; align-items:center; gap:12px; }.cookie-card h3 { margin:0; font:400 21px Georgia,serif; }.cookie-icon { width:34px; height:34px; border-radius:50%; background:#eaf1fb; display:grid; place-items:center; color:var(--blue); font-size:20px; }.cookie-card p { color:var(--muted); font-size:12px; line-height:1.65; }.cookie-card>a { font-size:10px; font-weight:700; color:var(--blue); text-decoration:underline; }.cookie-actions { display:flex; gap:8px; margin-top:20px; }.cookie-actions button { flex:1; padding:11px 8px; border:1px solid var(--blue); background:#fff; color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }.cookie-actions button:last-child { background:var(--blue); color:#fff; }

/* Inner pages */
.page-hero { padding:100px 8vw 90px; background:linear-gradient(115deg,#f7faff,#eaf1fb); }
.page-hero h1,.about-page-hero h1,.contact-hero h1,.legal-hero h1 { margin:18px 0 24px; font:400 clamp(52px,6.1vw,88px)/.98 Georgia,serif; letter-spacing:-.045em; color:#173575; }.page-hero h1 em,.about-page-hero h1 em { color:var(--blue); font-weight:400; }.page-hero p { max-width:720px; color:var(--muted); font-size:15px; line-height:1.8; }
.catalog-section { padding:65px 7vw 110px; }
.catalog-tools { display:flex; justify-content:space-between; gap:24px; padding:18px; background:#fff; border:1px solid #e5eaf2; box-shadow:0 12px 35px rgba(27,53,110,.06); }
.filter-buttons { display:flex; gap:8px; }.filter-buttons button,.filter-buttons a { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border:1px solid #dfe5ef; background:#fff; border-radius:999px; font-size:11px; color:#536078; cursor:pointer; }.filter-buttons button.active,.filter-buttons a.active { background:var(--blue); color:#fff; border-color:var(--blue); }
.catalog-search-wrap { position:relative; width:min(360px,40vw); }.catalog-search { display:flex; align-items:center; gap:10px; width:100%; padding:0 16px; border:1px solid #e0e5ed; border-radius:999px; }.catalog-search span { color:#8591a7; }.catalog-search input { width:100%; padding:9px 0; border:0; outline:0; color:var(--ink); background:transparent; }.catalog-search:focus-within { border-color:var(--blue); box-shadow:0 0 0 4px rgba(31,61,137,.08); }.search-suggestions { position:absolute; z-index:30; top:calc(100% + 8px); left:0; right:0; overflow:hidden; border:1px solid #dce4ef; background:#fff; box-shadow:0 20px 42px rgba(16,42,94,.16); }.search-suggestions a { display:flex; flex-direction:column; gap:4px; padding:13px 16px; border-bottom:1px solid #edf0f5; color:var(--ink); transition:background .2s; }.search-suggestions a:last-child { border-bottom:0; }.search-suggestions a:hover { background:#f2f6fc; }.search-suggestions strong { font-size:12px; font-weight:700; }.search-suggestions small { color:#7887a0; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.result-count { margin:28px 0 18px; color:#7b869c; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.catalog-grid { grid-template-columns:repeat(4,1fr); }.catalog-grid .product-image { height:310px; }.catalog-grid .product-card { border:1px solid #e9edf4; }.catalog-grid .product-card h2 { font:400 21px/1.15 Georgia,serif; margin:10px 28px 18px; min-height:49px; }.catalog-grid .product-card>p { min-height:60px; }
.empty-state { padding:70px; text-align:center; background:#f5f8fc; display:flex; flex-direction:column; gap:10px; }.empty-state span { color:var(--muted); font-size:12px; }
.detail-hero { min-height:690px; display:grid; grid-template-columns:1.05fr .95fr; background:linear-gradient(135deg,#edf3fb,#fff); }
.detail-image { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }.detail-image:before { content:""; position:absolute; width:76%; height:76%; border-radius:50%; background:rgba(255,255,255,.78); box-shadow:0 30px 80px rgba(31,61,137,.09); }.detail-image img { width:60%; height:70%; object-fit:contain; position:relative; z-index:2; filter:drop-shadow(0 28px 25px rgba(30,55,105,.18)); }.detail-orbit { position:absolute; width:62%; aspect-ratio:1; border:1px solid #cad7eb; border-radius:50%; z-index:1; }
.detail-copy { align-self:center; padding:70px 9vw 70px 4vw; }.breadcrumbs { display:flex; gap:9px; margin-bottom:48px; color:#8792a7; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.detail-copy h1 { font:400 clamp(48px,5vw,72px)/1 Georgia,serif; letter-spacing:-.04em; color:#183777; margin:18px 0 24px; }.detail-lead { color:#5f6d86; line-height:1.75; font-size:15px; }.info-badge { display:flex; gap:12px; align-items:flex-start; padding:16px; margin:28px 0; border-left:2px solid var(--blue); background:#f0f4fa; }.info-badge>span { width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font:italic 14px Georgia,serif; }.info-badge p { margin:2px 0 0; font-size:11px; line-height:1.55; color:#64718a; }.detail-copy .primary-button { display:inline-block; }
.detail-content { padding:100px 10vw; display:grid; grid-template-columns:1.5fr 1fr; gap:12vw; }.detail-content h2,.protocol-detail-content h2,.story-section h2,.contact-note h2 { font:400 clamp(38px,4.2vw,58px)/1.07 Georgia,serif; letter-spacing:-.035em; color:#183777; }.detail-content p,.protocol-detail-content p,.story-section p,.contact-note p { color:#657188; line-height:1.9; font-size:14px; }.detail-content h3 { margin-top:34px; font:400 24px Georgia,serif; }.detail-content aside { display:flex; flex-direction:column; gap:24px; }.detail-content aside>div,.protocol-detail-content aside { display:flex; flex-direction:column; gap:12px; padding:26px; background:#f3f7fc; }.detail-content aside small,.protocol-detail-content aside small { color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.13em; margin-bottom:6px; }.detail-content aside span,.protocol-detail-content aside span { font-size:12px; color:#4e5c75; }
.related-section { padding:90px 7vw; background:#f7f9fd; }
.protocol-hero { background:linear-gradient(135deg,#f3f7fc,#dfe9f8); }
.protocol-list { padding:80px 7vw 120px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }.protocol-row { display:grid; grid-template-columns:45% 55%; min-height:330px; border:1px solid #e1e7f0; background:#fff; overflow:hidden; }.protocol-row-image { position:relative; overflow:hidden; }.protocol-row-image img { width:100%; height:100%; object-fit:cover; transition:.6s; }.protocol-row:hover img { transform:scale(1.04); }.protocol-row-image>span { position:absolute; left:18px; top:18px; color:#fff; font:18px Georgia,serif; }.protocol-row>div:last-child { padding:40px 32px; display:flex; flex-direction:column; align-items:flex-start; }.protocol-row small { color:var(--blue); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }.protocol-row h2 { font:400 28px/1.1 Georgia,serif; margin:12px 0 18px; }.protocol-row p { color:var(--muted); font-size:12px; line-height:1.7; }.protocol-row>div:last-child>span { margin-top:auto; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.protocol-detail-hero { height:690px; position:relative; overflow:hidden; background:#163574; }.protocol-detail-hero>img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }.protocol-detail-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,28,72,.86),rgba(8,27,65,.18) 70%); }.protocol-detail-overlay { position:absolute; left:8vw; top:50%; transform:translateY(-50%); z-index:2; color:#fff; max-width:720px; }.protocol-detail-overlay h1 { font:400 clamp(52px,6vw,86px)/.98 Georgia,serif; letter-spacing:-.045em; margin:18px 0 24px; }.protocol-detail-overlay p { max-width:600px; color:#e6ecf6; line-height:1.7; }.light-button { display:inline-block; margin-top:24px; padding:15px 22px; border:1px solid #fff; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.protocol-detail-content { display:grid; grid-template-columns:1.6fr 1fr; gap:12vw; padding:100px 10vw; }.protocol-duration { margin-top:34px; padding:20px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }.protocol-duration small { color:#8490a4; font-size:9px; letter-spacing:.13em; }.protocol-duration strong { font:400 22px Georgia,serif; color:var(--blue); }
.steps-section { padding:90px 8vw 110px; background:#f3f7fc; }.steps-section h2 { font:400 52px Georgia,serif; color:#183777; }.steps-section>div { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #ccd8ea; margin-top:40px; }.steps-section article { min-height:170px; padding:26px 22px; border-right:1px solid #ccd8ea; }.steps-section article>span { color:#8fa0be; font:18px Georgia,serif; }.steps-section article p { font:400 17px/1.35 Georgia,serif; }.protocol-note { margin-top:30px; color:#718097; font-size:10px; }
.about-page-hero { min-height:700px; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:70px 8vw; background:#edf3fb; overflow:hidden; }.about-page-hero>div:first-child { position:relative; z-index:2; }.about-page-hero p { max-width:600px; color:var(--muted); line-height:1.8; }.about-hero-art { height:600px; position:relative; display:flex; align-items:center; justify-content:center; }.about-hero-art>div { position:absolute; width:520px; height:520px; border-radius:50%; background:linear-gradient(145deg,#fff,#ccdaf1); box-shadow:0 25px 80px rgba(31,61,137,.12); }.about-hero-art img { width:55%; height:65%; object-fit:contain; z-index:2; filter:drop-shadow(0 25px 22px rgba(24,54,116,.2)); }.story-section { padding:110px 10vw; display:grid; grid-template-columns:1fr 1.2fr; gap:12vw; }.story-section>div:last-child { padding-top:40px; }.story-section p { margin-bottom:24px; }.values-section { display:grid; grid-template-columns:repeat(4,1fr); padding:0 7vw 110px; }.values-section article { min-height:260px; border:1px solid #dfe6f0; border-right:0; padding:30px; }.values-section article:last-child { border-right:1px solid #dfe6f0; }.values-section article>span { color:#9aa8bf; font:18px Georgia,serif; }.values-section h3 { margin-top:55px; font:400 24px Georgia,serif; }.values-section p { color:var(--muted); font-size:12px; line-height:1.7; }.about-manifest { padding:110px 8vw; text-align:center; background:#173575; color:#fff; }.about-manifest>span { color:#aebfdd; font-size:9px; letter-spacing:.18em; }.about-manifest blockquote { max-width:950px; margin:30px auto 45px; font:italic 400 clamp(40px,4.4vw,64px)/1.12 Georgia,serif; }.about-manifest .primary-button { display:inline-block; background:#fff; color:var(--blue); }
.contact-hero { padding:120px 8vw; background:#173575; color:#fff; }.contact-hero h1 { color:#fff; }.contact-hero p { max-width:650px; color:#c5d2e8; line-height:1.8; }.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:80px 7vw; gap:20px; }.contact-grid>a { min-height:350px; padding:34px; background:#f4f7fc; display:flex; flex-direction:column; align-items:flex-start; }.contact-grid>a>span { margin-left:auto; color:#90a0ba; font:18px Georgia,serif; }.contact-grid small { color:var(--blue); font-size:9px; letter-spacing:.13em; }.contact-grid h2 { font:400 28px/1.14 Georgia,serif; margin:22px 0; }.contact-grid p { color:var(--muted); font-size:12px; line-height:1.7; }.contact-grid b { margin-top:auto; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }.contact-note { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding:90px 10vw; border-top:1px solid var(--line); }
.legal-hero { padding:110px 10vw; background:#f0f5fb; }.legal-hero p { max-width:640px; color:var(--muted); line-height:1.8; }.legal-layout { display:grid; grid-template-columns:260px 1fr; gap:8vw; padding:80px 10vw 120px; }.legal-layout>aside { position:sticky; top:30px; align-self:start; display:flex; flex-direction:column; border-top:1px solid var(--line); }.legal-layout>aside a { padding:14px 0; border-bottom:1px solid var(--line); font-size:11px; }.legal-layout>article { max-width:850px; }.legal-layout section { position:relative; padding:0 0 55px 55px; border-left:1px solid var(--line); }.legal-layout section>span { position:absolute; left:-17px; top:0; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:#fff; font:12px Georgia,serif; }.legal-layout h2 { margin:0 0 18px; font:400 34px Georgia,serif; }.legal-layout p { color:var(--muted); font-size:13px; line-height:1.9; }.legal-layout p a { color:var(--blue); text-decoration:underline; }.cookie-table { margin-top:24px; border:1px solid var(--line); }.cookie-table>div { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; padding:15px; border-bottom:1px solid var(--line); font-size:10px; }.cookie-table>div:last-child { border-bottom:0; }.cookie-table span,.cookie-table small { color:var(--muted); }

/* Admin panel */
.admin-shell { min-height:100vh; display:grid; grid-template-columns:250px 1fr; background:#f3f6fb; color:#172b59; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:28px 20px; background:#102b67; color:#fff; display:flex; flex-direction:column; }.admin-logo { filter:brightness(0) invert(1); width:170px; margin:-12px 0 10px -22px; }.admin-workspace { display:flex; flex-direction:column; gap:6px; margin:15px 8px 32px; padding-top:20px; border-top:1px solid rgba(255,255,255,.13); }.admin-workspace span { color:#90a7d0; font-size:8px; letter-spacing:.15em; }.admin-workspace strong { font:400 18px Georgia,serif; }.admin-sidebar nav { display:flex; flex-direction:column; gap:5px; }.admin-sidebar nav button { display:flex; align-items:center; gap:12px; padding:13px 14px; border:0; border-radius:6px; background:transparent; color:#bdc9de; text-align:left; font-size:11px; cursor:pointer; }.admin-sidebar nav button>span { width:20px; text-align:center; font-size:16px; }.admin-sidebar nav button.active { background:#fff; color:#173575; }.admin-sidebar-bottom { margin-top:auto; display:flex; flex-direction:column; gap:13px; padding:20px 8px 0; border-top:1px solid rgba(255,255,255,.13); }.admin-sidebar-bottom a { font-size:10px; color:#b4c2da; }
.admin-main { min-width:0; padding-bottom:90px; }.admin-topbar { height:76px; padding:0 34px; background:#fff; border-bottom:1px solid #e4e9f1; display:flex; justify-content:space-between; align-items:center; }.admin-topbar>div:first-child { display:flex; flex-direction:column; gap:4px; }.admin-topbar>div:first-child span { color:#8a96aa; font-size:9px; }.admin-topbar>div:first-child strong { font-size:14px; }.admin-user { display:flex; gap:10px; align-items:center; }.admin-user>span { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--blue); }.admin-user>div { display:flex; flex-direction:column; gap:3px; }.admin-user strong { font-size:10px; }.admin-user small { color:#8a96aa; font-size:8px; }
.admin-page { padding:36px; max-width:1450px; margin:0 auto; }.admin-title { display:flex; justify-content:space-between; gap:70px; margin-bottom:28px; }.admin-title>div>span,.panel-head>div>span { color:#7182a1; font-size:8px; font-weight:700; letter-spacing:.14em; }.admin-title h1,.wide-panel h1,.admin-panel h1 { margin:8px 0 0; max-width:720px; font:400 34px/1.1 Georgia,serif; }.admin-title>p { max-width:460px; color:#78859b; font-size:11px; line-height:1.7; }
.dashboard-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }.dashboard-cards>div { min-height:135px; padding:20px; background:#fff; border:1px solid #e3e8f1; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }.dashboard-cards>div>span { color:#7d899d; font-size:9px; }.dashboard-cards strong { font:400 34px Georgia,serif; }.dashboard-cards strong small { color:#9ca6b7; font-size:13px; }.dashboard-cards>div>small { color:#8c97a9; font-size:8px; }.dashboard-cards .published { font-size:25px; color:#2e7c64; margin-top:5px; }.score-bar { width:100%; height:4px; margin-top:auto; background:#e9edf3; }.score-bar i { height:100%; display:block; background:#2e7c64; }
.admin-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }.admin-panel { background:#fff; border:1px solid #e2e7ef; padding:26px; }.wide-panel { min-height:650px; }.panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:24px; }.panel-head h2 { margin:7px 0 0; font:400 23px Georgia,serif; }.panel-head p { color:#7d899c; font-size:10px; }.panel-head>button { border:0; background:transparent; color:var(--blue); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }.check-list { display:flex; flex-direction:column; gap:10px; }.check-list>div { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#f7f9fc; font-size:10px; }.check-list>div>span { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-weight:700; }.check-list .ok>span { background:#dff2e9; color:#237356; }.check-list .warn>span { background:#fff0dc; color:#a3641d; }.mini-hero { height:240px; position:relative; overflow:hidden; padding:28px; background:linear-gradient(120deg,#f1f5fb,#dbe6f6); display:flex; align-items:center; }.mini-hero>div { z-index:2; width:58%; display:flex; flex-direction:column; gap:8px; }.mini-hero small { color:var(--blue); font-size:6px; letter-spacing:.1em; }.mini-hero strong { font:400 24px/1 Georgia,serif; }.mini-hero em { color:var(--blue); }.mini-hero img,.mini-hero video { position:absolute; right:0; width:45%; height:92%; object-fit:contain; }
.menu-editor { display:flex; flex-direction:column; gap:9px; }.menu-row { display:grid; grid-template-columns:28px minmax(160px,1fr) minmax(210px,1.3fr) 80px 80px; gap:12px; align-items:end; padding:15px; border:1px solid #e1e7f0; }.drag-handle { align-self:center; color:#9aa6ba; }.menu-row label,.slide-fields label,.seo-form label,.content-form label { display:flex; flex-direction:column; gap:6px; }.menu-row label small,.slide-fields small,.seo-form small,.content-form small { color:#7d899c; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }.menu-row input,.slide-fields input,.slide-fields textarea,.slide-fields select,.seo-form input,.seo-form textarea,.content-form input,.content-form textarea { width:100%; border:1px solid #dce3ed; padding:10px; outline:0; color:#24365e; background:#fbfcfe; font-size:10px; }.switch-field input { width:18px; height:18px; accent-color:var(--blue); }.row-actions { display:flex; gap:5px; }.row-actions button { width:34px; height:34px; border:1px solid #d9e0ea; background:#fff; color:var(--blue); cursor:pointer; }.row-actions button:disabled { opacity:.3; }.info-note { margin-top:20px; padding:15px; display:flex; gap:12px; background:#edf3fb; }.info-note>span { width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font:italic 13px Georgia,serif; }.info-note p { margin:2px 0 0; color:#66738a; font-size:9px; line-height:1.6; }
.slide-editor { display:flex; flex-direction:column; gap:18px; }.slide-edit-card { display:grid; grid-template-columns:270px 1fr; gap:24px; padding:18px; border:1px solid #dfe5ee; }.slide-media>div { height:200px; background:#edf2f8; }.slide-media img,.slide-media video { width:100%; height:100%; object-fit:contain; }.upload-button { display:block; margin-top:8px; padding:10px; text-align:center; background:var(--blue); color:#fff; font-size:8px; font-weight:700; text-transform:uppercase; cursor:pointer; }.upload-button input { display:none; }.slide-media select { width:100%; margin-top:7px; padding:8px; border:1px solid #dfe5ee; background:#fff; font-size:9px; }.slide-fields { display:flex; flex-direction:column; gap:11px; }.slide-fields textarea,.seo-form textarea { resize:vertical; min-height:72px; }.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.delete-link { align-self:flex-start; border:0; padding:0; background:transparent; color:#a54f4f; text-decoration:underline; font-size:8px; cursor:pointer; }.delete-link:disabled { opacity:.3; }
.admin-primary { padding:12px 18px; border:0; background:var(--blue); color:#fff; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; }.admin-primary.small { padding:10px 14px; }.seo-grid { grid-template-columns:1.15fr .85fr; }.score-circle { width:55px; height:55px; border-radius:50%; display:grid; place-items:center; color:#237356; border:5px solid #7dceb0; font:700 14px Arial; }.score-circle.needs-work { color:#a3641d; border-color:#e8bb7a; }.seo-form,.content-form { display:flex; flex-direction:column; gap:15px; }.seo-form small,.content-form small { display:flex; justify-content:space-between; }.seo-form small b { color:#a2acbc; font-weight:400; }.google-preview { padding:20px 0 26px; border-bottom:1px solid #e3e8f0; }.google-preview small { color:#4f6550; font-size:9px; }.google-preview strong { display:block; margin:6px 0; color:#2351a3; font:400 18px Arial; }.google-preview p { margin:0; color:#59616d; font-size:10px; line-height:1.5; }.seo-checks { margin-top:22px; }.content-preview { margin-top:10px; padding:28px; background:#f1f5fb; }.content-preview>span { color:var(--blue); font-size:7px; letter-spacing:.14em; }.content-preview h2 { font:400 32px/1.1 Georgia,serif; }.content-preview p { color:#68758c; font-size:11px; line-height:1.7; }.admin-savebar { position:fixed; z-index:10; left:250px; right:0; bottom:0; height:68px; background:#fff; border-top:1px solid #dfe5ee; display:flex; justify-content:space-between; align-items:center; padding:0 36px; }.admin-savebar>span { color:#78859a; font-size:9px; }.admin-denied { min-height:100vh; padding:10vh 10vw; background:#edf3fb; display:flex; flex-direction:column; align-items:flex-start; }.admin-denied .brand-mark { margin-left:-40px; }.admin-denied>span { margin-top:60px; color:var(--blue); font-size:9px; letter-spacing:.15em; }.admin-denied h1 { max-width:800px; font:400 60px/1 Georgia,serif; }.admin-denied p { max-width:640px; color:var(--muted); line-height:1.7; }.admin-denied .primary-button { margin-top:20px; }

@media (max-width:1100px) {
  .catalog-grid { grid-template-columns:repeat(3,1fr); }.protocol-list { grid-template-columns:1fr; }.steps-section>div { grid-template-columns:repeat(3,1fr); }.values-section { grid-template-columns:1fr 1fr; }.values-section article:nth-child(2){border-right:1px solid #dfe6f0}.dashboard-cards{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.menu-row{grid-template-columns:22px 1fr 1fr}.switch-field,.row-actions{grid-column:auto}.admin-title{display:block}
}
@media (max-width:960px) {
  .mobile-menu { display:flex; position:absolute; left:0; right:0; top:76px; max-height:calc(100vh - 76px); overflow:auto; padding:20px 24px 30px; background:#fff; box-shadow:0 20px 40px rgba(24,54,116,.12); flex-direction:column; }.mobile-menu>div>a:first-child,.mobile-admin { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); font-weight:700; }.mobile-sub { display:block; padding:8px 14px; color:var(--muted); font-size:11px; }.mega-menu { display:none; }.hero-media{height:400px}.care-grid-full{grid-template-columns:1fr 1fr}.care-grid-full .care-card:first-child{grid-column:auto}.product-grid-six{grid-template-columns:1fr 1fr}.about-section{grid-template-columns:1fr}.about-art{min-height:600px}.knowledge-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr 1fr}.detail-hero{grid-template-columns:1fr}.detail-image{min-height:520px}.detail-content,.protocol-detail-content,.story-section,.contact-note{grid-template-columns:1fr;gap:40px}.protocol-detail-hero{height:620px}.about-page-hero{grid-template-columns:1fr}.about-hero-art{height:500px}.contact-grid{grid-template-columns:1fr}.contact-grid>a{min-height:270px}.legal-layout{grid-template-columns:1fr}.legal-layout>aside{position:static}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{display:grid;grid-template-columns:1fr 1fr}.admin-sidebar-bottom{display:none}.admin-savebar{left:0}.slide-edit-card{grid-template-columns:1fr}.admin-logo{margin-left:-25px}
}
@media (max-width:620px) {
  .hero-media{height:310px}.hero-media-photo{height:300px}.slider-dots{left:24px}.care-grid-full,.product-grid-six,.catalog-grid{grid-template-columns:1fr}.about-art{min-height:480px}.about-points{grid-template-columns:1fr}.knowledge-strip{padding:50px 24px}.footer{padding:70px 24px 28px}.footer-lead{display:block}.footer-cta{display:inline-block;margin-top:30px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:12px}.catalog-tools{flex-direction:column}.filter-buttons{flex-wrap:wrap}.catalog-search{width:100%}.detail-copy{padding:50px 24px}.detail-content,.related-section,.protocol-detail-content,.steps-section,.story-section,.contact-note,.legal-layout{padding-left:24px;padding-right:24px}.detail-image{min-height:430px}.protocol-list{padding:50px 24px}.protocol-row{grid-template-columns:1fr}.protocol-row-image{height:300px}.protocol-detail-overlay{left:24px;right:24px}.protocol-detail-overlay h1{font-size:48px}.steps-section>div{grid-template-columns:1fr}.steps-section article{border-bottom:1px solid #ccd8ea}.values-section{grid-template-columns:1fr;padding:0 24px 80px}.values-section article{border-right:1px solid #dfe6f0}.contact-grid{padding:50px 24px}.legal-layout section{padding-left:35px}.cookie-table>div{grid-template-columns:1fr}.admin-page{padding:22px 14px}.dashboard-cards{grid-template-columns:1fr}.admin-sidebar nav{grid-template-columns:1fr}.menu-row{grid-template-columns:20px 1fr}.url-field{grid-column:2}.slide-edit-card{padding:12px}.field-pair{grid-template-columns:1fr}.admin-savebar{padding:0 14px}.admin-savebar>span{display:none}.admin-title h1{font-size:28px}.admin-topbar{padding:0 16px}.admin-user>div{display:none}
}

/* 2026 editorial redesign */
:root {
  --blue:#1f3d89;
  --blue-dark:#0d255d;
  --blue-soft:#e9f0fa;
  --ink:#102452;
  --muted:#657087;
  --paper:#fbfaf7;
  --mist:#f0f3f7;
  --line:#d8dfeb;
  --brand-font:'Panton','Panton Sans','Manrope','Avenir Next','Century Gothic','Trebuchet MS',Arial,sans-serif;
  --serif:var(--brand-font);
  --sans:var(--brand-font);
}

body { background:var(--paper); font-family:var(--sans); font-weight:400; color:var(--ink); overflow-x:hidden; }
h1,h2,h3,blockquote { font-family:var(--serif); }
button,input,textarea,select { font-family:var(--sans); }
::selection { color:#fff; background:var(--blue); }

.topline { height:30px; background:var(--blue-dark); font-size:9px; font-weight:500; letter-spacing:.18em; }
.site-header { height:86px; position:sticky; top:0; z-index:60; padding:0 clamp(24px,5vw,84px); gap:30px; background:rgba(251,250,247,.92); border-bottom:1px solid rgba(20,48,103,.1); backdrop-filter:blur(18px); transition:transform .38s cubic-bezier(.22,.61,.36,1),box-shadow .3s,background .3s; }
.site-header.has-scrolled { background:rgba(255,255,255,.94); box-shadow:0 12px 35px rgba(18,43,94,.07); }
.site-header.is-hidden { transform:translateY(-105%); }
.header-branding { display:flex; align-items:center; gap:9px; flex:none; }
.header-us-map { display:block; width:46px; height:42px; object-fit:contain; flex:none; filter:drop-shadow(0 3px 5px rgba(20,48,103,.13)); }
.brand-mark { width:172px; height:60px; background-size:178px auto; }
.desktop-nav { gap:27px; font-size:12px; font-weight:500; letter-spacing:.025em; }
.desktop-nav>a,.nav-parent { position:relative; padding:30px 0; }
.desktop-nav>a:after,.nav-parent:after { content:""; position:absolute; left:0; right:100%; bottom:22px; height:1px; background:var(--blue); transition:right .3s ease; }
.desktop-nav>a:hover:after,.nav-parent:hover:after { right:0; }
.nav-cluster { display:flex; align-items:center; gap:2px; }
.nav-cluster .menu-trigger { width:24px; height:42px; padding:0; display:grid; place-items:center; }
.menu-trigger span { margin:0; font-size:13px; transition:transform .25s; }
.menu-trigger[aria-expanded="true"] span { transform:rotate(180deg); }
.header-cta { display:inline-flex; align-items:center; gap:18px; padding:14px 18px; background:transparent; color:var(--blue); border:1px solid var(--blue); transition:.3s; white-space:nowrap; }
.header-cta:hover { color:#fff; background:var(--blue); }
.header-cta span { font-size:14px; }
.mega-menu { top:100%; padding:42px clamp(40px,12vw,190px); grid-template-columns:minmax(0,1.4fr) 330px; gap:70px; background:rgba(255,255,255,.98); border-top:1px solid var(--line); box-shadow:0 35px 70px rgba(20,45,99,.12); }
.mega-links>a { transition:padding .25s,color .25s; }
.mega-links>a:hover { padding-left:10px; color:var(--blue); }
.mega-visual { height:210px; }
.mega-visual>img { transition:transform .7s ease; }
.mega-visual:hover>img { transform:scale(1.04); }

.hero { min-height:710px; padding:72px clamp(30px,8vw,132px) 90px; background:linear-gradient(112deg,#fbfaf7 0%,#f2f5fa 52%,#e4ecf8 100%); }
.hero:before { content:none; }
.hero h1,.section-heading h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.055em; }
.hero h1 { max-width:780px; font-size:clamp(52px,5.3vw,84px); line-height:.99; }
.hero h1 em { font-family:var(--serif); font-style:italic; }
.hero-copy>p { max-width:610px; font-size:15px; line-height:1.85; }
.primary-button,.header-cta { border-radius:0; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; transition:transform .25s,background .25s; }
.primary-button:hover { transform:translateY(-2px); background:var(--blue-dark); }
.hero-media { height:540px; }
.hero-media:not(.hero-media-photo)>img { mix-blend-mode:multiply; filter:drop-shadow(0 34px 25px rgba(15,39,88,.2)); }
.hero-media-photo { border:8px solid rgba(255,255,255,.62); box-shadow:0 34px 90px rgba(17,44,97,.2); }
.floating-note { right:-3%; border-left:2px solid var(--blue); }
.eyebrow { font-family:var(--sans); font-weight:600; }

.care-section,.product-section { padding:clamp(80px,8vw,128px) clamp(24px,7vw,116px); }
.section-heading { align-items:flex-end; }
.section-heading h2 { font-size:clamp(43px,4.1vw,66px); line-height:1.02; }
.heading-side { max-width:490px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.heading-side p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.care-grid-full { gap:14px; }
.care-grid-full .care-card { height:500px; }
.care-card:before { content:""; position:absolute; z-index:3; inset:13px; border:1px solid rgba(255,255,255,.42); pointer-events:none; opacity:0; transform:scale(.97); transition:.45s; }
.care-card:hover:before { opacity:1; transform:none; }
.care-card:hover img { transform:scale(1.055); }
.care-overlay h3 { font-family:var(--serif); font-size:32px; letter-spacing:-.03em; }

.product-section { background:#f0f3f7; }
.home-products { background:var(--paper); }
.product-grid { gap:16px; }
.product-card { position:relative; min-width:0; display:flex; flex-direction:column; overflow:hidden; padding-bottom:27px; background:#fff; border:1px solid rgba(18,47,105,.08); transition:transform .35s ease,box-shadow .35s ease,border-color .35s; }
.product-card:hover { transform:translateY(-7px); border-color:rgba(31,61,137,.2); box-shadow:0 24px 55px rgba(20,48,103,.1); }
.product-image { position:relative; height:365px; background:linear-gradient(145deg,#edf1f5,#f8f7f3); isolation:isolate; }
.product-image:after { content:""; position:absolute; width:62%; height:19%; left:19%; bottom:10%; border-radius:50%; background:rgba(31,61,137,.12); filter:blur(20px); z-index:-1; }
.product-image img { width:88%; height:88%; mix-blend-mode:multiply; filter:contrast(1.03) saturate(.96); transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s; }
.product-card:hover .product-image img { transform:scale(1.07) translateY(-5px); filter:contrast(1.06) saturate(1); }
.product-collection { position:absolute; z-index:3; top:17px; left:17px; padding:6px 8px; color:var(--blue); background:rgba(255,255,255,.78); border:1px solid rgba(31,61,137,.16); backdrop-filter:blur(6px); font-size:8px; font-weight:600; letter-spacing:.16em; }
.product-card>small { font-size:8px; line-height:1.4; }
.product-card>h2,.product-card>h3,.catalog-grid .product-card h2 { font-family:var(--serif); font-weight:500; letter-spacing:-.03em; }
.product-card>h3 { font-size:23px; line-height:1.2; }
.product-card>p { color:var(--muted); }
.product-card>a:last-child { margin-top:auto; padding-top:4px; }
.catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.catalog-grid .product-image { height:290px; }
.catalog-grid .product-card h2 { min-height:54px; }
.catalog-tools { position:sticky; top:14px; z-index:12; background:rgba(255,255,255,.9); backdrop-filter:blur(16px); }
.filter-buttons button,.filter-buttons a { border-radius:0; }
.catalog-search { border-radius:0; }
.detail-image { background:linear-gradient(145deg,#e8edf4,#f7f6f1); }
.detail-image img,.about-hero-art img { mix-blend-mode:multiply; }
.about-art img { mix-blend-mode:normal; }

.whatsapp { box-sizing:border-box; width:68px; height:68px; aspect-ratio:1; right:24px; bottom:24px; padding:0; justify-content:center; gap:0; overflow:visible; color:#fff; background:transparent; border:0; border-radius:50%; isolation:isolate; filter:drop-shadow(0 12px 18px rgba(18,134,74,.3)); transition:transform .3s ease,filter .3s ease; }
.whatsapp:before { content:""; position:absolute; z-index:-1; inset:5px; border:2px solid rgba(58,201,102,.68); border-radius:50%; animation:whatsapp-pulse 2.4s ease-out infinite; pointer-events:none; }
.whatsapp img { width:100%; height:100%; flex:none; display:block; object-fit:contain; border-radius:50%; transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s ease; }
.whatsapp span { display:none; }
.whatsapp:hover { width:68px; background:transparent; transform:translateY(-4px); filter:drop-shadow(0 17px 22px rgba(18,134,74,.42)); }
.whatsapp:hover img { transform:scale(1.08) rotate(-3deg); filter:saturate(1.08) brightness(1.04); }
.whatsapp:focus-visible { outline:3px solid #173b86; outline-offset:5px; }
@keyframes whatsapp-pulse { 0% { opacity:.75; transform:scale(.92); } 70%,100% { opacity:0; transform:scale(1.42); } }

/* Product card editorial layout */
.product-card-content { display:flex; flex:1; flex-direction:column; min-height:224px; padding:22px 26px 24px; }
.product-card-series { display:block; min-height:12px; margin:0; color:#7888a5; font-size:8px; font-weight:700; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.product-card-content h2,.product-card-content h3 { display:-webkit-box; overflow:hidden; margin:11px 0 13px; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--blue-dark); font-family:var(--serif); font-size:22px; font-weight:500; line-height:1.16; letter-spacing:-.035em; }
.product-card-content p { display:-webkit-box; overflow:hidden; min-height:59px; margin:0; color:#65738d; font-size:12px; line-height:1.62; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.product-card-action { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:19px; border-top:1px solid rgba(31,61,137,.12); color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.product-card-action b { display:grid; width:25px; height:25px; place-items:center; border:1px solid rgba(31,61,137,.2); border-radius:50%; font-size:13px; font-weight:400; line-height:1; transition:background .25s,color .25s,transform .25s; }
.product-card:hover .product-card-action b { color:#fff; background:var(--blue); transform:translate(2px,-2px); }
.catalog-grid .product-card-content { min-height:231px; padding:20px 22px 22px; }
.catalog-grid .product-card-content h2 { min-height:51px; margin:10px 0 12px; font-size:20px; }

/* Unified dermocosmetic product card system */
.product-card { border:1px solid #d7e0eb; border-radius:3px; background:#fff; box-shadow:0 12px 28px rgba(21,48,96,.055); }
.product-card:hover { border-color:rgba(31,61,137,.32); box-shadow:0 25px 48px rgba(20,48,103,.14); }
.product-image { height:372px; overflow:hidden; border-bottom:1px solid #dce3ec; background:linear-gradient(145deg,#f7f8f8 0%,#edf1f5 54%,#faf9f6 100%); }
.product-image:before { content:""; position:absolute; z-index:0; inset:13px; border:1px solid rgba(31,61,137,.09); pointer-events:none; }
.product-image:after { width:56%; height:14%; left:22%; bottom:11%; background:rgba(31,61,137,.15); filter:blur(22px); }
.product-image img { position:relative; z-index:1; width:100%; height:100%; transform:scale(1.15); filter:contrast(1.04) saturate(.96); }
.product-card:hover .product-image img { transform:scale(1.23) translateY(-3px); }
.product-collection { top:18px; left:18px; z-index:3; padding:7px 9px; border-color:rgba(31,61,137,.2); background:rgba(255,255,255,.9); font-size:8px; letter-spacing:.14em; }
.product-card-content { min-height:218px; padding:20px 23px 21px; }.product-card-series { color:#65799b; }.product-card-content h2,.product-card-content h3 { margin:9px 0 12px; color:#142f70; }.product-card-content p { color:#667590; }.product-card-action { padding-top:15px; border-top-color:#dce3ec; }
.catalog-grid .product-image { height:315px; }.catalog-grid .product-card-content { min-height:218px; }.catalog-grid .product-card { box-shadow:none; }
.protocol-products-section .product-image { height:230px; }.protocol-products-section .product-card { box-shadow:none; }.protocol-products-section .product-card-content { min-height:183px; }

/* Keep protocol products visually attached to the care flow */
.steps-section.has-products { padding-bottom:18px; }.protocol-products-section { padding-top:14px; padding-bottom:52px; border-top:1px solid rgba(31,61,137,.09); }.protocol-products-section .section-heading { align-items:center; margin-bottom:18px; }.protocol-products-section .section-heading h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.06; }.protocol-products-section .section-heading p { max-width:310px; margin-top:5px; font-size:10px; line-height:1.45; }.protocol-products-section .text-button { font-size:9px; }
.steps-section.has-products { padding-bottom:38px; }.protocol-products-section { padding:34px 7vw 60px; background:#f3f7fc; }.protocol-products-section .section-heading { margin-bottom:25px; }.protocol-products-section .section-heading h2 { margin:0; font-size:clamp(30px,3.1vw,44px); }.protocol-products-section .section-heading p { max-width:350px; margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }.protocol-products-section .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.protocol-products-section .product-image { height:230px; }.protocol-products-section .product-card-content { min-height:183px; padding:16px 18px 18px; }.protocol-products-section .product-card-series { font-size:7px; }.protocol-products-section .product-card-content h3 { margin:8px 0 9px; font-size:19px; }.protocol-products-section .product-card-content p { min-height:38px; font-size:10px; line-height:1.5; -webkit-line-clamp:2; }.protocol-products-section .product-card-action { padding-top:12px; font-size:8px; }.protocol-products-section .product-card-action b { width:22px; height:22px; font-size:11px; }.protocol-products-disclaimer { max-width:700px; margin:22px auto 0; color:#78869e; font-size:10px; line-height:1.55; text-align:center; }

/* Luxury editorial product details */
.detail-hero { min-height:720px; background:linear-gradient(120deg,#eef3fb 0%,#fff 57%,#f6f4ef 100%); }.detail-image:before { width:68%; height:68%; background:rgba(255,255,255,.82); }.detail-image img { width:56%; height:68%; }.detail-copy { max-width:720px; padding:82px 10vw 82px 4vw; }.detail-identity { display:flex; align-items:center; gap:10px; margin:0 0 19px; color:#6d7d99; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.detail-identity i { width:20px; height:1px; background:#9eacc1; }.detail-copy h1 { max-width:660px; margin:0 0 22px; font-size:clamp(48px,5vw,76px); line-height:.98; }.detail-lead { max-width:550px; font-size:16px; line-height:1.72; }.detail-signature { display:flex; align-items:baseline; gap:16px; max-width:560px; margin:27px 0 22px; padding:15px 0; border-top:1px solid rgba(31,61,137,.16); border-bottom:1px solid rgba(31,61,137,.16); }.detail-signature span { color:var(--blue); font-size:8px; font-weight:800; letter-spacing:.12em; }.detail-signature p { margin:0; color:#61708a; font-size:11px; line-height:1.55; }.detail-copy .info-badge { max-width:560px; margin:0 0 26px; }
.product-editorial { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:8vw; padding:110px 12vw; background:#fff; }.product-editorial-copy h2,.product-ritual h2 { margin:13px 0 25px; color:var(--blue-dark); font:500 clamp(38px,4vw,60px)/1.02 var(--serif); letter-spacing:-.045em; }.product-editorial-copy h2 em { color:#7f91b1; font-style:normal; }.product-editorial-copy>p { max-width:650px; margin:0; color:#566681; font-size:15px; line-height:1.9; }.product-benefit-rail { display:flex; flex-direction:column; align-self:start; border-top:1px solid #cfd8e5; }.product-benefit-rail>span { padding:16px 0; color:#7181a0; font-size:8px; font-weight:800; letter-spacing:.14em; }.product-benefit-rail>div { display:grid; grid-template-columns:42px 1fr; gap:13px; align-items:center; min-height:74px; border-top:1px solid #dfe5ee; }.product-benefit-rail b { color:#8ca0bf; font:400 16px Georgia,serif; }.product-benefit-rail p { margin:0; color:#263d72; font-size:13px; line-height:1.45; }.product-ritual { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; padding:90px 12vw; color:#fff; background:#173575; }.product-ritual h2 { color:#fff; }.product-ritual>div:last-child>p { max-width:680px; margin:18px 0 36px; color:#dfe8f7; font-size:15px; line-height:1.9; }.skin-needs { padding-top:22px; border-top:1px solid rgba(255,255,255,.22); }.skin-needs small { display:block; margin-bottom:14px; color:#a9bddf; font-size:8px; font-weight:800; letter-spacing:.13em; }.skin-needs>div { display:flex; flex-wrap:wrap; gap:8px; }.skin-needs span { padding:8px 11px; border:1px solid rgba(255,255,255,.32); font-size:10px; }

/* Admin-managed brand assets */
.site-header .brand-mark,.footer .brand-mark { display:flex; align-items:center; justify-content:flex-start; background-image:none; }
.brand-mark img { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; }
.site-header .brand-mark img { max-width:210px; }
.brand-mark-light img { max-width:220px; }
.site-header .header-logo-motion { position:relative; display:inline-flex; width:172px; max-width:172px; height:60px; flex:0 0 172px; overflow:hidden; isolation:isolate; line-height:0; transition:transform .38s cubic-bezier(.16,1,.3,1); }
.site-header .header-logo-motion .header-logo-piece { display:block; width:100%; max-width:none; height:100%; object-fit:contain; object-position:left center; filter:drop-shadow(0 7px 9px rgba(35,60,124,.08)); transition:filter .38s; }
.site-header .header-logo-symbol { position:relative; z-index:2; clip-path:inset(0 68% 0 0); transform-origin:18.5% 50%; animation:headerLogoMarkCycle 8s cubic-bezier(.16,1,.3,1) .12s infinite both; }
.site-header .header-logo-word-window { position:absolute; inset:0; z-index:1; overflow:hidden; clip-path:inset(0 0 0 32%); pointer-events:none; animation:headerLogoWordRevealCycle 8s cubic-bezier(.16,1,.3,1) .12s infinite both; }
.site-header .header-logo-word { position:absolute; inset:0; animation:headerLogoWordSetCycle 8s cubic-bezier(.16,1,.3,1) .12s infinite both; }
@media (hover:hover) and (pointer:fine) {
  .site-header .header-logo-motion:hover { transform:translateY(-1px) scale(1.014); }
  .site-header .header-logo-motion:hover .header-logo-piece { filter:drop-shadow(0 10px 13px rgba(35,60,124,.14)); }
}
@keyframes headerLogoMarkCycle {
  0%,100% { opacity:1; transform:translateX(7px) rotate(-5deg) scale(.8); }
  7% { opacity:1; transform:translateX(-1px) rotate(.6deg) scale(1.018); }
  10%,93% { opacity:1; transform:none; }
  97% { opacity:1; transform:translateX(1px) rotate(-1deg) scale(.97); }
}
@keyframes headerLogoWordRevealCycle {
  0%,4%,100% { clip-path:inset(0 68% 0 32%); }
  13%,92% { clip-path:inset(0 0 0 32%); }
  97% { clip-path:inset(0 68% 0 32%); }
}
@keyframes headerLogoWordSetCycle {
  0%,4%,100% { opacity:0; transform:translateX(-9px); }
  8% { opacity:.55; }
  13%,92% { opacity:1; transform:none; }
  97% { opacity:0; transform:translateX(-7px); }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .header-logo-symbol,.site-header .header-logo-word-window,.site-header .header-logo-word { animation:none !important; }
  .site-header .header-logo-word-window { clip-path:inset(0 0 0 32%); }
  .site-header .header-logo-word { opacity:1; transform:none; }
  .site-header .header-logo-motion,.site-header .header-logo-piece { transition:none !important; }
}

/* Expanded JSON admin controls */
.brand-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.brand-upload-card { display:grid; grid-template-columns:220px 1fr; gap:22px; min-width:0; padding:20px; border:1px solid #dfe6f0; background:#fbfcff; }
.brand-preview { min-height:145px; display:flex; align-items:center; justify-content:center; padding:20px; background:linear-gradient(145deg,#edf2f8,#fff); }
.brand-preview img { width:100%; max-height:105px; object-fit:contain; }
.brand-upload-card>div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.brand-upload-card span { color:#7182a1; font-size:8px; font-weight:700; letter-spacing:.13em; }.brand-upload-card h2 { margin:0; font:400 24px Georgia,serif; }.brand-upload-card p { margin:0; color:#778399; font-size:10px; line-height:1.6; }.brand-upload-card label:not(.upload-button),.record-fields label { width:100%; display:flex; flex-direction:column; gap:6px; }.brand-upload-card small,.record-fields small { color:#778399; font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.brand-upload-card input,.record-fields input,.record-fields textarea,.record-fields select { width:100%; border:1px solid #dce3ed; padding:10px; outline:0; color:#24365e; background:#fff; font-size:10px; }.brand-upload-card textarea,.record-fields textarea { resize:vertical; min-height:70px; }
.records-list { display:flex; flex-direction:column; gap:12px; }.record-card { border:1px solid #dfe6f0; background:#fff; }.record-card summary { display:grid; grid-template-columns:110px minmax(220px,1fr) minmax(160px,.7fr); gap:16px; align-items:center; padding:17px 18px; cursor:pointer; list-style:none; }.record-card summary::-webkit-details-marker { display:none; }.record-card summary span { width:max-content; padding:5px 7px; color:var(--blue); border:1px solid rgba(31,61,137,.16); background:#f4f7fb; font-size:8px; font-weight:700; letter-spacing:.11em; }.record-card summary strong { color:#1d356d; font:500 18px/1.2 Georgia,serif; }.record-card summary small { color:#8290a5; font-size:9px; text-align:right; }.record-card[open] summary { border-bottom:1px solid #dfe6f0; background:#f7f9fc; }.record-editor { display:grid; grid-template-columns:225px minmax(0,1fr); gap:24px; padding:20px; }.record-media { align-self:start; padding:14px; background:#f2f5f9; }.record-media img { display:block; width:100%; height:220px; object-fit:contain; background:#fff; }.record-fields { display:flex; flex-direction:column; gap:12px; min-width:0; }.record-fields em { color:#78859a; font-size:9px; font-style:normal; line-height:1.5; }.protocol-product-select { min-height:190px; background:#fbfcfe; }.protocol-product-select option { padding:6px; }
@media (max-width:960px) { .brand-upload-grid { grid-template-columns:1fr; }.brand-upload-card,.record-editor { grid-template-columns:1fr; }.record-media { max-width:320px; }.record-card summary { grid-template-columns:100px 1fr; }.record-card summary small { grid-column:2; text-align:left; } }
@media (max-width:620px) { .brand-upload-card,.record-editor { padding:14px; }.record-card summary { grid-template-columns:1fr; gap:7px; }.record-card summary small { grid-column:auto; }.product-card-content { padding:20px; } }
@media (max-width:960px) { .product-editorial,.product-ritual { grid-template-columns:1fr; gap:42px; padding:76px 8vw; }.detail-copy { padding:62px 8vw; } }
@media (max-width:620px) { .detail-copy { padding:48px 24px; }.detail-copy h1 { font-size:46px; }.detail-signature { flex-direction:column; gap:8px; }.product-editorial,.product-ritual,.protocol-products-section { padding:68px 22px; }.product-editorial-copy h2,.product-ritual h2 { font-size:41px; }.product-editorial-copy>p,.product-ritual>div:last-child>p { font-size:13px; } }
@media (max-width:960px) { .protocol-products-section .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .steps-section.has-products { padding-bottom:24px; }.protocol-products-section { padding:28px 22px 46px; }.protocol-products-section .product-grid { grid-template-columns:1fr; }.protocol-products-section .product-image { height:260px; } }

.about-copy h2,.footer-lead h2,.page-hero h1,.about-page-hero h1,.contact-hero h1,.legal-hero h1,.protocol-detail-overlay h1,.detail-copy h1 { font-family:var(--serif); }
.footer { background:var(--blue-dark); }

/* Protocol collection */
.protocol-page-hero { min-height:720px; position:relative; display:grid; grid-template-columns:1.08fr .92fr; overflow:hidden; color:#fff; background:linear-gradient(128deg,#0b2359 0%,#173878 58%,#254b95 100%); }
.protocol-page-hero:before { content:""; position:absolute; width:720px; height:720px; left:-240px; top:-260px; border-radius:50%; border:1px solid rgba(255,255,255,.13); box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.02); }
.protocol-hero-copy { position:relative; z-index:2; align-self:center; padding:90px 4vw 90px 8vw; }
.protocol-hero-copy h1 { margin:18px 0 28px; max-width:900px; font:400 clamp(52px,5.5vw,88px)/.98 var(--serif); letter-spacing:-.055em; }
.protocol-hero-copy h1 em { color:#d8e5fb; font-weight:400; }
.protocol-hero-copy p { max-width:640px; color:#c8d5ea; font-size:15px; line-height:1.85; }
.protocol-hero-copy .light-button { margin-top:36px; }
.protocol-hero-copy .light-button span { margin-left:18px; }
.protocol-hero-visual { position:relative; min-height:720px; overflow:hidden; }
.protocol-hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#173878 0%,transparent 32%),linear-gradient(0deg,rgba(8,24,60,.44),transparent 60%); }
.protocol-hero-visual img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.protocol-page-hero:hover .protocol-hero-visual img { transform:scale(1.025); }
.protocol-hero-visual>span { position:absolute; z-index:3; right:48px; bottom:45px; padding-left:18px; border-left:1px solid rgba(255,255,255,.55); color:#e7eef9; font-size:11px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.protocol-hero-visual>span b { display:block; font:400 46px/1 var(--serif); letter-spacing:-.04em; }
.protocol-orbit { position:absolute; z-index:3; width:420px; height:420px; right:-140px; top:80px; border:1px solid rgba(255,255,255,.25); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.025); pointer-events:none; }
.protocol-marquee { overflow:hidden; padding:17px 0; color:#fff; background:var(--blue); border-top:1px solid rgba(255,255,255,.2); }
.protocol-marquee>div { width:max-content; animation:protocolTicker 25s linear infinite; font-size:9px; font-weight:600; letter-spacing:.2em; white-space:nowrap; }
.protocol-marquee i { margin:0 24px; font-style:normal; color:#a9c4ef; }
@keyframes protocolTicker { to { transform:translateX(-50%); } }
.protocol-intro { padding:115px 9vw 90px; display:grid; grid-template-columns:.55fr 1.45fr; gap:8vw; border-bottom:1px solid var(--line); }
.protocol-intro>div { display:grid; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:end; }
.protocol-intro h2 { margin:0; font:400 clamp(42px,4.5vw,68px)/1.05 var(--serif); letter-spacing:-.05em; }
.protocol-intro h2 em { color:var(--blue); font-weight:400; }
.protocol-intro p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.protocol-showcase { padding:0 7vw 120px; }
.protocol-story { display:grid; grid-template-columns:1.12fr .88fr; min-height:560px; margin-top:72px; background:#fff; border:1px solid rgba(20,48,103,.11); overflow:hidden; transition:box-shadow .4s,transform .4s; }
.protocol-story:hover { transform:translateY(-5px); box-shadow:0 28px 70px rgba(19,46,102,.12); }
.protocol-story:nth-child(even) .protocol-story-image { order:2; }
.protocol-story:nth-child(even) .protocol-story-copy { order:1; }
.protocol-story-image { position:relative; min-height:560px; overflow:hidden; background:#dbe3ef; }
.protocol-story-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(8,26,67,.35)); }
.protocol-story-image img { width:100%; height:100%; object-fit:cover; transition:transform .85s cubic-bezier(.2,.7,.2,1); }
.protocol-story:hover .protocol-story-image img { transform:scale(1.045); }
.protocol-story-image>span { position:absolute; z-index:2; left:28px; top:26px; width:54px; height:54px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.72); font:400 17px var(--serif); }
.protocol-story-copy { padding:clamp(38px,6vw,92px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.protocol-story-copy>small { color:var(--blue); font-size:9px; font-weight:600; letter-spacing:.17em; text-transform:uppercase; }
.protocol-story-copy h2 { margin:18px 0 24px; font:400 clamp(38px,4vw,60px)/1.03 var(--serif); letter-spacing:-.05em; }
.protocol-story-copy p { max-width:560px; color:var(--muted); font-size:14px; line-height:1.85; }
.story-link { margin-top:48px; display:flex; align-items:center; gap:16px; color:var(--blue); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.story-link b { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--blue); border-radius:50%; font-size:15px; transition:.3s; }
.protocol-story:hover .story-link b { color:#fff; background:var(--blue); transform:rotate(45deg); }
.reveal { opacity:1; transform:none; }
.reveal.is-visible { animation:revealLift .8s cubic-bezier(.2,.65,.2,1) both; }
@keyframes revealLift { from { transform:translateY(26px); } to { transform:none; } }

/* Admin controls introduced with the redesign */
.header-settings { margin-top:28px; padding:24px; background:#f4f7fb; border:1px solid #e0e6ef; }
.header-settings>div:first-child span,.content-block-title span { color:#7182a1; font-size:8px; font-weight:700; letter-spacing:.14em; }
.header-settings h2,.content-block-title h2 { margin:7px 0 18px; font:400 24px/1.1 var(--serif); }
.settings-grid { display:grid; grid-template-columns:1fr 1.5fr .55fr .75fr; gap:14px; align-items:end; }
.settings-grid label { display:flex; flex-direction:column; gap:6px; }
.settings-grid small { color:#7d899c; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.settings-grid input:not([type="checkbox"]) { width:100%; padding:10px; border:1px solid #dce3ed; color:#24365e; background:#fff; }
.content-block-title { padding-bottom:5px; border-bottom:1px solid #e1e6ee; }
.protocol-admin-title { margin-top:34px; }

@media (max-width:1200px) {
  .desktop-nav { gap:18px; }
  .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .settings-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:960px) {
  .site-header { height:74px; padding:0 22px; }
  .site-header.is-hidden { transform:none; }
  .header-branding { gap:7px; }
  .header-us-map { width:40px; height:36px; }
  .brand-mark { width:154px; background-size:160px auto; }
  .site-header .header-logo-motion { width:154px; max-width:154px; height:56px; flex-basis:154px; }
  .mobile-menu { top:100%; }
  .mobile-cta { display:flex; justify-content:space-between; margin-top:14px; padding:14px; color:#fff; background:var(--blue); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
  .hero { padding-top:70px; }
  .hero-media { height:430px; }
  .care-grid-full { grid-template-columns:1fr 1fr; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .protocol-page-hero { grid-template-columns:1fr; }
  .protocol-hero-copy { padding:90px 8vw 70px; }
  .protocol-hero-visual { min-height:520px; }
  .protocol-intro { grid-template-columns:1fr; gap:38px; }
  .protocol-intro>div { grid-template-columns:1fr 1fr; }
  .protocol-story { grid-template-columns:1fr; }
  .protocol-story:nth-child(even) .protocol-story-image,.protocol-story:nth-child(even) .protocol-story-copy { order:initial; }
  .protocol-story-image { min-height:480px; }
}

@media (max-width:620px) {
  .topline { height:25px; font-size:7px; letter-spacing:.12em; }
  .site-header { padding:0 14px; gap:10px; }
  .header-branding { gap:5px; }
  .header-us-map { width:34px; height:30px; filter:drop-shadow(0 2px 3px rgba(20,48,103,.12)); }
  .site-header .brand-mark { width:116px; height:54px; background-size:122px auto; }
  .site-header .header-logo-motion { width:116px; max-width:116px; height:54px; flex-basis:116px; }
  .site-header .header-cta { display:inline-flex; margin-left:auto; padding:11px 12px; gap:8px; font-size:9px; }
  .site-header .header-cta span { font-size:12px; }
  .site-header .mobile-toggle { display:block; width:30px; padding:0; margin-left:0; flex:none; }
  .hero { min-height:0; padding:58px 22px 70px; }
  .hero h1 { font-size:46px; }
  .hero-media { height:330px; }
  .hero-media-photo { height:310px; }
  .care-section,.product-section { padding:72px 20px; }
  .section-heading { gap:28px; }
  .care-grid-full,.product-grid-six,.catalog-grid { grid-template-columns:1fr; }
  .care-grid-full .care-card { height:440px; }
  .product-image,.catalog-grid .product-image { height:330px; }
  .catalog-tools { top:8px; }.catalog-search-wrap { width:100%; }
  .whatsapp,.whatsapp:hover { width:58px; height:58px; right:16px; bottom:16px; transform:none; }
  .whatsapp span { display:none; }
  .protocol-page-hero { min-height:0; }
  .protocol-hero-copy { padding:72px 22px 60px; }
  .protocol-hero-copy h1 { font-size:48px; }
  .protocol-hero-visual { min-height:420px; }
  .protocol-hero-visual>span { right:22px; bottom:24px; }
  .protocol-orbit { width:280px; height:280px; }
  .protocol-intro { padding:80px 22px 64px; }
  .protocol-intro>div { grid-template-columns:1fr; gap:28px; }
  .protocol-showcase { padding:0 18px 80px; }
  .protocol-story { min-height:0; margin-top:36px; }
  .protocol-story-image { min-height:330px; }
  .protocol-story-copy { padding:38px 26px 44px; }
  .protocol-story-copy h2 { font-size:38px; }
  .story-link { margin-top:30px; }
  .settings-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .whatsapp:before { opacity:.35; transform:none; animation:none; }
  .whatsapp,.whatsapp img { transition:none; }
  .whatsapp:hover { transform:none; }
  .whatsapp:hover img { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}

/* Rejuvi logosundaki geometrik ve temiz karaktere yakın tek tip marka fontu */
body,body * { font-family:var(--brand-font) !important; }
body em { font-style:normal !important; font-weight:300; }

/* Full-bleed campaign film and Instagram video gallery */
.hero:has(.hero-slide-video.is-active) { display:block; min-height:680px; padding:0; background:#0d285e; }
.hero-slide-video { position:relative; grid-template-columns:1fr; min-height:680px; overflow:hidden; isolation:isolate; }
.hero-background-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-slide-video:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(8,28,77,.92) 0%,rgba(14,43,99,.66) 45%,rgba(13,39,87,.2) 100%); pointer-events:none; }
.hero-slide-video .hero-copy { z-index:2; max-width:760px; padding:100px 8vw 112px; color:#fff; }
.hero-slide-video .eyebrow,.hero-slide-video h1,.hero-slide-video h1 em { color:#fff; }
.hero-slide-video .hero-copy>p { color:#e2ebfa; }
.hero-slide-video .text-button { border-bottom-color:rgba(255,255,255,.52); }
.instagram-section { padding:96px 7vw 104px; background:#fff; border-top:1px solid #edf0f5; }
.instagram-section .section-heading { margin-bottom:34px; }
.instagram-section .section-heading h2 { font-size:clamp(37px,4.1vw,60px); }
.instagram-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.instagram-card { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; color:#fff; background:#163577; isolation:isolate; }
.instagram-card>video { position:absolute; z-index:0; width:100%; height:100%; object-fit:cover; background:linear-gradient(145deg,#102b66,#2c58a2); transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s,opacity .25s; }
.instagram-card:after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(9,28,71,.03) 22%,rgba(7,26,67,.72) 100%); pointer-events:none; }
.instagram-card:hover>video,.instagram-card:focus-visible>video { filter:saturate(1.06); transform:scale(1.045); }
.instagram-card:focus-visible { outline:3px solid #93b1eb; outline-offset:3px; }
.instagram-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; background:radial-gradient(circle at 50% 38%,rgba(146,179,234,.72),transparent 18%),linear-gradient(145deg,#102b66,#2c58a2); }
.instagram-placeholder:before { content:""; position:absolute; width:65%; aspect-ratio:1; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.instagram-placeholder span,.instagram-placeholder small { position:relative; z-index:1; }
.instagram-placeholder span { font-size:26px; font-weight:300; letter-spacing:-.08em; }
.instagram-placeholder small { font-size:8px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.instagram-play { position:absolute; z-index:2; top:18px; right:18px; display:grid; width:34px; height:34px; place-items:center; padding-left:2px; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(13,39,89,.22); font-size:10px; transition:background .25s,transform .25s; }
.instagram-card:hover .instagram-play { background:rgba(255,255,255,.95); color:var(--blue); transform:scale(1.08); }
.instagram-card-meta { position:absolute; z-index:2; right:18px; bottom:18px; left:18px; display:flex; flex-direction:column; gap:6px; }
.instagram-card-meta small { color:#d9e5fb; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.instagram-card-meta strong { max-width:90%; font-size:13px; font-weight:500; line-height:1.35; }

/* Instagram JSON editor */
.instagram-profile-setting { display:flex; align-items:end; gap:25px; margin:0 0 22px; padding:18px 20px; border:1px solid #dfe6f0; background:#f6f8fc; }
.instagram-profile-setting label { display:flex; flex:1; flex-direction:column; gap:6px; }.instagram-profile-setting small { color:#7182a1; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.instagram-profile-setting input { width:100%; padding:10px; border:1px solid #dce3ed; background:#fff; color:#24365e; }.instagram-profile-setting p { max-width:340px; margin:0; color:#738198; font-size:10px; line-height:1.55; }
.instagram-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.instagram-edit-card { display:grid; grid-template-columns:145px minmax(0,1fr); gap:16px; min-width:0; padding:15px; border:1px solid #dfe6f0; background:#fff; }.instagram-edit-preview { aspect-ratio:4/5; overflow:hidden; background:#1b3c83; }.instagram-edit-preview video { width:100%; height:100%; object-fit:cover; }.instagram-admin-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:#fff; background:linear-gradient(145deg,#12306c,#315da8); }.instagram-admin-placeholder strong { font-size:20px; font-weight:300; letter-spacing:-.08em; }.instagram-admin-placeholder span { font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.instagram-edit-fields { display:flex; flex-direction:column; gap:10px; min-width:0; }.instagram-edit-fields label:not(.upload-button) { display:flex; flex-direction:column; gap:6px; }.instagram-edit-fields small { color:#778399; font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.instagram-edit-fields input:not([type="checkbox"]) { width:100%; min-width:0; padding:10px; border:1px solid #dce3ed; color:#24365e; background:#fff; font-size:10px; }.instagram-edit-fields .switch-field { width:68px; }.empty-admin-state { padding:28px; border:1px dashed #c7d3e4; color:#71819a; font-size:11px; text-align:center; }

@media (max-width:960px) { .hero:has(.hero-slide-video.is-active),.hero-slide-video { min-height:560px; }.hero-slide-video .hero-copy { padding:84px 8vw 96px; }.instagram-section { padding:74px 24px 80px; }.instagram-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.instagram-editor { grid-template-columns:1fr; }.instagram-profile-setting { align-items:stretch; flex-direction:column; gap:12px; } }
@media (max-width:620px) { .hero:has(.hero-slide-video.is-active),.hero-slide-video { min-height:540px; }.hero-slide-video .hero-copy { padding:72px 22px 82px; }.instagram-section { padding:64px 20px 68px; }.instagram-grid { gap:9px; }.instagram-card-meta { right:13px; bottom:13px; left:13px; }.instagram-card-meta strong { font-size:11px; }.instagram-play { top:12px; right:12px; width:30px; height:30px; }.instagram-edit-card { grid-template-columns:112px minmax(0,1fr); gap:12px; padding:12px; } }

/* Refined dealer CTA and slider timing indicator */
.header-cta { position:relative; gap:11px; min-height:54px; padding:6px 9px 6px 7px; border:1px solid rgba(31,61,137,.38); background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,244,253,.96)); box-shadow:0 8px 20px rgba(27,56,111,.07); overflow:hidden; }
.header-cta:before { content:""; position:absolute; width:42px; height:42px; right:-17px; bottom:-20px; border:1px solid rgba(31,61,137,.16); border-radius:50%; transition:transform .35s; }
.header-cta:hover { color:#fff; border-color:var(--blue); background:var(--blue); box-shadow:0 14px 30px rgba(21,52,115,.24); }
.header-cta:hover:before { transform:scale(1.6); }
.header-cta-seal { position:relative; z-index:1; display:grid; width:39px; height:39px; place-items:center; color:#fff; background:var(--blue); border-radius:50%; font-size:13px; box-shadow:inset 0 0 0 3px rgba(255,255,255,.2); transition:color .3s,background .3s,transform .3s; }
.header-cta:hover .header-cta-seal { color:var(--blue); background:#fff; transform:rotate(25deg); }
.header-cta-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:2px; line-height:1; }
.header-cta-copy b { font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.header-cta-copy small { color:#7182a0; font-size:7px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:color .3s; }.header-cta:hover .header-cta-copy small { color:#dbe7fb; }
.header-cta-arrow { position:relative; z-index:1; display:grid; width:24px; height:24px; place-items:center; margin-left:3px; border:1px solid rgba(31,61,137,.22); border-radius:50%; color:var(--blue); font-size:12px; transition:color .3s,border-color .3s,transform .3s; }.header-cta:hover .header-cta-arrow { color:#fff; border-color:rgba(255,255,255,.5); transform:translate(2px,-2px); }
.slider-progress { position:absolute; z-index:6; bottom:27px; left:calc(8vw + 94px); width:94px; height:3px; overflow:hidden; background:rgba(31,61,137,.18); }.slider-progress i { display:block; width:0; height:100%; background:var(--blue); }.slider-progress i.is-running { animation:sliderFill 6.5s linear forwards; }.hero:hover .slider-progress i { animation-play-state:paused; }.hero:has(.hero-slide-video.is-active) .slider-progress { background:rgba(255,255,255,.35); }.hero:has(.hero-slide-video.is-active) .slider-progress i { background:#fff; }
@keyframes sliderFill { from { width:0; } to { width:100%; } }
@media (max-width:960px) { .header-cta { min-height:46px; }.header-cta-seal { width:33px; height:33px; }.header-cta-copy small { display:none; }.slider-progress { bottom:27px; left:calc(8vw + 82px); width:72px; } }
@media (max-width:620px) { .site-header .header-cta { min-height:39px; padding:4px 6px 4px 4px; gap:6px; }.site-header .header-cta .header-cta-seal { width:28px; height:28px; font-size:10px; }.header-cta-copy b { font-size:8px; }.site-header .header-cta .header-cta-arrow { width:19px; height:19px; font-size:10px; }.slider-progress { bottom:28px; left:105px; width:64px; } }
@media (prefers-reduced-motion:reduce) { .slider-progress i.is-running { animation:none; width:100%; } }

/* Turkey dealer locator CTA */
.header-cta { min-width:168px; min-height:50px; gap:8px; padding:6px 9px; border-color:rgba(31,61,137,.28); background:#fff; }
.header-cta:before { width:62px; height:62px; right:-29px; bottom:-31px; }
.header-cta-map { position:relative; z-index:1; display:block; width:66px; height:30px; flex:none; color:var(--blue); }
.header-cta-map svg { display:block; width:100%; height:100%; overflow:visible; }.header-cta-map path { fill:currentColor; opacity:.96; transition:color .3s,transform .3s; transform-origin:center; }.header-cta-map circle { fill:#fff; stroke:currentColor; stroke-width:2; transform-box:fill-box; transform-origin:center; animation:dealerPin 2.4s ease-in-out infinite; }.header-cta-map circle:nth-of-type(2) { animation-delay:.35s; }.header-cta-map circle:nth-of-type(3) { animation-delay:.7s; }
.header-cta-copy { gap:3px; }.header-cta-copy b { font-size:9px; }.header-cta-copy small { font-size:7px; letter-spacing:.08em; }.header-cta-arrow { width:22px; height:22px; margin-left:auto; }
.header-cta:hover .header-cta-map { color:#fff; }.header-cta:hover .header-cta-map path { transform:scale(1.04); }.header-cta:hover .header-cta-map circle { fill:var(--blue); stroke:#fff; }
@keyframes dealerPin { 0%,100% { transform:scale(1); } 50% { transform:scale(1.34); } }
@media (max-width:960px) { .header-cta { min-width:143px; }.header-cta-map { width:52px; height:25px; } }
@media (max-width:620px) { .site-header .header-cta { min-width:97px; padding:4px 5px; }.site-header .header-cta .header-cta-map { display:block; width:40px; height:22px; }.site-header .header-cta .header-cta-copy b { font-size:8px; }.site-header .header-cta .header-cta-arrow { width:18px; height:18px; } }
@media (prefers-reduced-motion:reduce) { .header-cta-map circle { animation:none; } }

/* Multilingual navigation */
.language-menu { position:relative; flex:0 0 auto; }
.language-menu summary { min-width:58px; min-height:40px; display:flex; align-items:center; justify-content:center; gap:5px; padding:6px 9px; color:var(--blue); background:#fff; border:1px solid rgba(31,61,137,.2); border-radius:999px; cursor:pointer; list-style:none; box-shadow:0 6px 18px rgba(24,54,116,.06); }
.language-menu summary::-webkit-details-marker { display:none; }
.language-flag { display:block; width:28px; height:21px; object-fit:cover; border:1px solid rgba(20,40,84,.14); border-radius:3px; box-shadow:0 2px 6px rgba(20,40,84,.11); }
.language-menu summary i { font-style:normal; transition:transform .2s; }
.language-menu[open] summary i { transform:rotate(180deg); }
.language-menu>div { position:absolute; z-index:90; top:calc(100% + 12px); right:0; width:64px; padding:6px; background:#fff; border:1px solid var(--line); box-shadow:0 18px 44px rgba(16,43,96,.15); }
.language-menu>div:before { content:""; position:absolute; right:19px; top:-6px; width:10px; height:10px; background:#fff; border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg); }
.language-menu a { position:relative; display:flex; align-items:center; justify-content:center; min-height:43px; padding:7px; color:var(--text); text-decoration:none; border-radius:7px; }
.language-menu a:hover,.language-menu a[aria-current="page"] { color:var(--blue); background:var(--blue-soft); }
.language-menu a[aria-current="page"] { box-shadow:inset 0 0 0 1px rgba(31,61,137,.18); }
.mobile-languages { display:none; }
.admin-language { display:flex; align-items:center; gap:10px; margin-left:auto; margin-right:22px; }
.admin-language label { color:#7182a1; font-size:8px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-language select { min-width:132px; height:38px; padding:0 32px 0 11px; color:var(--blue); background:#f5f8fc; border:1px solid #d9e2ef; font-size:10px; font-weight:800; }
.admin-language-notice { margin-bottom:22px; padding:12px 15px; color:#57677f; background:#eef4fc; border-left:3px solid var(--blue); font-size:10px; line-height:1.6; }
.admin-language-notice strong { color:var(--blue); }

html[dir="rtl"] body { text-align:right; }
html[dir="rtl"] .language-menu>div { right:auto; left:0; }
html[dir="rtl"] .language-menu>div:before { right:auto; left:19px; }
html[dir="rtl"] .header-logo-piece { object-position:right center; }
html[dir="rtl"] .mega-arrow,html[dir="rtl"] .text-button span,html[dir="rtl"] .product-card-action b { transform:scaleX(-1); }

@media (max-width:960px) {
  .site-header>.language-menu { display:none; }
  .mobile-languages { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:14px 0 8px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .mobile-languages a { min-width:0; min-height:52px; display:flex; align-items:center; justify-content:center; padding:8px 3px; color:var(--blue); background:var(--blue-soft); border:1px solid transparent; border-radius:9px; text-decoration:none; }
  .mobile-languages a[aria-current="page"] { background:#fff; border-color:var(--blue); box-shadow:0 5px 14px rgba(31,61,137,.12); }
  .mobile-languages .language-flag { width:32px; height:24px; }
  .admin-language { margin-left:auto; margin-right:10px; }
  .admin-language label { display:none; }
}

@media (max-width:620px) {
  .admin-language select { min-width:96px; max-width:112px; }
}

/* Supplied Turkey map dealer mark */
.header-cta { min-width:188px; gap:7px; padding:4px 8px 4px 5px; }
.header-cta-map { width:95px; height:43px; overflow:visible; }
.header-cta-map img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 3px 4px rgba(133,29,24,.16)); transition:transform .3s,filter .3s; }
.header-cta-map>b { position:absolute; top:50%; left:57%; padding:4px 6px; color:#fff; background:rgba(13,37,93,.88); box-shadow:0 2px 7px rgba(7,22,57,.24); font-size:7px; font-weight:800; letter-spacing:.11em; line-height:1; text-transform:uppercase; transform:translate(-50%,-50%); }
.header-cta:hover .header-cta-map { color:initial; }.header-cta:hover .header-cta-map img { filter:drop-shadow(0 5px 8px rgba(9,25,65,.23)); transform:translateY(-2px) scale(1.04); }.header-cta:hover .header-cta-map>b { background:#fff; color:var(--blue); }
.header-cta-copy b { font-size:8px; letter-spacing:.09em; }.header-cta-copy small { font-size:7px; letter-spacing:.07em; }
@media (max-width:960px) { .header-cta { min-width:168px; }.header-cta-map { width:78px; height:37px; } }
@media (max-width:620px) { .site-header .header-cta { min-width:113px; gap:3px; padding:3px 4px; }.site-header .header-cta .header-cta-map { width:62px; height:31px; }.site-header .header-cta .header-cta-map>b { padding:3px 4px; font-size:6px; }.site-header .header-cta .header-cta-copy { display:none; }.site-header .header-cta .header-cta-arrow { width:17px; height:17px; } }

/* Minimal map-only dealer link */
.header-cta { min-width:96px; min-height:0; flex-direction:column; gap:0; padding:4px 2px 3px; border:0; background:transparent; box-shadow:none; overflow:visible; }
.header-cta:before { display:none; }.header-cta:hover { color:var(--blue); border:0; background:transparent; box-shadow:none; }
.header-cta-map { width:94px; height:39px; }.header-cta-map img { filter:drop-shadow(0 2px 3px rgba(133,29,24,.13)); }.header-cta:hover .header-cta-map img { filter:drop-shadow(0 4px 6px rgba(133,29,24,.18)); transform:translateY(-2px) scale(1.04); }
.header-cta-copy { display:block; margin-top:-1px; line-height:1; }.header-cta-copy b { display:block; color:var(--blue); font-size:8px; font-weight:800; letter-spacing:.16em; line-height:1.1; text-transform:uppercase; }.header-cta-copy small,.header-cta-arrow { display:none; }
@media (max-width:960px) { .header-cta { min-width:82px; }.header-cta-map { width:78px; height:33px; } }
@media (max-width:620px) { .site-header .header-cta { min-width:70px; padding:2px 0; }.site-header .header-cta .header-cta-map { width:68px; height:29px; }.site-header .header-cta .header-cta-copy { display:block; }.site-header .header-cta .header-cta-copy b { font-size:7px; } }

/* Keep the dealer shortcut visible beside the mobile menu on tablet widths. */
@media (min-width:621px) and (max-width:960px) { .site-header .header-cta { display:inline-flex; margin-left:auto; } }

/* The remaining brand milestone is intentionally presented as a single item. */
.about-points { grid-template-columns:minmax(0,1fr); max-width:340px; }

/* Editorial navigation: a light lift and colour shift replace the old underline. */
.desktop-nav>a,.nav-parent { transition:color .24s ease,transform .24s ease; }
.desktop-nav>a:after,.nav-parent:after { display:none; }
.desktop-nav>a:hover,.nav-parent:hover { color:var(--blue); transform:translateY(-1px); }
.nav-cluster .menu-trigger:hover span { color:var(--blue); }

/* Consent card: one clear approval action with the editable brand mark. */
.cookie-card { padding:22px 24px 24px; border-top:0; border-left:3px solid var(--blue); border-radius:0 2px 2px 0; }
.cookie-card-heading { display:flex; align-items:center; gap:15px; }
.cookie-brand-logo { display:block; width:92px; height:34px; object-fit:contain; object-position:left center; flex:none; }
.cookie-card-heading h3 { max-width:220px; font-family:var(--brand-font); font-size:18px; font-weight:500; letter-spacing:-.025em; line-height:1.08; }
.cookie-actions { display:block; margin-top:20px; }
.cookie-actions button { width:100%; padding:13px 16px; color:#fff; background:var(--blue); border-color:var(--blue); transition:background .25s,transform .25s; }
.cookie-actions button:hover { background:var(--blue-dark); transform:translateY(-1px); }

/* Rejuvi contact concierge: a calmer editorial hierarchy for every contact route. */
.contact-luxe-hero { position:relative; min-height:650px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); align-items:center; gap:9vw; padding:102px 9vw 118px; overflow:hidden; color:#fff; background:linear-gradient(120deg,#071b45 0%,#153675 53%,#294f99 100%); }
.contact-luxe-hero:before { content:""; position:absolute; width:760px; height:760px; right:-300px; top:-380px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02); }
.contact-luxe-copy { position:relative; z-index:1; max-width:760px; }.contact-luxe-copy h1 { margin:18px 0 23px; color:#fff; font:400 clamp(52px,6vw,92px)/.94 var(--serif); letter-spacing:-.058em; }.contact-luxe-copy h1 em { color:#b8c9e9; font-style:normal; }.contact-luxe-copy p { max-width:590px; margin:0; color:#d6e2f4; font-size:15px; line-height:1.9; }.contact-luxe-copy .light-button { margin-top:34px; transition:color .25s,background .25s; }.contact-luxe-copy .light-button:hover { color:var(--blue); background:#fff; }
.contact-luxe-mark { position:relative; z-index:1; align-self:center; display:grid; width:min(340px,100%); aspect-ratio:1; place-items:center; justify-self:end; border:1px solid rgba(255,255,255,.33); border-radius:50%; text-align:center; transform:rotate(-8deg); }.contact-luxe-mark:before,.contact-luxe-mark:after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.15); border-radius:50%; }.contact-luxe-mark:after { inset:53px; border-color:rgba(255,255,255,.1); }.contact-luxe-mark span,.contact-luxe-mark b { position:relative; z-index:1; }.contact-luxe-mark span { color:#fff; font-size:19px; font-weight:500; letter-spacing:.32em; }.contact-luxe-mark b { margin-top:-100px; color:#b8c9e9; font-size:9px; font-weight:700; letter-spacing:.19em; line-height:1.7; }.contact-luxe-mark i { position:absolute; z-index:2; top:46px; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 235px 0 #fff; }
.contact-luxe-details { padding:110px 9vw 112px; background:#fff; }.contact-luxe-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:9vw; align-items:end; max-width:1260px; margin:0 auto 52px; }.contact-luxe-intro h2 { margin:15px 0 0; color:var(--blue-dark); font:400 clamp(38px,4vw,63px)/1.02 var(--serif); letter-spacing:-.045em; }.contact-luxe-intro h2 em { color:#8294b3; font-style:normal; }.contact-luxe-intro p { margin:0 0 4px; color:#61708a; font-size:14px; line-height:1.9; }
.contact-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; max-width:1260px; margin:0 auto; }.contact-method { position:relative; display:flex; min-height:294px; flex-direction:column; align-items:flex-start; padding:27px 29px; overflow:hidden; border:1px solid #dfe6f0; color:var(--blue-dark); background:#fbfcfe; transition:transform .3s,box-shadow .3s,border-color .3s,background .3s; }.contact-method:before { content:""; position:absolute; width:150px; height:150px; right:-74px; top:-74px; border:1px solid #dce5f1; border-radius:50%; transition:transform .4s; }.contact-method:hover { border-color:#a8bad8; background:#fff; box-shadow:0 20px 50px rgba(22,53,111,.1); transform:translateY(-5px); }.contact-method:hover:before { transform:scale(1.3); }.contact-method>span { position:relative; z-index:1; margin-left:auto; color:#93a6c5; font:400 18px var(--serif); }.contact-method small { position:relative; z-index:1; margin-top:13px; color:#607ba9; font-size:8px; font-weight:800; letter-spacing:.16em; }.contact-method strong { position:relative; z-index:1; margin:17px 0 11px; font:500 clamp(18px,1.65vw,25px)/1.15 var(--brand-font); letter-spacing:-.035em; }.contact-method p { position:relative; z-index:1; margin:0; color:#6a7890; font-size:12px; line-height:1.7; }.contact-method b { position:relative; z-index:1; display:flex; width:100%; justify-content:space-between; margin-top:auto; padding-top:18px; border-top:1px solid #dfe6f0; color:#183a7e; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }.contact-method b i,.contact-location-arrow i { font-size:14px; font-style:normal; }.contact-method-whatsapp { color:#fff; border-color:#173b86; background:var(--blue); }.contact-method-whatsapp:before { border-color:rgba(255,255,255,.2); }.contact-method-whatsapp:hover { border-color:var(--blue-dark); background:#173575; }.contact-method-whatsapp>span,.contact-method-whatsapp small { color:#c8d8f3; }.contact-method-whatsapp p { color:#e0e9f8; }.contact-method-whatsapp b { color:#fff; border-color:rgba(255,255,255,.28); }
.contact-location { display:flex; align-items:end; justify-content:space-between; gap:30px; max-width:1260px; margin:14px auto 0; padding:46px 48px; color:#fff; background:#112e68; transition:background .25s,transform .25s; }.contact-location:hover { background:#173b86; transform:translateY(-2px); }.contact-location h2 { margin:13px 0 10px; font:400 clamp(28px,3vw,45px)/1.04 var(--serif); letter-spacing:-.035em; }.contact-location p { margin:0; color:#c9d7ed; font-size:13px; }.contact-location .eyebrow { color:#b6c9e8; }.contact-location-arrow { display:flex; flex:none; align-items:center; gap:14px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.55); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.contact-note-luxe { margin:0; padding:96px 10vw 110px; background:#f3f6fb; border-top:0; }
.footer-address { margin-top:3px; color:#aab9d2 !important; font-size:10px !important; line-height:1.6; }
@media (max-width:960px) { .contact-luxe-hero { min-height:0; grid-template-columns:1fr; gap:50px; padding:86px 8vw; }.contact-luxe-mark { justify-self:start; width:230px; }.contact-luxe-mark b { margin-top:-70px; }.contact-luxe-mark i { top:30px; box-shadow:0 162px 0 #fff; }.contact-luxe-intro { grid-template-columns:1fr; gap:22px; }.contact-methods { grid-template-columns:1fr; }.contact-method { min-height:230px; }.contact-location { padding:38px; } }
@media (max-width:620px) { .cookie-card { left:12px; bottom:12px; width:calc(100vw - 24px); padding:19px 18px 20px; }.cookie-brand-logo { width:78px; height:29px; }.cookie-card-heading { gap:11px; }.cookie-card-heading h3 { font-size:16px; }.contact-luxe-hero { padding:74px 22px 72px; }.contact-luxe-copy h1 { font-size:50px; }.contact-luxe-mark { width:190px; margin-top:4px; }.contact-luxe-mark span { font-size:13px; }.contact-luxe-mark b { margin-top:-58px; font-size:7px; }.contact-luxe-mark:after { inset:37px; }.contact-luxe-mark i { top:25px; box-shadow:0 133px 0 #fff; }.contact-luxe-details { padding:70px 22px; }.contact-luxe-intro { margin-bottom:34px; }.contact-method { min-height:220px; padding:24px; }.contact-location { align-items:flex-start; flex-direction:column; padding:31px 25px; }.contact-location h2 { font-size:31px; }.contact-note-luxe { padding:72px 24px 80px; } }

/* Direct contact layout: cards first, then a real, embeddable Google map. */
.contact-luxe-hero { min-height:470px; grid-template-columns:minmax(0,1fr); padding-top:92px; padding-bottom:96px; }
.contact-luxe-copy { max-width:760px; }
.contact-luxe-details { padding-top:90px; }
.contact-luxe-details .contact-methods { max-width:1260px; }
.contact-map { position:relative; max-width:1260px; min-height:490px; margin:14px auto 0; overflow:hidden; background:#e8edf5; }
.contact-map iframe { display:block; width:100%; height:490px; border:0; filter:saturate(.78) contrast(.98); }
.contact-map .contact-location { position:absolute; right:0; bottom:0; left:0; max-width:none; margin:0; background:linear-gradient(90deg,rgba(9,31,76,.97),rgba(18,51,111,.91)); }
@media (max-width:620px) { .contact-luxe-hero { min-height:0; padding-top:74px; padding-bottom:72px; }.contact-luxe-details { padding-top:56px; }.contact-map { min-height:500px; }.contact-map iframe { height:500px; }.contact-map .contact-location { padding:27px 25px; } }

/* Protocol detail hierarchy: products before the care flow */
.protocol-detail-content { padding-bottom:78px; }.protocol-needs { position:relative; overflow:hidden; padding:30px !important; border:1px solid rgba(31,61,137,.14); background:linear-gradient(145deg,#f5f8fd,#e9f0fa) !important; box-shadow:0 18px 42px rgba(27,55,111,.08); }
.protocol-needs:after { content:""; position:absolute; width:170px; height:170px; right:-74px; bottom:-92px; border:1px solid rgba(31,61,137,.11); border-radius:50%; box-shadow:0 0 0 24px rgba(31,61,137,.025); pointer-events:none; }.protocol-needs>small { position:relative; z-index:1; display:block; margin-bottom:18px !important; color:var(--blue) !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.15em !important; }
.protocol-needs>div { position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:9px; }.protocol-needs span { display:flex; align-items:center; gap:10px; min-height:43px; padding:9px 11px; border:1px solid rgba(31,61,137,.12); background:rgba(255,255,255,.68); color:#274275 !important; font-size:14px !important; line-height:1.35; transition:transform .25s,background .25s; }.protocol-needs span:hover { background:#fff; transform:translateX(4px); }.protocol-needs i { display:grid; width:20px; height:20px; flex:none; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:10px; font-style:normal; }.protocol-needs b { font-weight:600; }
.protocol-products-section { padding:54px 7vw 70px; border-top:1px solid rgba(31,61,137,.1); border-bottom:1px solid rgba(31,61,137,.1); background:#f3f7fc; }.protocol-products-section + .steps-section { padding-top:82px; background:#fff; }.protocol-products-section + .steps-section>div { border-top-color:rgba(31,61,137,.18); }.protocol-products-section + .steps-section article { border-right-color:rgba(31,61,137,.16); }
@media (max-width:960px) { .protocol-detail-content { padding-bottom:62px; }.protocol-needs { max-width:560px; }.protocol-products-section { padding:48px 8vw 62px; } }
@media (max-width:620px) { .protocol-detail-content { padding-bottom:50px; }.protocol-needs { padding:24px !important; }.protocol-needs span { min-height:46px; font-size:14px !important; }.protocol-products-section { padding:42px 22px 54px; }.protocol-products-section + .steps-section { padding-top:58px; } }

/* In-site Instagram video player */
body.has-video-modal { overflow:hidden; }.instagram-modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:24px; }.instagram-modal[hidden] { display:none; }.instagram-modal-backdrop { position:absolute; inset:0; border:0; background:rgba(5,17,47,.83); backdrop-filter:blur(9px); cursor:pointer; }.instagram-modal-dialog { position:relative; z-index:1; width:min(780px,100%); max-height:calc(100vh - 48px); overflow:auto; background:#071d4d; box-shadow:0 28px 90px rgba(2,10,34,.48); }.instagram-modal-dialog>video { display:block; width:100%; max-height:min(78vh,700px); background:#000; }.instagram-modal-close { position:absolute; z-index:2; top:14px; right:14px; display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(9,29,74,.7); color:#fff; font-size:25px; font-weight:300; line-height:1; cursor:pointer; }.instagram-modal-info { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:16px 20px; color:#fff; }.instagram-modal-info strong { font-size:13px; font-weight:600; }.instagram-modal-info a { color:#d9e5fb; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }@media (max-width:620px) { .instagram-modal { padding:12px; }.instagram-modal-dialog { max-height:calc(100vh - 24px); }.instagram-modal-dialog>video { max-height:72vh; }.instagram-modal-info { align-items:flex-start; flex-direction:column; gap:8px; padding:14px; } }

/* Dark, motion-led Instagram showcase */
.product-benefit-rail>div { grid-template-columns:1fr; gap:0; }
.instagram-section { color:#fff; background:linear-gradient(135deg,#071a42,#0c2a65); border-top:0; }.instagram-section .eyebrow { color:#b8cef5; }.instagram-section .section-heading h2 { color:#fff; }.instagram-section .text-button { border-bottom-color:rgba(255,255,255,.42); }.instagram-section .text-button:hover { color:#dce8ff; }.instagram-grid { gap:16px; }.instagram-card { border:1px solid rgba(255,255,255,.12); border-radius:4px; background:#071a42; box-shadow:0 18px 34px rgba(0,9,31,.24); }.instagram-card:after { background:linear-gradient(180deg,rgba(4,17,48,.03) 26%,rgba(3,13,38,.92) 100%); }.instagram-card:hover { border-color:rgba(204,223,255,.55); }.instagram-tag { position:absolute; z-index:2; top:14px; left:14px; padding:7px 9px; color:#183872; background:#fff; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.instagram-play { top:50%; right:auto; left:50%; width:50px; height:50px; border-color:rgba(255,255,255,.68); background:rgba(5,21,57,.38); font-size:13px; transform:translate(-50%,-50%); }.instagram-card:hover .instagram-play { transform:translate(-50%,-50%) scale(1.08); }.instagram-card-meta { right:20px; bottom:20px; left:20px; }.instagram-card-meta small { color:#b8cef5; }.instagram-card-meta strong { font-size:16px; line-height:1.3; }
@media (max-width:620px) { .instagram-tag { top:10px; left:10px; padding:6px 7px; font-size:7px; }.instagram-card-meta { right:13px; bottom:13px; left:13px; }.instagram-card-meta strong { font-size:12px; }.instagram-play { width:38px; height:38px; font-size:10px; } }

/* Rejuvi professional knowledge hub */
.home-blog-section,.related-blog-section { padding:100px 7vw 110px; background:#eef3f9; }
.home-blog-section .heading-side { max-width:430px; }
.blog-page-hero { position:relative; min-height:590px; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); align-items:center; gap:8vw; padding:105px 9vw 112px; overflow:hidden; color:#fff; background:linear-gradient(128deg,#071a42 0%,#123575 58%,#315797 100%); }
.blog-page-hero:before { content:""; position:absolute; width:760px; height:760px; right:-290px; top:-390px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 84px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.018); }
.blog-page-hero>div:first-child { position:relative; z-index:1; max-width:820px; }
.blog-page-hero h1 { margin:20px 0 24px; color:#fff; font:400 clamp(54px,6vw,92px)/.95 var(--serif); letter-spacing:-.06em; }
.blog-page-hero h1 em { color:#bdcdea; font-style:normal; }
.blog-page-hero p { max-width:680px; margin:0; color:#d7e3f5; font-size:15px; line-height:1.9; }
.blog-hero-mark { position:relative; z-index:1; display:grid; width:min(330px,100%); aspect-ratio:1; place-items:center; justify-self:end; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.blog-hero-mark:before,.blog-hero-mark:after { content:""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.blog-hero-mark:after { inset:62px; }
.blog-hero-mark span { position:relative; z-index:1; color:#fff; font:400 100px/1 var(--serif); }
.blog-hero-mark small { position:absolute; bottom:54px; color:#c6d7f3; font-size:8px; font-weight:800; line-height:1.55; letter-spacing:.18em; text-align:center; }
.blog-index { padding:88px 8vw 120px; background:#fff; }
.blog-index-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; max-width:1260px; margin:0 auto 46px; padding-bottom:25px; border-bottom:1px solid #dfe6f0; }
.blog-index-intro>span { color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.16em; }
.blog-index-intro p { max-width:610px; margin:0; color:#66758d; font-size:12px; line-height:1.75; }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1260px; margin:0 auto; }
.blog-card { min-width:0; overflow:hidden; border:1px solid #dfe6f0; background:#fff; transition:transform .35s,box-shadow .35s,border-color .35s; }
.blog-card:hover { border-color:#b9c8df; box-shadow:0 24px 58px rgba(18,48,105,.12); transform:translateY(-6px); }
.blog-card-image { position:relative; display:block; height:390px; overflow:hidden; background:#dce5f1; }
.blog-card-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(7,24,62,.28)); pointer-events:none; }
.blog-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.blog-card:hover .blog-card-image img { transform:scale(1.045); }
.blog-card-image>span { position:absolute; z-index:2; top:18px; left:18px; padding:9px 11px; color:#163875; background:rgba(255,255,255,.94); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.blog-card-copy { display:flex; min-height:310px; flex-direction:column; padding:28px 31px 30px; }
.blog-card-meta { display:flex; align-items:center; gap:10px; color:#7a89a1; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.blog-card-meta i { width:3px; height:3px; border-radius:50%; background:#9baccc; }
.blog-card h2,.blog-card h3 { margin:17px 0 14px; color:var(--blue-dark); font:500 clamp(25px,2.25vw,34px)/1.1 var(--serif); letter-spacing:-.04em; }
.blog-card h2 a,.blog-card h3 a { color:inherit; }
.blog-card-copy>p { display:-webkit-box; overflow:hidden; margin:0; color:#61708a; font-size:13px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.blog-card-link { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:22px; border-top:1px solid #e1e7f0; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.blog-card-link b { font-size:16px; font-weight:400; }
.blog-article { padding:78px 7vw 0; background:#fff; }
.blog-article-header { max-width:980px; margin:0 auto; text-align:center; }
.blog-breadcrumbs { display:flex; align-items:center; justify-content:center; gap:9px; margin-bottom:34px; color:#7b899f; font-size:10px; }
.blog-breadcrumbs a { color:#49658f; }
.blog-article-header h1 { margin:18px 0 22px; color:var(--blue-dark); font:500 clamp(52px,6.6vw,92px)/.98 var(--serif); letter-spacing:-.062em; }
.blog-article-deck { max-width:780px; margin:0 auto; color:#5e6e88; font-size:16px; line-height:1.85; }
.blog-byline { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:34px; }
.blog-byline>span { display:flex; flex-direction:column; gap:4px; }
.blog-byline b { color:#243f70; font-size:10px; font-weight:700; }
.blog-byline small { color:#8794aa; font-size:8px; letter-spacing:.11em; text-transform:uppercase; }
.blog-byline i { width:1px; height:28px; background:#d9e1ec; }
.blog-cover { max-width:1260px; margin:58px auto 0; }
.blog-cover img { display:block; width:100%; height:clamp(430px,57vw,680px); object-fit:cover; }
.blog-cover figcaption,.blog-article-body figure figcaption { padding-top:10px; color:#7c899d; font-size:10px; line-height:1.5; }
.blog-article-layout { display:grid; grid-template-columns:240px minmax(0,760px); justify-content:center; gap:80px; max-width:1160px; margin:72px auto 0; padding-bottom:118px; }
.blog-toc { align-self:start; position:sticky; top:110px; padding:24px 0; border-top:2px solid var(--blue); border-bottom:1px solid #dce4ef; }
.blog-toc>strong { color:var(--blue); font-size:9px; letter-spacing:.16em; }
.blog-toc nav { display:flex; flex-direction:column; gap:0; margin-top:14px; }
.blog-toc nav a { padding:9px 0; border-bottom:1px solid #edf1f6; color:#526581; font-size:10px; line-height:1.45; transition:color .2s,padding .2s; }
.blog-toc nav a:hover { padding-left:5px; color:var(--blue); }
.blog-toc>div { margin-top:22px; padding:17px; color:#dbe6f8; background:#123472; }
.blog-toc>div span { font-size:8px; font-weight:800; letter-spacing:.14em; }
.blog-toc>div p { margin:8px 0 0; color:#dbe6f8; font-size:10px; line-height:1.65; }
.blog-article-body { min-width:0; color:#3f4f69; }
.blog-lead { margin-bottom:50px; padding:0 0 34px 27px; border-left:3px solid var(--blue); }
.blog-lead p { color:#344b70 !important; font-size:17px !important; line-height:1.85 !important; }
.blog-article-body>section { scroll-margin-top:120px; margin-top:54px; }
.blog-article-body h2 { margin:0 0 20px; color:var(--blue-dark); font:500 clamp(32px,3.2vw,44px)/1.08 var(--serif); letter-spacing:-.04em; }
.blog-article-body p { margin:0 0 19px; color:#4e5f78; font-size:15px; line-height:1.9; }
.blog-article-body ul { display:grid; gap:0; margin:26px 0 8px; padding:0; list-style:none; border-top:1px solid #dce4ef; }
.blog-article-body li { position:relative; padding:14px 12px 14px 32px; border-bottom:1px solid #dce4ef; color:#334b70; font-size:13px; line-height:1.55; }
.blog-article-body li:before { content:""; position:absolute; top:20px; left:7px; width:7px; height:7px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 4px #e7edf6; }
.blog-article-body figure { margin:31px 0; }
.blog-article-body figure img { display:block; width:100%; max-height:590px; object-fit:cover; background:#e8edf4; }
.blog-protocol-cta { position:relative; margin:64px 0; padding:38px 42px; overflow:hidden; color:#fff; background:linear-gradient(125deg,#0c285d,#1d4388); }
.blog-protocol-cta:after { content:""; position:absolute; width:210px; height:210px; right:-100px; top:-110px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.025); }
.blog-protocol-cta>span { color:#bcd0f0; font-size:8px; font-weight:800; letter-spacing:.16em; }
.blog-protocol-cta h2 { max-width:580px; margin:14px 0 !important; color:#fff; font-size:38px; }
.blog-protocol-cta p { max-width:590px; color:#dce7f7 !important; font-size:13px !important; }
.blog-protocol-cta a { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; margin-top:25px; padding-top:17px; border-top:1px solid rgba(255,255,255,.28); color:#fff; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.blog-protocol-cta a b { font-size:17px; }
.blog-faq { padding-top:10px; }
.blog-faq>h2 { margin-top:14px; }
.blog-faq>div { padding:24px 0; border-top:1px solid #dce4ef; }
.blog-faq>div:last-child { border-bottom:1px solid #dce4ef; }
.blog-faq h3 { margin:0 0 9px; color:#233e70; font-size:17px; font-weight:700; }
.blog-faq>div p { margin:0; font-size:13px; }
.blog-disclaimer { margin-top:52px; padding:23px 25px; border:1px solid #d7e0ec; background:#f5f8fb; }
.blog-disclaimer strong { color:#244477; font-size:10px; letter-spacing:.08em; }
.blog-disclaimer p { margin:8px 0 0; color:#66758b; font-size:11px; line-height:1.75; }
.related-blog-section { border-top:1px solid #dbe3ee; }

/* Blog controls in the built-in content manager */
.blog-record-editor { display:grid; grid-template-columns:280px minmax(0,1fr); gap:30px; padding:28px; background:#f8fafe; }
.blog-admin-cover { align-self:start; position:sticky; top:96px; display:flex; flex-direction:column; gap:13px; }
.blog-admin-cover>img { width:100%; aspect-ratio:1; object-fit:cover; background:#e2e8f1; }
.blog-admin-cover label { margin:0; }
.blog-admin-fields { min-width:0; display:flex; flex-direction:column; gap:16px; }
.blog-seo-box { display:grid; gap:13px; padding:22px; border:1px solid #cfdbea; background:#edf3fa; }
.blog-seo-box>span,.blog-editor-heading span,.blog-section-editor header span { color:#496a9d; font-size:8px; font-weight:800; letter-spacing:.15em; }
.blog-keyword-dashboard { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:0 26px 28px; }
.blog-keyword-review { display:grid; gap:13px; padding:18px; border:1px solid #d5dfec; background:#f7f9fc; }
.blog-keyword-review>small { overflow:hidden; color:#274b83; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.keyword-review-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.keyword-review-head>div { display:flex; flex-direction:column; gap:4px; }
.keyword-review-head span { color:#73839a; font-size:7px; font-weight:800; letter-spacing:.13em; }
.keyword-review-head strong { color:#193b72; font-size:13px; }
.keyword-review-head>b { padding:7px 9px; border-radius:999px; font-size:8px; white-space:nowrap; }
.keyword-review-head>b.ok { background:#e5f4eb; color:#247247; }
.keyword-review-head>b.warn { background:#fff0df; color:#a25d17; }
.keyword-location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.keyword-location-grid>span { display:flex; align-items:center; gap:6px; min-width:0; color:#68788f; font-size:8px; }
.keyword-location-grid i { display:grid; width:17px; height:17px; flex:0 0 17px; place-items:center; border-radius:50%; font-style:normal; font-weight:900; }
.keyword-location-grid .ok i { background:#e0f2e7; color:#27744b; }
.keyword-location-grid .warn i { background:#fff0df; color:#a25d17; }
.blog-keyword-review>p { margin:0; color:#6c7a8e; font-size:9px; line-height:1.6; }
.blog-switches { max-width:430px; }
.blog-editor-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-top:18px; padding:24px 0 13px; border-bottom:2px solid #274c88; }
.blog-editor-heading>div { display:flex; flex-direction:column; gap:6px; }
.blog-editor-heading strong { color:#173b78; font-size:17px; }
.blog-sections-editor,.blog-faqs-editor { display:grid; gap:15px; }
.blog-section-editor { display:grid; gap:14px; padding:20px; border:1px solid #d7e0ec; background:#fff; }
.blog-section-editor header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:13px; border-bottom:1px solid #e2e8f1; }
.blog-section-editor header>div { display:flex; flex-direction:column; gap:4px; }
.blog-section-editor header strong { color:#244577; font-size:14px; }
.blog-section-editor .delete-link,.blog-faq-editor .delete-link { margin:0; }
.blog-section-media { display:flex; min-height:150px; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:13px; border:1px dashed #bdcbe0; background:#f5f8fc; color:#8190a7; font-size:10px; text-align:center; }
.blog-section-media img { width:100%; height:150px; object-fit:cover; }
.blog-section-media .upload-button { width:100%; margin:0; }
.blog-faq-editor { display:grid; grid-template-columns:1fr 1.4fr auto; align-items:end; gap:12px; padding:16px; border:1px solid #d7e0ec; background:#fff; }

@media (max-width:960px) {
  .blog-page-hero { min-height:0; grid-template-columns:1fr; padding:88px 8vw; }
  .blog-hero-mark { width:230px; justify-self:start; }
  .blog-hero-mark span { font-size:68px; }
  .blog-hero-mark small { bottom:36px; }
  .blog-grid { gap:18px; }
  .blog-card-image { height:310px; }
  .blog-article-layout { grid-template-columns:1fr; gap:30px; max-width:780px; }
  .blog-toc { position:static; }
  .blog-toc nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
  .blog-record-editor { grid-template-columns:1fr; }
  .blog-keyword-dashboard { grid-template-columns:1fr; }
  .blog-admin-cover { position:static; display:grid; grid-template-columns:220px 1fr; align-items:start; }
  .blog-admin-cover>img { grid-row:1 / span 5; }
}
@media (max-width:620px) {
  .home-blog-section,.related-blog-section { padding:72px 20px 78px; }
  .blog-page-hero { padding:74px 22px 76px; }
  .blog-page-hero h1 { font-size:50px; }
  .blog-page-hero p { font-size:13px; }
  .blog-hero-mark { width:185px; }
  .blog-hero-mark:after { inset:42px; }
  .blog-hero-mark span { font-size:54px; }
  .blog-hero-mark small { bottom:28px; font-size:6px; }
  .blog-index { padding:62px 20px 82px; }
  .blog-index-intro { flex-direction:column; gap:15px; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-card-image { height:300px; }
  .blog-card-copy { min-height:285px; padding:24px; }
  .blog-article { padding:52px 20px 0; }
  .blog-article-header { text-align:left; }
  .blog-breadcrumbs { justify-content:flex-start; overflow:hidden; white-space:nowrap; }
  .blog-article-header h1 { font-size:45px; }
  .blog-article-deck { font-size:14px; }
  .blog-byline { align-items:flex-start; justify-content:flex-start; flex-wrap:wrap; gap:13px; }
  .blog-byline i { height:24px; }
  .blog-cover { margin-top:38px; }
  .blog-cover img { height:330px; }
  .blog-article-layout { margin-top:45px; padding-bottom:78px; }
  .blog-toc nav { grid-template-columns:1fr; }
  .blog-toc>div { display:none; }
  .blog-lead { margin-bottom:40px; padding-left:18px; }
  .blog-lead p { font-size:15px !important; }
  .blog-article-body>section { margin-top:44px; }
  .blog-article-body h2 { font-size:32px; }
  .blog-article-body p { font-size:14px; }
  .blog-protocol-cta { padding:30px 25px; }
  .blog-protocol-cta h2 { font-size:32px; }
  .blog-record-editor { padding:16px; }
  .blog-admin-cover { display:flex; }
  .blog-editor-heading { align-items:flex-start; flex-direction:column; }
  .blog-faq-editor { grid-template-columns:1fr; }
}

/* Rejuvi digital skin analysis */
.skin-analysis-page { overflow:hidden; background:#f7f8fb; }
.skin-analysis-hero { position:relative; display:grid; min-height:660px; grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr); align-items:center; gap:5vw; padding:95px clamp(30px,7vw,120px); color:#fff; background:linear-gradient(126deg,#0a285f 0%,#123b7c 58%,#1d4b91 100%); isolation:isolate; }
.skin-analysis-hero:before { content:""; position:absolute; inset:0; z-index:-1; opacity:.17; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.75)); }
.skin-analysis-hero:after { content:""; position:absolute; z-index:-1; width:460px; height:460px; right:-180px; bottom:-250px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 76px rgba(255,255,255,.018),0 0 0 152px rgba(255,255,255,.014); }
.skin-analysis-hero-copy { max-width:750px; }
.skin-analysis-hero h1 { margin:21px 0 26px; font:500 clamp(54px,6.3vw,90px)/.96 var(--serif); letter-spacing:-.055em; }
.skin-analysis-hero h1 em { color:#cdddf8; font-weight:400; }
.skin-analysis-hero-copy>p { max-width:650px; margin:0; color:#dae5f6; font-size:15px; line-height:1.85; }
.skin-analysis-hero-meta { display:flex; flex-wrap:wrap; gap:0; margin-top:45px; border-top:1px solid rgba(255,255,255,.22); }
.skin-analysis-hero-meta span { display:flex; align-items:baseline; gap:8px; min-width:145px; padding:19px 30px 0 0; color:#aebfdd; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.skin-analysis-hero-meta b { color:#fff; font:500 29px/1 var(--serif); letter-spacing:-.03em; }
.skin-analysis-hero-art { position:relative; width:min(100%,440px); aspect-ratio:.9; justify-self:center; }
.skin-analysis-hero-art>svg { position:absolute; inset:5% 8% 0; width:84%; height:92%; overflow:visible; fill:none; stroke:rgba(230,238,252,.72); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 18px 25px rgba(2,17,55,.2)); }
.analysis-orbit { position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.analysis-orbit-one { inset:6% 0 1%; }
.analysis-orbit-two { inset:19% 13% 14%; border-style:dashed; animation:analysisOrbit 28s linear infinite; }
.analysis-art-label { position:absolute; right:-1%; bottom:5%; display:flex; align-items:flex-end; gap:10px; padding:13px 0 0 18px; border-top:1px solid rgba(255,255,255,.35); }
.analysis-art-label span { color:#aebfdd; font-size:7px; font-weight:800; letter-spacing:.24em; writing-mode:vertical-rl; }
.analysis-art-label strong { color:#fff; font:400 62px/.8 var(--serif); }
@keyframes analysisOrbit { to { transform:rotate(360deg); } }

.skin-analysis-workspace { display:grid; grid-template-columns:minmax(250px,.37fr) minmax(0,1fr); gap:clamp(35px,6vw,92px); max-width:1420px; margin:auto; padding:110px clamp(24px,6vw,92px) 120px; }
.analysis-context { align-self:start; position:sticky; top:120px; padding-top:13px; }
.analysis-context h2 { margin:20px 0 23px; color:#102d64; font:500 clamp(35px,3.5vw,52px)/1.04 var(--serif); letter-spacing:-.045em; }
.analysis-context>p { max-width:360px; margin:0; color:#64738a; font-size:13px; line-height:1.8; }
.analysis-context-note { display:flex; gap:14px; margin-top:36px; padding:20px 0; border-top:1px solid #d5deeb; border-bottom:1px solid #d5deeb; }
.analysis-context-note svg { width:21px; height:21px; flex:none; fill:none; stroke:#28508d; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.analysis-context-note span { color:#718096; font-size:10px; line-height:1.7; }
.analysis-card { min-width:0; min-height:680px; padding:0 clamp(26px,4vw,58px) 36px; border:1px solid #dce3ed; background:#fff; box-shadow:0 30px 80px rgba(20,43,85,.08); }
.analysis-card-top { display:flex; align-items:center; justify-content:space-between; gap:28px; height:85px; border-bottom:1px solid #e3e8ef; }
.analysis-card-top>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:18px; width:240px; }
.analysis-card-top span { color:#667997; font-size:7px; font-weight:800; letter-spacing:.15em; }
.analysis-card-top strong { color:#183d78; font-size:10px; letter-spacing:.08em; white-space:nowrap; }
.analysis-progress { position:relative; width:min(48%,330px); height:2px; overflow:hidden; background:#e4e9f0; }
.analysis-progress i { position:absolute; inset:0 auto 0 0; width:16.666%; background:#2455a1; transition:width .45s cubic-bezier(.22,.61,.36,1); }
.analysis-stage { padding:45px 0 20px; }
.analysis-question { animation:analysisEnter .38s ease both; }
.analysis-question-eyebrow,.analysis-result-heading>span { display:block; margin-bottom:12px; color:#2c5da6; font-size:8px; font-weight:800; letter-spacing:.18em; }
.analysis-question h2,.analysis-result-heading h2 { max-width:740px; margin:0; color:#122e62; font:500 clamp(34px,3.5vw,48px)/1.08 var(--serif); letter-spacing:-.04em; }
.analysis-question h2:focus,.analysis-result-heading h2:focus { outline:none; }
.analysis-question>p,.analysis-result-heading>p { margin:16px 0 0; color:#728096; font-size:11px; line-height:1.7; }
.analysis-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:33px; }
.analysis-option { position:relative; display:grid; min-height:104px; grid-template-columns:46px minmax(0,1fr) 20px; align-items:center; gap:15px; padding:17px 17px; border:1px solid #dce3ed; color:#233f6c; background:#fff; text-align:left; cursor:pointer; transition:border-color .24s,background .24s,box-shadow .24s,transform .24s; }
.analysis-option:hover { border-color:#8fa8cd; background:#f9fbfe; transform:translateY(-2px); box-shadow:0 10px 27px rgba(20,47,93,.07); }
.analysis-option:focus-visible { outline:3px solid rgba(45,91,164,.25); outline-offset:2px; }
.analysis-option.is-selected { border-color:#2456a0; background:#f1f6fd; box-shadow:inset 3px 0 #2456a0; }
.analysis-option-icon { display:grid; width:46px; height:46px; place-items:center; border:1px solid #d7e1ef; border-radius:50%; background:#f7f9fc; transition:.24s; }
.analysis-option-icon svg { width:22px; height:22px; fill:none; stroke:#31588f; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.analysis-option.is-selected .analysis-option-icon { color:#fff; border-color:#2456a0; background:#2456a0; }
.analysis-option.is-selected .analysis-option-icon svg { stroke:#fff; }
.analysis-option-copy { display:flex; min-width:0; flex-direction:column; gap:6px; }
.analysis-option-copy strong { color:#1d3a69; font-size:12px; line-height:1.3; }
.analysis-option-copy small { color:#7a879a; font-size:9px; font-weight:400; line-height:1.5; }
.analysis-option-state { display:grid; width:19px; height:19px; place-items:center; border:1px solid #cbd6e5; border-radius:50%; color:transparent; font-size:9px; }
.analysis-options:not(.analysis-options-multiple) .analysis-option-state:after { content:""; width:5px; height:5px; border-radius:50%; background:transparent; }
.analysis-option.is-selected .analysis-option-state { color:#fff; border-color:#2456a0; background:#2456a0; }
.analysis-option.is-selected .analysis-option-state:after { background:#fff; }
.analysis-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:25px; border-top:1px solid #e3e8ef; }
.analysis-back,.analysis-next { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:13px; border:0; font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; transition:.25s; }
.analysis-back { padding:0; color:#536681; background:transparent; }
.analysis-back:disabled { opacity:.3; cursor:not-allowed; }
.analysis-next { min-width:172px; padding:0 21px; color:#fff; background:#173e7b; }
.analysis-next:not(:disabled):hover { background:#0d2d67; transform:translateX(2px); }
.analysis-next:disabled { background:#b8c3d2; cursor:not-allowed; }
@keyframes analysisEnter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:none; } }

.analysis-result { animation:analysisEnter .42s ease both; }
.analysis-result-heading { padding-bottom:30px; }
.analysis-result-feature { display:grid; grid-template-columns:minmax(210px,.62fr) minmax(0,1fr); border:1px solid #d7e0eb; }
.analysis-result-image { position:relative; min-height:340px; overflow:hidden; background:#e8edf4; }
.analysis-result-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 53%,rgba(4,19,51,.75)); }
.analysis-result-image img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.analysis-result-feature:hover .analysis-result-image img { transform:scale(1.025); }
.analysis-result-image>span { position:absolute; z-index:1; right:20px; bottom:19px; left:20px; color:#fff; font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.analysis-result-copy { display:flex; flex-direction:column; justify-content:center; padding:34px clamp(25px,3.4vw,47px); background:#fbfcfe; }
.analysis-result-copy>small { color:#2c5da6; font-size:7px; font-weight:800; letter-spacing:.16em; }
.analysis-result-copy h3 { margin:13px 0 15px; color:#15356a; font:500 clamp(29px,3vw,40px)/1.05 var(--serif); letter-spacing:-.04em; }
.analysis-result-copy>p { margin:0; color:#5f7089; font-size:11px; line-height:1.75; }
.analysis-result-factors { display:flex; flex-wrap:wrap; gap:7px; margin-top:21px; }
.analysis-result-factors span { padding:7px 9px; border:1px solid #d8e2ef; color:#536e98; background:#fff; font-size:7px; font-weight:700; }
.analysis-result-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:17px; margin-top:27px; }
.analysis-result-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:45px; padding:0 17px; color:#fff; background:#1d4c91; font-size:8px; font-weight:800; letter-spacing:.08em; }
.analysis-result-secondary { color:#2a4e86; border-bottom:1px solid #9aacc6; font-size:8px; font-weight:800; letter-spacing:.07em; }
.analysis-result-alert { display:flex; gap:15px; margin-top:17px; padding:20px 22px; border:1px solid #d9e2ec; background:#f5f8fc; }
.analysis-result-alert.is-important { border-color:#e5cba7; background:#fff8ef; }
.analysis-result-alert>svg { width:25px; height:25px; flex:none; fill:none; stroke:#2a568f; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.analysis-result-alert.is-important>svg { stroke:#9a5a22; }
.analysis-result-alert strong { color:#294b7e; font-size:10px; }
.analysis-result-alert.is-important strong { color:#8b4c19; }
.analysis-result-alert p { margin:6px 0 0; color:#718097; font-size:9px; line-height:1.65; }
.analysis-result-guidance { display:grid; grid-template-columns:.72fr 1fr; gap:28px; margin-top:38px; padding:30px 0; border-top:1px solid #dce3ed; border-bottom:1px solid #dce3ed; }
.analysis-result-guidance span { color:#496997; font-size:7px; font-weight:800; letter-spacing:.15em; }
.analysis-result-guidance h3 { margin:11px 0 0; color:#1a3b70; font:500 27px/1.08 var(--serif); }
.analysis-result-guidance ul { display:grid; align-content:start; gap:10px; margin:0; padding:0; list-style:none; }
.analysis-result-guidance li { position:relative; padding-left:19px; color:#64748b; font-size:9px; line-height:1.65; }
.analysis-result-guidance li:before { content:""; position:absolute; top:6px; left:0; width:6px; height:6px; border-radius:50%; background:#2d5ea3; }
.analysis-secondary-direction { margin:21px 0 0; color:#718097; font-size:9px; }
.analysis-secondary-direction span { margin-right:5px; }
.analysis-secondary-direction a { color:#24518f; font-weight:800; }
.analysis-result-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; }
.analysis-result-footer a { color:#fff; background:#153d7c; padding:14px 18px; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.analysis-result-footer button { padding:8px 0; border:0; border-bottom:1px solid #9baac0; color:#526884; background:transparent; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.analysis-result-disclaimer { margin:24px 0 0; color:#8994a5; font-size:8px; line-height:1.6; }
.analysis-load-error { margin:60px 0; padding:25px; color:#7d3838; background:#fff0f0; font-size:12px; }
.analysis-principles { display:grid; grid-template-columns:repeat(3,1fr); background:#0e2f69; }
.analysis-principles article { min-height:255px; padding:52px clamp(27px,5vw,78px); border-right:1px solid rgba(255,255,255,.13); }
.analysis-principles article:last-child { border:0; }
.analysis-principles span { color:#8fa9d4; font:400 15px/1 var(--serif); }
.analysis-principles h2 { margin:32px 0 14px; color:#fff; font:500 31px/1.05 var(--serif); letter-spacing:-.035em; }
.analysis-principles p { max-width:350px; margin:0; color:#b7c8e2; font-size:10px; line-height:1.75; }

@media (max-width:1200px) {
  .skin-analysis-hero { min-height:590px; }
  .analysis-card { padding-inline:32px; }
  .analysis-option { min-height:110px; }
}
@media (max-width:960px) {
  .skin-analysis-hero { min-height:0; grid-template-columns:1fr; padding:86px 8vw 90px; }
  .skin-analysis-hero-copy { max-width:760px; }
  .skin-analysis-hero-art { position:absolute; right:-80px; bottom:-25px; width:340px; opacity:.24; }
  .skin-analysis-hero-copy { position:relative; z-index:1; }
  .skin-analysis-workspace { grid-template-columns:1fr; padding:80px 6vw 90px; }
  .analysis-context { position:static; display:grid; grid-template-columns:1fr 1fr; gap:10px 45px; }
  .analysis-context .eyebrow,.analysis-context h2 { grid-column:1; }
  .analysis-context>p,.analysis-context-note { grid-column:2; }
  .analysis-context>p { grid-row:1 / span 2; align-self:end; }
  .analysis-context-note { margin-top:15px; }
  .analysis-card { min-height:0; }
  .analysis-principles article { min-height:230px; padding:43px 30px; }
  .analysis-principles h2 { font-size:26px; }
}
@media (max-width:700px) {
  .analysis-options { grid-template-columns:1fr; }
  .analysis-result-feature { grid-template-columns:1fr; }
  .analysis-result-image { min-height:290px; max-height:360px; }
  .analysis-result-guidance { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .skin-analysis-hero { padding:69px 22px 74px; }
  .skin-analysis-hero h1 { margin-top:17px; font-size:49px; }
  .skin-analysis-hero-copy>p { font-size:12px; }
  .skin-analysis-hero-meta { margin-top:32px; }
  .skin-analysis-hero-meta span { min-width:0; padding-right:18px; font-size:6px; }
  .skin-analysis-hero-meta b { font-size:23px; }
  .skin-analysis-hero-art { right:-145px; bottom:-50px; width:330px; }
  .skin-analysis-workspace { gap:35px; padding:65px 16px 70px; }
  .analysis-context { display:block; padding:0 7px; }
  .analysis-context h2 { margin:16px 0; font-size:39px; }
  .analysis-context>p { font-size:11px; }
  .analysis-context-note { margin-top:23px; }
  .analysis-card { padding:0 17px 24px; }
  .analysis-card-top { height:68px; gap:10px; }
  .analysis-card-top>div:first-child { width:auto; gap:10px; }
  .analysis-card-top span { font-size:6px; }
  .analysis-progress { width:31%; }
  .analysis-stage { padding:32px 0 15px; }
  .analysis-question h2,.analysis-result-heading h2 { font-size:33px; }
  .analysis-question>p,.analysis-result-heading>p { font-size:10px; }
  .analysis-options { gap:8px; margin-top:25px; }
  .analysis-option { min-height:94px; grid-template-columns:40px minmax(0,1fr) 18px; gap:11px; padding:13px 12px; }
  .analysis-option-icon { width:40px; height:40px; }
  .analysis-option-icon svg { width:19px; height:19px; }
  .analysis-option-copy strong { font-size:11px; }
  .analysis-option-copy small { font-size:8px; }
  .analysis-actions { padding-top:20px; }
  .analysis-next { min-width:147px; padding:0 15px; }
  .analysis-result-feature { border:0; }
  .analysis-result-image { min-height:245px; }
  .analysis-result-copy { padding:27px 20px; border:1px solid #d7e0eb; border-top:0; }
  .analysis-result-copy h3 { font-size:31px; }
  .analysis-result-alert { padding:17px; }
  .analysis-result-guidance { margin-top:31px; }
  .analysis-result-footer { align-items:flex-start; flex-direction:column; }
  .analysis-principles { grid-template-columns:1fr; }
  .analysis-principles article { min-height:0; padding:39px 25px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .analysis-principles h2 { margin-top:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .analysis-orbit-two,.analysis-question,.analysis-result { animation:none; }
  .analysis-progress i,.analysis-option,.analysis-result-image img { transition:none; }
}

/* Catalog filtering must override the card's flex layout. */
.catalog-grid .product-card.catalog-card-hidden,
.catalog-grid .product-card[hidden] { display:none !important; }
