@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');:root{--paper:#f5f1e9;--ink:#352f31;--wine:#783843;--wine-light:#a66b70;--line:#d9d2c6;--cream:#fffdf8;--muted:#7b7772}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}header{height:74px;padding:0 5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:60px}.brand,footer strong{font-family:Italiana,Georgia,serif;font-size:34px;letter-spacing:-1px}.brand span,footer strong span{color:var(--wine);font-family:Georgia,serif;font-size:18px;vertical-align:top;margin-left:3px}nav{display:flex;gap:26px;font-size:12px;font-weight:700;color:#6b6363}nav a:hover{text-decoration:underline}.head-right{margin-left:auto;font-size:10px;letter-spacing:1.5px;color:#8d8278;font-weight:700}.hero{min-height:500px;display:grid;grid-template-columns:1fr 1fr;max-width:1550px;margin:auto}.hero-left{padding:90px 4vw 80px 5vw}.kicker{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--wine)}.kicker span{font-size:17px;margin-right:5px}h1,h2,h3{font-family:Italiana,Georgia,serif;font-weight:400}h1{font-size:clamp(58px,6.2vw,100px);line-height:1.04;margin:23px 0}h1 em,h2 em{color:var(--wine);font-weight:400}.hero-left p{max-width:460px;line-height:1.75;color:#686360;font-size:16px;margin:0 0 29px}.cta{display:inline-flex;justify-content:space-between;min-width:240px;gap:28px;background:var(--wine);color:#fff;padding:17px 19px;font-size:12px;font-weight:700}.cta:hover,.dark:hover{background:#5e2b35}.hero-art{position:relative;background:#e7dbcb;overflow:hidden;min-height:500px;display:grid;place-items:center}.circle{border:1px solid #d6b9ad;border-radius:50%;position:absolute}.circle-1{width:650px;height:650px;left:-10%;top:-25%}.circle-2{width:440px;height:440px;left:10%;top:6%}.art-card{position:relative;width:min(62%,330px);min-height:380px;background:#fffdf8;box-shadow:14px 17px 22px #5a45462d;padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center}.art-card small{font-size:9px;letter-spacing:1.7px;color:#9c8a7c}.art-flower{font-size:48px;color:#bd8485;margin:27px 0 3px}.art-card strong{font-family:Italiana,Georgia,serif;font-weight:400;font-size:34px;color:var(--wine);margin-bottom:28px}.art-card i{font-style:normal;font-size:10px;letter-spacing:1.5px;border-top:1px solid #e2d8cf;width:100%;padding:10px 0}.art-card small:last-child{margin-top:auto}.art-note{position:absolute;right:4%;bottom:6%;font-size:10px;letter-spacing:2px;color:var(--wine);font-weight:700}.planner{background:#ece7de;padding:72px 5vw 90px}.section-intro{max-width:1450px;margin:0 auto 27px}.section-intro h2,.how h2{font-size:clamp(40px,4.5vw,68px);margin:13px 0 8px}.section-intro p{max-width:660px;line-height:1.7;color:#77716c;margin:0}.app{display:grid;grid-template-columns:305px 1fr;gap:16px;max-width:1450px;margin:auto;align-items:start}.sidebar,.table-area{background:var(--cream);border:1px solid #d7d1c6}.sidebar{padding:22px;min-height:560px}.sidebar-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.sidebar-head h3{font-size:25px;margin:0}.sidebar-head h3 span{font:700 11px 'DM Sans',sans-serif;background:#efe6df;border-radius:20px;padding:3px 7px;color:var(--wine)}.sidebar-head small{color:var(--muted);font-size:10px}.sidebar label{display:block;font-size:11px;font-weight:700;margin:17px 0 7px}.inline{display:flex}.inline input,.batch textarea{width:100%;border:1px solid #d6d2cd;background:#fff;padding:10px;outline:none}.inline input:focus,.batch textarea:focus,.table-header input:focus,#event-title:focus{border-color:var(--wine);outline:1px solid var(--wine)}.inline button{border:0;background:var(--wine);color:#fff;font-size:22px;width:41px;flex:none}.batch textarea{resize:vertical;min-height:70px}.batch button{margin-top:7px;border:0;background:none;color:var(--wine);font-weight:700;font-size:11px;padding:0}.guest-list-head{display:flex;justify-content:space-between;margin:25px 0 8px;color:#8b837b;font-size:9px;letter-spacing:1.4px;font-weight:700}.guest-list{min-height:110px}.guest-row{display:flex;align-items:center;gap:7px;border:1px solid #e3dcd3;background:#fff;padding:7px 8px;margin:5px 0;cursor:grab}.guest-row .handle{color:#aeaaa4}.guest-row .guest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px}.guest-row select{border:0;background:#f5f0eb;color:var(--wine);max-width:75px;font-size:10px;padding:4px}.guest-row button{border:0;background:none;color:#aaa09d;font-size:16px;padding:0 2px}.guest-row button:hover{color:#9f3745}.drop-zone.drag-over{outline:2px dashed var(--wine);background:#f9ecec}.privacy{font-size:10px;color:#a39c92;line-height:1.5;margin-top:22px}.table-area{min-height:560px;padding:24px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:19px}.toolbar>div:first-child{display:flex;flex-direction:column;align-items:start}.toolbar #event-title{border:0;border-bottom:1px dashed #cabdb3;background:transparent;font-family:Italiana,Georgia,serif;font-size:32px;color:var(--ink);max-width:360px;width:100%;margin:4px 0}.toolbar #totals{font-size:10px;color:#999088}.toolbar-actions{display:flex;gap:7px}.toolbar-actions button,.empty button{border:1px solid var(--wine);background:#fff;color:var(--wine);padding:10px 13px;font-weight:700;font-size:11px}.toolbar-actions .dark{background:var(--wine);color:#fff}.tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}.table-card{border:1px solid #dcd3ca;background:#fff;padding:15px;min-height:185px}.table-card.over{border-color:#bc6b60}.table-header{display:flex;align-items:center;gap:8px}.table-num{background:#eee3df;color:var(--wine);font:22px Italiana,Georgia,serif;width:36px;height:36px;display:grid;place-items:center;flex:none}.table-header input{min-width:0;flex:1;border:0;border-bottom:1px dashed #c9bdb7;font:22px Italiana,Georgia,serif;padding:4px 2px;color:var(--ink)}.table-header button{border:0;background:none;color:#ae9d97;font-size:16px}.table-meta{display:flex;align-items:center;justify-content:space-between;color:#958b83;font-size:10px;margin:13px 0 8px}.table-meta input{width:44px;border:1px solid #e2d9d0;padding:3px;text-align:center;color:var(--ink);font-size:10px}.table-guest-list{min-height:55px}.table-guest-list .guest-row{background:#faf8f5}.table-hint{font-size:10px;color:#b0a7a0;padding:9px}.empty{text-align:center;padding:70px 15px;color:#8d817b}.empty>span{font-size:46px;color:#b98a81}.empty h3{font-size:28px;color:var(--ink);margin:15px 0 3px}.empty p{font-size:12px}.empty button{margin-top:12px}.info-bar{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:20px;color:#a2988e;font-size:10px}.how{padding:90px 5vw;max-width:1550px;margin:auto}.how h2{margin:15px 0 36px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step-grid article{border-top:1px solid #cfc6bb;padding-top:16px}.step-grid article>span{font-family:Italiana,Georgia,serif;color:#ad7375;font-size:27px}.step-grid h3{font-size:30px;margin:15px 0 5px}.step-grid p{color:#817974;line-height:1.7;max-width:310px}.faq{max-width:1450px;margin:auto;padding:35px 5vw 85px;border-top:1px solid var(--line)}.faq details{padding:18px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.faq p{line-height:1.7;color:#77716b}footer{background:#3c3032;color:#d0c5c1;display:flex;align-items:center;gap:25px;padding:25px 5vw;font-size:11px}footer strong{color:#fff}footer span:last-child{margin-left:auto}#toast{position:fixed;bottom:20px;right:20px;background:var(--wine);color:#fff;padding:12px 16px;box-shadow:0 8px 25px #0002;display:none;font-size:12px}#toast.show{display:block}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{min-height:400px}.app{grid-template-columns:1fr}.sidebar{min-height:0}.head-right{display:none}}@media(max-width:600px){header{height:62px;gap:16px}nav{margin-left:auto;font-size:11px;gap:12px}.hero-left{padding:58px 5vw}.hero-art{min-height:320px}.art-card{min-height:275px;width:230px;padding:15px}.art-flower{margin:8px 0}.art-card strong{font-size:27px;margin-bottom:10px}.planner{padding:55px 4vw}.table-area{padding:13px}.toolbar{display:block}.toolbar-actions{margin-top:15px}.toolbar-actions button{flex:1}.tables{grid-template-columns:1fr}.info-bar{display:block}.info-bar span{display:block;margin-bottom:5px}.step-grid{grid-template-columns:1fr}.how{padding:60px 5vw}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}@media print{header,.hero,.section-intro,.sidebar,.toolbar-actions,.info-bar,.how,.faq,footer,.empty,.table-header button,.guest-row button,.guest-row select,.table-meta label{display:none!important}body,.planner,.table-area{background:#fff}.planner{padding:0}.app{display:block}.table-area{border:0;padding:10mm}.toolbar{padding:5mm 0}.tables{grid-template-columns:repeat(2,1fr);gap:5mm}.table-card{break-inside:avoid;min-height:38mm}.table-guest-list .guest-row{border:0;padding:2px 0;margin:0}.table-guest-list .handle{display:none}.table-header input{border:0}.table-meta{margin:2mm 0}.guest-row .guest-name{font-size:10pt}@page{size:A4;margin:10mm}}
.clear-data{background:transparent;border:0;border-bottom:1px solid #a99594;padding:6px 0;margin-top:8px;color:#765457;font-size:11px;cursor:pointer}.practical{max-width:1450px;margin:auto;padding:45px 5vw 65px;border-top:1px solid var(--line)}.practical h2{font-size:clamp(34px,4vw,55px);margin:18px 0}.practical p{max-width:800px;line-height:1.8;color:#77716b}.toolbar-actions{flex-wrap:wrap}@media print{.practical,.clear-data{display:none!important}}


/* Usability pass: bring the working area into view sooner. */
@media screen {
  html { scroll-padding-top: 20px; }
  :where(a,button,input,select,textarea):focus-visible { outline: 3px solid #b66a48; outline-offset: 3px; }
  .hero h1 { font-size: clamp(46px,5.1vw,66px); line-height: 1.04; }
  .hero p { margin-bottom: 19px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(34px,3.8vw,52px); }
  .tool-intro,.section-intro,.intro,.tool-heading { margin-bottom: 19px; }
}
@media screen and (max-width:700px) {
  .hero h1 { font-size: clamp(42px,11vw,50px); }
  .hero-art,.hero-pattern,.hero-visual,.box-art,.hero .art { display: none; }
  .hero-copy,.hero-text,.hero-left,.hero>div:first-child { padding: 34px 5vw 28px; }
  .tool-intro h2,.section-intro h2,.intro h2,.tool-heading h2,.tool-head h2 { font-size: clamp(32px,8.2vw,40px); }
  .tool,.planner,.tool-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

@media screen and (min-width:701px){.hero{min-height:0}.hero-left{padding:34px 4vw 27px 5vw}.hero-art{min-height:345px}.planner{padding-top:27px}}@media screen and (max-width:700px){.hero{min-height:0}.planner{padding-top:30px}}
