/* Public MONTENCE subpages: legal documents and the safety page.
   Builds on assets/css/landing-montence.css (tokens, header, footer, buttons,
   cards, motion) and only adds page layouts. Long legal texts get no motion
   beyond the page header; readability comes first. */

/* Page header */
.landing-montence .page-hero { position:relative; isolation:isolate; margin-top:calc(var(--header-h) * -1); padding:calc(var(--header-h) + clamp(48px,8vw,96px)) 0 clamp(96px,12vw,150px); color:#fff; background:radial-gradient(90% 80% at 85% 0%,rgba(78,128,143,.34),transparent 60%),var(--ink-900); overflow:hidden; }
.landing-montence .page-hero::after { content:''; position:absolute; z-index:-1; left:0; right:0; bottom:-1px; height:clamp(90px,12vw,140px); background:linear-gradient(180deg,rgba(10,17,15,0),#16221f 30%,#4c6263 62%,#b2c0bc 84%,var(--paper)); pointer-events:none; }
.landing-montence .page-hero-lines { position:absolute; z-index:-2; inset:-10% -15% 0; opacity:.3; pointer-events:none; }
.landing-montence .page-hero-lines img { width:100%; height:100%; object-fit:cover; }
.landing-montence .page-hero-inner { position:relative; }
.landing-montence .page-hero-inner > * { max-width:860px; }
.landing-montence .page-hero h1 { font-size:clamp(40px,5vw,72px); }
.landing-montence .is-legal .page-hero h1 { font-size:clamp(38px,4.4vw,62px); }
.landing-montence .page-hero .eyebrow { color:var(--green); }
.landing-montence .page-hero .lead { color:#cddbd1; }
.landing-montence .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:28px; color:#90a298; font-size:13px; font-weight:600; }
.landing-montence .breadcrumb a { color:#cfdcd3; }
.landing-montence .breadcrumb a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--green); }
.landing-montence .page-meta { display:inline-flex; align-items:center; gap:8px; margin-top:24px; padding:6px 14px; border-radius:999px; border:1px solid rgba(143,182,193,.4); color:var(--teal-soft); font-size:13px; font-weight:650; }
.landing-montence .page-jump { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.landing-montence .page-jump a { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.04); color:#dbe7df; font-size:14px; font-weight:650; transition:background-color .2s ease,border-color .2s ease,color .2s ease; }
.landing-montence .page-jump a:hover { color:#fff; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.4); }

/* Legal documents */
.landing-montence .legal-shell { display:grid; grid-template-columns:260px minmax(0,760px); justify-content:space-between; gap:clamp(40px,6vw,96px); padding-block:clamp(24px,4vw,56px) clamp(88px,10vw,140px); }
.landing-montence .legal-toc { position:sticky; top:calc(var(--header-h) + 28px); align-self:start; max-height:calc(100vh - var(--header-h) - 56px); overflow:auto; padding:4px 4px 4px 0; scrollbar-width:thin; }
.landing-montence .legal-toc-title { margin-bottom:12px; color:var(--teal); font-size:12px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.landing-montence .legal-toc ol { display:grid; gap:2px; border-left:1px solid var(--line); }
.landing-montence .legal-toc a { position:relative; display:block; padding:7px 0 7px 16px; color:var(--muted); font-size:14px; line-height:1.35; transition:color .2s ease; }
.landing-montence .legal-toc a::before { content:''; position:absolute; left:-1px; top:8px; bottom:8px; width:2px; border-radius:2px; background:var(--green); transform:scaleY(0); transition:transform .25s var(--ease); }
.landing-montence .legal-toc a:hover { color:var(--text); }
.landing-montence .legal-toc a.is-current { color:var(--text); font-weight:650; }
.landing-montence .legal-toc a.is-current::before { transform:scaleY(1); }
.landing-montence .legal-document { min-width:0; font-size:17px; line-height:1.72; color:#1f2b25; }
.landing-montence .legal-card { padding:36px 0; border-top:1px solid var(--line); }
.landing-montence .legal-card:first-child { border-top:0; padding-top:0; }
.landing-montence .legal-card :is(h2,h3) { margin-bottom:14px; font-size:clamp(22px,2vw,26px); line-height:1.25; letter-spacing:-.02em; scroll-margin-top:calc(var(--header-h) + 24px); }
.landing-montence .legal-card p + p, .landing-montence .legal-card p + ul, .landing-montence .legal-card ul + p, .landing-montence .legal-card dl + p { margin-top:14px; }
.landing-montence .legal-card ul { display:grid; gap:8px; margin-top:12px; }
.landing-montence .legal-card li { position:relative; padding-left:22px; }
.landing-montence .legal-card li::before { content:''; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--green); }
.landing-montence .legal-card dl { display:grid; grid-template-columns:minmax(140px,200px) minmax(0,1fr); gap:10px 24px; margin-block:8px 16px; padding:20px 22px; border-radius:var(--radius); background:var(--card); border:1px solid var(--line); }
.landing-montence .legal-card dt { color:var(--muted); font-size:14px; font-weight:650; }
.landing-montence .legal-card dd { margin:0; overflow-wrap:anywhere; }
.landing-montence .legal-document a:not(.text-link) { color:#2b5663; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(78,128,143,.5); overflow-wrap:anywhere; }
.landing-montence .legal-document a:not(.text-link):hover { color:var(--text); text-decoration-color:var(--green); }
.landing-montence .legal-card.legal-note { margin-bottom:12px; padding:26px 28px; border:0; border-radius:var(--radius-l); background:var(--teal-tint); color:#1c3a42; }
.landing-montence .legal-card.legal-note + .legal-card { border-top:0; }
.landing-montence .legal-back { margin-top:32px; }
.landing-montence .legal-links { margin-top:24px; color:var(--muted); font-size:15px; }

/* Safety page */
.landing-montence .safety-hero { padding-bottom:clamp(110px,13vw,170px); }
.landing-montence .safety-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(40px,6vw,96px); align-items:center; }
.landing-montence .safety-hero h1 { font-size:clamp(40px,4.6vw,68px); }
.landing-montence .safety-hero-visual { position:relative; display:grid; gap:16px; justify-items:end; }
.landing-montence .check-card { width:min(360px,100%); padding:24px; }
.landing-montence .check-card .ui-title { margin-bottom:16px; font-size:20px; }
.landing-montence .check-card .phone-checks li { font-size:14px; }
.landing-montence .sos-card { display:flex; align-items:center; gap:18px; width:min(360px,100%); margin-right:clamp(0px,4vw,48px); padding:16px 20px; }
.landing-montence .sos-card > .icon { width:36px; height:36px; padding:8px; border-radius:50%; color:#fff; background:#c8373c; }
.landing-montence .sos-card span { display:grid; color:#a9bbb1; font-size:11.5px; font-weight:650; line-height:1.3; }
.landing-montence .sos-card b { color:#fff; font-size:24px; letter-spacing:-.02em; }
.landing-montence .safety-principles { padding-top:clamp(40px,5vw,72px); }
.landing-montence .principles-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:clamp(40px,5vw,64px); }
.landing-montence .principle { padding:clamp(24px,3vw,36px); border-radius:var(--radius-l); background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow-card); }
.landing-montence .principle.is-own { background:var(--teal-tint); border-color:#cfdfe3; box-shadow:none; }
.landing-montence .principle ul { display:grid; gap:0; margin-top:18px; }
.landing-montence .principle li { position:relative; padding:14px 0 14px 34px; border-top:1px solid var(--line); font-size:16px; line-height:1.5; }
.landing-montence .principle.is-own li { border-top-color:#cddde1; }
.landing-montence .principle li::before { content:''; position:absolute; left:4px; top:18px; width:16px; height:16px; border-radius:50%; background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041006' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat; }
.landing-montence .principle.is-own li::before { background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E") center/12px no-repeat; }
.landing-montence .safety-features { background:var(--paper-2); }
.landing-montence .feature-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:clamp(40px,5vw,64px); }
.landing-montence .mosaic { position:relative; display:flex; flex-direction:column; gap:12px; padding:clamp(22px,2.4vw,30px); border-radius:var(--radius-l); background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow-card); overflow:hidden; transition:transform .4s var(--ease),box-shadow .4s ease,border-color .3s ease; }
.landing-montence .mosaic:hover { transform:translateY(-4px); border-color:#bfd0c6; box-shadow:0 28px 50px -28px rgba(12,32,24,.4); }
.landing-montence .mosaic.is-wide { grid-column:span 2; }
.landing-montence .mosaic h3 { font-size:21px; }
.landing-montence .mosaic p:not(.bento-tag) { color:var(--muted); font-size:15.5px; line-height:1.6; }
.landing-montence .mosaic.is-dark { color:#fff; background:var(--ink-900); border-color:var(--ink-900); }
.landing-montence .mosaic.is-teal { color:#fff; background:radial-gradient(80% 90% at 100% 0%,rgba(78,128,143,.5),transparent 60%),var(--teal-deep); border-color:var(--teal-deep); }
.landing-montence .mosaic:is(.is-dark,.is-teal) p:not(.bento-tag) { color:#c3d3cb; }
.landing-montence .mosaic:is(.is-dark,.is-teal) .bento-tag { color:var(--green); }
.landing-montence .mosaic-profile { width:100%; height:90px; margin-top:auto; }
.landing-montence .mosaic .text-link { margin-top:auto; padding-top:6px; }
.landing-montence .grade-scale, .landing-montence .slope-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:6px; }
.landing-montence .grade-scale span, .landing-montence .slope-chips span { display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:999px; background:var(--paper-2); color:#2c3a33; font-size:12.5px; font-weight:700; }
.landing-montence .slope-chips i { width:14px; height:4px; border-radius:3px; }
.landing-montence .steps-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,6vw,96px); align-items:start; }
.landing-montence .steps-grid .section-head { position:sticky; top:calc(var(--header-h) + 40px); }
.landing-montence .step-line { position:relative; display:grid; gap:0; }
.landing-montence .step-line::before { content:''; position:absolute; left:23px; top:24px; bottom:24px; width:2px; background:linear-gradient(180deg,var(--green),var(--teal)); transform-origin:top; }
.landing-montence .step-line li { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:22px; padding:0 0 36px; }
.landing-montence .step-line li:last-child { padding-bottom:0; }
.landing-montence .step-no { position:relative; z-index:1; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--card); border:2px solid var(--green); color:var(--text); font-weight:800; font-variant-numeric:tabular-nums; }
.landing-montence .step-line h3 { margin-top:10px; font-size:20px; }
.landing-montence .step-line p { margin-top:6px; color:var(--muted); font-size:16px; }
.landing-montence .safety-binding { background:var(--paper-2); }
.landing-montence .binding-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px,6vw,96px); align-items:start; }
.landing-montence .binding-grid .legal-document { padding:clamp(24px,3vw,40px); border-radius:var(--radius-l); background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow-card); }
.landing-montence .emergency-band { position:relative; padding-block:clamp(72px,9vw,120px); color:#fff; background:radial-gradient(60% 90% at 100% 50%,rgba(200,55,60,.22),transparent 60%),var(--ink-900); }
.landing-montence .emergency-band .eyebrow { color:#ff8a8e; }
.landing-montence .emergency-band .lead { color:var(--muted-dark); }
.landing-montence .emergency-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,96px); align-items:center; }
.landing-montence .emergency-numbers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.landing-montence .emergency-numbers a { display:grid; gap:6px; padding:26px; border-radius:var(--radius-l); background:rgba(255,255,255,.04); border:1px solid rgba(255,138,142,.3); transition:background-color .25s ease,border-color .25s ease,transform .3s var(--ease); }
.landing-montence .emergency-numbers a:hover { background:rgba(200,55,60,.16); border-color:rgba(255,138,142,.6); transform:translateY(-3px); }
.landing-montence .emergency-numbers b { font-size:clamp(48px,6vw,76px); line-height:1; letter-spacing:-.04em; }
.landing-montence .emergency-numbers span { color:#dbc9c9; font-size:14px; font-weight:600; }
.landing-montence .page-cta { padding-block:clamp(88px,11vw,140px); text-align:center; background:var(--paper); }
.landing-montence .page-cta-inner { display:flex; flex-direction:column; align-items:center; }
.landing-montence .page-cta h2 { font-size:clamp(34px,4.4vw,60px); }
.landing-montence .page-cta .lead { margin-inline:auto; }
.landing-montence .page-cta .actions { margin-top:32px; }

/* Motion (only when landing-home.js enabled it) */
.landing-montence.motion-ready .step-line::before { transform:scaleY(0); transition:transform 1.8s var(--ease) .2s; }
.landing-montence.motion-ready .step-line.is-drawn::before { transform:scaleY(1); }
.landing-montence.motion-ready [data-draw].mosaic-profile .profile-line { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 2s var(--ease) .3s; }
.landing-montence.motion-ready [data-draw].mosaic-profile.is-drawn .profile-line { stroke-dashoffset:0; }
.landing-montence.motion-ready.is-safety .page-hero-lines img { animation:drift 60s ease-in-out infinite alternate; }

@media (max-width:980px) {
    .landing-montence .legal-shell { grid-template-columns:minmax(0,1fr); gap:28px; }
    .landing-montence .legal-toc { position:static; max-height:none; padding:20px 22px; border-radius:var(--radius-l); background:var(--card); border:1px solid var(--line); }
    .landing-montence .legal-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; border-left:0; }
    .landing-montence .legal-toc a { padding-left:0; }
    .landing-montence .legal-toc a::before { display:none; }
    .landing-montence .safety-hero-grid, .landing-montence .steps-grid, .landing-montence .binding-grid, .landing-montence .emergency-grid { grid-template-columns:minmax(0,1fr); }
    .landing-montence .safety-hero-visual { justify-items:start; }
    .landing-montence .sos-card { margin-right:0; }
    .landing-montence .steps-grid .section-head { position:static; }
    .landing-montence .feature-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .landing-montence .page-hero { padding-top:calc(var(--header-h) + 36px); padding-bottom:96px; }
    .landing-montence .page-hero h1, .landing-montence .safety-hero h1 { font-size:clamp(34px,9.5vw,46px); }
    .landing-montence .breadcrumb { margin-bottom:20px; }
    .landing-montence .legal-toc ol { grid-template-columns:minmax(0,1fr); }
    .landing-montence .legal-document { font-size:16px; }
    .landing-montence .legal-card { padding:28px 0; }
    .landing-montence .legal-card dl { grid-template-columns:minmax(0,1fr); gap:2px; padding:16px; }
    .landing-montence .legal-card dd { margin-bottom:10px; }
    .landing-montence .legal-card.legal-note { padding:20px; }
    .landing-montence .principles-grid, .landing-montence .feature-mosaic, .landing-montence .emergency-numbers { grid-template-columns:minmax(0,1fr); }
    .landing-montence .mosaic.is-wide { grid-column:auto; }
    .landing-montence .page-jump a { min-height:38px; padding:0 13px; font-size:13px; }
    .landing-montence .check-card, .landing-montence .sos-card { width:100%; }
    .landing-montence .step-line li { grid-template-columns:40px minmax(0,1fr); gap:16px; }
    .landing-montence .step-no { width:40px; height:40px; }
    .landing-montence .step-line::before { left:19px; }
}
@media (hover:none) {
    .landing-montence .mosaic:hover, .landing-montence .emergency-numbers a:hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
    .landing-montence .page-hero-lines img { animation:none; }
}
@media print {
    .landing-montence :is(.site-header,.site-footer,.legal-toc,.page-hero-lines,.skip-link,.dev-environment-badge,.dev-environment-intro) { display:none !important; }
    .landing-montence .page-hero { margin:0; padding:0 0 24px; color:#000; background:none; }
    .landing-montence .page-hero::after { display:none; }
    .landing-montence .page-hero .lead, .landing-montence .breadcrumb { color:#333; }
    .landing-montence .legal-shell { display:block; padding:0; }
}

/* Tables inside legal documents (cookie and storage overview) */
.landing-montence .legal-table-wrap { max-width:100%; margin-block:16px 8px; overflow-x:auto; border-radius:var(--radius); border:1px solid var(--line); background:var(--card); -webkit-overflow-scrolling:touch; }
.landing-montence .legal-table { width:100%; min-width:560px; border-collapse:collapse; font-size:14.5px; line-height:1.5; }
.landing-montence .legal-table th, .landing-montence .legal-table td { padding:12px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.landing-montence .legal-table th { color:var(--muted); font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; background:var(--paper-2); }
.landing-montence .legal-table tr:last-child td { border-bottom:0; }
.landing-montence .legal-table td:first-child { font-weight:650; white-space:nowrap; }
