/* Quiet, readable policy pages and an equal-choice privacy control. */
.legal-heading{padding-bottom:50px}
.legal-heading h1{font-size:clamp(3rem,6vw,6.5rem);max-width:18ch}
.legal-heading h1,.legal-section h2,.cookie-preferences h2{overflow-wrap:anywhere;hyphens:auto}
.legal-section p{overflow-wrap:break-word}
.legal-layout{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,2fr);gap:8vw;align-items:start;padding-bottom:110px}
.legal-index{position:sticky;top:120px;padding-top:25px;border-top:1px solid var(--line)}
.legal-index>.eyebrow{margin-bottom:19px;color:var(--muted)}
.legal-index nav{display:grid;gap:13px}
.legal-index nav a{font-size:.875rem;line-height:1.55;color:var(--muted);padding-block:3px}
.legal-index nav a:hover{color:var(--ink)}
.legal-index>.note{margin-top:30px;font-size:.75rem}
.legal-article{min-width:0;max-width:880px}
.legal-draft{background:#e8edde;border:1px solid #ccd7bc;border-radius:14px;padding:25px 28px;margin-bottom:38px}
.legal-draft strong{display:block;font-size:1rem;font-weight:500;margin-bottom:9px}
.legal-draft p{font-size:.875rem;line-height:1.8;color:#42553d}
.legal-section{padding-block:32px;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.legal-section:first-child{padding-top:0}
.legal-section h2{font-size:clamp(1.6rem,2.5vw,2.25rem);letter-spacing:-.035em;line-height:1.25;margin-bottom:22px;text-wrap:pretty}
.legal-section p{font-size:.9375rem;line-height:1.9;color:var(--muted)}
.legal-section p+p{margin-top:16px}
.legal-section a{border-bottom:1px solid currentColor}
.legal-source-links{display:flex;flex-direction:column;align-items:start;gap:15px;font-size:.875rem;line-height:1.65}
.legal-table-wrap{overflow-x:auto;margin-top:25px}
.legal-table{width:100%;border-collapse:collapse;font-size:.8125rem;line-height:1.8;text-align:left}
.legal-table th{background:#edf0e7;font-weight:500;color:var(--ink)}
.legal-table th,.legal-table td{padding:18px 20px;border:1px solid var(--line);vertical-align:top}
.legal-table td{color:var(--muted)}
.legal-table th:first-child,.legal-table td:first-child{width:23%;overflow-wrap:anywhere;color:var(--ink)}
.legal-actions{margin-top:30px;display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.legal-actions .button{background:var(--ink);color:var(--paper)}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px;border-top:1px solid #ffffff24;padding-block:23px;color:#cbd5c4;font-size:.8125rem;line-height:1.55}
.footer-legal a,.footer-legal button{padding:5px 0;background:none;text-align:left;font-size:inherit;line-height:inherit}
.footer-legal a:hover,.footer-legal button:hover{color:white;text-decoration:underline;text-underline-offset:5px}
.form-privacy{border-top:1px solid var(--line);padding-top:17px;margin-top:18px;max-width:65ch}
.form-privacy a{display:inline-block;border-bottom:1px solid currentColor;margin-top:6px}
.faq-page-layout{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.8fr);gap:8vw;padding-bottom:100px;align-items:start}
.faq-page-aside{position:sticky;top:120px}
.faq-topic-links{display:grid;gap:5px;border-top:1px solid var(--line);padding-block:20px 32px}
.faq-topic-links a{display:flex;align-items:center;gap:20px;padding:12px 0;font-size:.9375rem;line-height:1.5}
.faq-topic-links span{font-size:.6875rem;color:var(--muted)}
.faq-help{background:#eaf0e2;border-radius:17px;padding:28px;margin-top:14px}
.faq-help h2{font-size:1.8rem;line-height:1.15;max-width:15ch;margin-bottom:17px}
.faq-help p{font-size:.875rem;color:var(--muted);line-height:1.8}
.faq-help .buttons{gap:16px;margin-top:22px;align-items:start;flex-direction:column}
.faq-help .button{background:var(--ink);color:var(--paper);padding:13px 20px;min-height:48px}
.faq-group{margin-bottom:48px;scroll-margin-top:120px}
.faq-group>h2{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.2;padding-bottom:20px;border-bottom:1px solid var(--line)}
.faq-group .faq[open] summary:after{content:'−'}
.faq-page-note{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:30px}
.cookie-banner{position:fixed;z-index:110;left:25px;bottom:24px;width:min(490px,calc(100vw - 50px));padding:25px;background:#fbfcf8;color:#193b30;border:1px solid #dbe1d4;border-radius:18px;box-shadow:0 12px 50px #11261b22}
.cookie-banner h2{font-size:1.35rem;letter-spacing:-.035em;line-height:1.3;margin-bottom:12px}
.cookie-banner p{font-size:.8125rem;line-height:1.8;color:#53644f}
.consent-links{display:flex;gap:10px 22px;flex-wrap:wrap;margin-block:16px 21px;font-size:.75rem;line-height:1.7}
.consent-links a{border-bottom:1px solid currentColor}
.consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.consent-action{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;border-radius:8px;border:1px solid #cbd5c5;background:#f1f4ec;color:#193b30;padding:10px 9px;font-size:.8125rem;font-weight:500;line-height:1.4}
.consent-action:hover{background:#e5ebdd;border-color:#8da583}
body.privacy-open{overflow:hidden}
.cookie-preferences{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;border:1px solid #d4dccd;border-radius:20px;background:#fbfcf8;color:#193b30;overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 100px #0003}
.cookie-preferences::backdrop{background:#112c23a6;backdrop-filter:blur(5px)}
.cookie-preferences-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:26px}
.cookie-preferences-head .eyebrow{font-size:.625rem;letter-spacing:.14em;margin:0;color:#607159}
.cookie-close{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid #d6dece;border-radius:50px;padding:7px 14px;font-size:.75rem;min-height:40px;line-height:1.4}
.cookie-close span{font-size:1.25rem}
.cookie-preferences h2{font-size:2.3rem;line-height:1.1;letter-spacing:-.045em;margin-bottom:20px}
.cookie-preferences>p{font-size:.875rem;line-height:1.8;color:#53644f}
.consent-category{border-top:1px solid #dbe2d3;padding-block:23px}
.consent-category-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}
.consent-category-head h3{font-size:1rem;line-height:1.5;letter-spacing:-.015em;font-weight:500}
.consent-always{font-size:.6875rem;line-height:1.4;text-align:right;color:#586b4c}
.consent-category p{font-size:.8125rem;line-height:1.85;color:#53644f}
.consent-map-label{display:flex;align-items:start;gap:18px;cursor:pointer}
.consent-map-label>span{flex:1;min-width:0}
.consent-map-label strong{display:block;font-size:1rem;font-weight:500;line-height:1.5;margin-bottom:10px}
.consent-map-label .consent-description{display:block;font-size:.8125rem;line-height:1.85;color:#53644f}
.consent-map-label input{width:23px;height:23px;accent-color:#193b30;flex-shrink:0;margin:2px 0 0}
.cookie-preferences .consent-links{margin-top:23px}
.cookie-preferences .consent-actions{grid-template-columns:1fr 1fr;margin-top:4px}
.cookie-preferences .consent-action{font-size:.875rem;min-height:50px}
.privacy-status{position:fixed;z-index:115;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);background:#f1f4e9;color:#193b30;border:1px solid #b6c4a8;box-shadow:0 8px 30px #12251920;border-radius:12px;padding:16px 23px;font-size:.8125rem;line-height:1.7;pointer-events:none}
.consent-map{width:100%;border-radius:var(--radius);overflow:hidden;background:#e9eee2}
.map-placeholder{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 30px;background:radial-gradient(ellipse at 20% 100%,#d8e4d680,transparent 60%),#edf1e6}
.map-placeholder .map-pin{width:31px;height:39px;margin-bottom:26px;border:2px solid #647b59;border-radius:50% 50% 50% 0;transform:rotate(-45deg);position:relative}
.map-placeholder .map-pin:after{content:'';position:absolute;inset:10px 8px 13px;border:2px solid #647b59;border-radius:50%}
.map-placeholder h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.15;max-width:22ch;margin-bottom:19px}
.map-placeholder p{font-size:.875rem;line-height:1.85;color:#53644f;max-width:53ch}
.map-placeholder .button{margin-top:27px;background:#193b30;color:#fbfcf8;min-height:48px;padding:13px 23px}
.map-placeholder noscript p{margin-top:20px}
@media(max-width:1000px){
  .legal-layout,.faq-page-layout{gap:5vw;grid-template-columns:minmax(170px,.8fr) minmax(0,1.8fr)}
  .legal-table th,.legal-table td{padding:14px}
}
@media(max-width:700px){
  .legal-heading{padding-bottom:35px}
  .legal-heading h1{font-size:clamp(2.8rem,10vw,4.4rem)}
  .legal-layout,.faq-page-layout{grid-template-columns:1fr;gap:35px;padding-bottom:65px}
  .legal-index,.faq-page-aside{position:static;padding-top:20px}
  .legal-index nav{display:flex;flex-wrap:wrap;gap:10px 22px}
  .legal-index nav a{font-size:.75rem;line-height:1.7}
  .legal-index>.note{margin-top:22px}
  .legal-draft{padding:22px;margin-bottom:15px}
  .legal-section{padding-block:28px}
  .legal-section h2{font-size:1.65rem}
  .legal-section p{font-size:.875rem}
  .legal-table{font-size:.75rem;min-width:500px}
  .legal-table th,.legal-table td{padding:12px 15px}
  .legal-actions{align-items:stretch;flex-direction:column}
  .legal-actions .button{font-size:.8125rem}
  .footer-legal{gap:10px 23px;padding-block:22px;font-size:.75rem}
  .faq-topic-links{padding-block:0 20px}
  .faq-topic-links a{font-size:.875rem;padding-block:10px}
  .faq-help{padding:24px;margin-top:0}
  .faq-help h2{max-width:none;font-size:1.65rem}
  .faq-help .buttons{flex-direction:row;align-items:center;gap:20px}
  .faq-group{margin-bottom:32px}
  .faq-group>h2{font-size:1.85rem;padding-bottom:15px}
  .cookie-banner{left:12px;bottom:calc(75px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:21px 19px;border-radius:14px;max-height:calc(100dvh - 180px);overflow:auto}
  .cookie-banner h2{font-size:1.2rem;margin-bottom:10px}
  .cookie-banner p{font-size:.75rem;line-height:1.75}
  .consent-links{font-size:.6875rem;gap:8px 18px;margin-block:13px 17px}
  .consent-actions{gap:7px}
  .consent-action{font-size:.75rem;padding-inline:5px;min-height:46px}
  .cookie-preferences{padding:23px 21px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:15px}
  .cookie-preferences h2{font-size:2rem}
  .cookie-preferences-head{gap:13px;margin-bottom:22px}
  .cookie-preferences-head .eyebrow{font-size:.5625rem}
  .cookie-preferences .consent-actions{grid-template-columns:1fr;gap:9px}
  .cookie-preferences .consent-action{min-height:47px}
  .consent-category-head{gap:15px;align-items:start}
  .privacy-status{bottom:calc(78px + env(safe-area-inset-bottom));font-size:.75rem;padding:13px 17px}
  .map-placeholder{min-height:375px;padding:40px 22px}
  .map-placeholder h2{font-size:2rem}
  .map-placeholder p{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.cookie-preferences::backdrop{backdrop-filter:none}}
