:root{--ink:#252a2b;--muted:#6f7775;--paper:#f6f1e8;--cream:#fbf8f1;--line:#e5dfd3;--forest:#254b42;--forest-deep:#193a34;--sage:#dfeae1;--gold:#c9a978;--shadow:0 22px 60px #2d32271a;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 "DM Sans",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.1}h1{letter-spacing:-.055em}h2{font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.045em}h3{font-size:clamp(1.45rem,2.6vw,2.3rem);letter-spacing:-.035em}h4{font-size:1.65rem;letter-spacing:-.03em}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.muted{color:var(--muted)}.eyebrow,.card-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--forest);margin-bottom:.85rem}.eyebrow.light{color:#f3ecda}.site-header{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.8rem clamp(1.2rem,4vw,4.4rem);color:#fff}.site-header a{text-decoration:none}.wordmark{font:500 1.05rem "Fraunces",Georgia,serif;letter-spacing:-.02em}.dot{color:#f4d7a6}.wordmark-divider{opacity:.5;margin:0 .6rem}.site-header nav{display:flex;gap:2rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.site-header nav a{border-bottom:1px solid transparent;padding-bottom:.25rem}.site-header nav a:hover{border-color:currentColor}.hero{position:relative;min-height:670px;height:min(82vh,900px);background:#677b78 url('landscape.png') center 55%/cover no-repeat;color:white;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1b3535bd 0%,#28433d8c 30%,#29413b14 75%),linear-gradient(0deg,#20373275,transparent 30%)}.hero-content{position:relative;z-index:1;width:min(760px,85vw);margin-left:clamp(1.3rem,8vw,10rem);padding-top:3rem}.hero h1{font-size:clamp(4rem,8vw,8.5rem);line-height:.96;margin-bottom:1.8rem;text-shadow:0 2px 24px #142b2940}.hero h1 em{font-weight:400}.hero-content>p:not(.eyebrow){max-width:440px;font-size:1.14rem;line-height:1.7;color:#fffdf4;margin-bottom:2.1rem}.hero-link{display:inline-flex;align-items:center;gap:2rem;text-decoration:none;border-bottom:1px solid #fff9;padding:.75rem 0;font-weight:700}.hero-link span{font-size:1.4rem}.hero-caption{position:absolute;right:clamp(1.3rem,4vw,4.4rem);bottom:1.8rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#fffde9}.section-wrap{max-width:1250px;margin:0 auto;padding-left:clamp(1.2rem,4vw,3rem);padding-right:clamp(1.2rem,4vw,3rem)}.intro{padding-top:7rem;padding-bottom:6.5rem}.section-head{max-width:670px;margin-bottom:2.8rem}.section-head h2{margin-bottom:1.05rem}.section-head>p:last-child{color:var(--muted);max-width:550px;line-height:1.75}.card{background:var(--cream);border:1px solid #eae2d4;border-radius:22px;box-shadow:var(--shadow)}.start-card{display:grid;grid-template-columns:.8fr 1.2fr;overflow:hidden;min-height:390px}.start-card>div:last-child{padding:clamp(1.5rem,4vw,4rem)}.start-card h3{margin-bottom:.65rem}.start-card p:not(.card-kicker){color:var(--muted)}.card-illustration{background:radial-gradient(circle at 35% 45%,#ebd2a5,#c8d6c9 45%,#58766c);position:relative;overflow:hidden;min-height:340px}.card-illustration:before{content:"";position:absolute;inset:10% -20% -35%;border:2px solid #fff7;border-radius:50%;transform:rotate(-20deg)}.card-illustration:after{content:"";position:absolute;inset:28% -35% -20%;border:1px solid #fff9;border-radius:50%;transform:rotate(19deg)}.card-illustration span{position:absolute;color:#fffaf0;font:7rem Georgia,serif;top:25%;left:23%}.card-illustration span+span{font-size:3rem;top:64%;left:67%}.start-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.start-form button{grid-column:1/-1;justify-self:start}.button{border-radius:999px;border:1px solid var(--forest);padding:.85rem 1.5rem;display:inline-flex;justify-content:center;align-items:center;gap:1.5rem;font-weight:700;font-size:.9rem;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--forest);color:white}.button.dark:hover{background:var(--forest-deep)}.button.outline{background:transparent;color:var(--forest)}.button.outline:hover{background:var(--sage)}label{display:grid;gap:.5rem;font-size:.82rem;font-weight:700;color:#46554f}input,select,textarea{width:100%;border:1px solid #dcd9ce;background:#fffefa;color:var(--ink);border-radius:10px;padding:.82rem .9rem;outline:0;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px #79a48c35}textarea{resize:vertical;line-height:1.5}.workspace-top{display:flex;align-items:center;justify-content:space-between;margin:3rem 0 1.5rem;gap:1rem}.workspace-top h3{margin:0 0 .35rem}.workspace-top p:last-child{margin:0}.status-pill{border-radius:99px;background:var(--sage);color:var(--forest);padding:.4rem .8rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;align-items:start}.workspace-grid>.card{padding:clamp(1.3rem,2.4vw,2rem)}.card-heading{display:flex;justify-content:space-between;align-items:start}.card-heading h4{margin-bottom:.6rem}.sparkle{color:var(--gold);font-size:2rem}.messages{height:320px;overflow:auto;background:#f2efe7;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.bubble{max-width:86%;padding:.7rem .9rem;border-radius:13px;background:white;align-self:flex-start;white-space:pre-wrap;font-size:.89rem;box-shadow:0 1px 4px #0000000d}.bubble.mine{background:var(--forest);color:white;align-self:flex-end}.bubble.shared{background:#e7dfcc}.bubble small{display:block;margin-top:.35rem;opacity:.6;font-size:.65rem}.chat-form{display:flex;gap:.5rem;margin-top:.85rem}.chat-form input{flex:1}.send-button{border:0;border-radius:10px;width:45px;background:var(--forest);color:white;font-size:1.4rem}.helper{font-size:.72rem;color:var(--muted);margin:.7rem 0 0}.schedule-card>h4{margin-bottom:.55rem}.schedule-card>.muted{font-size:.9rem}.slot-form{margin-top:1.5rem;display:grid;gap:1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.slot-form .button{justify-self:start}.slot-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-height:260px;overflow:auto;margin:1.4rem 0}.slot-option{border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--forest);padding:.7rem;text-align:left;font-size:.78rem;font-weight:700}.slot-option:hover,.slot-option.selected{border-color:var(--forest);background:var(--sage)}#submit-form{display:grid;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem}#submit-form .button{justify-self:start}.notice{border-radius:12px;padding:1rem 1.2rem;background:#e7eee5;color:#274b37;max-width:850px}.notice.error{background:#f9e5de;color:#8a342d}.steps{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem;padding-top:5rem;padding-bottom:6rem;border-top:1px solid var(--line)}.steps-title h2{font-size:clamp(2rem,3.5vw,3.2rem)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.steps-grid article{border-left:1px solid #cfc8b9;padding-left:1.1rem}.steps-grid article span{font:500 1.8rem "Fraunces",Georgia,serif;color:#a68b68}.steps-grid article h3{font-size:1.2rem;margin:1.2rem 0 .6rem}.steps-grid article p{font-size:.84rem;color:var(--muted);line-height:1.7}.owner-shell{background:#f2efe6;min-height:65vh;padding:6rem 0}.owner-heading h1{font-size:clamp(3rem,5.5vw,5.5rem);margin-bottom:.7rem}.owner-heading>p:last-child{color:var(--muted)}.login-card{max-width:450px;padding:2rem;display:grid;gap:1rem;margin-top:2rem}.login-card h2{font-size:2rem;margin:0}.login-card button{justify-self:start}.owner-grid{display:grid;grid-template-columns:310px 1fr;gap:1.2rem;align-items:start;margin-top:2rem}.booking-list{padding:1.25rem}.list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--line)}.list-head h2{font-size:1.4rem;margin:.2rem 0 1rem}.text-button{border:0;background:transparent;color:var(--forest);font-size:.78rem;font-weight:700;text-decoration:underline}.booking-row{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:1rem .4rem;color:var(--ink)}.booking-row:hover,.booking-row.active{background:#e9ede3}.booking-row strong,.booking-row small,.booking-row span{display:block}.booking-row strong{font-size:.92rem}.booking-row small{color:var(--muted);margin-top:.2rem}.booking-row span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);font-weight:700;margin-top:.4rem}.logout{margin-top:1.5rem}.owner-detail>.card{padding:1.8rem;margin-bottom:1.2rem}.owner-detail h2{font-size:2rem;margin-bottom:.6rem}.owner-detail h3{font-size:1.3rem}.owner-detail .meta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;color:var(--muted);font-size:.82rem;margin-bottom:1.2rem}.owner-detail .note{white-space:pre-wrap;background:#f1efe7;border-radius:12px;padding:1rem;font-size:.9rem}.owner-detail .messages{height:270px}.owner-detail form{display:grid;gap:.7rem}.owner-detail .chat-form{display:flex}.owner-detail form .button{justify-self:start}.owner-detail .action-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.owner-detail .action-grid>.card{padding:1.4rem}.owner-detail .action-grid h3{margin-bottom:.7rem}.owner-detail .action-grid textarea{min-height:110px}.owner-detail .action-grid .full{grid-column:1/-1}.owner-detail .danger{border-color:#a65f50;color:#9d4639}.owner-detail .danger:hover{background:#f9e3dd}.empty-state{padding:4rem;border:1px dashed #c9c5b8;border-radius:22px;color:var(--muted);text-align:center}.rsvp-shell{padding-top:8rem;padding-bottom:8rem}.rsvp-card{max-width:690px;margin:auto;padding:3rem}.rsvp-card h1{font-size:clamp(2.5rem,5vw,4rem)}footer{display:flex;justify-content:space-between;gap:1rem;background:#203c35;color:#e7e6dc;padding:2.5rem clamp(1.2rem,4vw,4.4rem);font-size:.75rem;letter-spacing:.04em}footer a{text-decoration:none}body.owner-mode .hero,body.owner-mode .intro,body.owner-mode .steps,body.rsvp-mode .hero,body.rsvp-mode .intro,body.rsvp-mode .steps{display:none}body.owner-mode .site-header,body.rsvp-mode .site-header{position:relative;background:#203c35}@media(max-width:900px){.steps,.owner-grid{grid-template-columns:1fr;gap:1.5rem}.steps-grid{gap:1rem}.workspace-grid{grid-template-columns:1fr}.owner-grid{align-items:stretch}.booking-list{max-height:350px;overflow:auto}}@media(max-width:640px){.site-header{padding:1.1rem 1.2rem}.site-header nav{gap:.8rem;font-size:.68rem}.site-header nav a:first-child{display:none}.wordmark{font-size:.9rem}.hero{min-height:600px;height:78vh;background-position:61% center}.hero-content{margin:0 1.35rem;width:auto}.hero h1{font-size:clamp(3.6rem,15vw,5rem)}.hero-content>p:not(.eyebrow){font-size:1rem}.hero-caption{left:1.35rem;right:auto}.intro{padding-top:4.5rem;padding-bottom:4rem}.start-card{grid-template-columns:1fr}.card-illustration{min-height:160px}.card-illustration span{top:-10%;left:35%}.start-form,.two,.steps-grid,.owner-detail .action-grid{grid-template-columns:1fr}.steps{padding-top:4rem;padding-bottom:4rem}.steps-grid{gap:1.6rem}footer{flex-direction:column}.workspace-top{align-items:flex-start}.slot-results{grid-template-columns:1fr}.owner-shell{padding-top:3rem}}
