/* ==========================================================================
   LEGAL PAGES — INDIVIDUAL REDESIGNS
   Additive only. Uses the existing design tokens from style.css
   (--primary, --accent, --success, --surface, --border, --space-*,
   --radius-*, --shadow-*, --font-display/body/mono) so brand colors,
   fonts and dark mode continue to work unchanged.
   Namespacing: .pp- Privacy · .tc- Terms · .sd- Shipping · .rc- Refund · .md- Medical
   ========================================================================== */

/* ---------------------------------------------------------------------- */
/* SHARED UTILITIES                                                        */
/* ---------------------------------------------------------------------- */

.legal-page-main{ overflow:hidden; }

.gline{ stroke:url(#legalGradLine); }

@keyframes legalFadeUp{ from{ opacity:0; transform:translateY(26px);} to{ opacity:1; transform:translateY(0);} }
@keyframes legalFadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes legalPulseRing{ 0%{ box-shadow:0 0 0 0 hsl(var(--shadow-color) / .18);} 70%{ box-shadow:0 0 0 14px hsl(var(--shadow-color) / 0);} 100%{ box-shadow:0 0 0 0 hsl(var(--shadow-color) / 0);} }
@keyframes legalDash{ to{ stroke-dashoffset:0; } }
@keyframes legalDrift{ 0%,100%{ transform:translate(0,0);} 50%{ transform:translate(14px,-10px);} }
@keyframes legalBlink{ 0%,100%{ opacity:1;} 50%{ opacity:.35;} }
@keyframes legalSlideDot{ 0%{ left:0%; } 100%{ left:calc(100% - 14px); } }

.reveal-stagger > *{ opacity:0; transform:translateY(24px); }
.reveal-stagger.in > *{ animation:legalFadeUp .7s var(--ease) forwards; }
.reveal-stagger.in > *:nth-child(1){ animation-delay:.02s; }
.reveal-stagger.in > *:nth-child(2){ animation-delay:.08s; }
.reveal-stagger.in > *:nth-child(3){ animation-delay:.14s; }
.reveal-stagger.in > *:nth-child(4){ animation-delay:.2s; }
.reveal-stagger.in > *:nth-child(5){ animation-delay:.26s; }
.reveal-stagger.in > *:nth-child(6){ animation-delay:.32s; }
.reveal-stagger.in > *:nth-child(7){ animation-delay:.38s; }
.reveal-stagger.in > *:nth-child(8){ animation-delay:.44s; }

.legal-icon{ width:22px; height:22px; flex:none; }
.legal-icon svg{ width:100%; height:100%; }


/* =========================================================================
   1) PRIVACY POLICY — trust-focused, glassmorphism, soft blue gradients
   ========================================================================= */

.pp-hero{
  position:relative; padding:calc(var(--header-h) + var(--space-6)) 0 var(--space-7);
  background:
    radial-gradient(70% 55% at 12% 0%, hsl(206 85% 55% / .16), transparent 60%),
    radial-gradient(60% 60% at 95% 10%, hsl(206 85% 55% / .12), transparent 65%),
    var(--bg);
  overflow:hidden;
}
.pp-hero::before, .pp-hero::after{
  content:""; position:absolute; border-radius:50%;
  background:linear-gradient(135deg, var(--primary), var(--accent));
  filter:blur(60px); opacity:.16; z-index:0;
}
.pp-hero::before{ width:340px; height:340px; top:-120px; right:-80px; animation:legalDrift 9s ease-in-out infinite; }
.pp-hero::after{ width:220px; height:220px; bottom:-100px; left:8%; animation:legalDrift 11s ease-in-out infinite reverse; }
.pp-hero-inner{ position:relative; z-index:1; max-width:760px; margin-inline: 0; text-align: left;}
.pp-hero .breadcrumb{ margin-bottom:var(--space-4); }
.pp-badge-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:var(--space-5); }
.pp-badge-row .pill{ background:hsl(206 85% 55% / .08); border-color:hsl(206 85% 55% / .25); backdrop-filter:blur(6px); }

.pp-shield{
  position:absolute; right:6%; top:34%; width:150px; height:150px; z-index:0; opacity:.5;
  color:var(--primary);
}
@media (max-width:1100px){ .pp-shield{ display:none; } }

.pp-icon-strip{ padding-block:var(--space-6) var(--space-5); }
.pp-icon-grid{
  display:grid; gap:var(--space-4); grid-template-columns:repeat(2,1fr);
}
@media (min-width:640px){ .pp-icon-grid{ grid-template-columns:repeat(4,1fr); } }
.pp-icon-card{
  text-align:center; padding:var(--space-4) var(--space-3); border-radius:var(--radius-md);
  border:1px solid var(--border); background:var(--surface);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.pp-icon-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:hsl(206 85% 55% / .4); }
.pp-icon-card .pp-icon-badge{
  width:52px; height:52px; margin:0 auto var(--space-3); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, hsl(206 85% 55% / .16), hsl(206 85% 55% / .04));
  color:var(--primary);
}
.pp-icon-card .pp-icon-badge svg{ width:24px; height:24px; }
.pp-icon-card h4{ font-size:.92rem; margin-bottom:.2rem; }
.pp-icon-card p{ font-size:.78rem; color:var(--text-muted); }

