@import url('../exordior-gateway-v7.css');

:root { scroll-behavior:smooth; }
html,body { background:#fffdf8; color:#2d2a22; }
body { min-height:100vh; }
main { padding-top:4.7rem; }

.policy-hero {
  position:relative; isolation:isolate; overflow:hidden;
  min-height:28rem; display:grid; place-items:center;
  padding:5rem clamp(1.35rem,7vw,8rem);
  color:#fff; text-align:center;
  background:
    linear-gradient(135deg,rgba(17,15,10,.96),rgba(42,32,9,.88)),
    url('../assets/service-home-care.jpg') center 43%/cover;
  border-bottom:.45rem solid var(--gold);
}
.policy-hero::before,.policy-hero::after { content:''; position:absolute; z-index:-1; pointer-events:none; }
.policy-hero::before { inset:auto 0 18%; height:1px; background:linear-gradient(90deg,transparent,#efb810 20%,#fff 50%,#efb810 80%,transparent); opacity:.75; }
.policy-hero::after { width:32rem; height:32rem; border:1px solid rgba(239,184,16,.26); border-radius:50%; box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(239,184,16,.025); }
.policy-hero__mark { position:absolute; z-index:-1; font-family:'Playfair Display',Georgia,serif; font-size:24rem; line-height:1; color:rgba(239,184,16,.045); transform:translateY(-.5rem); }
.policy-hero__copy { max-width:55rem; }
.eyebrow { margin:0 0 1rem; color:#f6cc4d; font-size:.78rem; font-weight:600; letter-spacing:.25em; text-transform:uppercase; }
.policy-hero h1 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(3.15rem,7vw,6.6rem); font-weight:500; letter-spacing:-.025em; line-height:.98; }
.policy-hero h1::after { content:''; display:block; width:6rem; height:2px; margin:1.6rem auto; background:linear-gradient(90deg,#efb810 0 70%,#fff 70%); }
.policy-hero__copy>p:not(.eyebrow):not(.updated) { max-width:46rem; margin:0 auto; color:#f5f1e8; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.8; }
.updated { margin:1.45rem 0 0; color:#d9d2c3; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }

.policy-layout { display:grid; grid-template-columns:15.5rem minmax(0,50rem); gap:clamp(2.5rem,6vw,6.5rem); justify-content:center; max-width:86rem; margin:auto; padding:5.5rem clamp(1.35rem,5vw,5rem) 7rem; }
.policy-nav { position:sticky; top:7rem; align-self:start; padding:1.5rem 0 1.5rem 1.35rem; border-left:2px solid var(--gold); }
.policy-nav>p { margin:0 0 1rem; color:#8b6500; font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.policy-nav nav { display:grid; }
.policy-nav a { padding:.42rem 0; color:#5d584d; font-family:'Playfair Display',Georgia,serif; font-size:.96rem; line-height:1.35; text-decoration:none; transition:.2s ease; }
.policy-nav a:hover,.policy-nav a:focus-visible { color:#a37300; padding-left:.35rem; outline:none; }

.policy-content { min-width:0; }
.policy-content section { position:relative; scroll-margin-top:6.5rem; padding:0 0 3.8rem; margin:0 0 3.8rem; border-bottom:1px solid #e7dfcc; }
.policy-content section:last-child { margin-bottom:0; }
.policy-content h2 { margin:.2rem 0 1.25rem; color:#1c1912; font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.9rem,3vw,2.55rem); font-weight:600; line-height:1.15; }
.policy-content p,.policy-content li { font-size:1rem; line-height:1.82; }
.policy-content p { margin:.85rem 0; }
.policy-content ul { padding-left:1.25rem; margin:1.25rem 0; }
.policy-content li { padding-left:.5rem; margin:.55rem 0; }
.policy-content li::marker { color:#bd8700; }
.policy-content a { color:#805b00; font-weight:600; text-underline-offset:.2rem; }
.policy-content a:hover,.policy-content a:focus-visible { color:#4f3800; outline-color:var(--gold); }
.section-number { display:block; margin-bottom:.65rem; color:#ad7b00; font-size:.7rem; font-weight:600; letter-spacing:.2em; }

.policy-content .policy-intro { padding:2rem; border:1px solid rgba(197,140,0,.34); border-radius:1.2rem; background:linear-gradient(135deg,#fffaf0,#fff); box-shadow:0 1rem 2.5rem rgba(64,45,4,.07); }
.policy-intro h2 { font-size:1.55rem; }
.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.summary-grid div { padding-top:1rem; border-top:2px solid var(--gold); }
.summary-grid strong,.summary-grid span { display:block; }
.summary-grid strong { color:#242016; font-family:'Playfair Display',Georgia,serif; font-size:1.04rem; line-height:1.35; }
.summary-grid span { margin-top:.55rem; color:#625d51; font-size:.86rem; line-height:1.6; }
.note { margin:1.7rem 0 .5rem; padding:1.25rem 1.35rem; border-left:3px solid var(--gold); background:#fff8e5; font-size:.94rem; line-height:1.7; }
.rights-list { display:grid; grid-template-columns:1fr 1fr; gap:.25rem 2rem; }
.contact-card { padding:2rem 2rem 2.25rem!important; border:1px solid #d9b750!important; border-radius:1.2rem; background:#18160f; color:#f6f1e6; box-shadow:0 1.1rem 2.7rem rgba(25,20,7,.15); }
.contact-card h2 { color:#fff; }
.contact-card .section-number,.contact-card a { color:#f1bd25; }
.contact-card address { margin:1.4rem 0; padding-left:1.2rem; border-left:2px solid var(--gold); font-style:normal; line-height:1.75; }

@media (max-width:900px) {
  .portal-links>a { padding:.58rem .78rem; font-size:.68rem; }
  .portal-links { gap:.55rem; }
  .policy-layout { grid-template-columns:1fr; padding-top:3.5rem; }
  .policy-nav { position:relative; top:auto; padding:1.15rem; border:1px solid #e0c77e; border-radius:.9rem; background:#fffaf0; }
  .policy-nav nav { grid-template-columns:repeat(3,1fr); gap:.2rem 1.1rem; }
}

@media (max-width:760px) {
  main { padding-top:4.35rem; }
  .policy-hero { min-height:24rem; padding:4rem 1.35rem; }
  .policy-hero__mark { font-size:17rem; }
  .policy-layout { gap:2.5rem; padding:2.5rem 1.15rem 4rem; }
  .policy-nav nav { grid-template-columns:1fr 1fr; }
  .policy-content section { padding-bottom:2.7rem; margin-bottom:2.7rem; }
  .summary-grid,.rights-list { grid-template-columns:1fr; }
  .policy-content .policy-intro,.contact-card { padding:1.35rem!important; }
  .policy-content p,.policy-content li { font-size:1rem; line-height:1.75; }
}

@media (max-width:420px) {
  .policy-nav nav { grid-template-columns:1fr; }
  .policy-hero h1 { font-size:3rem; }
}

@media print {
  .site-header,.site-footer,.policy-nav { display:none; }
  main { padding:0; }
  .policy-hero { min-height:auto; padding:2rem; color:#111; background:#fff; border-bottom:2px solid #b27e00; }
  .policy-hero__mark,.policy-hero::before,.policy-hero::after { display:none; }
  .policy-hero__copy>p:not(.eyebrow):not(.updated),.updated,.eyebrow { color:#333; }
  .policy-layout { display:block; max-width:none; padding:2rem; }
  .policy-content section { break-inside:avoid; }
  .contact-card { color:#111; background:#fff; box-shadow:none; }
  .contact-card h2 { color:#111; }
}
