/* Shared layout for content pages (guides, /rental/*, /for-wedding-shops, /free-tools). Same palette as the home page. */
:root{--bg:#fbf9f8;--soft:#f3efed;--ink:#15111a;--mute:#5d5663;--line:#e7e1de;--brand:#b4233c;--brand-d:#951b31;--rose:#f3c9d0;--ok:#06c755;--night:#120e15;--night2:#1c1620;--nl:#2c2430;--nmute:#c4b9c6}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 16.5px/1.8 var(--sans,system-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--brand)}
.w{max-width:1100px;margin:0 auto;padding:0 20px}
header.top{position:sticky;top:0;z-index:5;background:rgba(251,249,248,.9);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
header.top .w{display:flex;justify-content:space-between;align-items:center;height:62px;gap:8px}
.mark{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;text-decoration:none;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.mark small{font-weight:500;font-size:12px;color:var(--mute);margin-left:6px}
.mark .dot{width:9px;height:9px;border-radius:50%;background:var(--brand)}
.nav-cta{font-weight:600;font-size:14px;text-decoration:none;padding:9px 16px;border-radius:10px;background:var(--ink);color:#fff;white-space:nowrap}
@media (max-width:420px){.nav .nav-link.opt{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:12px;font-weight:600;font-size:16px;line-height:1.2;text-align:center;text-decoration:none;border:0;cursor:pointer;background:var(--brand);color:#fff}
.btn:hover{background:var(--brand-d)}
.btn.line{background:var(--ok)}.btn.line:hover{background:#05b04b}
.btn.ink{background:var(--ink)}.btn.ink:hover{background:#000}
.btn[disabled]{opacity:.6;cursor:wait}
article{max-width:760px;margin:0 auto;padding:28px 20px 56px}
.crumb{font-size:14px;color:var(--mute);margin-bottom:22px}
.crumb a{color:var(--mute)}
h1{font-size:clamp(28px,6vw,42px);line-height:1.3;letter-spacing:-.015em}
.lead{font-size:18px;color:var(--mute);margin-top:18px}
h2{font-size:clamp(22px,4.5vw,29px);line-height:1.35;margin-top:44px}
h3{font-size:18px;margin-top:24px;font-family:var(--sans);font-weight:600}
article p{margin-top:14px}
article ul,article ol{margin-top:14px;padding-left:24px;display:grid;gap:8px}
.check{list-style:none;padding-left:0!important}.check li{padding-left:28px;position:relative}.check li:before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:6px;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
.note{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:15.5px;color:var(--mute)}
.note b{color:var(--ink)}
.sample{margin-top:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:6px 20px 20px;font-size:15.5px}
.cta{margin-top:52px;background:var(--night);color:#fff;border-radius:22px;padding:28px}
.cta h2{margin-top:0;font-size:24px}
.cta p{color:var(--nmute)}
.cta .act{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.cta a:not(.btn){color:var(--rose)}
.more{margin-top:44px;border-top:1px solid var(--line);padding-top:8px}
.more h2{font-size:20px}
.more ul{list-style:none;padding:0}
.glist{list-style:none;padding:0;display:grid;gap:12px;margin-top:28px}
.glist a.card{display:block;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink);background:#fff;transition:border-color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.glist a.card:hover{border-color:var(--ink);transform:translateY(-2px)}
.glist b{display:block;font-size:18px;color:var(--brand)}
.glist span{display:block;color:var(--mute);font-size:15.5px;margin-top:4px}
.glist .grp{list-style:none;font-weight:600;font-size:14px;color:var(--mute);margin-top:18px}
.faq{margin-top:14px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:16px 0;font-weight:600;min-height:44px}
.faq details p{margin:0 0 16px;color:var(--mute)}
form.lead-form{display:grid;gap:14px;background:#fff;color:var(--ink);border-radius:20px;padding:24px;margin-top:20px}
form.lead-form h3{margin:0;font-size:19px}
form.lead-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
form.lead-form label span{font-weight:400;color:var(--mute)}
form.lead-form input{font:400 16px/1.4 var(--sans);padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);width:100%;caret-color:var(--brand)}
form.lead-form input::placeholder{color:#857d89}
form.lead-form input:focus{border-color:var(--ink);outline:0}
form.lead-form .btn{width:100%}
.msg-out{font-size:15px;display:none}.msg-out.ok{display:block;color:#15803d}.msg-out.err{display:block;color:var(--brand)}
.fine{font-size:13px;color:var(--mute)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
footer{padding:28px 0 calc(28px + env(safe-area-inset-bottom));font-size:13px;color:var(--mute);border-top:1px solid var(--line)}
footer .w{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px}
footer a{color:var(--mute)}
.cta form.lead-form p{color:var(--mute)}.cta form.lead-form a{color:var(--brand)}