.pp-glass-section{ position:relative; padding-block:var(--space-6); }
.pp-glass-heading{ max-width:640px; margin-bottom:var(--space-5); }
.pp-glass-heading .legal-index{ font-family:var(--font-mono); color:var(--text-faint); font-size:.78rem; letter-spacing:.08em; }

.pp-collect-grid{
  display:grid; gap:var(--space-3); grid-template-columns:1fr;
}
@media (min-width:640px){ .pp-collect-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:992px){ .pp-collect-grid{ grid-template-columns:repeat(3,1fr); } }
.pp-glass-card{
  position:relative; padding:var(--space-4); border-radius:var(--radius-md);
  background:linear-gradient(160deg, hsl(0 0% 100% / .55), hsl(206 85% 92% / .35));
  border:1px solid hsl(0 0% 100% / .5);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 8px 30px hsl(206 60% 30% / .08);
  display:flex; align-items:flex-start; gap:.75rem;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
[data-theme="dark"] .pp-glass-card{
  background:linear-gradient(160deg, hsl(210 45% 22% / .55), hsl(210 55% 14% / .35));
  border-color:hsl(210 40% 45% / .35);
}
.pp-glass-card:hover{ transform:translateY(-4px); box-shadow:0 14px 34px hsl(206 60% 30% / .14); }
.pp-glass-card .legal-icon{ color:var(--primary); margin-top:.1rem; }
.pp-glass-card span{ font-size:.92rem; color:var(--text); font-weight:500; }

.pp-timeline{ position:relative; padding-left:2.4rem; }
.pp-timeline::before{
  content:""; position:absolute; left:.85rem; top:.4rem; bottom:.4rem; width:2px;
  background:linear-gradient(var(--primary), var(--accent));
  border-radius:2px;
}
.pp-timeline-item{ position:relative; padding-bottom:var(--space-4); }
.pp-timeline-item:last-child{ padding-bottom:0; }
.pp-timeline-item::before{
  content:""; position:absolute; left:-2.06rem; top:.2rem; width:14px; height:14px; border-radius:50%;
  background:var(--surface); border:3px solid var(--primary); box-shadow:0 0 0 4px hsl(206 85% 55% / .1);
}
.pp-timeline-item strong{ font-size:.98rem; font-weight:600; }

.pp-info-grid{ display:grid; gap:var(--space-4); grid-template-columns:1fr; }
@media (min-width:768px){ .pp-info-grid{ grid-template-columns:1fr 1fr; } }
.pp-info-card{
  padding:var(--space-4); border-radius:var(--radius-md);
  background:linear-gradient(160deg, hsl(0 0% 100% / .6), hsl(206 85% 94% / .3));
  border:1px solid hsl(0 0% 100% / .5);
  backdrop-filter:blur(12px);
  box-shadow:0 6px 22px hsl(206 60% 30% / .06);
}
[data-theme="dark"] .pp-info-card{
  background:linear-gradient(160deg, hsl(210 45% 22% / .5), hsl(210 55% 14% / .3));
  border-color:hsl(210 40% 45% / .3);
}
.pp-info-card .legal-index{ font-family:var(--font-mono); font-size:.72rem; color:var(--primary); letter-spacing:.06em; }
.pp-info-card h3{ font-size:1.05rem; margin-top:.3rem; margin-bottom:.4rem; }
.pp-info-card p{ font-size:.92rem; color:var(--text-muted); }

.pp-contact-wrap{ padding-block:var(--space-6) var(--space-7); }
.pp-contact-card{
  max-width: 640px;
    margin-inline: auto;
    text-align: center;
    padding: var(--space-6) var(--space-5);
    border: 2px solid var(--primary);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-md);
}
.pp-contact-card .pp-contact-icon{
  position:relative; width:60px; height:60px; margin:0 auto var(--space-4); border-radius:50%;
  background: var(--primary);color: var(--primary);display:flex; align-items:center; justify-content:center;
  animation:legalPulseRing 2.6s ease-out infinite;
}
.pp-contact-card .pp-contact-icon svg{ width:28px; height:28px; }
.pp-contact-card h3{ position:relative; color:var(--text); }
.pp-contact-card p{ position:relative; color: var(--text-muted); margin-top:.4rem; }
.pp-contact-card a{ color:var(--primary); font-weight:700; text-decoration:underline; text-underline-offset:3px; }


