:root {
  --navy: #0d2e58;
  --navy-2: #123a6c;
  --ink: #344256;
  --muted: #6e7480;
  --blush: #f6e2eb;
  --blush-2: #fdf4f7;
  --pink: #dc8da8;
  --pink-dark: #be6586;
  --rose: #efb5ca;
  --gold: #d8b867;
  --gold-light: #f5e8bc;
  --paper: #fffdfd;
  --line: rgba(13,46,88,.13);
  --shadow: 0 24px 60px rgba(55,50,68,.12);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; font-size:16px; line-height:1.55; }
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
img { max-width:100%; display:block; }
:focus-visible { outline:3px solid var(--pink-dark); outline-offset:3px; }
.shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.section { padding:108px 0; }
.sr-only, .skip-link { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link:focus { clip:auto; width:auto; height:auto; top:12px; left:12px; z-index:999; color:#fff; background:var(--navy); padding:10px 14px; border-radius:8px; }
.topline { background:var(--navy); color:white; text-align:center; font-size:.76rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; padding:9px 15px; }
.site-header { position:sticky; top:0; z-index:100; background:rgba(255,253,253,.94); border-bottom:1px solid transparent; backdrop-filter:blur(14px); transition:.24s ease; }
.site-header.is-scrolled { box-shadow:0 6px 22px rgba(13,46,88,.08); border-bottom-color:rgba(13,46,88,.1); }
.header-shell { min-height:104px; display:grid; grid-template-columns:275px 1fr auto; align-items:center; gap:28px; }
.site-logo { display:block; width:255px; min-width:0; }
.site-logo img { width:100%; height:auto; max-height:86px; object-fit:contain; object-position:left center; }
.primary-navigation { justify-self:center; display:flex; align-items:center; gap:27px; color:var(--navy); font-family:"Playfair Display",Georgia,serif; font-size:.88rem; font-weight:600; }
.primary-navigation a { position:relative; }
.primary-navigation a:after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--navy); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.primary-navigation a:hover:after { transform:scaleX(1); }
.menu-toggle { display:none; width:45px; height:42px; padding:8px; background:transparent; border:0; }
.menu-toggle span:not(.sr-only) { display:block; height:2px; width:24px; margin:5px auto; background:var(--navy); }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border-radius:8px; border:1px solid transparent; text-align:center; font-weight:700; font-size:.86rem; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); }
.button-navy { background:var(--navy); color:#fff; box-shadow:0 9px 22px rgba(13,46,88,.14); }
.button-navy:hover { background:var(--navy-2); }
.button-outline { border-color:var(--pink-dark); color:var(--pink-dark); background:white; }
.button-outline:hover { background:var(--blush-2); }
.header-cta { min-height:44px; padding:10px 15px; font-size:.8rem; border-radius:7px; }
.eyebrow { margin:0 0 13px; color:var(--pink-dark); font-size:.7rem; font-weight:700; letter-spacing:.17em; }
h1,h2,h3 { color:var(--navy); margin:0; font-family:"Playfair Display",Georgia,serif; font-weight:600; line-height:1.08; letter-spacing:-.035em; }
h1 { max-width:590px; font-size:clamp(3.3rem,5.3vw,5.4rem); }
h2 { font-size:clamp(2.4rem,4.3vw,4.45rem); }
h2 em,h1 em { font-style:italic; font-weight:500; }
h3 { font-size:1.42rem; }
.hero { position:relative; overflow:hidden; padding:72px 0 0; background:linear-gradient(90deg,#fffdfd 0%,#fffdfd 52%,#f9e9f0 52%,#f9e9f0 100%); }
.hero-grid { position:relative; z-index:1; min-height:525px; display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:60px; }
.hero-copy { padding:25px 0 56px; }
.hero-lead { max-width:515px; margin:24px 0 28px; color:#707986; font-size:1.08rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }
.hero-wash { position:absolute; border-radius:48% 52% 54% 46% / 41% 52% 48% 59%; filter:blur(.1px); opacity:.82; }
.wash-one { width:400px; height:290px; left:-195px; top:150px; background:radial-gradient(circle at 65% 40%,rgba(248,213,227,.9),rgba(255,255,255,0) 72%); }
.wash-two { width:540px; height:210px; right:-60px; bottom:30px; background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.8),rgba(242,194,216,.2) 70%); }
.botanical { position:absolute; color:var(--gold); font-family:"Allura",cursive; font-size:18rem; line-height:.6; opacity:.6; transform:rotate(-28deg); }
.botanical-left { left:-30px; bottom:30px; }
.botanical-right { right:-30px; top:130px; transform:rotate(145deg); }
.hero-visual { position:relative; height:508px; display:grid; place-items:center; }
.hero-photo-frame { position:relative; width:min(100%,510px); height:415px; overflow:hidden; border-radius:200px 16px 16px 16px; background:linear-gradient(145deg,#f7dfe9 0%,#fffdfd 45%,#f7d6e3 100%); box-shadow:0 30px 60px rgba(76,59,70,.15); }
.hero-photo-frame:before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 8px,rgba(255,255,255,0) 8px 18px); mix-blend-mode:screen; }
.hero-caption { position:absolute; right:20px; bottom:16px; color:var(--pink-dark); font-family:"Allura",cursive; font-size:2.1rem; transform:rotate(-5deg); z-index:3; }
.hero-flower { position:absolute; z-index:0; color:#ecadc5; font-size:5rem; text-shadow:0 8px 12px rgba(97,68,79,.12); }
.flower-one { top:48px; right:65px; }.flower-two { bottom:60px; left:50px; font-size:4.3rem; color:#f3c6d4; }
.gift-basket { position:absolute; z-index:2; bottom:42px; left:50%; width:325px; height:272px; transform:translateX(-50%); }
.basket-body { position:absolute; z-index:3; bottom:0; left:20px; width:285px; height:135px; border:11px solid #caa36d; border-top:0; border-radius:0 0 45% 45% / 0 0 24% 24%; background:repeating-linear-gradient(0deg,#ebd2a9 0 6px,#d7ae73 6px 10px); box-shadow:inset 0 0 0 5px rgba(255,255,255,.25), 0 15px 18px rgba(65,48,32,.14); }
.basket-handle { position:absolute; z-index:1; bottom:70px; left:72px; width:188px; height:152px; border:13px solid #caa36d; border-bottom:0; border-radius:50% 50% 0 0; }
.basket-filler { position:absolute; z-index:4; left:35px; right:35px; height:62px; bottom:93px; background:repeating-linear-gradient(70deg,#f5ddae 0 3px,transparent 3px 8px),repeating-linear-gradient(110deg,#e8c78e 0 3px,transparent 3px 9px); opacity:.9; }
.basket-item { position:absolute; z-index:5; color:var(--navy); box-shadow:0 8px 13px rgba(53,46,54,.13); }
.item-card { left:33px; top:84px; width:90px; height:106px; padding:23px 8px; color:#9c5670; background:#fffaf3; text-align:center; font-family:"Allura",cursive; font-size:1.56rem; line-height:.75; transform:rotate(-9deg); }
.item-mug { left:114px; top:78px; width:92px; height:102px; padding-top:25px; border-radius:8px 8px 16px 16px; background:#f7d2dc; color:#b35778; text-align:center; font-family:"Allura",cursive; font-size:1.42rem; line-height:.8; transform:rotate(2deg); }
.item-mug:after { content:""; position:absolute; top:26px; right:-19px; width:22px; height:34px; border:6px solid #f7d2dc; border-left:0; border-radius:0 20px 20px 0; }
.item-candle { right:37px; top:90px; width:74px; height:108px; padding-top:26px; background:#fff5e7; text-align:center; color:#92785b; font-size:.63rem; letter-spacing:.05em; text-transform:uppercase; transform:rotate(7deg); }
.item-candle:before { content:""; position:absolute; top:-8px; left:0; width:100%; height:14px; border-radius:50%; background:#e9d6b5; }
.item-treat { left:214px; top:51px; width:86px; height:108px; padding-top:28px; background:#f8a9bc; color:#fffdfd; text-align:center; font-family:"Allura",cursive; font-size:1.45rem; line-height:.78; transform:rotate(13deg); }
.item-rose { right:122px; top:23px; color:#ec97b5; font-size:4.5rem; background:transparent; box-shadow:none; }
.basket-bow { position:absolute; z-index:8; left:123px; bottom:-21px; width:90px; height:60px; }
.basket-bow span,.basket-bow i { position:absolute; top:2px; width:51px; height:46px; background:#e999b4; border-radius:70% 30% 65% 28%; box-shadow:0 7px 10px rgba(109,62,78,.16); }
.basket-bow span { left:0; transform:rotate(17deg); }.basket-bow i { right:0; transform:rotate(-17deg) scaleX(-1); }.basket-bow b { position:absolute; z-index:2; left:37px; top:15px; width:21px; height:25px; border-radius:44%; background:#d77998; }
.hero-values { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(13,46,88,.12); background:rgba(255,253,253,.87); }
.hero-values article { display:flex; gap:15px; align-items:center; padding:20px 32px; border-right:1px solid rgba(13,46,88,.12); }.hero-values article:last-child{border-right:0}.hero-values h2 { font-family:"DM Serif Display",Georgia,serif; font-size:1.16rem; letter-spacing:0; }.hero-values p { margin:2px 0 0; color:#7b7f88; font-size:.76rem; }.value-icon { color:var(--pink-dark); font-family:"Playfair Display",serif; font-size:2rem; }
.about-section { background:linear-gradient(90deg,#fff 0%,#fff 55%,#fffafa 55%,#fffafa 100%); }.about-grid { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:80px; }.about-visual{height:375px;position:relative}.about-wash { position:absolute; inset:0 0 0 12px; background:radial-gradient(ellipse at 50% 52%,#f9e7ed 0,#f9e7ed 42%,transparent 71%); }.bouquet-card { position:absolute; left:30px; top:30px; width:330px; height:276px; border-radius:15px; background:linear-gradient(145deg,#fceef4,#fff); box-shadow:var(--shadow); overflow:hidden; }.bouquet-card:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,rgba(255,255,255,.2) 0 5px,transparent 5px 20px)}.about-flower{position:absolute;z-index:2;color:#e9a4bd;font-size:6rem;filter:drop-shadow(0 8px 8px rgba(96,57,71,.11))}.a1{left:26px;top:34px}.a2{left:116px;top:31px;color:#f4c8d7;font-size:6.5rem}.a3{left:205px;top:70px;font-size:5rem;color:#e7b1c2}.thank-you-card{position:absolute;z-index:3;right:33px;bottom:34px;width:135px;height:146px;padding-top:45px;background:#fffdf9;color:#bf9860;text-align:center;font-family:"Allura",cursive;font-size:2rem;line-height:.8;box-shadow:0 14px 22px rgba(75,60,65,.15);transform:rotate(5deg)}.about-copy>p:not(.eyebrow):not(.script-line){max-width:535px;color:#6d7481;font-size:1.02rem}.script-line{margin:22px 0 18px;color:var(--pink-dark);font-family:"Allura",cursive;font-size:2rem;line-height:1.05}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:.85rem;font-weight:700;border-bottom:1px solid var(--navy);padding-bottom:3px}.text-link:hover{color:var(--pink-dark);border-color:var(--pink-dark)}
.category-section { padding:103px 0 110px; background:linear-gradient(180deg,#fcf4f7 0%,#fff 100%); }.section-intro { max-width:755px; margin:0 auto 45px; }.section-intro.centered{text-align:center}.section-intro p:last-child{margin:18px auto 0;max-width:620px;color:#727988}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.occasion-card{min-height:236px;padding:25px 16px 20px;border:1px solid rgba(13,46,88,.1);border-radius:13px;background:#fff;text-align:center;box-shadow:0 8px 21px rgba(20,40,75,.06);transition:transform .2s,box-shadow .2s}.occasion-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(20,40,75,.12)}.occasion-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:50%;font-family:"Playfair Display",serif;font-size:1.65rem}.birthday .occasion-icon{background:#fbe2ea;color:#d67594}.baby .occasion-icon{background:#f3ead7;color:#c2a266}.holiday .occasion-icon{background:#e6f0e6;color:#779c6f}.kids .occasion-icon{background:#fde9c9;color:#dc9d3f}.wellness .occasion-icon{background:#e5eef9;color:#6688b3}.just-because .occasion-icon{background:#f5e7f0;color:#b36e92}.occasion-card h3{font-size:1.26rem}.occasion-card p{margin:9px 0 0;color:#747b87;font-size:.79rem;line-height:1.45}
.gallery-section { background:#fff; }.gallery-heading{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:55px;margin-bottom:34px}.gallery-heading p{margin:0;color:#747b87;font-size:.94rem}.gallery-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.gallery-filter{padding:9px 15px;border:1px solid rgba(13,46,88,.2);border-radius:999px;background:#fff;color:#6c7482;font-weight:700;font-size:.76rem;transition:.2s}.gallery-filter:hover,.gallery-filter.active{border-color:var(--navy);background:var(--navy);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{overflow:hidden;border:1px solid rgba(13,46,88,.1);border-radius:13px;background:#fff;box-shadow:0 9px 20px rgba(20,40,75,.06);transition:transform .2s,box-shadow .2s,opacity .2s}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 19px 35px rgba(20,40,75,.12)}.gallery-card.is-hidden{display:none}.gallery-card-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.gallery-image,.gallery-placeholder{position:relative;display:grid;place-items:center;width:100%;height:275px;overflow:hidden;background:var(--card-bg,#f8e7ed)}.gallery-image img{width:100%;height:100%;object-fit:cover}.gallery-placeholder:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.44);transform:translate(-34px,-22px)}.gallery-placeholder:after{content:"";position:absolute;right:26px;bottom:25px;width:120px;height:91px;border:5px solid rgba(255,255,255,.5);border-radius:50% 50% 25% 25%;}.placeholder-inner{position:relative;z-index:2;display:grid;place-items:center;width:160px;height:160px;border:1px dashed rgba(13,46,88,.3);border-radius:50%;color:var(--navy);text-align:center}.placeholder-inner b{font-size:.72rem;letter-spacing:.13em}.placeholder-inner span{font-family:"Allura",cursive;font-size:2rem;line-height:1}.gallery-meta{padding:17px 18px 19px}.gallery-meta .card-kicker{margin:0 0 3px;color:var(--pink-dark);font-weight:700;font-size:.69rem;letter-spacing:.15em}.gallery-meta h3{font-size:1.42rem}.gallery-meta p:last-child{margin:6px 0 0;color:#747b87;font-size:.8rem}.gallery-note{margin:30px auto 0;max-width:780px;color:#6e7683;text-align:center;font-size:.78rem}.gallery-note span{color:var(--gold);font-size:1.1rem}.gallery-note code{padding:2px 5px;border-radius:3px;background:#f7f0f3;color:var(--navy);font-family:monospace;font-size:.74rem}
.bows-banner{position:relative;overflow:hidden;padding:65px 0;background:linear-gradient(90deg,#fbf1f5 0%,#f9e8ef 50%,#f3d9e4 100%)}.bows-banner:before,.bows-banner:after{content:"";position:absolute;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.37)}.bows-banner:before{left:-100px}.bows-banner:after{right:-80px;top:auto;bottom:-100px}.bows-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.2fr .55fr;align-items:center;gap:50px}.bows-visual{position:relative;height:215px}.hair-bow{position:absolute;width:135px;height:98px;filter:drop-shadow(0 12px 9px rgba(71,44,56,.14));}.hair-bow span{position:absolute;top:17px;width:76px;height:65px;border-radius:70% 35% 70% 36%;}.hair-bow span:first-child{left:0;transform:rotate(16deg)}.hair-bow span:nth-child(2){right:0;transform:rotate(-16deg) scaleX(-1)}.hair-bow b{position:absolute;z-index:2;left:54px;top:34px;width:30px;height:32px;border-radius:43%;}.bow-pink{left:0;top:39px;transform:rotate(-9deg)}.bow-pink span,.bow-pink b{background:#f0b5c8}.bow-floral{left:93px;top:20px;transform:rotate(11deg)}.bow-floral span,.bow-floral b{background:repeating-radial-gradient(circle at 25% 25%,#fff 0 4px,#e8a4bd 5px 9px,#f7dfeb 10px 16px)}.bow-navy{left:204px;top:51px;transform:rotate(-8deg) scale(.88)}.bow-navy span,.bow-navy b{background:var(--navy)}.bows-copy h2{font-size:clamp(2.2rem,3.7vw,3.65rem)}.bows-copy>p:not(.eyebrow):not(.script-line){max-width:590px;color:#6c7480}.bows-callout{padding:24px 18px;border-radius:54% 45% 48% 51%;background:rgba(255,255,255,.48);color:#9b6378;text-align:center;font-size:.83rem;line-height:1.35;transform:rotate(-4deg)}.bows-callout span{display:block;margin-top:7px;color:var(--pink-dark);font-size:1.35rem}
.process-section{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px}.process-grid article{padding:18px 43px;border-right:1px solid var(--line)}.process-grid article:first-child{padding-left:15px}.process-grid article:last-child{border-right:0}.process-grid span{color:var(--pink-dark);font-weight:700;font-size:.76rem;letter-spacing:.14em}.process-grid h3{margin-top:11px;font-size:1.7rem}.process-grid p{margin:10px 0 0;color:#727987;font-size:.92rem}
.inquiry-section{background:linear-gradient(125deg,#fff 0%,#fff 43%,#f9eef2 43%,#f9eef2 100%)}.inquiry-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:74px;align-items:start}.inquiry-copy h2{margin-bottom:16px}.inquiry-copy>p:not(.eyebrow):not(.small-note){color:#6f7784;font-size:1.03rem}.inquiry-contact{display:flex;align-items:flex-start;gap:13px;margin:30px 0 16px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inquiry-contact span{color:var(--gold);font-size:1.45rem}.inquiry-contact p{margin:0;font-size:.9rem}.inquiry-contact a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.small-note{color:#79808b;font-size:.78rem}.inquiry-form{padding:30px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.form-row{display:grid;gap:14px;margin-bottom:14px}.form-row-two{grid-template-columns:repeat(2,1fr)}.inquiry-form label{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:700}.inquiry-form label span{color:#ba5f81}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;padding:11px 12px;border:1px solid rgba(13,46,88,.22);border-radius:7px;background:#fffefe;color:var(--ink);outline:none;transition:border .16s,box-shadow .16s}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--pink-dark);box-shadow:0 0 0 3px rgba(220,141,168,.16)}.inquiry-form textarea{resize:vertical;min-height:128px}.full-field{margin-bottom:14px}.bot-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.human-check{display:grid;grid-template-columns:1fr 125px;align-items:center;gap:14px;margin:18px 0}.human-check label{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#667082}.check-box{display:inline-block;width:22px;height:22px;border:1px solid rgba(13,46,88,.33);border-radius:4px;background:#fff}.human-check input{padding:10px 11px}.form-actions{display:flex;align-items:center;gap:16px}.form-actions .button{min-width:184px}.form-status{margin:0;color:#687383;font-size:.81rem;font-weight:600}.form-status.error{color:#ae3b5b}.form-status.success{color:#287052}.form-footnote{margin:16px 0 0;color:#8a8f98;font-size:.7rem;line-height:1.45}
.site-footer{background:linear-gradient(180deg,#f9edf1 0%,#fff9fa 86%,var(--navy) 86%,var(--navy) 100%)}.footer-grid{display:grid;grid-template-columns:1fr .88fr .95fr .84fr;align-items:center;gap:40px;padding:47px 0 87px}.footer-brand-block img{width:250px;max-width:100%;height:auto}.footer-brand-block p,.footer-social-block p{margin:12px 0 0;color:#6f7785;font-size:.84rem}.footer-label{margin:0 0 9px!important;color:var(--pink-dark)!important;font-weight:700!important;font-size:.69rem!important;letter-spacing:.15em}.footer-contact-block>a{color:var(--navy);font-weight:700;font-size:.88rem}.footer-contact-block p{margin:9px 0 0;color:#6e7784;font-size:.84rem}.social-links{display:flex;gap:9px;margin-top:14px}.social-links a{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--navy);color:white;font-family:"Playfair Display",serif;font-weight:700}.footer-thanks{color:#8c6472;font-family:"Allura",cursive;font-size:2rem;line-height:.82;transform:rotate(-4deg)}.footer-thanks span{color:var(--pink-dark)}.footer-bottom{background:var(--navy);color:rgba(255,255,255,.72);font-size:.7rem}.footer-bottom .shell{min-height:54px;display:flex;justify-content:space-between;align-items:center}.footer-bottom p{margin:0}.footer-bottom a:hover{text-decoration:underline;text-underline-offset:3px}
.lightbox{width:min(92vw,900px);padding:0;border:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.33)}.lightbox::backdrop{background:rgba(10,19,38,.72)}.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#f3edf0}.lightbox-caption{padding:19px 22px}.lightbox-caption p{margin:0;color:#737985;font-size:.88rem}.lightbox-caption p:first-child{color:var(--pink-dark);font-size:.68rem;font-weight:700;letter-spacing:.14em}.lightbox-caption h2{margin:3px 0 5px;font-size:1.85rem}.lightbox-close{position:absolute;right:12px;top:10px;z-index:2;width:37px;height:37px;border:0;border-radius:50%;background:rgba(13,46,88,.82);color:#fff;font-size:1.75rem;line-height:1}
@media(max-width:1050px){.header-shell{grid-template-columns:225px 1fr auto;gap:18px}.site-logo{width:215px}.primary-navigation{gap:17px;font-size:.8rem}.hero-grid{gap:32px}.category-grid{grid-template-columns:repeat(3,1fr)}.occasion-card{min-height:205px}.about-grid{gap:45px}.inquiry-grid{gap:45px}.footer-grid{grid-template-columns:1.1fr 1fr 1fr;}.footer-thanks{grid-column:1/-1;text-align:center}}
@media(max-width:780px){.shell{width:min(100% - 32px,1180px)}.topline{font-size:.65rem;letter-spacing:.06em}.header-shell{min-height:88px;display:flex;justify-content:space-between;gap:14px}.site-logo{width:190px}.site-logo img{max-height:72px}.header-cta{display:none}.menu-toggle{display:block}.primary-navigation{display:none;position:absolute;left:16px;right:16px;top:87px;padding:14px;border-radius:12px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);}.primary-navigation.is-open{display:grid;justify-items:start;gap:0}.primary-navigation a{padding:10px 6px;width:100%}.primary-navigation a:after{display:none}.section{padding:78px 0}.hero{padding:35px 0 0;background:linear-gradient(160deg,#fff 0%,#fff 55%,#f9e9f0 55%,#f9e9f0 100%)}.hero-grid{min-height:auto;grid-template-columns:1fr;gap:6px}.hero-copy{padding:15px 0 24px}.hero-visual{height:390px}.hero-photo-frame{height:335px;border-radius:150px 14px 14px 14px}.gift-basket{transform:translateX(-50%) scale(.84);transform-origin:center bottom}.hero-caption{font-size:1.75rem}.hero-values{width:100%;grid-template-columns:1fr}.hero-values article{padding:17px 8px;border-right:0;border-bottom:1px solid rgba(13,46,88,.11)}.hero-values article:last-child{border-bottom:0}.about-grid,.inquiry-grid{grid-template-columns:1fr;gap:35px}.about-visual{height:305px}.bouquet-card{left:0;top:13px;width:290px;height:240px}.about-flower{font-size:5rem}.a2{font-size:5.3rem}.a3{left:187px}.thank-you-card{right:17px;bottom:22px;width:116px;height:128px;padding-top:40px;font-size:1.7rem}.category-grid{grid-template-columns:repeat(2,1fr)}.gallery-heading{grid-template-columns:1fr;gap:17px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.bows-grid{grid-template-columns:1fr;gap:18px}.bows-visual{height:170px}.bows-copy{order:2}.bows-callout{display:none}.process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article:first-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.process-grid article:last-child{border-bottom:0}.inquiry-section{background:linear-gradient(160deg,#fff 0%,#fff 53%,#f9eef2 53%,#f9eef2 100%)}.footer-grid{grid-template-columns:1fr 1fr;padding-bottom:80px}.footer-thanks{grid-column:1/-1}.footer-bottom .shell{padding:15px 0;min-height:auto;display:block}.footer-bottom p+p{margin-top:6px}}
@media(max-width:520px){h1{font-size:3.1rem}h2{font-size:2.55rem}.hero-actions .button{width:100%}.category-grid,.gallery-grid{grid-template-columns:1fr}.gallery-image,.gallery-placeholder{height:255px}.form-row-two{grid-template-columns:1fr}.human-check{grid-template-columns:1fr}.form-actions{display:block}.form-actions .button{width:100%}.form-status{margin-top:12px}.inquiry-form{padding:22px 18px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-thanks{grid-column:auto;text-align:left}.section-intro{margin-bottom:32px}}

/* cPanel form delivery status */
.form-server-status { margin: 0 0 18px; padding: 13px 15px; border-radius: 10px; font-size: .9rem; font-weight: 600; }
.form-server-status.success { background: #e8f5ec; border: 1px solid #b9dec3; color: #23653b; }
.form-server-status.error { background: #fff0f0; border: 1px solid #efc5c5; color: #8c3030; }
