/*
Theme Name: Adult Service Guide Starter
Theme URI: https://fortune88lucky88.com/
Author: Site operator
Description: A lightweight informational theme for a lawful adult-service comparison site.
Version: 1.2.0
Text Domain: adult-service-guide
*/

:root { --ink:#17202a; --muted:#5d6b78; --line:#d9e0e6; --accent:#7a3458; --accent-strong:#5d2443; --soft:#fbf6f8; --soft-strong:#f6eaf0; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; line-height:1.75; }
a { color:var(--accent); }
.container { width:min(100% - 32px, 980px); margin:0 auto; }
.site-header { border-bottom:1px solid var(--line); background:var(--white); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; }
.brand { color:var(--ink); font-weight:750; text-decoration:none; }
.main-nav { display:flex; gap:18px; font-size:.93rem; }
.main-nav a { text-decoration:none; }
.hero { background:linear-gradient(135deg,#fff8fb,#f6f4fa); padding:72px 0 80px; }
.hero h1 { max-width:720px; margin:8px 0 20px; font-size:clamp(2rem,5vw,3.5rem); line-height:1.25; letter-spacing:-.03em; }
.lead { max-width:680px; color:var(--muted); font-size:1.08rem; }
.eyebrow { color:var(--accent); font-size:.83rem; font-weight:750; letter-spacing:.08em; }
.section { padding:54px 0; }
.section-heading { margin-bottom:18px; }
.section-heading .eyebrow { margin-bottom:6px; }
.section-heading h2 { margin-top:0; }
.article { padding:48px 0 72px; max-width:820px; }
.article h1 { font-size:clamp(1.8rem,4vw,2.75rem); line-height:1.3; }
.article h2, .section h2 { margin-top:38px; line-height:1.35; }
.meta, .small { color:var(--muted); font-size:.9rem; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.card { border:1px solid var(--line); border-radius:14px; padding:20px; background:#fff; }
.card h3 { margin-top:0; }
.question-card { position:relative; padding-top:18px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.question-card:hover { transform:translateY(-2px); border-color:#caa7b7; box-shadow:0 8px 22px rgba(93,36,67,.08); }
.question-card h3 { margin-bottom:8px; }
.question-card h3 a { text-decoration:none; }
.card-label { margin:0 0 10px; color:var(--accent); font-size:.82rem; font-weight:750; }
.card-arrow { display:block; margin-top:12px; color:var(--accent); font-size:1.2rem; font-weight:750; }
.notice { margin:24px 0; padding:16px 18px; border-left:4px solid var(--accent); background:var(--soft); }
.age-notice { border-left-color:#9b5b22; background:#fff8ee; }
.button { display:inline-block; border-radius:8px; padding:11px 17px; color:#fff; background:var(--accent); text-decoration:none; font-weight:700; }
.button:hover { background:var(--accent-strong); }
.button.secondary { color:var(--accent); background:#f0e3ea; }
.table-wrap { overflow:auto; margin:28px 0; }
table { width:100%; min-width:640px; border-collapse:collapse; }
th, td { padding:12px 14px; border:1px solid var(--line); text-align:left; vertical-align:top; }
thead th { background:#f4edf1; }
ul { padding-left:1.4rem; }
.site-footer { border-top:1px solid var(--line); background:#fafafa; padding:28px 0; color:var(--muted); font-size:.9rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr; gap:28px; }
.footer-grid a { display:block; margin:.25rem 0; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; white-space:normal; }
@media (max-width:700px) { .header-inner { align-items:flex-start; flex-direction:column; padding:16px 0; } .main-nav { flex-wrap:wrap; } .cards { grid-template-columns:1fr; } .hero { padding:54px 0 60px; } .footer-grid { grid-template-columns:1fr; } }
