/* ==========================================================
   MentorMed WordPress Theme -- Stylesheet
   Brand: purple #7B3FA0 / Helvetica + Inter
   ========================================================== */

:root{
    --purple:#7B3FA0;
    --purple-light:#9C5DC4;
    --purple-pale:#F4EEF9;
    --purple-deep:#3A1E52;
    --ink:#13131F;
    --paper:#FFFFFF;
    --mist:#FAF8FC;
    --line:rgba(27,21,36,0.10);
    --line-dark:rgba(255,255,255,0.14);
    --muted:#6E6478;
  }

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

h1,h2,h3{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing:-0.01em; }

.eyebrow-label{
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--purple);
  }

a{color:inherit; text-decoration:none;}

img,svg{display:block; max-width:100%;}

button{ font-family:inherit; cursor:pointer; }

.wrap{ max-width:1180px; margin:0 auto; padding:0 40px; }

@media(max-width:640px){ .wrap{padding:0 20px;} }

header{
    position:sticky; top:0; z-index:100;
    background:#fff;
    border-bottom:1px solid var(--line);
  }

.nav{ display:flex; align-items:center; justify-content:space-between; padding:28px 0; gap:20px; }

.logo{ display:flex; align-items:baseline; gap:9px; flex-shrink:0; }

.logo .mark{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:800; font-size:1.4rem; color:var(--ink); }

.logo .mark span{ color:var(--purple); }

.logo .tag{ font-size:0.62rem; font-weight:600; letter-spacing:0.24em; color:var(--muted); }

.navlinks{ display:flex; gap:30px; align-items:center; }

.navlinks a{ color:var(--ink); font-size:0.87rem; font-weight:500; padding:4px 0; position:relative; transition:color .2s; white-space:nowrap; }

.navlinks a:hover, .navlinks a.active, .navlinks .current-menu-item > a, .navlinks .current_page_item > a{ color:var(--purple); }

.navlinks a.active::after, .navlinks .current-menu-item > a::after, .navlinks .current_page_item > a::after{ content:""; position:absolute; left:0; bottom:-3px; width:100%; height:2px; background:var(--purple); border-radius:2px; }

.nav-actions{ display:flex; align-items:center; gap:12px; flex-shrink:0; }

.btn-outline-sm{ height:42px; box-sizing:border-box; border:1.5px solid var(--purple); color:var(--purple) !important; padding:0 16px; border-radius:4px; font-size:0.8rem !important; font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:6px; line-height:1; white-space:nowrap; flex-shrink:0; }

.btn-outline-sm:hover{ background:var(--purple-pale); }

