body{background-color:#fbf5e9;background-image:radial-gradient(#9a785013 .7px,transparent .7px);background-size:5px 5px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,summary:focus-visible{outline:3px solid #247788;outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}.reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;background:#d99088;transform:scaleX(0);transform-origin:left;z-index:20}.topline{background:#56372e}header{position:relative;background:#fbf5eeed;border-bottom:2px solid #56372e}.hero{position:relative;padding-top:65px;padding-bottom:65px;min-height:680px;gap:40px}.hero h1{font-size:clamp(58px,6.5vw,94px);letter-spacing:-4px;line-height:1.06}.hero h1 em{font-size:.92em}.hero-copy{position:relative;z-index:1}.hero .eyebrow:before{content:'♡';font-size:25px;display:block;color:#a45e57;margin-bottom:20px}.hero-art{background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#a3d3d7,#75b7c5 65%);border:3px solid #56372e;border-radius:48% 48% 34px 34px;box-shadow:10px 12px 0 #56372e;outline:2px dashed #fbf5e9;outline-offset:-15px;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s,background .5s;isolation:isolate}.hero-art svg{filter:drop-shadow(0 13px 0 #56372e12);animation:soft-float 6s ease-in-out infinite}.art-note{top:38px;right:26px;font-size:17px;max-width:160px;text-align:center}.floating-daisy{position:absolute;color:#fbf5e9;text-shadow:2px 2px #56372e;z-index:2;pointer-events:none}.daisy-one{font-size:80px;right:-22px;top:24%;animation:flower-turn 18s linear infinite}.daisy-two{font-size:55px;left:-20px;bottom:18%;color:#efc2b5;animation:flower-turn 24s linear infinite reverse}.hero-heart{position:absolute;left:42%;top:14%;color:#fbf5e9;font-size:45px;transform:rotate(-15deg)}.round-sticker{width:125px;height:125px;border:2px solid var(--brown);box-shadow:4px 5px 0 var(--brown);transition:rotate .25s,scale .25s;z-index:3}.round-sticker:hover{rotate:-12deg;scale:1.08}.round-sticker>span{font-size:22px}.button{border-radius:50px;box-shadow:4px 4px 0 #b78d68;border:2px solid #56372e;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translate(-2px,-3px);box-shadow:6px 7px 0 #b78d68}.button.small{box-shadow:3px 3px 0 var(--blue)}.checker{height:44px;background-size:44px 44px;border-block:2px solid #56372e}.welcome-ribbon{display:flex;justify-content:center;align-items:center;gap:45px;font-family:'Fraunces',Georgia,serif;font-size:22px;padding:22px 20px;border-bottom:1px dashed #56372e80;background:#f3e7d4}.welcome-ribbon b{color:#35818e;font-size:32px}.section-heading h2{font-size:60px}.pair article{border:2px solid var(--brown);border-radius:100px 100px 20px 20px;outline:1px dashed #56372e60;outline-offset:-12px;padding:44px 40px;box-shadow:6px 7px 0 #56372e;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s,box-shadow .25s}.pair article:hover{box-shadow:10px 12px 0 #56372e}.pair article .number{display:block;text-align:center}.edge-label{top:80px}.big-symbol{font-size:88px;display:inline-block;transition:transform .3s}.pair article:hover .big-symbol{transform:rotate(-12deg) translateY(-8px)}.coffee{background:repeating-linear-gradient(90deg,#efe1cc,#efe1cc 24px,#eadac1 24px,#eadac1 48px)}.cream{background:#f0cfca}.pair{padding-bottom:80px}.moment-section{margin:0 6% 100px;padding:55px 5%;background:#e8bd65;border:2px solid var(--brown);border-radius:28px;box-shadow:8px 8px 0 var(--brown);display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;position:relative}.moment-section:before{content:'';position:absolute;inset:12px;border:1px dashed #56372e80;border-radius:18px;pointer-events:none}.moment-intro>p:last-of-type{font-size:14px;line-height:1.7}.mood-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.mood-switch button{border:1px solid var(--brown);background:#fff8e9;border-radius:24px;padding:11px 15px;font-size:12px;transition:background .2s,transform .2s}.mood-switch button.selected{background:var(--brown);color:#fff8e9}.mood-switch button:hover{transform:translateY(-3px)}.moment-postcard{background:#fff9ee;border:1px solid var(--brown);padding:32px;box-shadow:6px 7px 0 #56372e35;position:relative;transform:perspective(1000px) rotate(-2deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s;min-height:335px}.postcard-label{font-size:9px;letter-spacing:2px}.moment-icon{font-size:65px;line-height:1.3;margin:15px 0;color:#ac645a}.moment-postcard h3{font-size:30px;max-width:280px}.moment-postcard p{line-height:1.8;font-size:14px}.postcard-stamp{position:absolute;right:22px;top:20px;border:2px dotted #ae6b59;padding:9px;transform:rotate(9deg);font-family:Georgia,serif;font-style:italic;font-size:14px;color:#986257}.brand-frame{background:#f3e7d4;box-shadow:7px 8px 0 #56372e;outline:1px dashed #56372e80;outline-offset:-12px;padding:30px}.brand-crop{mix-blend-mode:normal;overflow:visible;border-radius:0}.brand-crop img{position:static;width:100%;height:auto;max-width:100%;filter:drop-shadow(0 5px 0 #56372e12)}.hello{gap:75px}.hello h2 em{color:#337f8b}.loyalty{background:#f5e2db;border:2px solid var(--brown);border-radius:22px;padding:35px;position:relative}.loyalty:after{content:'♡';font-family:Georgia;font-size:100px;position:absolute;right:20px;top:-55px;color:#a96760;transform:rotate(15deg);pointer-events:none}.little-details{padding:0 9% 85px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.little-details h2{font-size:46px}.questions details{border-bottom:1px solid #56372e65;padding:20px 0}.questions summary{cursor:pointer;font-family:'Fraunces',Georgia,serif;font-size:21px;list-style:none;display:flex;justify-content:space-between;gap:20px}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+'}.questions details[open] summary:after{content:'−'}.questions p{font-size:14px;line-height:1.8}.visit{position:relative;border-top:3px solid var(--brown);background-color:#83bdc6;background-image:radial-gradient(#ffffff28 1px,transparent 1px);background-size:12px 12px}.visit:before{content:'';position:absolute;top:-17px;left:0;width:100%;height:20px;background:radial-gradient(circle at 10px 20px,#83bdc6 10px,transparent 11px) 0 0/20px 20px}.contact{border:2px solid #56372e;border-radius:18px;background:#fbf5e9;padding:30px;box-shadow:6px 6px #56372e;transform:rotate(1deg)}footer{flex-wrap:wrap}.motion-toggle{border:1px solid #56372e70;padding:9px 14px;border-radius:20px;background:transparent;font-size:10px}.mobile-visit{display:none}.love-particle{position:fixed;z-index:50;font-size:26px;color:#a55651;pointer-events:none;animation:heart-pop 1.2s ease-out forwards}.arrived{animation:arrive .65s ease-out both}[data-mood=coffee] .moment-section{background:#dfc09a}[data-mood=cream] .moment-section{background:#efc6ca}.moment-section{transition:background .4s}.quiet-mode *, .quiet-mode *:before,.quiet-mode *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.quiet-mode .hero-art,.quiet-mode .pair article,.quiet-mode .moment-postcard{transform:none!important}@keyframes soft-float{50%{transform:translateY(-9px) rotate(1deg)}}@keyframes flower-turn{to{rotate:360deg}}@keyframes heart-pop{to{transform:translate(var(--dx),-140px) rotate(var(--rot));opacity:0}}@keyframes arrive{from{opacity:.5;translate:0 20px}to{opacity:1;translate:0 0}}@media(max-width:1000px){.hero{gap:20px;padding-inline:6%}.hero h1{font-size:65px}.hero-art{min-height:440px}.section-heading h2{font-size:48px}.moment-section{gap:25px}.moment-postcard{padding:26px}.welcome-ribbon{gap:22px;font-size:18px}.little-details{gap:30px}.contact{padding:23px}.contact .email{font-size:13px}}@media(max-width:650px){.hero{padding:30px 7% 50px}.hero h1{font-size:57px;letter-spacing:-2.8px}.hero .eyebrow:before{margin-bottom:10px}.hero .eyebrow{margin-bottom:15px}.hero-art{min-height:340px;margin:20px 12px 0;box-shadow:7px 8px 0 #56372e}.art-note{font-size:14px;right:20px;top:28px;max-width:130px}.round-sticker{width:110px;height:110px;right:-15px}.daisy-one{font-size:60px}.welcome-ribbon{gap:12px;font-size:13px;padding:17px 10px}.welcome-ribbon b{font-size:21px}.welcome-ribbon span:last-child{display:none}.welcome-ribbon b:last-of-type{display:none}.section-heading h2{font-size:39px}.pair article{padding:35px 30px}.pair{padding-block:55px}.moment-section{grid-template-columns:1fr;padding:35px 24px;margin-bottom:65px;gap:30px}.moment-intro h2{font-size:42px}.moment-intro h2 br{display:none}.moment-postcard{min-height:350px}.moment-postcard h3{font-size:28px;padding-right:0}.mood-switch{gap:6px}.mood-switch button{font-size:11px;padding:10px 12px}.hello{gap:40px}.brand-frame{max-width:280px}.loyalty{padding:28px 20px}.loyalty:after{font-size:65px;top:-38px}.little-details{grid-template-columns:1fr;padding-bottom:55px;gap:0}.little-details h2{font-size:37px}.questions summary{font-size:19px}.visit{padding:55px 7%}.contact{padding:24px}.contact .email{font-size:14px}.mobile-visit{display:flex;position:fixed;bottom:12px;left:5%;width:90%;z-index:15;background:var(--brown);color:#fff6e6;border:1px solid #fff6e6;border-radius:40px;box-shadow:0 4px 20px #56372e45;justify-content:space-around;padding:16px 10px;gap:10px}.mobile-visit a{font-size:12px;text-decoration:none}.mobile-visit a+a{border-left:1px solid #fff6e660;padding-left:22px}footer{padding-bottom:90px}.motion-toggle{margin:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Featured hero inscription, kept clear of the illustration and border. */
.art-note{top:-35px;right:-12px;z-index:5;max-width:270px;width:54%;padding:22px 24px 25px;background:#fbf5e9;border:2px solid #56372e;border-radius:8px 38px 8px 38px;box-shadow:5px 6px 0 #56372e;font-size:clamp(23px,2.5vw,36px);font-weight:600;line-height:1.08;letter-spacing:-1px;text-align:left;transform:rotate(7deg)}
.art-note:before{content:'A LITTLE CAROLINA MAGIC';display:block;font-family:'DM Sans',Arial,sans-serif;font-size:8px;font-style:normal;letter-spacing:1.7px;margin-bottom:10px;color:#337f8b}.hero-art svg{margin-top:40px}.hero-heart{top:22%}
@media(max-width:1000px) and (min-width:651px){.art-note{width:68%;font-size:27px;top:-45px;right:-5px;padding:20px}}
@media(max-width:650px){.hero-art{margin-top:70px}.art-note{top:-48px;right:-10px;width:68%;max-width:250px;font-size:29px;padding:20px;line-height:1.05}.hero-art svg{margin-top:45px}.art-note:before{font-size:7px;letter-spacing:1.2px}}
/* Soft photographic daydream, preserving the original Carolina palette. */
.hero-art{min-height:530px;background:#9bc9cd;border-radius:45% 45% 30px 30px;outline:none;isolation:auto}
.hero-art .sweet-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% center;border-radius:inherit}
.hero-art:after{content:'';position:absolute;inset:12px;border:1px dashed #fff8ecbb;border-radius:inherit;pointer-events:none}
.hero-art .floating-daisy,.hero-art .hero-heart{display:none}
.hero-art .art-note{z-index:5;top:-32px;right:-10px;font-size:clamp(25px,2.6vw,36px)}
.scene-caption{position:absolute;bottom:18px;left:18px;max-width:55%;padding:8px 12px;border-radius:20px;background:#fbf5e9eb;color:#56372e;font-size:10px;z-index:2}
.hero-art .round-sticker{bottom:28px;right:-15px;background:#f1ceca}
@media(max-width:650px){.hero-art{min-height:410px;max-height:none;margin-top:65px}.hero-art .art-note{font-size:29px;top:-45px}.scene-caption{font-size:9px;left:12px;bottom:12px}.hero-art .round-sticker{bottom:35px;width:95px;height:95px}.hero-art .round-sticker em{font-size:16px}}
/* Softer storybook cartoon direction. */
.hero-art{border:1px solid #cdbca9;box-shadow:5px 7px 0 #d8e8e6;background:#fbf5e9}
.hero-art .sweet-scene{object-fit:cover;object-position:center}
.hero-art:after{border-color:#fff8ed80}
.hero-art .art-note{border:1px solid #cdbca9;box-shadow:3px 4px 0 #dccbbd;background:#fff9ef;transform:rotate(4deg)}
.hero-art .round-sticker{border:1px solid #c8a8a0;box-shadow:3px 4px 0 #e0c5bd;background:#f5deda}
.scene-caption{display:none}
/* Official clean seal replaces the header wordmark. */
header{padding-top:12px;padding-bottom:12px}.header-logo{display:block;flex-shrink:0;line-height:0}.header-logo img{display:block;width:110px;height:110px;object-fit:contain;mix-blend-mode:multiply}@media(max-width:650px){header{padding-top:10px;padding-bottom:10px}.header-logo img{width:88px;height:88px}}
/* Small drifting brand motifs, behind content and invisible to input. */
body{isolation:isolate}.falling-sweets{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.falling-sweets span{position:absolute;top:-40px;left:var(--left);font-size:var(--size);color:#a96e67;opacity:0;font-family:Georgia,serif;animation:sweet-fall var(--duration) linear var(--delay) infinite;will-change:transform,opacity}.falling-sweets span:nth-child(3n){color:#5999a2}.falling-sweets span:nth-child(3n + 2){color:#98745e}@keyframes sweet-fall{0%{transform:translate3d(0,-30px,0) rotate(-12deg);opacity:0}12%{opacity:.19}75%{opacity:.15}100%{transform:translate3d(var(--drift),calc(100vh + 70px),0) rotate(28deg);opacity:0}}.quiet-mode .falling-sweets{display:none}@media(prefers-reduced-motion:reduce){.falling-sweets{display:none}}@media(max-width:650px){.falling-sweets span:nth-child(n+10){display:none}}
/* Centered curved inscription over the cup and cone. */
.hero-art .arched-note{position:absolute;left:0;top:0;width:100%;height:auto;margin:0;z-index:3;overflow:visible;filter:none;animation:none;pointer-events:none}
.arched-note text{font-family:'Fraunces',Georgia,serif;font-size:29px;font-style:italic;font-weight:500;fill:#56372e;letter-spacing:.3px}
@media(max-width:650px){.hero-art{margin-top:25px}.hero-art .arched-note{top:0;margin:0}}
/* Clearer decorative motifs without competing with the page text. */
.falling-sweets span{font-size:calc(var(--size) + 7px)}
@keyframes sweet-fall{0%{transform:translate3d(0,-30px,0) rotate(-12deg);opacity:0}12%{opacity:.36}75%{opacity:.30}100%{transform:translate3d(var(--drift),calc(100vh + 70px),0) rotate(28deg);opacity:0}}
/* Stationary cloud wisps behind the falling decorations. */
body:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 30vw 45px at 18% 27%,#ffffffb3 0%,#ffffff70 45%,transparent 75%),radial-gradient(ellipse 19vw 65px at 28% 24%,#ffffff85 0%,transparent 75%),radial-gradient(ellipse 34vw 48px at 82% 63%,#ffffffad 0%,#ffffff60 45%,transparent 76%),radial-gradient(ellipse 18vw 72px at 72% 59%,#ffffff70 0%,transparent 76%);filter:blur(13px)}
.visit{padding:85px 8%;gap:65px;background:#c4e1df;border-top:1px solid #8db9bb;align-items:center}.visit .eyebrow{font-size:12px;letter-spacing:1.8px;margin-bottom:22px}.visit h2{font-size:clamp(44px,4.8vw,68px);line-height:1.1;letter-spacing:-2px;margin-bottom:20px}.visit-intro{font-size:17px;line-height:1.7;max-width:380px;margin:0 0 18px}.visit .contact{background:#fff9ef;border:1px solid #b8cbc5;border-radius:24px;padding:35px;box-shadow:6px 7px 0 #aacdcb;gap:25px}.visit .contact span{font-size:11px;letter-spacing:1.5px}.visit .contact address,.visit .contact a{font-size:22px}.visit .contact .email{font-size:16px}.visit .contact p{font-size:14px;max-width:none;line-height:1.6;padding-top:18px;border-top:1px solid #ddcec0}
@media(max-width:650px){.visit{padding:55px 7% 65px;gap:30px}.visit h2{font-size:46px}.visit .eyebrow{font-size:10px}.visit-intro{font-size:16px}.visit .contact{padding:26px 23px}.visit .contact address,.visit .contact a{font-size:20px}.visit .contact .email{font-size:14px}body:before{background:radial-gradient(ellipse 65vw 50px at 25% 25%,#ffffffb3,transparent 80%),radial-gradient(ellipse 70vw 65px at 75% 65%,#ffffffad,transparent 80%);filter:blur(10px)}}
.welcome-ribbon{gap:28px;padding:24px 6%;font-size:clamp(17px,1.8vw,24px)}.welcome-ribbon b{font-size:22px;color:#6eabb3}@media(max-width:650px){.welcome-ribbon{flex-wrap:wrap;gap:8px 12px;padding:22px 7%;text-align:center;font-size:17px}.welcome-ribbon span:last-child{display:block;flex-basis:100%}.welcome-ribbon b:last-of-type{display:none}.welcome-ribbon b{font-size:17px}}
/* Friendly postcard typography for the visit details. */

.visit .contact{position:relative;padding:44px 38px 30px;background:repeating-linear-gradient(0deg,transparent 0,transparent 31px,#bca38b0c 32px),#fff9ef;transform:rotate(1deg)}
.visit .contact:before{content:'HELLO FROM HILLSBOROUGH';display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:2px;color:#6b8c8d;border-bottom:1px dashed #b7aaa0;padding-bottom:15px;margin-bottom:0;padding-right:58px}
.visit .contact:after{content:'NC\A ♡';white-space:pre;position:absolute;right:25px;top:20px;border:2px dotted #93b1b0;padding:7px 11px;text-align:center;line-height:1.2;font-family:Georgia,serif;font-size:13px;color:#57858a;transform:rotate(8deg)}
.visit .contact span{font-family:'Fraunces',Georgia,serif;font-size:12px;font-weight:500;font-style:italic;letter-spacing:1.2px;color:#6f5142;margin-bottom:3px}
.visit .contact address,.visit .contact a{font-family:'Caveat','Segoe Print','Comic Sans MS',cursive;font-size:30px;font-weight:500;line-height:1.2;letter-spacing:.2px;color:#56372e}
.visit .contact .email{font-size:25px;overflow-wrap:anywhere}.visit .contact p{font-family:'Caveat','Segoe Print','Comic Sans MS',cursive;font-size:23px;line-height:1.25;font-weight:500;border-top:1px dashed #c9b6a4;padding-top:16px}.visit .contact a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){.visit .contact{padding:35px 24px 26px;transform:none}.visit .contact address,.visit .contact a{font-size:28px}.visit .contact .email{font-size:22px}.visit .contact p{font-size:22px}.visit .contact:before{font-size:8px;letter-spacing:1.3px}.visit .contact:after{right:17px;top:15px}}

/* Larger mobile call and directions actions. */
@media(max-width:650px){.mobile-visit{bottom:10px;left:4%;width:92%;padding:8px 10px;gap:0}.mobile-visit a{display:flex;align-items:center;justify-content:center;min-height:50px;font-size:15px;font-weight:700;text-align:center;padding:6px 12px;line-height:1.25}.mobile-visit a:first-child{flex:0 0 37%}.mobile-visit a+a{flex:1;padding-left:12px}.visit .button{font-size:16px;min-height:56px;padding:16px 28px}footer{padding-bottom:105px}}
.visit .contact .address-tagline{margin:9px 0 0;padding:0;border:0;font-family:'Caveat','Segoe Print','Comic Sans MS',cursive;font-size:23px;font-style:italic;line-height:1.3;color:#337f8b}