/* =========================================================================
   2) TERMS & CONDITIONS — premium corporate, left rail + numbered articles
   ========================================================================= */
.tc-shell{
    background:var(--bg-alt);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}
.tc-hero{
    position:relative;
    overflow:hidden;
    padding:calc(var(--header-h) + 70px) 0 70px;
    background:var(--bg);
    color:var(--text);
}
[data-theme="dark"] .tc-hero{
    background:var(--primary-tint);
}
.tc-hero::before{
    display:none;
}
.tc-hero-inner{
    position:relative;
    z-index:2;
}
.tc-hero .breadcrumb,
.tc-hero .breadcrumb a{
    color:var(--text-muted);
}
.tc-hero .eyebrow{
    color:var(--primary-dark);
}
.tc-hero .eyebrow::before{
    background:var(--primary-dark);
}
.tc-hero h1{
    margin-top:15px;
    color:var(--text);
}
.tc-hero .lede{
    max-width:650px;
    color:var(--text-muted);
}
.legal-updated{
    display:inline-flex;
    margin-top:22px;
    padding:.45rem .9rem;
    border-radius:999px;
    background:var(--surface);
    border:1px solid var(--border);
    color:var(--primary-dark);
}
.tc-hero-seal{
    position:absolute;
    top:35px;
    right:6%;
    width:120px;
    height:120px;
    opacity:.06;
    color:var(--primary-dark);
}
[data-theme="dark"] .tc-hero h1,
[data-theme="dark"] .tc-hero .lede,
[data-theme="dark"] .tc-hero .breadcrumb,
[data-theme="dark"] .tc-hero .breadcrumb a,
[data-theme="dark"] .tc-hero .eyebrow{
    color:var(--text);
}
[data-theme="dark"] .tc-hero .eyebrow::before{
    background:var(--primary);
}
[data-theme="dark"] .legal-updated{
    background:var(--surface);
    border-color:var(--border);
    color:var(--text);
}
@media(max-width:768px){
.tc-hero{
    padding-top:calc(var(--header-h) + 40px);
    padding-bottom:45px;
}
.tc-hero-seal{
    display:none;
}

}
.tc-grid{
    display:block;
    padding:60px 0;
}
.tc-doc{
    width:100%;
    max-width:920px;
    margin:auto;
}
.tc-article{
    position:relative;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:16px;
    padding:22px 28px;
    margin-bottom:22px;
    box-shadow:var(--shadow-sm);
    transition:.35s ease;
    scroll-margin-top:120px;
}
.tc-article:hover{
    transform:translateY(-4px);
    border-color:var(--primary);
    box-shadow:var(--shadow-md);
}
.tc-article::before{
    display:none;
}
.tc-article-num{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:var(--primary-tint);
    color:var(--primary-dark);
    font-size:.9rem;
    font-weight:700;
    margin-bottom:14px;
}
.tc-article h2{
    font-size:1.2rem;
    margin-bottom:10px;
    color:var(--primary-dark);
}
.tc-article p{
    margin:0;
    line-height:1.8;
    color:var(--text-muted);
}
.tc-highlight{
    border-left:5px solid var(--primary);
    background:var(--bg-alt);
}
.tc-highlight::after{
    content:"IMPORTANT";
    position:absolute;
    top:20px;
    right:24px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    color:var(--primary-dark);
    opacity:.55;

}
@media(max-width:600px){

.tc-highlight::after{
    display:none;
}
}
.tc-contact{

    max-width:920px;
    margin:40px auto 0;
    display:flex;
    align-items:center;
    gap:20px;
    padding:24px 28px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:var(--shadow-sm);
}

