.wedding-hub{--hub-gap:20px}
.hub-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-block:40px 30px}
.hub-intro h2{font:600 2.65rem/1.45 var(--display);letter-spacing:.01em;margin:0;text-wrap:balance}
.hub-intro h2 span{color:var(--brand)}
.hub-intro p{margin-top:12px;color:var(--muted);font-size:.9375rem}
.hub-intro .hub-trust{margin:0 0 5px;white-space:nowrap;font-size:.8125rem;color:#6b584f}
.hub-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hub-gap);padding-bottom:48px;scroll-margin-top:24px}
.hub-tool{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;min-height:226px;padding:28px;border:1px solid var(--border);border-radius:16px;text-decoration:none;color:var(--ink);transition:border-color .18s ease,background-color .18s ease}
.hub-tool-planner{background:#f5f0e8;border-color:#ded2c3}
.hub-tool-seating{background:#fffaf8;border-color:#e1c7c9}
.hub-tool-games{background:#eff1e9;border-color:#d4dccb}
.hub-tool-invitation{background:#fbf0e9;border-color:#e5cebc}
.hub-tool:hover{border-color:var(--brand);background:#fffdfa}
.hub-tool:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.hub-tool-copy{position:relative;z-index:1;min-width:0}
.hub-tool h3{font:600 1.65rem/1.5 var(--display);margin:0 0 9px}
.hub-tool p{font-size:.875rem;line-height:1.85;color:#5b5149;margin:0}
.hub-tool-note{display:block;margin-top:12px;font-size:.6875rem;line-height:1.6;color:#706055}
.hub-tool-action{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:.875rem;font-weight:600;color:var(--brand);min-height:32px}
.hub-tool-action svg{flex-shrink:0}
.hub-tool-games .hub-tool-action{color:#455b3f}
.hub-tool-art{display:block;flex-shrink:0;max-width:30%;height:auto}
.hub-seating-art{width:168px;aspect-ratio:1.25;object-fit:contain}
.hub-games-art{width:144px;height:144px;object-fit:cover;border-radius:12px}
.hub-invitation-art{width:100px;max-width:24%;transform:rotate(5deg);box-shadow:0 8px 20px #5b3e2520}
.hub-planner-art{width:142px;min-width:112px;padding:14px 12px;background:#fffdfa;border:1px solid #e4d8c8;border-radius:10px;color:#625345}
.hub-planner-art>div+div{margin-top:16px}
.hub-planner-art span{display:block;font-size:.6875rem}
.hub-planner-art i{display:block;height:7px;background:#c5ab8a;border-radius:4px;margin-top:8px;width:100%}
.hub-planner-art>div:nth-child(2) i{width:72%;background:#8a9c7c}
.hub-planner-art .hub-art-caption{font-size:.5625rem;color:#796959;line-height:1.5;margin-top:20px}
.wedding-hub .section-soft{padding-block:42px}
.wedding-hub .section-head h2{font-size:1.7rem}
.wedding-hub .article-visual{height:164px}
.wedding-hub .guide-game-bridge{margin-top:24px;padding-block:20px 0}
.hub-help-section{padding-block:40px 0}
.hub-help{border-block:1px solid var(--border)}
.hub-help>summary{display:flex;align-items:center;gap:24px;cursor:pointer;list-style:none;min-height:84px;padding-block:20px;font-weight:600;font-size:1.0625rem}
.hub-help>summary::-webkit-details-marker{display:none}
.hub-help>summary>svg{flex-shrink:0;transform:rotate(90deg);color:var(--brand)}
.hub-help[open]>summary>svg{transform:rotate(-90deg)}
.hub-help-hint{margin-left:auto;font-size:.8125rem;font-weight:400;color:var(--muted)}
.hub-help>summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.hub-help-content{padding-bottom:32px}
.hub-help-content .workflow{padding:0}
.hub-help-content .section-head h2{font-size:1.5rem}
.hub-help-content .workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hub-help-content .workflow-steps h3{font-size:1.125rem}
.hub-help-content .workflow-steps p{font-size:.8125rem}
.wedding-hub .material-section{padding-block:44px}
.wedding-hub .closing-wish .button{display:inline-flex;align-items:center;gap:16px}
@media(max-width:1050px){
 .hub-tool{padding:24px;gap:12px}
 .hub-tool-art{max-width:26%}
 .hub-invitation-art{max-width:21%}
 .hub-planner-art{min-width:95px}
 .hub-tool-note{max-width:26ch}
}
@media(max-width:768px){
 .wedding-hub{--hub-gap:12px}
 .hub-intro{display:block;padding-block:26px 22px}
 .hub-intro h2{font-size:1.85rem;line-height:1.5;max-width:20ch}
 .hub-intro h2 span{display:block}
 .hub-intro p{font-size:.8125rem;line-height:1.8;margin-top:10px}
 .hub-intro .hub-trust{font-size:.6875rem;margin-top:10px}
 .hub-tools{padding-bottom:30px}
 .hub-tool{display:block;min-height:0;padding:18px 14px}
 .hub-tool-art{display:none}
 .hub-tool h3{font-size:1.25rem;margin-bottom:10px}
 .hub-tool p{font-size:.875rem;line-height:1.8}
 .hub-tool p br{display:none}
 .hub-tool-note{font-size:.6875rem;line-height:1.7;margin-top:10px}
 .hub-tool-action{font-size:.8125rem;gap:8px;margin-top:12px;min-height:28px}
 .hub-tool-action svg{width:16px;height:16px}
 .wedding-hub .section-soft{padding-block:30px}
 .wedding-hub .section-head h2{font-size:1.45rem}
 .wedding-hub .article-visual{height:180px}
 .hub-help-section{padding-block:28px 0}
 .hub-help>summary{min-height:76px;gap:12px;font-size:.9375rem}
 .hub-help-hint{font-size:.6875rem;max-width:7em;text-align:right}
 .hub-help-content .workflow-steps{grid-template-columns:1fr;gap:20px}
 .wedding-hub .material-section{padding-block:32px}
}
@media(max-width:359px){
 .hub-tool{padding:16px 12px}
 .hub-intro h2{font-size:1.65rem}
 .hub-tool h3{font-size:1.0625rem}
 .hub-tool-action{gap:5px}
}
@media(prefers-reduced-motion:reduce){.hub-tool{transition:none}}
