.gf-wrap,.gf-invite {
    --gf-ink:#493e36; --gf-soft:#6d5d53; --gf-rose:#845d57; --gf-line:#ded3c6; --gf-paper:#fcf9f4;
    font-family:'Berdani Nunito',system-ui,sans-serif; color:var(--gf-ink);
}
.gf-wrap *, .gf-invite * {box-sizing:border-box}
.gf-wrap [hidden] {display:none!important}
.gf-wrap {max-width:1040px;margin:1rem auto 4rem;padding:0 clamp(14px,3vw,32px)}
.gf-header {display:grid;grid-template-columns:1.5fr 1fr;background:#f4ede3;overflow:hidden;border-radius:18px}
.gf-header img {width:100%;height:100%;max-height:330px;object-fit:cover}
.gf-lead {padding:clamp(24px,4.2vw,52px);align-self:center}
.gf-kicker,.gf-invite>div>span {font-size:.74rem;font-weight:650;color:#6a6751;letter-spacing:.085em;text-transform:uppercase}
.gf-kicker span {margin:0 .25em}
.gf-lead h1,.gf-results h2,.gf-invite h2,.gf-step legend {
    font-family:'Berdani Cormorant',Georgia,serif;font-weight:400!important;letter-spacing:-.025em;color:var(--gf-ink);text-transform:none
}
.gf-lead h1 {font-size:clamp(2.35rem,5vw,4.25rem);line-height:1;margin:.5rem 0 1rem}
.gf-lead h1 em {color:var(--gf-rose);font-weight:400}
.gf-lead>p:last-child,.gf-step>p {line-height:1.55;color:var(--gf-soft);margin:0}
.gf-form,.gf-results {background:var(--gf-paper);padding:clamp(20px,4vw,44px);border:1px solid var(--gf-line);border-radius:18px;margin:16px 0 0;text-align:left}
.gf-progress {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;font-size:.83rem;color:var(--gf-soft)}
.gf-dots {display:flex;gap:4px}.gf-dots i {height:4px;width:24px;border-radius:9px;background:#ded4c9}.gf-dots i.is-filled {background:#83645e}
.gf-step {padding:0;border:0;min-width:0;margin:0 0 22px}
.gf-step legend,.gf-results h2 {font-size:clamp(1.8rem,3.5vw,2.75rem);line-height:1.15;margin:0 0 8px;padding:0;float:none;width:auto}
.gf-choices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}
.gf-choice {display:flex;align-items:center;gap:8px;min-height:48px;cursor:pointer;background:#fff;border:1px solid var(--gf-line);color:var(--gf-ink);border-radius:12px;padding:10px 12px;margin:0;font-size:1rem}
.gf-choice input {width:17px;height:17px;accent-color:#825e57;flex:none;position:static;opacity:1;margin:0}
.gf-choice:has(:checked) {background:#f5e9e3;border-color:#876159}.gf-choice input:checked+span {font-weight:700}
.gf-wrap :focus-visible,.gf-invite :focus-visible {outline:2px solid #77544d;outline-offset:3px}
.gf-controls,.gf-result-actions {display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gf-controls {justify-content:flex-end}.gf-controls .gf-link {margin-right:auto}
.gf-button,.gf-invite>a {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#72514b;color:#fff!important;border-radius:30px;border:1px solid #72514b;min-height:46px;padding:.65rem 1.4rem;font:inherit;cursor:pointer;gap:.45rem}
.gf-button:hover,.gf-invite>a:hover {background:#5e423d;color:#fff}
.gf-link {color:var(--gf-rose);text-decoration:underline;text-underline-offset:.23em;background:none;border:0;padding:.65rem .15rem;font:inherit;cursor:pointer}
.gf-tags {display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 24px}
.gf-tags>span {background:#eaeade;color:#515540;border-radius:25px;padding:4px 11px;font-size:.84rem}
.gf-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gf-card {overflow:hidden;border:1px solid var(--gf-line);border-radius:14px;background:#fff;margin:0}
.gf-card>a {display:flex;flex-direction:column;height:100%;color:var(--gf-ink);text-decoration:none;padding:0 12px 12px;gap:3px}
.gf-card img {width:calc(100% + 24px);max-width:none;align-self:center;height:auto;aspect-ratio:1.15;object-fit:contain;margin:0 0 8px}
.gf-card h3 {margin:0;font:400 1.22rem/1.22 'Berdani Cormorant',Georgia,serif;color:var(--gf-ink);overflow-wrap:anywhere}
.gf-card small,.gf-tax {font-size:.8rem;color:var(--gf-soft)}
.gf-card strong {font-weight:650}.gf-detail {font-size:.82rem;color:var(--gf-rose);padding-top:.6rem;margin-top:auto}
.gf-tax {margin:12px 0 24px}.gf-tax a {color:inherit;text-decoration:underline}
.gf-invite {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f4eee3;border-radius:16px;margin:28px auto;padding:clamp(18px,3vw,34px)}
.gf-invite h2 {font-size:clamp(1.55rem,3vw,2.5rem);margin:6px 0 0}
@media(max-width:720px){.gf-grid,.gf-choices {grid-template-columns:repeat(2,minmax(0,1fr))}.gf-header {grid-template-columns:1.5fr 1fr}.gf-lead {padding:22px}}
@media(max-width:520px){.gf-header {display:flex;flex-direction:column-reverse}.gf-header img {height:104px;object-position:50% 48%}.gf-wrap {padding:0 12px}.gf-lead {padding:18px}.gf-lead h1 {font-size:2.35rem}.gf-form,.gf-results {padding:18px 14px}.gf-card>a {padding:0 8px 10px}.gf-card img {width:calc(100% + 16px)}.gf-choice {font-size:.94rem;padding:8px}.gf-grid {gap:8px}.gf-card h3 {font-size:1.06rem}.gf-invite {width:calc(100% - 24px)}}
