/* AGE FINDER ONLINE — legal/info page primitives */
.doc{max-width:860px;margin-inline:auto;padding:1.8rem 0 2.5rem}
.doc-hero{background:var(--card);border:var(--bd);border-radius:24px;box-shadow:var(--hard);overflow:hidden;margin-bottom:2rem}
.doc-hero .in{padding:1.8rem 2rem 2rem}
.doc-hero .kicker{display:inline-block;background:var(--yellow);border:var(--bd);border-radius:99px;padding:.3rem .9rem;font-weight:900;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;box-shadow:var(--hard-sm);transform:rotate(-1.5deg)}
.doc-hero h1{font-family:'Bungee';font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.12;margin:.9rem 0 .5rem}
.doc-hero h1 span{color:var(--pink)}
.doc-hero .meta{font-size:.78rem;font-weight:800;color:var(--ink-soft)}
.doc-body h2{font-family:'Bungee';font-size:1.25rem;margin:2rem 0 .7rem}
.doc-body h3{font-family:'Bungee';font-size:1rem;color:var(--pink);margin:1.4rem 0 .5rem}
.doc-body p{font-weight:700;color:var(--ink-soft);margin-bottom:.9rem}
.doc-body p b{color:var(--ink)}
.doc-body a{color:var(--pink-text);font-weight:900;text-underline-offset:3px}
.doc-body a:hover{text-decoration-thickness:2px}
.doc-body a:focus-visible,.contact-form :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.doc-body ul,.doc-body ol{margin:0 0 1rem 1.4rem;font-weight:700;color:var(--ink-soft)}
.doc-body li{margin-bottom:.45rem}
.doc-body li::marker{color:var(--pink)}
.table-wrap{max-width:100%;overflow-x:auto;margin:1rem 0 1.4rem;border:var(--bd);border-radius:14px;background:var(--card)}
.doc-body table{width:100%;min-width:680px;border-collapse:collapse;font-size:.9rem}
.doc-body th{font-size:.64rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:.55rem .6rem;border-bottom:3px solid var(--ink)}
.doc-body td{padding:.55rem .6rem;border-bottom:2px dashed rgba(69,38,51,.22);font-weight:800}
.doc-body tbody tr:last-child td{border-bottom:0}
.doc-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em;background:var(--cream);padding:.12rem .3rem;border-radius:5px}
.note-box{background:var(--cream);border:var(--bd);border-radius:18px;box-shadow:var(--hard-sm);padding:1rem 1.3rem;font-weight:800;font-size:.92rem;margin:1.2rem 0}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:1.4rem 0}
.contact-card{background:var(--card);border:var(--bd);border-radius:20px;box-shadow:var(--hard-sm);padding:1.2rem 1.3rem;text-align:center}
.contact-card .ico{font-size:2rem}
.contact-card h3{font-family:'Bungee';font-size:.9rem;margin:.5rem 0 .3rem}
.contact-card p{font-size:.85rem;font-weight:800;color:var(--ink-soft)}
.contact-card a{color:var(--pink);font-weight:900;text-decoration:none;overflow-wrap:anywhere}
.contact-intro{margin-bottom:1.4rem}
.contact-email{overflow-wrap:anywhere}
.contact-form{position:relative;background:var(--card);border:var(--bd);border-radius:18px;box-shadow:var(--hard);padding:clamp(1.1rem,3vw,1.7rem);margin:1.4rem 0 2.2rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1rem}
.field{display:flex;flex-direction:column;gap:.38rem;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-weight:900;color:var(--ink);font-size:.9rem}
.field label span{font-weight:700;color:var(--ink-soft)}
.field small{font-size:.76rem;line-height:1.35;font-weight:700;color:var(--ink-soft)}
.field input,.field select,.field textarea{width:100%;min-height:48px;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:700 1rem/1.4 'Nunito',sans-serif;padding:.72rem .8rem;box-shadow:0 2px 0 rgba(69,38,51,.1)}
.field textarea{min-height:160px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8a6b77;opacity:1}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--pink-text)}
.field-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.consent-row{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:.65rem;margin:1.25rem 0;font-size:.86rem;font-weight:800;color:var(--ink-soft);cursor:pointer}
.consent-row input{width:20px;height:20px;margin-top:.1rem;accent-color:var(--pink-text)}
.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.contact-submit{min-height:48px;border:var(--bd);border-radius:10px;background:var(--yellow);color:var(--ink);box-shadow:var(--hard-sm);padding:.7rem 1.25rem;font:900 .9rem/1 'Nunito',sans-serif;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.contact-submit:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.contact-submit:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.contact-submit:disabled{cursor:wait;opacity:.65;transform:none}
.form-status{flex:1;min-width:220px;margin:0!important;font-size:.84rem;font-weight:900!important}
.form-status:empty{display:none}
.form-status.is-pending{color:var(--blue-text)}
.form-status.is-success{color:var(--mint-text)}
.form-status.is-error{color:var(--pink-text)}
.form-fallback{margin-top:1rem!important;font-size:.84rem}
@media(max-width:820px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.doc-hero .in{padding:1.4rem 1.3rem 1.6rem}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.contact-form{box-shadow:4px 4px 0 var(--ink)}.contact-submit{width:100%}.form-status{min-width:100%}}
@media(prefers-reduced-motion:reduce){.contact-submit{transition:none}}