.tc-contact .card-icon{

    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:var(--primary-tint);
    color:var(--primary-dark);
    flex-shrink:0;
}
.tc-contact h3{
    margin:0 0 6px;
    color:var(--primary-dark);
}
.tc-contact p{
    margin:0;
    color:var(--text-muted);
}
@media(max-width:768px){
.tc-doc{
    max-width:100%;
}
.tc-article{
    padding:20px;
}
.tc-contact{
    flex-direction:column;
    text-align:center;
}
}
/* =========================================================================
   3) SHIPPING & DELIVERY — logistics, tracking, animated route
   ========================================================================= */

.sd-hero{
  position:relative; padding:calc(var(--header-h) + var(--space-6)) 0 var(--space-6);
  background:var(--bg-alt); overflow:hidden;
}
.sd-route{ position:absolute; left:0; right:0; bottom:0; height:64px; opacity:.5; }
.sd-hero-inner{ position:relative; z-index:1; }
.sd-hero .pill.legal-updated{ background:var(--surface); }

.sd-flow{ padding-block:var(--space-6); }
.sd-flow-track{
  position:relative; display:grid; gap:var(--space-4); grid-template-columns:1fr;
}
@media (min-width:900px){ .sd-flow-track{ grid-template-columns:repeat(4,1fr); } }
.sd-flow-track::before{
  content:""; position:absolute; top:26px; left:6%; right:6%; height:2px;
  background-image:linear-gradient(90deg, var(--accent) 60%, transparent 0);
  background-size:14px 2px; display:none;
}
@media (min-width:900px){ .sd-flow-track::before{ display:block; } }
.sd-flow-dot{
  position:absolute; top:20px; width:14px; height:14px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 0 5px var(--accent-tint); display:none;
}
@media (min-width:900px){ .sd-flow-dot{ display:block; animation:legalSlideDot 6s linear infinite; left:6%; right:6%; } }
.sd-step{
  position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:var(--space-4); text-align:center; z-index:1;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.sd-step:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.sd-step-num{
  width:52px; height:52px; margin:0 auto var(--space-3); border-radius:50%; background:var(--accent-tint);
  color:var(--accent-dark); display:flex; align-items:center; justify-content:center; font-weight:700;
}
.sd-step-num svg{ width:24px; height:24px; }
.sd-step h4{ font-size:.95rem; margin-bottom:.3rem; }
.sd-step p{ font-size:.8rem; color:var(--text-muted); }
.sd-step.sd-step-highlight{ border-color:var(--accent); background:linear-gradient(160deg, var(--accent-tint), var(--surface)); }
.sd-step-time{ font-family:var(--font-mono); font-weight:700; color:var(--accent-dark); font-size:1.05rem; display:block; margin-top:.3rem; }

.sd-compare{ padding-block:var(--space-6); background:var(--bg); }
.sd-compare-grid{ display:grid; gap:var(--space-4); grid-template-columns:1fr; }
@media (min-width:768px){ .sd-compare-grid{ grid-template-columns:1fr 1fr; } }
.sd-country-card{
  position:relative; border-radius:var(--radius-lg); padding:var(--space-5); overflow:hidden;
  border:1px solid var(--border); background:var(--surface); box-shadow:var(--shadow-sm);
}
.sd-country-card.sd-intl{ border-color:var(--primary); }
.sd-country-card .sd-flag{
  width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--primary-tint); color:var(--primary); margin-bottom:var(--space-3);
}
.sd-country-card.sd-intl .sd-flag{ background:var(--accent-tint); color:var(--accent-dark); }
.sd-country-card h3{ font-size:1.1rem; }
.sd-country-card .sd-days{
  font-family:var(--font-mono); font-size:2rem; font-weight:700; color:var(--primary);
  display:block; margin:.4rem 0;
}
.sd-country-card.sd-intl .sd-days{ color:var(--accent-dark); }
.sd-country-card p{ color:var(--text-muted); font-size:.88rem; }
.sd-country-card .sd-bar{ height:6px; border-radius:99px; background:var(--border); margin-top:var(--space-4); overflow:hidden; }
.sd-country-card .sd-bar span{ display:block; height:100%; background:var(--primary); border-radius:99px; }
.sd-country-card.sd-intl .sd-bar span{ background:var(--accent); width:85%; }
.sd-country-card:not(.sd-intl) .sd-bar span{ width:35%; }

