:root {
  --orange:#f36f21;
  --ink:#141414;
  --cream:#f3efe8;
  --white:#fff;
  --font-body:"Archivo",Arial,sans-serif;
  --font-display:"Barlow Condensed",Impact,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; min-width:0; overflow-x:hidden; color:var(--ink); background:var(--cream); font-family:var(--font-body); }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; touch-action:manipulation; -webkit-tap-highlight-color:rgba(243,111,33,.18); }
h1,h2 { margin:0; font-family:var(--font-display); text-transform:uppercase; text-wrap:balance; }

.privacy-shell { min-height:100vh; background:var(--cream); }
.privacy-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 6vw; background:#fff; border-bottom:1px solid #e8e2da; }
.brand { display:flex; align-items:center; gap:12px; }
.brand img { width:58px; height:58px; object-fit:contain; }
.brand span { display:flex; flex-direction:column; font-family:var(--font-display); line-height:1.05; letter-spacing:.03em; }
.brand strong { font-size:20px; font-weight:900; }
.brand small { margin-top:6px; font-size:12px; font-weight:700; letter-spacing:.18em; }
.privacy-back { min-height:44px; display:flex; align-items:center; color:#5e5953; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; border-bottom:2px solid var(--orange); }

.privacy-hero { min-height:490px; position:relative; overflow:hidden; padding:90px 6vw 75px; background:var(--ink); color:#fff; }
.privacy-hero:after { content:"CM"; position:absolute; right:-3vw; bottom:-.22em; color:rgba(255,255,255,.035); font:900 33vw/.8 var(--font-display); letter-spacing:-.12em; }
.privacy-hero>p { position:relative; z-index:1; margin:0 0 25px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.15em; }
.privacy-hero h1 { position:relative; z-index:1; font-size:clamp(62px,8vw,128px); line-height:.86; letter-spacing:-.02em; }
.privacy-hero h1 em { display:block; color:var(--orange); font-style:normal; font-weight:500; }
.privacy-hero>div { position:absolute; z-index:1; right:6vw; bottom:75px; display:flex; flex-direction:column; padding-left:20px; border-left:2px solid var(--orange); }
.privacy-hero>div span { color:#8e8983; font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.privacy-hero>div strong { margin-top:7px; font-size:14px; }

.privacy-layout { width:100%; max-width:1400px; margin:0 auto; display:grid; grid-template-columns:280px minmax(0,850px); gap:7vw; padding:100px 6vw 120px; }
.privacy-index { align-self:start; position:sticky; top:30px; }
.privacy-index>p { margin:0 0 18px; color:#928c85; font-size:9px; font-weight:800; letter-spacing:.15em; }
.privacy-index nav { display:flex; flex-direction:column; border-top:1px solid #d2ccc4; }
.privacy-index a { display:grid; grid-template-columns:34px 1fr; gap:10px; padding:12px 0; border-bottom:1px solid #d2ccc4; color:#5d5852; font-size:12px; line-height:1.35; }
.privacy-index a:hover { color:var(--orange); }
.privacy-index a span { color:var(--orange); font:700 11px var(--font-display); }
.privacy-content { min-width:0; }
.privacy-intro { padding:0 0 55px; border-bottom:1px solid #cfc9c0; }
.privacy-intro p { margin:0 0 18px; color:#4f4a44; font-size:19px; line-height:1.75; text-align:justify; text-align-last:left; hyphens:auto; }
.privacy-content>section { scroll-margin-top:30px; position:relative; padding:55px 0; border-bottom:1px solid #cfc9c0; }
.privacy-number { display:block; margin-bottom:12px; color:var(--orange); font:800 12px var(--font-display); }
.privacy-content h2 { margin:0 0 24px; font-size:clamp(32px,4vw,48px); line-height:1; }
.privacy-content section p { margin:1em 0; color:#5c5650; font-size:16px; line-height:1.8; text-align:justify; text-align-last:left; hyphens:auto; }
.privacy-content section p+p { margin-top:18px; }
.privacy-content section a { color:#b94b0b; font-weight:700; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }

.privacy-contact { margin-top:70px; padding:55px; background:var(--orange); }
.privacy-contact>p { margin:0 0 16px; font-size:10px; font-weight:800; letter-spacing:.15em; }
.privacy-contact h2 { color:#fff; font-size:clamp(42px,5vw,70px); line-height:1; }
.privacy-contact a { display:inline-block; margin-top:28px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:17px; font-weight:800; overflow-wrap:anywhere; }
.privacy-footer { min-height:115px; display:flex; align-items:center; justify-content:space-between; padding:35px 6vw; background:var(--ink); color:#8c8883; font-size:11px; }
.privacy-footer>a { color:#fff; font:800 18px var(--font-display); text-transform:uppercase; }

@media(max-width:900px) {
  .privacy-layout { grid-template-columns:1fr; padding-top:70px; }
  .privacy-index { position:static; }
  .privacy-index nav { display:grid; grid-template-columns:1fr 1fr; }
  .privacy-hero>div { right:24px; }
  .privacy-contact { padding:45px; }
}

@media(max-width:560px) {
  .privacy-header { min-height:78px; padding:0 20px; }
  .privacy-back { font-size:10px; }
  .privacy-header .brand img { width:46px; height:46px; }
  .privacy-header .brand strong { font-size:15px; }
  .privacy-header .brand small { display:none; }
  .privacy-hero { min-height:430px; padding:65px 20px 130px; }
  .privacy-hero h1 { font-size:15vw; }
  .privacy-hero>div { left:20px; right:auto; bottom:55px; }
  .privacy-layout { padding:60px 20px 80px; }
  .privacy-index nav { grid-template-columns:1fr; }
  .privacy-intro p { font-size:17px; }
  .privacy-content>section { padding:45px 0; }
  .privacy-content section p { font-size:15px; }
  .privacy-contact { margin-top:55px; padding:35px 25px; }
  .privacy-contact a { font-size:15px; }
  .privacy-footer { align-items:flex-start; flex-direction:column; gap:12px; padding:35px 20px; }
}