.nav-cta{ height:42px; box-sizing:border-box; background:var(--purple); color:#fff !important; padding:0 20px; border-radius:4px; font-size:0.82rem !important; font-weight:600; line-height:1; white-space:nowrap; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; }

.nav-cta:hover{ background:var(--purple-deep); }

.navtoggle{ display:none; background:none; border:none; font-size:1.5rem; color:var(--ink); line-height:1; padding:4px; }

@media(max-width:920px){
    .navlinks{
      position:fixed; top:99px; left:0; right:0; bottom:0;
      background:#fff; flex-direction:column; align-items:flex-start;
      padding:28px 24px; gap:6px; overflow-y:auto;
      transform:translateX(100%); transition:transform .25s ease;
      z-index:99;
    }
    .navlinks.open{ transform:translateX(0); }
    .navlinks a{ width:100%; padding:14px 4px; font-size:1rem; border-bottom:1px solid var(--line); }
    .nav-actions{ flex-direction:column; align-items:stretch; width:100%; margin-top:10px; gap:10px; }
    .btn-outline-sm, .nav-cta{ justify-content:center; }
    .navtoggle{ display:block; }
  }

.hero{
    position:relative; overflow:hidden;
    height:600px;
    display:flex; align-items:center;
    color:#fff;
    background:var(--ink);
  }

.hero-bg{ position:absolute; inset:0; z-index:0; }

.hero-bg img, .hero-bg video{ width:100%; height:100%; object-fit:cover; object-position:75% center; display:none; }

.hero-bg img.active, .hero-bg video.active{ display:block; }

.hero-scrim{
    position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(100deg, rgba(19,19,31,0.94) 18%, rgba(19,19,31,0.72) 44%, rgba(19,19,31,0.30) 68%, rgba(19,19,31,0.55) 100%),
      linear-gradient(0deg, rgba(19,19,31,0.55), transparent 40%);
  }

.hero-wrap{ width:100%; padding-left:clamp(24px, 6vw, 100px); padding-right:24px; }

.hero-content{ position:relative; z-index:2; padding:40px 0; max-width:640px; }

.eyebrow{ display:flex; align-items:center; gap:10px; font-size:0.74rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:#D9B8F0; margin-bottom:24px; flex-wrap:wrap; }

.eyebrow .dash{ width:26px; height:2px; background:#D9B8F0; border-radius:2px; }

.hero h1{ font-size:clamp(2.1rem,4.6vw,3.6rem); line-height:1.1; font-weight:700; margin-bottom:22px; text-shadow:0 2px 20px rgba(0,0,0,0.25); }

.hero h1 span{ color:#C89EEA; }

.hero p{ font-size:1.02rem; line-height:1.7; color:#E4DCEA; max-width:480px; margin-bottom:32px; }

.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

.btn{ display:inline-flex; align-items:center; gap:9px; padding:15px 26px; font-size:0.87rem; font-weight:600; border-radius:4px; transition:all .2s; white-space:nowrap; }

.btn-primary{ background:#fff; color:var(--purple-deep); }

.btn-primary:hover{ background:#E9D9F5; }

.btn-ghost{ border:1.5px solid rgba(255,255,255,0.45); color:#fff; }

.btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,0.1); }

.badge-float{
    position:absolute; z-index:3; bottom:36px; right:40px;
    background:#fff; color:var(--ink); border-radius:6px;
    padding:16px 20px; box-shadow:0 20px 40px -14px rgba(0,0,0,0.35);
    display:flex; align-items:center; gap:12px;
  }

.badge-float .dot{ width:38px; height:38px; border-radius:6px; background:var(--purple-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.badge-float .t1{ font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); font-weight:600; }

.badge-float .t2{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:700; font-size:0.95rem; }

@media(max-width:920px){
    .hero{ height:auto; min-height:620px; }
    .hero-content{ padding:56px 0 40px; max-width:100%; }
    .badge-float{ display:none; }
  }

@media(max-width:640px){
    .hero{ min-height:600px; }
    .hero-bg img, .hero-bg video{ object-position:68% center; }
  }

.trust{ background:var(--ink); border-top:1px solid var(--line-dark); }

.trust-row{ display:grid; grid-template-columns:repeat(4,1fr); }

.trust-item{ padding:24px 16px; text-align:center; border-right:1px solid var(--line-dark); color:#EDE6F2; }

.trust-item:last-child{ border-right:none; }

.trust-item .n{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:700; font-size:1.1rem; color:#fff; }

.trust-item .l{ font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:#A996B5; margin-top:5px; }

@media(max-width:760px){ .trust-row{grid-template-columns:1fr 1fr;} .trust-item{border-bottom:1px solid var(--line-dark);} }

@media(max-width:420px){ .trust-item{ padding:18px 10px; } .trust-item .n{ font-size:0.95rem; } }

section{ padding:88px 0; }

@media(max-width:640px){ section{ padding:60px 0; } }

.section-head{ max-width:620px; margin-bottom:48px; }

.section-head .eyebrow-label{ display:block; margin-bottom:14px; }

.section-head h2{ font-size:clamp(1.6rem,3vw,2.35rem); line-height:1.2; }

.section-head p{ margin-top:16px; color:var(--muted); font-size:1rem; line-height:1.7; }

.center{ text-align:center; margin-left:auto; margin-right:auto; }

.about{ background:var(--mist); }

.about-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start; }

.about-grid p{ font-size:1.01rem; line-height:1.8; color:#4B4254; margin-bottom:18px; }

.about-link{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--purple); font-size:0.92rem; margin-top:8px; }

.about-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:32px; box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); }

.about-card .eyebrow-label{ display:block; margin-bottom:18px; }

.fact{ display:flex; justify-content:space-between; align-items:baseline; padding:14px 0; border-top:1px solid var(--line); gap:16px; }

.fact:first-of-type{ border-top:none; }

.fact .k{ color:var(--muted); font-size:0.85rem; }

.fact .v{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:600; text-align:right; font-size:0.9rem; }

@media(max-width:900px){ .about-grid{grid-template-columns:1fr;} }

.engineering{ background:var(--ink); color:#fff; }

.engineering .section-head h2{ color:#fff; }

.engineering .section-head p{ color:#B8ABC3; }

.eng-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:52px; align-items:center; }

.eng-image{ background:#241834; border:1px solid var(--line-dark); border-radius:6px; padding:16px; }

.eng-image img{ border-radius:4px; }

.eng-list{ list-style:none; }

.eng-item{ display:grid; grid-template-columns:38px 1fr; gap:14px; padding:16px 0; border-top:1px solid var(--line-dark); }

.eng-item:first-child{ border-top:none; }

.eng-num{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:700; color:var(--purple-light); font-size:0.92rem; }

.eng-item h3{ font-size:0.98rem; font-weight:600; margin-bottom:5px; }

.eng-item p{ font-size:0.87rem; color:#B8ABC3; line-height:1.6; }

@media(max-width:900px){ .eng-grid{grid-template-columns:1fr;} }

.products{ background:#fff; }

.cat-row{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;
    padding:56px 0; border-top:1px solid var(--line);
  }

.cat-row:first-of-type{ border-top:none; }

.cat-row.reverse{ grid-template-columns:1.1fr 0.9fr; }

.cat-row.reverse .cat-visual{ order:2; }

.cat-icon-panel{
    aspect-ratio:1/0.82; border-radius:6px;
    background:linear-gradient(150deg, var(--purple-pale), #fff 70%);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    padding:36px;
  }

.pkg-frame{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:32px; box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); display:flex; align-items:center; justify-content:center; }

.pkg-frame img{ width:100%; height:auto; max-height:400px; object-fit:contain; border-radius:4px; }

.cat-tag{ display:inline-block; background:var(--purple-pale); color:var(--purple); font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:6px 14px; border-radius:99px; margin-bottom:16px; }

.cat-row h3{ font-size:1.45rem; margin-bottom:14px; }

.cat-row > div > p.desc{ color:#4B4254; font-size:0.96rem; line-height:1.75; margin-bottom:22px; }

.cat-specs{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-bottom:26px; }

.cat-spec{ display:flex; gap:10px; align-items:flex-start; font-size:0.86rem; color:#4B4254; line-height:1.5; }

.cat-spec .chip{ width:6px; height:6px; border-radius:50%; background:var(--purple-light); margin-top:7px; flex-shrink:0; }

.cat-cta{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--purple); font-size:0.92rem; }

.cat-cta:hover{ color:var(--purple-deep); }

@media(max-width:900px){
    .cat-row, .cat-row.reverse{ grid-template-columns:1fr; padding:40px 0; }
    .cat-row.reverse .cat-visual{ order:0; }
    .cat-icon-panel{ max-width:280px; margin:0 auto;}
    .cat-specs{ grid-template-columns:1fr; }
  }

.quality{ background:var(--purple-pale); }

.cert-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

.cert-tile{
    background:#fff; border:1px solid var(--line); border-radius:6px;
    padding:34px 22px; text-align:center;
    transition:transform .2s, box-shadow .2s, border-color .2s;
  }

.cert-tile:hover{ transform:translateY(-4px); box-shadow:0 24px 40px -20px rgba(60,20,90,0.3); border-color:var(--purple-light); }

.cert-media{ width:64px; height:64px; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; }

.cert-media img{ width:100%; height:100%; object-fit:contain; }

.cert-media.icon{ background:var(--purple-pale); border-radius:50%; }

.cert-tile h3{ font-size:1rem; margin-bottom:10px; }

.cert-tile p{ font-size:0.85rem; color:var(--muted); line-height:1.6; }

@media(max-width:860px){ .cert-grid{ grid-template-columns:1fr 1fr; } }

@media(max-width:520px){ .cert-grid{ grid-template-columns:1fr; } .cert-tile{ padding:28px 22px; } }

.contactform{ background:#fff; }

.cf-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; }

.cf-left h2{ margin-top:14px; font-size:clamp(1.6rem,2.8vw,2.2rem); line-height:1.2; }

.cf-left p{ margin-top:18px; color:var(--muted); font-size:0.98rem; line-height:1.75; max-width:380px; }

.cf-info{ margin-top:36px; display:flex; flex-direction:column; gap:16px; }

.cf-info-row{ display:flex; align-items:flex-start; gap:12px; font-size:0.9rem; color:#4B4254; line-height:1.5; }

.cf-info-row .ic{ width:30px; height:30px; border-radius:8px; background:var(--purple-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.cf-info-row a:hover{ color:var(--purple); }

.cf-form{ background:var(--mist); border:1px solid var(--line); border-radius:6px; padding:36px; }

.cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

.cf-field{ margin-bottom:18px; }

.cf-field label{ display:block; font-size:0.8rem; font-weight:600; color:var(--ink); margin-bottom:8px; }

.cf-field input, .cf-field select, .cf-field textarea{
    width:100%; border:1px solid var(--line); border-radius:4px; padding:12px 14px;
    font-family:'Inter',sans-serif; font-size:0.92rem; color:var(--ink); background:#fff;
    transition:border-color .2s;
  }

.cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus{ outline:none; border-color:var(--purple); }

.cf-field textarea{ resize:vertical; }

.btn-primary-solid{ background:var(--purple); color:#fff; border:none; padding:15px 28px; font-size:0.87rem; font-weight:600; border-radius:4px; display:inline-flex; align-items:center; gap:8px; }

.btn-primary-solid:hover{ background:var(--purple-deep); }

.cf-note{ margin-top:14px; font-size:0.86rem; color:var(--purple); min-height:1.2em; }

@media(max-width:860px){ .cf-grid{ grid-template-columns:1fr; gap:36px; } }

@media(max-width:560px){ .cf-row{ grid-template-columns:1fr; } .cf-form{ padding:26px 22px; } }

.cta-strip{ background:linear-gradient(120deg, var(--purple-deep), var(--purple)); color:#fff; padding:64px 0; }

.cta-flex{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }

.cta-flex h2{ font-size:1.6rem; max-width:480px; color:#fff; }

.cta-flex p{ color:#E4D3F0; margin-top:10px; }

.btn-light{ background:#fff; color:var(--purple-deep); }

.btn-light:hover{ background:#EFE1F7; }

footer{ background:var(--ink); color:#B8ABC3; padding:60px 0 26px; }

.foot-grid{ display:grid; grid-template-columns:1.3fr 0.85fr 0.85fr 1.1fr; gap:32px; padding-bottom:40px; border-bottom:1px solid var(--line-dark); }

.foot-grid h4{ font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:#C89EEA; margin-bottom:16px; font-weight:700; }

.foot-grid p, .foot-grid a{ font-size:0.87rem; line-height:1.95; color:#B8ABC3; display:block; }

.foot-grid a:hover{ color:#fff; }

.foot-logo{ color:#fff; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:800; font-size:1.22rem; margin-bottom:14px; }

.foot-logo span{ color:var(--purple-light); }

.cert-list{ display:flex; flex-direction:column; gap:10px; }

.cert-badge{ display:flex; align-items:center; gap:10px; font-size:0.84rem; color:#D8CCE0; }

.cert-badge .ic{ width:26px; height:26px; border-radius:7px; background:rgba(156,93,196,0.18); border:1px solid rgba(156,93,196,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.contact-list{ display:flex; flex-direction:column; gap:12px; }

.contact-row{ display:flex; align-items:flex-start; gap:10px; font-size:0.87rem; color:#D8CCE0; line-height:1.5; }

.contact-row .ic{ width:26px; height:26px; border-radius:7px; background:rgba(156,93,196,0.18); border:1px solid rgba(156,93,196,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }

.contact-row a:hover{ color:#fff; }

.foot-bottom{ display:flex; justify-content:space-between; padding-top:22px; font-size:0.78rem; flex-wrap:wrap; gap:10px; }

@media(max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr; gap:30px;} }

@media(max-width:520px){ .foot-grid{grid-template-columns:1fr; gap:30px;} }

.cf-field input, .cf-field select, .cf-field textarea{ font-size:16px; }

@media(max-width:640px){
    .nav{ padding:18px 0; }
    .logo .mark{ font-size:1.2rem; }
    section{ padding:52px 0; }
    .hero-actions, .cta-btns{ flex-direction:column; align-items:stretch; }
    .hero-actions .btn, .cta-btns .btn, .cta-btns a{ width:100%; text-align:center; justify-content:center; }
    .sec-head{ margin-bottom:36px; }
    .about-card{ padding:26px; }
    .cf-form{ padding:24px 20px; }
  }

@media(max-width:400px){
    .wrap{ padding:0 16px; }
    .hero-wrap{ padding-left:16px; padding-right:16px; }
    .logo .tag{ display:none; }
  }

.page-hero{
    position:relative; overflow:hidden;
    background:
      radial-gradient(ellipse 900px 500px at 80% 0%, rgba(156,93,196,0.35), transparent 60%),
      linear-gradient(160deg, var(--purple-deep) 0%, var(--ink) 70%);
    color:#fff; padding:76px 0 60px;
  }

.page-hero .wrap{ position:relative; z-index:1; }

.breadcrumb{ font-size:0.8rem; color:#B8ABC3; margin-bottom:22px; display:flex; gap:8px; align-items:center; }

.breadcrumb a:hover{ color:#fff; }

.page-hero h1{ font-size:clamp(2rem,4vw,3rem); font-weight:700; margin-bottom:16px; }

.page-hero h1 span{ color:#C89EEA; }

.page-hero p{ color:#CFC2DC; max-width:560px; font-size:1.02rem; line-height:1.75; }

.stat-strip{ background:var(--mist); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); }

.stat-item{ padding:34px 20px; text-align:center; border-right:1px solid var(--line); }

.stat-item:last-child{ border-right:none; }

.stat-item .n{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:700; font-size:1.9rem; color:var(--purple); }

.stat-item .l{ font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-top:6px; font-weight:600; }

@media(max-width:760px){ .stat-row{grid-template-columns:1fr 1fr;} .stat-item{border-bottom:1px solid var(--line);} }

.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

.value-card{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:32px; }

.value-card .vicon{ width:44px; height:44px; border-radius:10px; background:var(--purple-pale); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }

.value-card h3{ font-size:1.08rem; margin-bottom:10px; }

.value-card p{ font-size:0.9rem; color:var(--muted); line-height:1.65; }

@media(max-width:860px){ .values-grid{grid-template-columns:1fr;} }

.timeline{ border-top:1px solid var(--line); }

.tl-item{ display:grid; grid-template-columns:120px 1fr; gap:32px; padding:28px 0; border-bottom:1px solid var(--line); }

.tl-item .yr{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:700; color:var(--purple); font-size:1.1rem; }

.tl-item h3{ font-size:1rem; margin-bottom:6px; }

.tl-item p{ font-size:0.88rem; color:var(--muted); line-height:1.6; }

@media(max-width:640px){ .tl-item{ grid-template-columns:1fr; gap:6px; } }

.steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

.step-num{ width:42px; height:42px; border-radius:10px; background:var(--purple-pale); color:var(--purple); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom:18px; }

.step-card h3{ font-size:1.04rem; margin-bottom:8px; }

.step-card p{ font-size:0.89rem; color:var(--muted); line-height:1.65; }

@media(max-width:860px){ .steps-grid{grid-template-columns:1fr; gap:30px;} }

.office-card{ background:var(--ink); color:#fff; border-radius:6px; padding:36px; }

.office-card h3{ font-size:1.1rem; margin-bottom:18px; color:#fff; }

.office-row{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid rgba(255,255,255,0.12); font-size:0.9rem; color:#D8CCE0; line-height:1.5; }

.office-row:first-of-type{ border-top:none; }

.office-row .ic{ width:28px; height:28px; border-radius:8px; background:rgba(156,93,196,0.18); border:1px solid rgba(156,93,196,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.office-row a:hover{ color:#fff; }

.hero h1{ font-size:clamp(2.1rem,4.6vw,3em); line-height:1.1; font-weight:700; margin-bottom:22px; text-shadow:0 2px 20px rgba(0,0,0,0.25); }

.cat-nav{ position:sticky; top:73px; z-index:40; background:#fff; border-bottom:1px solid var(--line); }

.cat-nav-row{ display:flex; gap:8px; overflow-x:auto; padding:16px 0; scrollbar-width:none; }

.cat-nav-row::-webkit-scrollbar{ display:none; }

.cat-nav-item{
    flex-shrink:0; font-size:0.82rem; font-weight:600; color:var(--muted);
    padding:9px 18px; border-radius:99px; border:1px solid var(--line); white-space:nowrap;
    transition:all .2s;
  }

.cat-nav-item:hover{ color:var(--purple); border-color:var(--purple-light); }

.cat-nav-item.n01::before{ content:"01 · "; color:var(--purple-light); }

.cat-nav-item.n02::before{ content:"02 · "; color:var(--purple-light); }

.cat-nav-item.n03::before{ content:"03 · "; color:var(--purple-light); }

.cat-nav-item.n04::before{ content:"04 · "; color:var(--purple-light); }

.cat-icon-panel{
    position:relative;
    background:linear-gradient(150deg, var(--purple-pale), #fff 75%);
    border:1px solid var(--line); border-radius:6px;
    box-shadow:0 24px 50px -30px rgba(60,20,90,0.25);
    aspect-ratio:1/0.82;
    display:flex; align-items:center; justify-content:center;
    padding:36px;
  }

.cat-icon-panel .cip-tag{
    position:absolute; top:18px; left:18px;
    font-size:0.66rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--purple); background:#fff; border:1px solid var(--line);
    padding:5px 10px; border-radius:99px;
  }

.pkg-frame{ box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); }

.cat-section{ padding:80px 0; scroll-margin-top:130px; }

.cat-section.alt{ background:var(--mist); }

@media(max-width:640px){ .cat-section{ padding:56px 0; } }

.cat-section .cat-row{ padding:0; border-top:none; }

.specs-table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:6px; background:#fff; }

table.specs{ width:100%; border-collapse:collapse; font-size:0.9rem; min-width:520px; }

table.specs th{ background:var(--mist); text-align:left; padding:14px 22px; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); font-weight:700; border-bottom:1px solid var(--line); white-space:nowrap; }

table.specs td{ padding:12px 22px; border-bottom:1px solid var(--line); color:#3A3242; white-space:nowrap; }

table.specs tr:last-child td{ border-bottom:none; }

table.specs td.ref{ font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight:600; color:var(--purple); }

table.specs tbody tr:hover td{ background:var(--purple-pale); }

.specs-note{ font-size:0.82rem; color:var(--muted); margin-top:14px; }

.breadcrumb-strip{ background:var(--mist); border-bottom:1px solid var(--line); padding:16px 0; }

.breadcrumb-strip .breadcrumb{ color:var(--muted); margin-bottom:0; }

.breadcrumb-strip .breadcrumb a:hover{ color:var(--purple); }

.drill-grid{ display:grid; grid-template-columns:1fr; gap:14px; }

.drill-row{ border-radius:6px; overflow:hidden; border:1px solid var(--line-dark); }

.drill-row img{ display:block; width:100%; }

@media(min-width:900px){ .drill-grid{ grid-template-columns:1fr 1fr; } }

.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.gallery-item{ border-radius:6px; overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); }

.gallery-item img{ width:100%; display:block; aspect-ratio:0.76/1; object-fit:cover; object-position:top; }

.gallery-cap{ padding:16px 18px; background:#fff; }

.gallery-cap h4{ font-size:0.95rem; margin-bottom:4px; }

.gallery-cap p{ font-size:0.8rem; color:var(--muted); }

@media(max-width:860px){ .gallery-grid{ grid-template-columns:1fr; } }

.acc-tabbar{ display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:36px; }

.acc-tab{
    font-size:0.85rem; font-weight:600; color:var(--muted);
    padding:11px 20px; border-radius:99px; border:1px solid var(--line);
    background:#fff; transition:all .2s;
  }

.acc-tab:hover{ color:var(--purple); border-color:var(--purple-light); }

.acc-tab.active{ background:var(--purple); border-color:var(--purple); color:#fff; }

.acc-display{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }

.acc-panel{ display:none; }

.acc-panel.active{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; width:100%; }

.acc-media{ border-radius:6px; overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); background:#fff; }

.acc-media img{ width:100%; display:block; }

.acc-text .tag{ font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--purple); margin-bottom:14px; display:block; }

.acc-text h3{ font-size:1.5rem; margin-bottom:16px; }

.acc-text p{ font-size:0.96rem; color:#4B4254; line-height:1.75; margin-bottom:22px; }

@media(max-width:860px){
    .acc-panel.active{ grid-template-columns:1fr; }
    .acc-tabbar{ overflow-x:auto; flex-wrap:nowrap; padding-bottom:16px; }
    .acc-tab{ flex-shrink:0; }
  }

.choose-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }

.choose-card{ background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; box-shadow:0 24px 50px -30px rgba(60,20,90,0.25); transition:transform .2s, box-shadow .2s; }

.choose-card:hover{ transform:translateY(-4px); }

.choose-media{ aspect-ratio:1/0.68; overflow:hidden; border-bottom:1px solid var(--line); }

.choose-media img{ width:100%; height:100%; object-fit:cover; }

.choose-body{ padding:28px 30px; }

.choose-body .tag{ font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--purple); margin-bottom:10px; display:block; }

.choose-body h3{ font-size:1.2rem; margin-bottom:10px; }

.choose-body p{ font-size:0.88rem; color:var(--muted); line-height:1.6; margin-bottom:18px; }

@media(max-width:760px){ .choose-grid{ grid-template-columns:1fr; } }