.sd-notice-row{ display:grid; gap:var(--space-4); grid-template-columns:1fr; padding-block:var(--space-6); }
@media (min-width:768px){ .sd-notice-row{ grid-template-columns:1fr 1fr; } }
.sd-notice-card{
  display:flex; gap:var(--space-3); padding:var(--space-4); border-radius:var(--radius-md);
  background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--primary);
  box-shadow:var(--shadow-sm);
}
.sd-notice-card .legal-icon{ color:var(--primary); }
.sd-notice-card h3{ font-size:1rem; margin-bottom:.3rem; }
.sd-notice-card p{ font-size:.9rem; color:var(--text-muted); }
.sd-notice-card.sd-track{ border-left-color:var(--accent); }
.sd-notice-card.sd-track .legal-icon{ color:var(--accent-dark); }
.sd-track-progress{ display:flex; gap:5px; margin-top:.7rem; }
.sd-track-progress span{ flex:1; height:5px; border-radius:99px; background:var(--border); }
.sd-track-progress span.on{ background:var(--accent); }


/* =========================================================================
   4) REFUND & CANCELLATION — support center, stepper, FAQ accordion
   ========================================================================= */

.rc-hero{
  padding:calc(var(--header-h) + var(--space-6)) 0 var(--space-5);
  background:radial-gradient(60% 60% at 8% 100%, hsl(150 55% 45% / .12), transparent 60%),
             radial-gradient(60% 60% at 92% 0%, hsl(30 90% 55% / .12), transparent 60%),
             var(--bg);
}
.rc-hero-badges{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:var(--space-4); }
.rc-status{
  display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .75rem; border-radius:99px;
  font-size:.75rem; font-weight:700; letter-spacing:.02em;
}
.rc-status.rc-ok{ background:hsl(150 55% 45% / .12); color:var(--success); }
.rc-status.rc-warn{ background:var(--accent-tint); color:var(--accent-dark); }
.rc-status.rc-info{ background:var(--primary-tint); color:var(--primary); }
.rc-status svg{ width:14px; height:14px; }

.rc-stepper{ padding-block:var(--space-6); background:var(--bg-alt); }
.rc-steps{ display:flex; flex-direction:column; gap:var(--space-3); max-width:760px; margin-inline:auto; }
@media (min-width:900px){ .rc-steps{ flex-direction:row; align-items:stretch; } }
.rc-step{
  flex:1; position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:var(--space-4); display:flex; gap:var(--space-3); align-items:flex-start;
}
@media (min-width:900px){ .rc-step{ flex-direction:column; } }
.rc-step-index{
  width:36px; height:36px; border-radius:50%; background:var(--success); color:#fff; flex:none;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-mono);
}
.rc-step:nth-child(2) .rc-step-index{ background:var(--accent-dark); }
.rc-step:nth-child(3) .rc-step-index{ background:var(--primary); }
.rc-step h4{ font-size:.92rem; margin-bottom:.2rem; }
.rc-step p{ font-size:.8rem; color:var(--text-muted); }
@media (min-width:900px){
  .rc-step:not(:last-child)::after{
    content:""; position:absolute; top:18px; right:-var(--space-3); width:var(--space-3); height:2px;
    background:var(--border-strong);
  }
}

