:root{--rose:#e297ac;--rose-deep:#cf7c95;--rose-soft:#f7e4ea;--rose-wash:#fcf2f6;--gold:#be9a6e;--gold-soft:#d8be9c;--ink:#5c4a50;--ink-soft:#8a767c;--paper:#fffcfd;--line:#e6d2da}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Jost,sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}.wrap{max-width:1080px;margin:0 auto;padding:0 28px}.script{font-family:Pinyon Script,cursive;font-weight:400;color:var(--rose);line-height:1}.eyebrow{font-family:Jost,sans-serif;font-weight:400;letter-spacing:.42em;text-transform:uppercase;font-size:.72rem;color:var(--gold)}h2.section-title{font-family:Cormorant Garamond,serif;font-weight:500;color:var(--rose-deep);font-size:clamp(2rem,5vw,3rem);line-height:1.05;letter-spacing:.01em}.divider{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;width:100%;max-width:340px}.divider:after,.divider:before{content:"";height:1px;flex:1 1;background:linear-gradient(90deg,transparent,var(--gold-soft))}.divider:after{background:linear-gradient(90deg,var(--gold-soft),transparent)}.divider svg{width:26px;height:26px;flex:none}header.hero{position:relative;text-align:center;overflow:hidden;padding:calc(clamp(96px, 12vw, 172px) + 24px) 0 84px;background:url(/choco-drip-tile.png) top/auto clamp(96px,12vw,172px) repeat-x,radial-gradient(120% 90% at 50% -10%,var(--rose-soft) 0,var(--rose-wash) 42%,var(--paper) 78%)}.hero .wrap{position:relative;z-index:3}.hero .floaty{position:absolute;opacity:.5;pointer-events:none;z-index:1}.hero .f1{top:8%;left:6%;width:48px;transform:rotate(-12deg)}.hero .f2{top:18%;right:9%;width:34px;transform:rotate(10deg)}.hero .f3{bottom:12%;left:12%;width:26px;transform:rotate(8deg)}.hero .f4{bottom:20%;right:7%;width:42px;transform:rotate(-8deg)}.hero .eyebrow{display:block;margin-bottom:22px}.hero h1{margin:0}.hero .name{display:block;font-size:clamp(3.6rem,12vw,7.2rem);color:var(--rose)}.hero .name .two{display:block;margin-top:-.18em}.hero .badge{font-family:Jost,sans-serif;font-weight:400;letter-spacing:.5em;text-transform:uppercase;font-size:clamp(.8rem,2.4vw,1.05rem);color:var(--gold);margin-top:6px}.hero .tagline{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(1.15rem,3vw,1.5rem);color:var(--ink);margin:28px auto 6px;max-width:520px}.hero .service{font-size:.82rem;letter-spacing:.16em;color:var(--ink-soft);margin-top:14px}.cta,.hero .service{text-transform:uppercase}.cta{display:inline-block;margin-top:34px;font-family:Jost,sans-serif;font-weight:400;letter-spacing:.18em;font-size:.8rem;color:#fff;background:var(--rose-deep);padding:16px 38px;border-radius:40px;text-decoration:none;box-shadow:0 10px 26px -10px rgba(207,124,149,.65);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.cta:hover{transform:translateY(-2px);background:#c26d88;box-shadow:0 16px 32px -12px rgba(207,124,149,.7)}.cta:focus-visible{outline:2px solid var(--gold);outline-offset:3px}section{padding:78px 0}.about{text-align:center}.about .divider{margin-bottom:30px}.about p{max-width:600px;margin:18px auto 0;font-size:1.06rem;color:var(--ink)}.about .cottage{margin-top:34px;font-size:.92rem;color:var(--ink-soft);font-style:italic;font-family:Cormorant Garamond,serif}.showcase{background:linear-gradient(180deg,var(--paper) 0,var(--rose-wash) 100%)}.showcase .inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:52px;gap:52px;align-items:center}.showcase .photo{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 28px 64px -34px rgba(207,124,149,.5)}.showcase .photo img{width:100%;height:auto;display:block;border-radius:12px}.showcase .copy .eyebrow{display:block;margin-bottom:14px}.showcase .copy h2{font-family:Cormorant Garamond,serif;font-weight:600;color:var(--rose-deep);font-size:clamp(1.9rem,4.4vw,2.7rem);line-height:1.06;margin-bottom:8px}.showcase .copy .sub{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--gold);font-size:1.05rem;margin-bottom:18px}.showcase .copy p{color:var(--ink);max-width:44ch}.showcase .copy .link{display:inline-block;margin-top:22px;font-family:Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--rose-deep);text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:4px;transition:color .2s,border-color .2s}.showcase .copy .link:hover{color:var(--gold);border-color:var(--gold)}.menu{background:var(--rose-wash)}.menu .head{text-align:center;margin-bottom:50px}.menu .head .eyebrow{display:block;margin-bottom:14px}.menu-list{max-width:680px;margin:0 auto;gap:42px}.item,.menu-list{display:flex;flex-direction:column}.item{text-align:center;align-items:center}.item .thumb{width:132px;height:132px;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 12px 30px -14px rgba(207,124,149,.6);margin-bottom:16px}.item .thumb-btn{padding:0;border:0;background:none;cursor:zoom-in;border-radius:50%;line-height:0;transition:transform .2s ease}.item .thumb-btn:hover{transform:scale(1.045)}.item .thumb-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(60,32,42,.82);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:zoom-out;animation:lbfade .2s ease}@keyframes lbfade{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:92vw;max-height:84vh;width:auto;height:auto;border-radius:14px;box-shadow:0 30px 90px -22px rgba(0,0,0,.7);cursor:default}.lightbox .lb-close{position:absolute;top:14px;right:20px;width:44px;height:44px;font-size:2rem;line-height:1;color:#fff;background:none;border:0;cursor:pointer;opacity:.85;transition:opacity .2s}.lightbox .lb-close:hover{opacity:1}.lightbox .lb-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.lightbox .lb-cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#fff;font-style:italic;font-size:1.2rem;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.5)}.item .iname,.lightbox .lb-cap{font-family:Cormorant Garamond,serif}.item .iname{font-weight:600;font-size:1.7rem;color:var(--rose-deep);letter-spacing:.01em}.item .flavors{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.05rem;color:var(--ink-soft);margin:6px 0 12px}.item .price{font-family:Jost,sans-serif;font-weight:400;letter-spacing:.08em;color:var(--gold);font-size:1rem}.menu .note{text-align:center;margin-top:48px;font-size:.9rem;color:var(--ink-soft);font-style:italic;font-family:Cormorant Garamond,serif}.gallery .head{text-align:center;margin-bottom:42px}.gallery .head .eyebrow{display:block;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.tile{aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--rose-soft),var(--rose-wash))}.tile img{width:100%;height:100%;object-fit:cover;display:block}.ph{aspect-ratio:1/1;border-radius:14px;background:linear-gradient(135deg,var(--rose-soft),var(--rose-wash));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold);text-align:center;padding:16px}.ph span{font-family:Cormorant Garamond,serif;font-style:italic;font-size:.95rem;opacity:.8}.order{background:radial-gradient(120% 80% at 50% 120%,var(--rose-soft) 0,var(--rose-wash) 45%,var(--paper) 80%)}.order .head{text-align:center;margin-bottom:14px}.order .head .eyebrow{display:block;margin-bottom:14px}.order .lead{text-align:center;max-width:520px;margin:0 auto 40px;color:var(--ink)}form.order-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:0 24px 60px -34px rgba(207,124,149,.45)}.field{margin-bottom:22px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}label{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-weight:400}label .req{color:var(--rose-deep)}input,select,textarea{width:100%;font-family:Jost,sans-serif;font-weight:300;font-size:.98rem;color:var(--ink);background:var(--rose-wash);border:1px solid var(--line);border-radius:11px;padding:13px 15px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rose);background:#fff;box-shadow:0 0 0 3px rgba(226,151,172,.18)}textarea{resize:vertical;min-height:96px}.submit{width:100%;margin-top:6px;cursor:pointer;border:none;font-family:Jost,sans-serif;font-weight:400;letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;color:#fff;background:var(--rose-deep);padding:17px;border-radius:40px;box-shadow:0 12px 28px -12px rgba(207,124,149,.6);transition:transform .25s ease,background .25s ease}.submit:hover{transform:translateY(-2px);background:#c26d88}.submit:disabled{opacity:.6;cursor:default;transform:none}.submit:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.form-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:18px;font-style:italic;font-family:Cormorant Garamond,serif}.form-error{color:var(--rose-deep);text-align:center;margin-top:14px;font-size:.9rem}.confirm{text-align:center;padding:20px 0}.confirm .script{font-size:2.6rem;margin-bottom:10px}.confirm p{color:var(--ink)}footer{background:var(--rose-deep);color:#fff;text-align:center;padding:60px 0 48px}footer .fname{font-family:Pinyon Script,cursive;font-size:2.8rem;color:#fff;line-height:1}footer .fbadge{letter-spacing:.5em;text-transform:uppercase;font-size:.72rem;color:#ffe9f0;margin-top:4px}footer .finfo{margin-top:26px;font-size:.92rem;color:#ffe2ec;line-height:2}footer .socials{margin-top:24px;display:flex;gap:22px;justify-content:center}footer .socials a{color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid hsla(0,0%,100%,.4);padding-bottom:3px;transition:opacity .2s}footer .socials a:hover{opacity:.75}footer .cottage{margin-top:30px;font-size:.78rem;color:#ffd4e2;font-style:italic;font-family:Cormorant Garamond,serif;max-width:520px;margin-left:auto;margin-right:auto}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}@media (max-width:760px){.showcase .inner{grid-template-columns:1fr;gap:30px;text-align:center}.showcase .copy p{margin-left:auto;margin-right:auto}}@media (max-width:640px){.row{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}form.order-form{padding:28px 22px}section{padding:60px 0}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.cta,.item .thumb-btn,.submit{transition:none}.item .thumb-btn:hover{transform:none}.lightbox{animation:none}}