.rc-eligibility{ padding-block:var(--space-6); }
.rc-elig-grid{ display:grid; gap:var(--space-4); grid-template-columns:1fr; }
@media (min-width:768px){ .rc-elig-grid{ grid-template-columns:repeat(3,1fr); } }
.rc-elig-card{
  border-radius:var(--radius-md); border:1px solid var(--border); background:var(--surface);
  padding:var(--space-4); position:relative; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.rc-elig-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.rc-elig-card ul.feature-list{ margin-top:var(--space-3); }

.rc-faq{ padding-block:var(--space-6); background:var(--bg-alt); }
.rc-accordion{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:.7rem; }
.rc-acc-item{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  overflow:hidden; transition:border-color .25s var(--ease);
}
.rc-acc-item[open]{ border-color:var(--primary); }
.rc-acc-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:var(--space-3);
  padding:var(--space-4); font-weight:600; font-size:.98rem;
}
.rc-acc-item summary::-webkit-details-marker{ display:none; }
.rc-acc-item summary .rc-acc-num{
  font-family:var(--font-mono); font-size:.72rem; color:var(--text-faint); margin-right:.6rem;
}
.rc-acc-item summary .rc-acc-plus{
  width:26px; height:26px; border-radius:50%; background:var(--primary-tint); color:var(--primary);
  display:flex; align-items:center; justify-content:center; flex:none; transition:transform .3s var(--ease);
}
.rc-acc-item[open] summary .rc-acc-plus{ transform:rotate(45deg); }
.rc-acc-body{ padding:0 var(--space-4) var(--space-4); color:var(--text-muted); font-size:.92rem; }
.rc-acc-body ul.feature-list{ margin-top:.4rem; }

.rc-contact-band{
  padding-block:var(--space-6) var(--space-7); text-align:center;
}
.rc-contact-band .card{ max-width:520px; margin:0 auto; text-align:left; }


/* =========================================================================
   5) MEDICAL DISCLAIMER — clinical, institutional, blue & white
   ========================================================================= */

.md-warning-bar{
  background:linear-gradient(90deg, var(--primary-dark), var(--primary));
  color:#fff; padding:.65rem 0;
}
.md-warning-bar .container{ display:flex; align-items:center; gap:.6rem; font-size:.82rem; font-weight:600; }
.md-warning-bar svg{ width:18px; height:18px; flex:none; animation:legalBlink 2.4s ease-in-out infinite; }

.md-hero{
  padding:calc(var(--header-h) + 70px) 0 70px;;
  background:
    repeating-linear-gradient(0deg, hsl(206 85% 55% / .04) 0 1px, transparent 1px 34px),
    var(--bg);
  border-bottom:1px solid var(--border);
}
.md-hero-grid{ display:grid; gap:var(--space-5); grid-template-columns:1fr; align-items:center; }
@media (min-width:900px){ .md-hero-grid{ grid-template-columns:1.3fr .7fr; } }
.md-cross{
  width:150px; height:150px; margin-inline:auto; color:var(--primary);
  background:var(--primary-tint); border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.md-cross svg{ width:70px; height:70px; }

.md-notice{ padding-block:var(--space-6); }
.md-notice-card{
  display:flex; gap:var(--space-4); align-items:flex-start; max-width:900px; margin-inline:auto;
  background:var(--surface); border:1px solid var(--primary); border-left:6px solid var(--primary);
  border-radius:var(--radius-md); padding:var(--space-5); box-shadow:var(--shadow-md);
}
.md-notice-card .legal-icon{ width:32px; height:32px; color:var(--primary); }
.md-notice-card h3{ font-size:1.05rem; margin-bottom:.4rem; }
.md-notice-card p{ color:var(--text-muted); }

.md-info{ padding-block:var(--space-6); background:var(--bg-alt); }
.md-info-grid{ display:grid; gap:var(--space-4); grid-template-columns:1fr; }
@media (min-width:768px){ .md-info-grid{ grid-template-columns:repeat(3,1fr); } }
.md-info-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:var(--space-4); position:relative; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.md-info-card:hover{ transform:translateY(-5px); border-color:var(--primary); box-shadow:var(--shadow-md); }
.md-info-card .card-icon{ background:var(--primary-tint); color:var(--primary); }
.md-info-card .legal-index{ position:absolute; top:var(--space-4); right:var(--space-4); font-family:var(--font-mono); font-size:.7rem; color:var(--text-faint); }

.md-contact{ padding-block:var(--space-6) var(--space-7); }
.md-contact-card{
  max-width:640px; margin-inline:auto; text-align:center; padding:var(--space-6) var(--space-5);
  border:2px solid var(--primary); border-radius:var(--radius-lg); background:var(--surface);
  box-shadow:var(--shadow-md);
}
.md-contact-card .card-icon{ margin:0 auto var(--space-4); background:var(--primary-tint); color:var(--primary); }
