@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/nunito-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/nunito-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/nunito-900.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-800.ttf) format('truetype');
}

:root{--ink:#290c3c;--muted:#766880;--purple:#7925c5;--violet:#963fe1;--cream:#fffcf8;--line:#ece5ed;--lime:#e0f5c6;--peach:#ffead8;--lavender:#f4eaff;--shadow:0 8px 28px #3414400a;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-1.5px;line-height:1.13}h1{font-size:56px;font-weight:800}h2{font-size:36px;font-weight:800}h3{font-size:21px;line-height:1.3}small,.muted{color:var(--muted)}small{font-size:13px}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible{outline:3px solid #a757e2;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #a757e2;border-color:transparent}.wrap{max-width:1280px;margin:auto;padding:0 42px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fffdfb;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:8px;font:900 34px/1 'Nunito',Arial,sans-serif;letter-spacing:-1.5px}.sun{color:#ffb13d;font-size:44px;line-height:1;display:inline-block;animation:sunspin 18s linear infinite}.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}.nav a{padding:10px 0}.nav a.active{color:var(--purple)}.header-right{display:flex;align-items:center;gap:12px;font-size:13px}.pill-link{padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:30px;display:flex;align-items:center;gap:6px}.cart-count{background:var(--purple);color:white;border-radius:50%;font-size:10px;min-width:18px;height:18px;display:inline-flex;justify-content:center;align-items:center}.mobile-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:10px;font-weight:600;font-size:15px;min-height:48px;transition:transform .2s,box-shadow .2s;background:linear-gradient(110deg,#8d37dd,#6e20b7);color:white;box-shadow:0 4px 12px #7625b51a}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #7625b529}.btn.secondary{background:white;color:var(--purple);border:1px solid #d6b5ed;box-shadow:none}.btn.soft{background:var(--lavender);color:var(--purple);box-shadow:none}.btn.small{padding:8px 15px;min-height:38px;font-size:13px}.btn.full{width:100%}.text-link{color:var(--purple);font-weight:600;font-size:14px}.section{padding:42px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-title p{margin-top:8px;color:var(--muted)}.hero{position:relative;min-height:410px;padding:44px 0 120px;overflow:hidden}.hero .hero-copy{position:relative;z-index:1;width:57%}.hero h1{font-size:64px;max-width:650px}.hero p{font-size:21px;margin-top:20px;max-width:560px}.hero-art{position:absolute;right:0;top:0;width:47%;height:100%;border-radius:45% 0 0 25%;overflow:hidden}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffcf825,transparent 25%)}.doodle{color:#f3a750;font-size:42px;display:inline-block;font-family:Arial;font-weight:400;margin-left:9px}.photo{background-repeat:no-repeat;background-color:#f2e7ed;position:relative;overflow:hidden;border-radius:12px;min-height:50px}.search-panel{position:relative;margin-top:-82px;z-index:2;display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr auto;gap:12px;padding:16px;background:white;border-radius:17px;box-shadow:0 8px 32px #3a19321c}.field{display:flex;flex-direction:column;gap:6px;text-align:left}.field>span{font-size:13px;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:11px 12px;min-height:44px}.field textarea{resize:vertical;min-height:90px}.search-field{border:1px solid var(--line);border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:10px;background:#fff}.search-field label{display:block;width:100%}.search-field label>span{font-size:11px;color:var(--muted);display:block}.search-field input,.search-field select{padding:0;width:100%;background:none;border:0;min-height:25px;font-size:15px}.search-panel .btn{padding:12px 24px}.categories{display:flex;gap:13px;align-items:center;justify-content:center;padding:24px 0 12px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:26px;padding:9px 16px;font-size:13px;background:white;min-height:42px}.chip:hover,.chip.active{background:var(--purple);color:white;border-color:var(--purple)}.chip .emoji{font-size:23px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}.card:hover{transform:translateY(-3px)}.card > .photo{border-radius:0;height:220px}.card-body{padding:18px}.card-body h3{font-family:'Nunito',Arial,sans-serif;font-weight:900}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.rating{font-size:13px;white-space:nowrap;font-weight:600}.rating b{color:#f3a82b}.card-meta{font-size:13px;color:var(--muted);margin:7px 0 14px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.price{font-weight:800;font-size:20px}.price small{font-size:12px;font-weight:400}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:25px;padding:5px 10px;background:var(--lime);font-size:12px;line-height:1.4}.badge.pending{background:#fff0c8;color:#956014}.badge.purple{background:var(--lavender);color:var(--purple)}.badge.danger{background:#ffe5e8;color:#a72a40}.favorite{position:absolute;right:12px;top:12px;border-radius:50%;background:#ffffffee;width:36px;height:36px;color:#b36087;display:grid;place-items:center;z-index:1}.favorite.saved{background:#ffe3ec;color:#b82e60}.lavender-section{background:linear-gradient(115deg,#f4eaff,#faf5ff)}.service-tile .photo{height:165px}.service-tile .card-body{padding:14px 16px}.service-tile h3{font-size:19px}.service-tile p{font-size:13px;color:var(--muted);margin-top:6px}.home-banner{background:var(--peach);border-radius:25px;display:grid;grid-template-columns:1.1fr .6fr 1fr;align-items:center;gap:25px;padding:30px}.home-banner .photo{height:210px}.home-banner h2{font-size:42px}.home-banner p{margin:9px 0 18px}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:5px 0;font-size:14px}.checklist li:before{content:'✓';color:#71aa43;margin-right:8px}.review{background:white;border-radius:14px;border:1px solid var(--line);padding:20px}.stars{color:#ffae34;letter-spacing:3px}.review p{font-size:14px;color:var(--muted);margin:12px 0}.footer{border-top:1px solid var(--line);padding:35px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.footer a{display:block;font-size:13px;color:var(--muted);padding:3px 0}.footer .brand{font-size:29px}.footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.breadcrumbs{font-size:13px;color:var(--muted);padding:23px 0 14px}.page-top{padding:15px 0 25px}.page-top h1{font-size:46px}.page-top p{margin-top:10px;color:var(--muted)}.search-inline{margin:0 0 25px;box-shadow:none;border:1px solid var(--line)}.result-layout{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start}.filters{background:white;padding:22px;border:1px solid var(--line);border-radius:14px;position:sticky;top:20px}.filters h3{font-size:17px}.filters section{padding-top:19px;margin-top:16px;border-top:1px solid var(--line)}.filters section>strong{display:block;font-size:14px;margin-bottom:10px}.check{display:flex;align-items:center;gap:8px;font-size:14px;padding:5px 0}.check input{accent-color:var(--purple);width:16px;height:16px}.filters input[type=range]{width:100%;accent-color:var(--purple)}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.results-toolbar select{padding:8px;border:1px solid var(--line);border-radius:8px;background:white}.result-card{display:grid;grid-template-columns:225px 1fr;margin-bottom:18px}.result-card .photo{height:210px}.result-card .card-body{display:flex;flex-direction:column;justify-content:center}.result-card .card-bottom{margin-top:12px}.empty{padding:55px;text-align:center;border-radius:16px;background:#f7f1fb}.empty p{margin:10px 0 20px;color:var(--muted)}.map{min-height:420px;background:#edf3e7;position:relative;border-radius:18px;overflow:hidden;background-image:linear-gradient(35deg,transparent 40%,#fff 40%,#fff 43%,transparent 43%),linear-gradient(110deg,transparent 44%,#d5e9f3 44%,#d5e9f3 52%,transparent 52%),repeating-linear-gradient(0deg,transparent 0,transparent 39px,#fff 40px,#fff 44px),repeating-linear-gradient(90deg,transparent 0,transparent 70px,#fff 71px,#fff 75px)}.map-label{position:absolute;left:41%;top:43%;font-size:30px;font-weight:600;color:#627257}.map-pin{position:absolute;background:var(--purple);color:white;padding:7px 11px;border-radius:20px;box-shadow:0 3px 10px #0002;font-size:12px}.map-note{position:absolute;bottom:12px;left:15px;font-size:11px;color:#65755a}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:10px;border-radius:18px;overflow:hidden}.gallery .photo{border-radius:0;height:100%}.gallery .photo:first-child{grid-row:span 2}.gallery button{position:absolute;bottom:12px;right:12px;background:#fffffff0;padding:7px 12px;border-radius:25px;font-size:12px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;padding:24px 0 40px;align-items:start}.tabbar{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}.tabbar a{white-space:nowrap;padding:14px 0;font-size:14px}.tabbar a:first-child{color:var(--purple);border-bottom:2px solid var(--purple)}.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px;background:#faf7f4;border-radius:12px;margin-bottom:22px}.specs strong{font-size:13px;display:block}.specs small{font-size:11px}.content-block{padding:15px 0}.content-block h2{font-size:28px;margin-bottom:13px}.content-block p{font-size:15px;color:var(--muted)}.amenities{display:flex;flex-wrap:wrap;gap:9px}.amenity{border:1px solid var(--line);border-radius:9px;padding:12px 15px;background:white;font-size:12px;display:flex;align-items:center;gap:9px}.package{border:1px solid var(--line);border-radius:12px;padding:19px;background:white;text-align:left;width:100%}.package.selected{border:2px solid var(--purple);background:#fbf7ff;padding:18px}.package strong{font-size:16px}.package p{font-size:13px;margin:7px 0}.package .checklist li{font-size:12px}.booking{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;position:sticky;top:20px;box-shadow:var(--shadow)}.booking h2{font-size:28px;margin-bottom:20px}.booking .field{margin-bottom:15px}.time-pills{display:flex;gap:8px;margin:8px 0 15px}.time-pills button{border:1px solid var(--line);padding:8px 13px;border-radius:9px;flex:1;font-size:14px;background:white}.time-pills button.active{border-color:var(--purple);background:var(--purple);color:white}.time-pills button:disabled{color:#aca4af;background:#f4f2f4;cursor:not-allowed;text-decoration:line-through}.price-lines{border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.price-line{display:flex;justify-content:space-between;gap:15px;font-size:14px;padding:7px 0}.price-line.total{font-weight:800;font-size:22px;border-top:1px solid var(--line);margin-top:9px;padding:16px 0}.booking-note{text-align:center;margin-top:13px;font-size:12px;color:var(--muted)}details{border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:9px;padding:15px}summary{cursor:pointer;font-weight:600;font-size:14px}details p{padding-top:10px}.home-hero h1{font-family:'Nunito',Arial,sans-serif;font-weight:900;letter-spacing:-2px;font-size:66px;line-height:1.05}.home-hero .hero-copy{width:52%}.home-hero .hero-art{border-radius:35% 0 0 20%;width:52%}.round-categories{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding-top:30px;text-align:center}.round-categories .photo{width:100%;aspect-ratio:1;height:auto;border-radius:30px;margin-bottom:8px}.round-categories strong{font-size:14px;line-height:1.3;display:block}.builder-banner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px;background:var(--lavender);border-radius:23px}.builder-items{display:flex;align-items:center;gap:12px}.builder-items .photo{width:85px;height:75px}.step-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:white;padding:25px;border-radius:18px;margin-top:20px}.number{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;background:var(--peach);font-weight:800;margin-right:10px}.step-cards p{font-size:13px;color:var(--muted);margin-top:10px}.progress{display:flex;justify-content:center;gap:42px;margin:32px 0}.progress a{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}.progress a b{background:#eee7ef;width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center}.progress a.active{color:var(--purple)}.progress a.active b{background:var(--purple);color:white}.checkout-layout{display:grid;grid-template-columns:1fr 350px;gap:30px;align-items:start;margin:30px 0 55px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h3{margin-bottom:17px}.panel h2{font-size:29px;margin-bottom:18px}.summary-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.summary-item .photo{width:65px;height:64px;flex-shrink:0}.summary-item .desc{flex:1}.summary-item strong{font-size:14px;display:block}.summary-item small{font-size:11px}.summary-item .price{font-size:17px}.remove{color:#bf5268;font-size:12px;padding:3px 0}.service-card .photo{height:200px}.service-card .field{margin:10px 0}.service-card.selected{border:2px solid var(--purple)}.service-card .card-body{padding:18px}.note{background:var(--lavender);border-radius:12px;padding:15px;font-size:13px;color:#664677;margin:15px 0}.note.peach{background:var(--peach);color:#80583b}.notice{padding:10px 20px;background:#faf3ff;border-bottom:1px solid var(--line);font-size:12px;text-align:center;color:#765188}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.radio-options{display:flex;gap:12px;margin:15px 0}.radio-option{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:10px;padding:15px;flex:1;font-size:14px;cursor:pointer}.radio-option input{accent-color:var(--purple);margin-top:5px}.radio-option:has(input:checked){border-color:var(--purple);background:#fbf7ff}.success-header{text-align:center;padding:35px 0 20px}.success-header h1{font-size:48px}.success-header p{margin-top:10px}.event-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 22px;border-radius:15px;background:#f5edf5;margin:20px 0 30px}.event-banner .field{flex:1}.order-card .photo{height:180px}.order-card .card-body{padding:18px}.order-card .btn{margin-top:12px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:18px;padding:12px 0;align-items:center;border-bottom:1px solid var(--line);font-size:14px}.timeline time{color:var(--purple);font-weight:700;width:50px}.timeline .dot{height:10px;width:10px;border-radius:50%;background:var(--purple)}.dashboard{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 88px);background:#faf7fb}.sidebar{padding:25px 18px;background:#35144e;color:white}.sidebar .brand{font-size:27px;margin-bottom:30px}.sidebar a{display:flex;align-items:center;gap:12px;padding:12px 15px;margin:5px 0;border-radius:9px;font-size:14px}.sidebar a.active{background:#e5cdfb;color:#401461;font-weight:700}.dash-main{padding:30px 35px;min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.dash-top h1{font-family:'Nunito',Arial,sans-serif;font-size:34px;letter-spacing:-1px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.metric{padding:22px;border-radius:16px;background:white;border:1px solid var(--line)}.metric strong{display:block;font-size:34px;line-height:1.4}.metric small{font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-height:340px}.day{border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0;background:#fff}.day>strong{font-size:12px;display:block;text-align:center;margin-bottom:15px}.appointment{background:var(--lime);border-radius:7px;padding:10px 5px;margin:10px 0;font-size:11px;cursor:pointer;display:block;width:100%;text-align:left}.appointment.purple{background:var(--lavender)}.appointment.peach{background:var(--peach)}.appointment span{display:block;font-size:10px;margin-top:4px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#f8f3fa;color:var(--muted);font-weight:500;padding:12px}td{border-bottom:1px solid var(--line);padding:13px 12px}td .btn{white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#230a3bb0;z-index:50;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(5px)}.modal{background:var(--cream);border-radius:20px;max-width:620px;width:100%;max-height:90vh;overflow:auto;padding:28px;box-shadow:0 20px 80px #0003}.modal.wide{max-width:950px}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.modal h2{font-size:29px}.modal .viewer-main{height:380px}.close{width:36px;height:36px;border-radius:50%;background:#eee5f1;font-size:24px;display:grid;place-items:center}.account-options{display:grid;gap:12px}.account-options a{padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.account-options strong{display:block}.account-options small{display:block;margin-top:4px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);padding:13px 23px;background:var(--ink);color:white;border-radius:30px;z-index:100;opacity:0;transition:.25s;pointer-events:none;font-size:14px;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.mobile-booking{display:none}.short-hero{padding:25px;background:var(--peach);border-radius:18px}.saved-list{padding:35px 0 70px}.separator{height:1px;background:var(--line);margin:20px 0}.availability{font-size:12px;margin-top:12px}.danger-text{color:#ab3752}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}@keyframes sunspin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1600px){.hero{min-height:455px}.hero-art{right:calc((100vw - 1280px)/2 - 100px);width:630px}}@media(max-width:1050px){.wrap{padding:0 25px}.header{gap:15px}.nav{gap:14px;font-size:12px}.header-right>a:first-child{display:none}.brand{font-size:28px}.hero h1{font-size:52px}.search-panel{gap:8px}.search-panel .btn{padding:12px}.profile-layout,.checkout-layout{grid-template-columns:1fr 310px}.grid3{gap:15px}.card > .photo{height:180px}.home-banner{grid-template-columns:1.4fr 1fr}.home-banner>ul{display:none}.result-card{grid-template-columns:180px 1fr}.dashboard{grid-template-columns:200px 1fr}.dash-main{padding:25px}.gallery{grid-template-rows:150px 150px}.specs{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){body{font-size:15px}.wrap{padding:0 18px}.header{height:72px}.brand{font-size:28px}.sun{font-size:35px}.nav{display:none}.header-right .pill-link{font-size:0;padding:9px}.header-right .pill-link svg{width:19px}.mobile-menu{display:block;font-size:24px}.header.nav-open .nav{position:absolute;top:72px;left:0;right:0;background:var(--cream);display:grid;padding:20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}h1,.page-top h1{font-size:37px}h2{font-size:29px}.hero{padding:28px 0 30px;min-height:0;display:flex;flex-direction:column}.hero .hero-copy{width:100%}.hero h1,.home-hero h1{font-size:43px;letter-spacing:-1.5px}.hero p{font-size:17px;margin:15px 0 0;max-width:95%}.hero-art,.home-hero .hero-art{position:relative;height:235px;width:100%;border-radius:30px 30px 0 0;right:auto;top:auto;margin-top:25px}.search-panel{margin-top:-45px;grid-template-columns:1fr 1fr;padding:12px;gap:8px}.search-panel>.btn{grid-column:span 2}.search-inline{margin-top:0}.search-field{padding:8px}.search-field svg{width:16px}.search-field input,.search-field select{font-size:14px}.categories{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding:18px 0}.chip{white-space:nowrap;padding:8px 12px;font-size:12px}.section{padding:28px 0}.section-title{align-items:start}.section-title .btn{padding:8px;font-size:11px;min-height:35px}.section-title h2{font-size:28px}.grid3,.grid4,.grid2{grid-template-columns:1fr;gap:18px}.grid4{grid-template-columns:1fr 1fr;gap:12px}.card > .photo{height:220px}.service-tile .photo{height:130px}.card-head h3{font-size:20px}.card-body{padding:16px}.home-banner{grid-template-columns:1fr;padding:22px;gap:12px}.home-banner h2{font-size:34px}.home-banner .photo{height:180px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-bottom{flex-direction:column;gap:8px}.result-layout{grid-template-columns:1fr;gap:16px}.filters{position:static;padding:16px}.filters section{display:none}.filters.open section{display:block}.result-card{grid-template-columns:130px 1fr}.result-card .photo{height:220px}.result-card h3{font-size:18px}.result-card .card-meta{font-size:11px}.result-card .card-body{padding:12px}.result-card .card-bottom{flex-wrap:wrap}.result-card .price{font-size:17px}.results-toolbar{font-size:12px}.results-toolbar select{max-width:135px}.gallery{grid-template-columns:2fr 1fr;grid-template-rows:125px 125px;gap:6px}.gallery .photo:nth-child(4),.gallery .photo:nth-child(5){display:none}.profile-layout{grid-template-columns:1fr;gap:12px}.booking{position:static;padding:20px}.profile-layout .booking{order:-1}.profile-layout>article{order:1}.profile-layout .booking .grid2{grid-template-columns:1fr 1fr}.tabbar{gap:20px}.specs{grid-template-columns:1fr 1fr}.package .grid2{grid-template-columns:1fr 1fr}.round-categories{grid-template-columns:repeat(3,1fr);gap:16px}.round-categories .photo{border-radius:20px}.round-categories strong{font-size:12px}.builder-banner{display:block;padding:22px}.builder-items{margin:20px 0}.builder-items .photo{width:65px;height:60px}.step-cards{grid-template-columns:1fr;padding:20px}.progress{gap:16px;margin:22px 0}.progress a{font-size:11px;gap:5px}.progress a b{width:24px;height:24px}.checkout-layout{grid-template-columns:1fr;gap:10px;margin-top:20px}.checkout-layout>aside{position:static}.checkout-layout>aside .booking{position:static}.checkout-layout .grid2{grid-template-columns:1fr 1fr;gap:12px}.service-card .photo{height:160px}.service-card .card-body{padding:12px}.service-card h3{font-size:17px}.service-card .field{font-size:12px}.service-card .btn{padding:9px;font-size:12px}.contact-grid{grid-template-columns:1fr}.panel{padding:20px}.event-banner{align-items:flex-start;flex-direction:column;padding:16px}.event-banner .field{width:100%}.success-header h1{font-size:36px}.dashboard{grid-template-columns:1fr}.sidebar{display:flex;gap:5px;overflow-x:auto;padding:10px;align-items:center}.sidebar .brand{display:none}.sidebar a{font-size:12px;white-space:nowrap;padding:10px;margin:0}.sidebar a svg{display:none}.dash-main{padding:20px 15px}.dash-top h1{font-size:28px}.dash-top .btn{font-size:11px;padding:9px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:26px}.metric small{font-size:10px}.calendar{min-width:600px}.calendar-container{overflow:auto}.modal{padding:22px}.modal h2{font-size:26px}.modal .viewer-main{height:260px}.radio-options{flex-direction:column}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:12px 18px;justify-content:space-between;align-items:center;z-index:9;box-shadow:0 -4px 20px #0001}.mobile-booking .btn{min-height:43px;padding:10px 18px}.has-mobile-booking .footer{padding-bottom:100px}.note{font-size:12px}}
/* Visual alignment with the approved Kidsroom reference screens. */
:root{--cream:#fffdfb;--ink:#290b39;--purple:#7d2ccd;--radius:16px}.wrap{max-width:1320px;padding-left:4.7%;padding-right:4.7%}.header{height:70px;background:transparent;gap:20px}.brand{font-size:34px;letter-spacing:-1.6px}.sun{animation:none;color:#ffb132;width:42px;height:46px;display:flex;align-items:center}.sun-symbol{width:42px;height:46px;stroke:#ffb132;fill:none;stroke-width:3}.sun-symbol .disc{fill:#ffd879;stroke:none}.sun-symbol .face{stroke:#8c5723;stroke-width:1.8}.sun-symbol .eye{fill:#8c5723;stroke:none}.nav{gap:27px;font-weight:500;font-size:13px}.header-right{gap:12px}.header-right .pill-link{font-size:12px;padding:7px 12px;min-height:34px}.hero{min-height:320px;height:320px;padding:39px 0 0;overflow:visible}.hero .hero-copy{width:62%;max-width:760px}.hero h1{font-size:clamp(49px,5.08vw,63px);line-height:1.04;letter-spacing:-2px;font-weight:900;position:relative;z-index:1}.hero h1 .doodle{position:absolute;left:62%;top:-32px;font:44px/1 'Nunito',sans-serif;color:#e4a0e7;transform:rotate(-12deg);margin:0}.hero p{font-size:20px;margin-top:16px;color:#2b0e3b;line-height:1.4}.hero-art{top:-70px;height:460px;width:53%;border-radius:100px 0 0 70px;z-index:-1;overflow:hidden}.hero-art:after{background:linear-gradient(90deg,#fffdfb 0%,#fffdfb20 12%,transparent 28%)}.hero .hero-copy{z-index:1}.hero-art .photo{height:100%!important}.search-panel{margin-top:-83px;padding:13px 15px;border-radius:17px;grid-template-columns:1.15fr 1.12fr 1.12fr 1.12fr auto;gap:10px;background:#fff;box-shadow:0 9px 26px #3c203119}.search-field{min-height:57px;padding:7px 12px;border-radius:9px;background:#fff;gap:10px}.search-field label>span{font-size:11px}.search-field input,.search-field select{font-size:15px}.search-panel .btn{min-width:166px;border-radius:9px}.search-panel .btn svg{width:19px}.date-display{position:relative}.date-display input[type=date]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:1}.date-display>strong{font-size:15px;font-weight:500;display:block;min-height:25px}.categories{gap:16px;padding:20px 0 10px}.categories .chip{border-radius:24px;padding:7px 22px;font-size:13px;min-height:54px;box-shadow:0 5px 17px #36102b0c}.chip .category-art{display:inline-block;width:43px;height:40px;min-height:0;flex-shrink:0;overflow:visible}.section{padding:30px 0}.section-title{margin-bottom:16px}.section-title h2{font-size:40px;line-height:1.15;font-weight:900}.section-title p{margin-top:4px;color:#442653;font-size:16px}.section-title .doodle{font-size:32px;margin-left:5px}.section-title>.btn{border-radius:11px;padding:10px 16px;min-height:40px}.grid3{gap:23px}.card{border:0;box-shadow:0 6px 20px #34204008}.card > .photo{height:auto;aspect-ratio:1.65;border-radius:14px 14px 0 0}.card-body{padding:10px 15px 17px}.card-body h3{font-family:'DM Sans',Arial,sans-serif;letter-spacing:-.45px;font-size:21px;font-weight:800}.card-head{gap:6px}.rating{font-size:12px}.rating small{font-size:10px}.card-meta{margin:5px 0 12px;font-size:13px}.card-meta svg{width:14px;height:14px;color:#9a8aa7}.card-bottom .price{font-size:19px}.card-bottom .price small:first-child{color:var(--ink);font-size:13px}.card-bottom .price small{font-size:12px;color:var(--ink)}.badge{padding:5px 9px;font-size:11px;background:#e2f5cc}.favorite{width:33px;height:33px;top:10px;right:10px}.favorite svg{width:20px}.lavender-section{margin-top:0;padding:22px 0 20px;background:linear-gradient(115deg,#f2e5ff,#f8f1ff)}.lavender-section .section-title{margin-bottom:12px}.grid4{gap:12px}.service-tile .photo{aspect-ratio:1.95;height:auto;border-radius:12px 12px 0 0}.service-tile .card-body{padding:11px 13px 14px}.service-tile h3{font-size:18px}.service-tile p{font-size:12px;line-height:1.45;margin-top:4px}.service-tile .badge{width:30px;height:30px;justify-content:center;font-size:18px}.home-banner{padding:22px 28px;background:linear-gradient(100deg,#ffead8,#ffe4c7);border-radius:27px;grid-template-columns:1.25fr .68fr 1.3fr;gap:20px;position:relative;overflow:hidden;min-height:185px}.home-banner h2{font-size:43px;font-weight:900}.home-banner p{font-size:15px;margin:9px 0 15px}.home-banner .photo{height:200px;border-radius:65px 0 0 65px;position:absolute;top:0;right:0;width:43%}.home-banner>div:first-child{position:relative;z-index:1}.home-banner .checklist{position:relative;z-index:1;align-self:center;margin-right:-20px}.home-banner .checklist li{font-size:12px;white-space:nowrap;line-height:1.8}.home-banner .checklist li:before{border-radius:50%;background:#ffac39;color:white;padding:2px 5px;font-size:12px}.review{padding:15px 14px;display:grid;grid-template-columns:64px 1fr;gap:0 12px;border:0;box-shadow:var(--shadow)}.review .avatar{grid-row:span 3;width:62px;height:62px;border-radius:50%;min-height:0;aspect-ratio:1}.review p{font-size:12px;line-height:1.5;margin:5px 0 8px}.review strong{font-size:11px!important;font-weight:500}.review .stars{font-size:13px;letter-spacing:1px}.review .demo-review{display:none}.footer{padding:20px 0 16px;background:white}.footer-grid{grid-template-columns:2.2fr 1.3fr 1.3fr 1.7fr;gap:25px}.footer-grid strong{font-size:12px}.footer a{font-size:11px;line-height:1.25}.footer .brand{font-size:29px;color:var(--ink);line-height:1}.footer .sun{width:35px;height:35px}.footer .sun-symbol{width:35px;height:35px}.footer-bottom{margin-top:15px;padding-top:10px;border-top:0;font-size:10px}.footer-grid p{font-size:11px!important}.home-hero{min-height:360px;height:360px;padding-top:36px}.home-hero h1{font-size:clamp(50px,5.4vw,68px);line-height:1.06;letter-spacing:-2.5px}.home-hero .hero-copy{width:52%}.home-hero p{font-size:20px;max-width:510px}.home-hero .hero-art{width:54%;height:475px;top:-70px;border-radius:90px 0 0 60px;z-index:-1}.home-hero h1 .doodle{left:80%;top:68%;font-size:38px}.round-categories{padding-top:25px;gap:26px}.round-categories .photo{border-radius:35px;max-width:150px;margin-left:auto;margin-right:auto}.round-categories strong{font-size:15px}.profile-layout{grid-template-columns:minmax(0,1fr) 340px;gap:25px;padding-top:24px}.profile-layout .content-block{padding:13px 0}.profile-layout .content-block h2{font-size:27px;letter-spacing:-.8px;font-weight:900;margin-bottom:12px}.profile-layout .content-block p{font-size:14px;line-height:1.6}.profile-layout .tabbar{gap:24px}.profile-layout .specs{padding:14px 12px;background:#faf6f1}.specs strong{font-size:12px}.gallery{grid-template-rows:155px 155px;gap:10px}.booking h2{font-size:27px;font-weight:900}.booking{padding:22px;border:1px solid #eee8ef;border-radius:14px;background:#fffdfa}.booking .field>span{font-size:12px}.booking .field input,.booking .field select{min-height:39px;padding:8px 10px;font-size:13px}.booking .field{margin-bottom:12px}.booking .time-pills button{font-size:12px;padding:8px 11px}.booking .price-line{font-size:13px}.booking .price-line.total{font-size:21px}.booking .btn{font-size:14px}.package{padding:16px}.package.selected{padding:15px}.package strong{font-size:14px}.package p{font-size:12px}.package .checklist li{font-size:12px}.profile-layout .grid2{gap:12px}.profile-layout .grid3{gap:10px}.profile-layout .service-tile h3{font-size:15px}.content-block .amenity{font-size:11px;padding:12px 10px}.profile-layout .review{display:block}.profile-layout .review p{font-size:12px}.search-inline{margin-top:0;min-height:75px}.result-card{border:1px solid var(--line);grid-template-columns:210px 1fr}.result-card .photo{height:205px;aspect-ratio:auto;border-radius:13px 0 0 13px}.result-card .card-body{padding:15px}.result-card .card-head h3{font-size:20px}.result-card .card-bottom{margin-top:10px}.result-layout .categories{justify-content:flex-start;padding:0;gap:8px}.result-layout .categories .chip{padding:7px 12px;min-height:35px;font-size:12px;box-shadow:none}.service-card .photo{aspect-ratio:1;height:auto}.service-card{border:1px solid var(--line)}.service-card .card-body{padding:16px}.service-card.selected{border:2px solid var(--purple)}.service-card .field{font-size:13px}.checkout-layout .categories{padding-top:0;justify-content:flex-start;gap:12px}.checkout-layout .categories .chip{min-height:38px;box-shadow:none;padding:9px 23px}.order-card .photo{aspect-ratio:1.7;height:auto}.order-card{border:1px solid var(--line)}.order-card .card-body{padding:17px}.card.service-tile:hover{transform:translateY(-3px)}.photo{isolation:isolate}.dashboard .brand{color:white}.dashboard .panel{box-shadow:none}.dashboard .sidebar{background:#321747}.dashboard .dash-main{background:#faf7fb}.dashboard .metric strong{font-size:34px}.dashboard .metric{border-radius:16px;background:linear-gradient(135deg,#ffffff,#faf7ff)}.dashboard .dash-top h1{font-size:33px}.dashboard .sidebar .active{background:#e5c8ff}.dashboard .panel{border-radius:15px}.dashboard .notice{display:none}
@media(min-width:1600px){.hero-art{right:calc((100vw - 1320px)/2 - 35px);width:680px}.hero{height:340px;min-height:340px}.home-hero{height:380px;min-height:380px}}
@media(max-width:1050px) and (min-width:761px){.nav{gap:17px;font-size:11px}.header{height:63px}.header-right{gap:6px}.brand{font-size:29px}.hero{height:290px;min-height:290px;padding-top:35px}.hero h1{font-size:50px}.hero p{font-size:18px}.hero-art{top:-63px;height:407px}.search-panel{margin-top:-77px;gap:8px}.search-panel .btn{min-width:125px;font-size:13px}.search-field{padding:5px 9px;min-height:52px}.categories{gap:10px;padding:19px 0 8px}.categories .chip{padding:5px 17px;font-size:11px;min-height:49px}.section-title h2{font-size:35px}.home-banner h2{font-size:35px}.home-banner .photo{height:100%;width:43%}.home-banner{grid-template-columns:1.3fr .7fr 1fr}.home-banner>ul{display:block}.home-banner .checklist li{font-size:11px}.home-hero{height:340px;min-height:340px}.home-hero h1{font-size:55px}.home-hero .hero-art{height:455px;top:-63px}}
@media(max-width:760px){.wrap{padding-left:18px;padding-right:18px}.header{height:70px;background:var(--cream)}.brand{font-size:29px}.sun{height:36px;width:36px}.sun-symbol{height:36px;width:36px}.header-right .pill-link{font-size:0;min-height:35px}.header-right .cart-count{font-size:10px}.hero,.home-hero{height:auto;min-height:0;padding:23px 0 0;overflow:hidden}.hero .hero-copy,.home-hero .hero-copy{width:100%}.hero h1{font-size:clamp(34px,8.5vw,48px);line-height:1.08;letter-spacing:-1.3px;max-width:100%}.hero h1 .doodle{position:absolute;top:-13px;right:0;left:auto;font-size:30px}.hero p{font-size:16px;margin-top:15px}.hero-art,.home-hero .hero-art{position:relative;top:auto;right:auto;width:100%;height:230px;border-radius:45px 45px 0 0;z-index:0;margin-top:22px}.hero-art:after{display:none}.search-panel{margin-top:-37px;padding:12px;grid-template-columns:1fr 1fr;gap:8px}.search-inline{margin-top:0}.search-panel .btn{grid-column:span 2;min-height:46px;min-width:0}.search-field{min-height:55px;padding:6px 10px}.search-field label>span{font-size:10px}.search-field input,.search-field select,.date-display>strong{font-size:14px}.categories{justify-content:flex-start;gap:10px;padding:18px 0 8px}.categories .chip{min-height:47px;padding:6px 14px;font-size:11px}.chip .category-art{width:30px;height:32px}.section{padding:25px 0}.section-title h2{font-size:29px}.section-title p{font-size:13px}.section-title>.btn{min-height:34px;padding:8px 10px;font-size:10px}.card > .photo{aspect-ratio:1.7;height:auto}.card-body{padding:13px 15px 17px}.card-body h3{font-size:21px}.grid3{gap:18px}.grid4{gap:11px}.service-tile .photo{aspect-ratio:1.6;height:auto}.service-tile h3{font-size:17px}.service-tile p{font-size:11px}.lavender-section{padding:24px 0}.home-banner{display:flex;flex-direction:column;align-items:stretch;padding:22px;gap:12px;border-radius:22px}.home-banner .photo{position:relative;height:200px;width:100%;border-radius:35px 35px 10px 10px}.home-banner .checklist{display:none}.home-banner h2{font-size:33px}.home-banner p{font-size:14px}.review{grid-template-columns:57px 1fr;padding:18px}.review .avatar{width:55px;height:55px}.review p{font-size:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-grid strong{font-size:13px}.footer a{font-size:12px;line-height:1.5}.footer-bottom{font-size:10px}.home-hero h1{font-size:46px}.home-hero h1 .doodle{right:17%;top:67%;left:auto}.home-hero .hero-art{height:245px}.round-categories{gap:18px;padding-top:22px}.round-categories .photo{border-radius:24px}.round-categories strong{font-size:12px}.profile-layout{grid-template-columns:1fr;gap:18px}.gallery{grid-template-rows:135px 135px}.profile-layout .booking{order:-1}.profile-layout .content-block h2{font-size:27px}.profile-layout .content-block p{font-size:14px}.booking{padding:20px}.booking .grid2{grid-template-columns:1fr 1fr}.profile-layout .grid3{grid-template-columns:repeat(3,1fr)}.profile-layout .service-tile .photo{aspect-ratio:1.1}.profile-layout .service-tile .card-body{padding:9px}.profile-layout .service-tile h3{font-size:12px;letter-spacing:0}.profile-layout .content-block .grid2{grid-template-columns:1fr}.result-card{grid-template-columns:130px 1fr}.result-card .photo{height:225px;aspect-ratio:auto}.result-card .card-head h3{font-size:17px}.result-card .card-body{padding:12px}.result-layout .categories{padding-bottom:9px;overflow-x:auto;flex-wrap:nowrap}.result-layout .categories .chip{min-height:35px;font-size:11px}.service-card .photo{aspect-ratio:1}.service-card .card-body{padding:12px}.service-card h3{font-size:17px}.checkout-layout .categories .chip{padding:7px 12px;min-height:36px;font-size:12px}.order-card .photo{aspect-ratio:1.8}.dashboard .sidebar .brand{display:none}.dash-main{padding:20px 15px}.dashboard .metric strong{font-size:24px}.dashboard .dash-top h1{font-size:27px}.dashboard .sidebar{padding:10px}}
.hero{isolation:isolate}.home-banner:before{content:'';position:absolute;left:0;top:0;width:60%;height:100%;background:linear-gradient(90deg,#ffead8,#ffead8ee 78%,transparent);z-index:1;pointer-events:none}.home-banner>div:first-child,.home-banner .checklist{z-index:2}.home-banner .btn{position:relative}.search-field:has(.date-display){position:relative}.date-display input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.review .demo-review{grid-column:2}.header-right .pill-link:has(.cart-count){border:0;background:transparent;padding:5px;min-width:24px}.header-right .cart-count{display:none}.header-right .pill-link:has(.cart-count) svg{width:18px}.header-right>a:first-child{font-size:11px}.service-tile .photo:before{content:none}.photo.category-art{background-color:transparent;border-radius:0}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/fraunces-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/fraunces-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/fraunces-900.ttf) format('truetype');
}

h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:800}.home-hero h1,.dash-top h1{font-family:'Nunito',Arial,sans-serif}
.socials{display:flex;align-items:center;gap:12px;margin-top:7px}.socials a{font-size:25px;font-weight:900;color:var(--ink)}.socials span{color:#dc90d0;font-size:28px}.hero:not(.home-hero) .hero-art .photo{background-position:55% center!important}.header .nav a:last-child{white-space:nowrap}.profile-layout .photo[data-crop]{background-position:initial}
@media(min-width:1060px){.hero:not(.home-hero){padding-top:46px}.hero:not(.home-hero) h1{font-size:clamp(49px,4.35vw,57px);line-height:1.06;letter-spacing:-1.7px}.hero:not(.home-hero) h1 .doodle{left:71%;top:-30px}.hero:not(.home-hero) p{margin-top:17px;font-size:20px}}
/* Keep photographs behind the live controls at every breakpoint. */
.hero{z-index:0}.hero-art{z-index:-1}.hero+.wrap{position:relative;z-index:1}.categories{position:relative;z-index:2}.photo.category-art{overflow:hidden}.search-field:has(.date-display){overflow:hidden}.profile-layout .map{min-height:220px}.profile-layout>aside .panel{padding:18px}.profile-layout>aside .panel h3{font-family:'Fraunces',Georgia,serif}.profile-layout>article .specs{grid-template-columns:repeat(4,1fr)}.profile-layout>article .specs>div{padding:0 8px;border-right:1px solid var(--line)}.profile-layout>article .specs>div:last-child{border:0}.profile-title{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.profile-title h1{font-family:'Fraunces',Georgia,serif;font-size:43px;font-weight:800;letter-spacing:-1.3px}.profile-title .rating{font-size:13px}.photo.viewer-main{aspect-ratio:16/10;height:auto!important}.gallery-strip{display:flex;gap:10px;margin-top:15px;overflow:auto}.gallery-strip button{padding:0;width:130px;flex-shrink:0;border-radius:10px;overflow:hidden}.gallery-strip .photo{height:85px!important}.calendar-picker{background:white;border:1px solid var(--line);border-radius:12px;padding:14px}.calendar-picker header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-picker header button{width:32px;height:32px;border-radius:50%;background:var(--lavender);color:var(--purple);font-size:20px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-days span{font-size:11px;color:var(--muted);padding:5px}.calendar-days button{height:35px;font-size:13px;border-radius:50%;background:white}.calendar-days button:hover{background:var(--lavender)}.calendar-days button.selected{background:var(--purple);color:white}.calendar-days button:disabled{color:#c7bfca;cursor:not-allowed}.calendar-days .blank{height:35px}.counter{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:white;min-height:39px}.counter button{width:30px;height:29px;font-size:22px;line-height:1;background:#faf7fc;border-radius:6px}.counter input{border:0!important;text-align:center;padding:0!important;min-height:20px!important;width:45px!important;appearance:textfield;-moz-appearance:textfield}.counter input::-webkit-inner-spin-button{appearance:none}.profile-doodle{color:#ffab39;font-size:36px}.booking-step-main{max-width:900px;margin:auto}.booking-step-heading{display:flex;gap:24px;align-items:center;padding:20px 0}.booking-step-heading .photo{width:45%;height:230px;flex-shrink:0}.booking-step-heading h2{font-family:'Nunito',Arial,sans-serif;font-size:28px;letter-spacing:-.5px}.booking-step-heading ul{padding:12px 0 0;list-style:none;margin:0}.booking-step-heading li{font-size:13px;padding:4px 0}.booking-step-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.booking-step-fields .time-pills{margin-top:9px}.checkout-title h1{font-family:'Nunito',Arial,sans-serif;font-weight:900;font-size:40px;letter-spacing:-1.2px}.step-footer{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:#fffffff5;box-shadow:var(--shadow);z-index:4;margin:22px 0}.step-footer p{font-size:12px}.step-footer strong{font-size:14px}.step-footer .btn{border-radius:28px}.addon-supplier{display:flex;gap:9px;align-items:center;font-size:12px;margin:12px 0}.addon-supplier .photo{width:32px;height:32px;min-height:0;border-radius:50%;aspect-ratio:1}.addon-supplier strong{font-size:12px}.addon-supplier small{font-size:10px}.addon-supplier>div:last-child{flex:1}.address-help{font-size:12px;color:var(--muted);margin:7px 0 14px}.venue-list-layout{display:grid;grid-template-columns:200px minmax(0,1fr) 280px;gap:20px;align-items:start}.venue-list-layout .result-card{grid-template-columns:150px 1fr;min-height:165px}.venue-list-layout .result-card .photo{height:165px}.venue-list-layout .card-body{padding:12px}.venue-list-layout .card-body h3{font-family:'Fraunces',Georgia,serif;font-size:19px}.venue-list-layout .result-card .card-meta{font-size:11px;margin:4px 0 7px}.venue-list-layout .result-card .card-bottom{margin-top:5px}.venue-list-layout .map-aside{position:sticky;top:20px}.venue-list-layout .map{min-height:590px}.results-search-hero{padding:25px;border-radius:18px;background:linear-gradient(100deg,#fff5ef,#fce9e7);position:relative;overflow:hidden;margin:16px 0 23px}.results-search-hero h1{font-size:40px;position:relative;z-index:1}.results-search-hero p{position:relative;z-index:1;color:var(--muted);font-size:14px;margin-top:8px}.results-search-hero:after{content:'';position:absolute;top:0;right:0;bottom:0;width:38%;background:url('/assets/hero-photo.png') center/cover;mask-image:linear-gradient(90deg,transparent,black 50%)}.results-search-hero .search-panel{margin:25px 0 0;position:relative;z-index:2;box-shadow:none}.filter-section-title{font-size:13px;font-weight:700;margin:14px 0 8px}.duration-filter{width:100%;padding:9px;border-radius:8px;border:1px solid var(--line);background:white;font-size:13px}.photo-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.photo-tags .badge{font-size:10px;padding:3px 7px}.slot-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.slot-links a{padding:3px 8px;border-radius:6px;border:1px solid #e3d5ef;color:var(--purple);font-size:11px}.tabs-with-icon svg{width:16px;height:16px}.supplier-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.dashboard.admin-view .sidebar{background:#f0e8f9;color:var(--ink)}.dashboard.admin-view .sidebar .brand{color:var(--ink)}.metric-label{display:flex;gap:14px;align-items:center}.metric-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--lavender);color:var(--purple)}.metric:nth-child(2) .metric-icon{background:#ffe8dc;color:#d67845}.metric:nth-child(3) .metric-icon{background:var(--lime);color:#6d943a}.dash-main .calendar-and-detail{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:18px}.dash-main .calendar-details{border-radius:12px;padding:16px;background:#fdfaf4}.dash-main .calendar{min-height:350px}.dash-main .day{border-radius:0;padding:7px 5px;background:linear-gradient(#fdfbff,#fff);min-height:350px}.dash-main .appointment{margin-top:40px;padding:14px 7px}.dash-main .appointment:nth-child(3){margin-top:15px}.supplier-gallery-row{display:flex;align-items:center;gap:12px}.supplier-gallery-row .photo{width:55px;height:48px;min-height:0;border-radius:9px}.demo-payment-methods{display:flex;gap:12px;margin:15px 0}.demo-payment-methods button{border:1px solid var(--line);border-radius:8px;padding:12px;flex:1;font-size:14px}.demo-payment-methods button.selected{border-color:var(--purple);color:var(--purple);background:#faf5ff}.payment-preview-fields{opacity:.7;display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;pointer-events:none}.demo-seed-note{font-size:12px;color:var(--muted);padding:12px 0}.order-meta{display:flex;justify-content:space-between;align-items:center;gap:20px}.order-meta h1{font-size:43px}.rating-breakdown{display:flex;align-items:center;gap:24px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:15px}.rating-breakdown>strong{font:800 40px 'Nunito',Arial,sans-serif}.rating-breakdown .stars{font-size:18px}.gallery .photo:first-child button:first-child{right:auto;left:12px;background:#2e1742d9;color:white}.info-chips{display:flex;gap:10px;flex-wrap:wrap}.info-chips .chip{font-size:12px}.admin-view .sidebar .sun-symbol{width:35px}.standalone-service-title{display:flex;align-items:center;justify-content:space-between;gap:25px}.weather-note{background:#f0e8ff;border-radius:10px;padding:13px 17px;color:var(--purple);font-size:13px;margin-top:18px}.category-color-0{background:#efe4ff!important;color:#713eab}.category-color-1{background:#ffe0d7!important;color:#be6352}.category-color-2{background:#e0f4d1!important;color:#578d3e}
@media(max-width:1100px){.venue-list-layout{grid-template-columns:185px minmax(0,1fr)}.venue-list-layout .map-aside{display:none}.dash-main .calendar-and-detail{grid-template-columns:1fr}.dashboard .calendar-details{display:none}}
@media(max-width:760px){.hero+.wrap{z-index:1}.profile-title h1{font-size:34px}.profile-title{gap:9px}.profile-layout>article .specs{grid-template-columns:1fr 1fr;gap:15px}.venue-list-layout{grid-template-columns:1fr}.venue-list-layout .result-card{grid-template-columns:130px 1fr}.venue-list-layout .result-card .photo{height:210px}.results-search-hero{padding:20px 14px}.results-search-hero h1{font-size:31px}.results-search-hero .search-panel{margin-top:23px}.results-search-hero:after{width:55%;opacity:.45}.booking-step-heading{gap:16px}.booking-step-heading .photo{height:170px;width:42%}.booking-step-heading h2{font-size:21px}.booking-step-heading li{font-size:11px}.booking-step-fields{grid-template-columns:1fr;gap:15px}.checkout-title h1{font-size:31px}.step-footer{padding:13px;bottom:8px;gap:10px}.step-footer .btn{font-size:12px;padding:11px 16px}.step-footer strong{font-size:12px}.step-footer p{font-size:10px}.supplier-detail-layout{grid-template-columns:1fr}.order-meta{display:block}.order-meta h1{font-size:33px}.demo-payment-methods{gap:8px}.payment-preview-fields{grid-template-columns:1fr}.metric-icon{width:32px;height:32px}.metric-label{gap:8px}.dashboard .metric-label>div{min-width:0}.metric-icon svg{width:16px;height:16px}.standalone-service-title{display:block}.rating-breakdown{gap:15px}.gallery .photo:first-child button:first-child{font-size:10px}.gallery-strip button{width:100px}.gallery-strip .photo{height:70px!important}}
.is-profile .header{height:clamp(58px,6vw,72px)}.is-profile .breadcrumbs{padding:12px 0;font-size:11px}.is-profile .profile-header{margin:10px 0 20px}.is-profile .gallery{grid-template-rows:clamp(125px,13vw,165px) clamp(125px,13vw,165px)}.is-profile .profile-layout{grid-template-columns:minmax(0,2.05fr) minmax(280px,1fr);gap:28px}.is-profile .profile-title h1{font-size:clamp(32px,3.7vw,45px)}.is-profile .content-block h2{font-size:27px}.is-checkout .header{height:68px}.gallery-strip>.photo{height:85px;flex:1}.calendar .day{min-height:220px}.calendar .appointment{width:100%;text-align:left;line-height:1.35}.viewer-main{height:380px;border-radius:12px}.calendar-picker button:disabled{opacity:.3;cursor:not-allowed}.counter input{min-width:0}.profile-title svg{width:15px;height:15px}.booking-step-main .package{padding:18px;text-align:left}.supplier-gallery-row{display:flex;gap:12px;align-items:center}.supplier-gallery-row .photo{width:50px;height:44px;min-height:0;border-radius:7px}.payment-preview-fields input:disabled{background:white;color:#948a9c}.demo-payment-methods svg{width:18px;height:18px;vertical-align:middle;margin-right:6px}
@media(max-width:760px){.is-profile .profile-layout{grid-template-columns:1fr}.is-profile .gallery{grid-template-rows:110px 110px}.is-profile .profile-header{display:block}.is-profile .profile-header>div:last-child{margin-top:12px}.is-profile .profile-title{flex-wrap:wrap}.viewer-main{height:250px}.calendar .day{min-width:110px}}

@media(min-width:761px){.hero:not(.home-hero) .hero-art{height:370px;top:-70px}.home-hero .hero-art{height:390px;top:-70px}}
/* Component sizing and responsive layout: one consistent set of constraints. */
:root{--content-width:1200px;--space:24px}html{scroll-padding-top:24px}body{min-width:320px}#app{width:100%;overflow:clip}button,input,select,textarea{max-width:100%}button{line-height:1.35}input,select{min-width:0}svg{display:inline-block;overflow:visible;width:20px;height:20px;flex:0 0 20px}svg:not(.sun-symbol){stroke:currentColor;stroke-width:1.8;fill:none}.wrap{width:100%;max-width:var(--content-width);padding:0 32px}.wrap>*{min-width:0}.grid2,.grid3,.grid4{gap:24px}.grid2>* ,.grid3>* ,.grid4>*{min-width:0}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.section{padding:40px 0}.section-title{align-items:center;gap:20px;margin-bottom:24px}.section-title h2{font-size:clamp(28px,3.1vw,38px);line-height:1.18}.section-title p{font-size:14px;line-height:1.5}.section-title>.btn{flex-shrink:0}.header{height:80px;gap:24px;background:var(--cream)}.brand{flex-shrink:0;font-size:32px;line-height:1.1}.nav{gap:22px;white-space:nowrap}.header-right{flex-shrink:0}.header-right .pill-link{min-height:40px}.header-right .cart-count{display:inline-flex}.header-right .pill-link:has(.cart-count){gap:5px;padding:8px}.sun,.sun-symbol{width:40px;height:44px}.header-right>a:first-child{font-size:12px}.header .brand,.footer .brand{display:flex;color:var(--ink)}
.hero,.home-hero{position:relative;isolation:isolate;height:320px;min-height:320px;overflow:hidden;padding:38px 0 52px}.hero .hero-copy,.home-hero .hero-copy{width:60%;max-width:690px;z-index:2}.hero:not(.home-hero) h1{font-size:clamp(42px,4.2vw,54px);line-height:1.09;letter-spacing:-1.8px}.hero:not(.home-hero){padding-top:38px}.hero:not(.home-hero) p,.home-hero p{font-size:18px;line-height:1.5;max-width:480px;margin-top:18px}.hero .hero-art,.hero:not(.home-hero) .hero-art,.home-hero .hero-art{position:absolute;top:0;right:0;width:53%;height:100%;margin:0;border-radius:90px 0 0 60px;z-index:0}.hero .hero-art .photo{height:100%!important;width:100%;border-radius:0}.hero .hero-art:after{background:linear-gradient(90deg,var(--cream),#fffdfb20 18%,transparent 38%)}.hero+.wrap{position:relative;z-index:3}.hero h1 .doodle,.hero:not(.home-hero) h1 .doodle{left:auto;right:8%;top:-20px;font-size:35px}.home-hero{height:360px;min-height:360px}.home-hero h1{font-size:58px;line-height:1.06;max-width:500px}.home-hero .hero-copy{width:53%}.home-hero h1 .doodle{top:65%;right:12%}.search-panel{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;padding:14px;margin-top:-36px;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px #391d3210}.search-field{min-width:0;min-height:58px;padding:8px 12px;gap:10px}.search-field label{min-width:0;flex:1}.search-field svg{color:var(--purple);width:19px;height:19px;flex-basis:19px}.search-panel .btn{min-width:150px;padding:12px 18px}.search-inline{margin-top:0}.search-panel input,.search-panel select,.date-display>strong{line-height:1.5;min-height:26px}.categories{position:relative;z-index:0;justify-content:center;gap:12px;padding:24px 0 0;flex-wrap:wrap;overflow:visible}.categories .chip{padding:10px 16px;min-height:54px;font-size:13px;gap:10px;box-shadow:none;max-width:100%;white-space:normal;text-align:left}.category-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#f2e6ff;color:#7836b8}.category-icon svg{width:25px;height:25px}.tone-1{background:#ffe5da;color:#cd7855}.tone-2{background:#e8f3d6;color:#668d39}.tone-3{background:#dfeeff;color:#507aaf}.tone-4{background:#ffe9f2;color:#bc6389}.chip.active .category-icon,.chip:hover .category-icon{background:#ffffff26;color:white}.chip .category-art{display:none}
.card{border:1px solid #eee7ef;border-radius:16px;overflow:hidden;min-width:0;background:white;box-shadow:0 4px 14px #36173107}.card>.photo{aspect-ratio:1.65;height:auto;min-height:0;border-radius:0}.card-body{padding:16px 18px 18px;min-width:0}.card-body h3{font-size:20px;line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere}.card-head{align-items:start;gap:10px;flex-wrap:wrap}.card-head>a,.card-head>span:first-child{min-width:0}.card-head>a{flex:1}.card-head .rating{padding-top:3px}.card-meta{font-size:12px;line-height:1.6;margin:8px 0 12px}.card-bottom{gap:10px;flex-wrap:wrap;align-items:center}.card-bottom .price{font-size:19px;white-space:nowrap}.badge{font-size:11px;padding:5px 9px}.favorite{width:36px;height:36px;display:grid;place-items:center}.service-tile>.photo{aspect-ratio:1.8;height:auto}.service-tile .card-body{padding:14px}.service-tile h3{font-size:18px}.service-tile p{font-size:13px;line-height:1.5}.service-card>.photo{aspect-ratio:1.35;height:auto}.service-card .card-body{padding:16px}.service-card .addon-supplier .photo{width:32px;height:32px;min-height:0;aspect-ratio:1;border-radius:50%;flex:0 0 32px}.addon-supplier{align-items:center}.addon-supplier>div:last-child{min-width:0}.addon-supplier strong,.addon-supplier small{display:block;line-height:1.4}.addon-supplier strong{font-size:12px}.service-card.selected{border-width:2px}.card .field input,.card .field select{font-size:14px}
.home-banner{position:relative;display:grid;grid-template-columns:1.15fr .8fr 1fr;padding:28px;gap:24px;overflow:hidden;min-height:220px}.home-banner:before{display:none}.home-banner .photo{position:static;width:100%;height:185px;border-radius:20px;min-width:0}.home-banner h2{font-size:34px}.home-banner p{font-size:14px;line-height:1.55}.home-banner .checklist{margin:0}.home-banner .checklist li{white-space:normal;font-size:13px;line-height:1.5}.review{display:block;padding:20px;min-width:0;border:1px solid var(--line)}.review .avatar{float:left;margin:0 12px 8px 0;width:50px;height:50px;aspect-ratio:1;min-height:0}.review p{font-size:14px;line-height:1.6;clear:both}.review strong{font-size:12px!important}.review .stars{font-size:14px}.footer-grid{gap:30px;grid-template-columns:1.7fr 1fr 1fr 1fr}.footer a{font-size:13px;line-height:1.6}.footer-grid strong{font-size:14px}.footer .brand{font-size:28px}.footer-bottom{gap:20px;align-items:start;flex-wrap:wrap;font-size:11px;line-height:1.5}.socials{display:flex;gap:12px}.round-categories{gap:20px}.round-categories .photo{aspect-ratio:1;min-height:0;height:auto;width:100%;max-width:130px}.round-categories strong{font-size:14px;line-height:1.45}
.profile-header,.standalone-service-title{align-items:center}.profile-title{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0}.profile-title h1,.is-profile .profile-title h1{font-size:clamp(30px,3.7vw,42px);line-height:1.15}.profile-title .rating{font-size:13px}.gallery,.is-profile .gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:150px 150px;gap:10px;border-radius:16px}.gallery .photo{min-height:0;height:100%;aspect-ratio:auto}.gallery button{max-width:calc(100% - 20px);white-space:normal;line-height:1.4}.profile-layout,.is-profile .profile-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start;padding-top:28px}.profile-layout>article,.profile-layout>aside{min-width:0}.profile-layout>aside .booking{position:static}.profile-layout>aside{position:sticky;top:24px}.tabbar{gap:24px;overflow:auto}.tabbar a{font-size:13px;padding:12px 0}.specs{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px}.specs svg{color:var(--purple);margin-bottom:8px;width:25px;height:25px}.specs strong{font-size:12px;line-height:1.5}.specs small{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.content-block p{line-height:1.7}.amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.amenity{min-width:0;padding:12px;line-height:1.45;font-size:12px}.amenity svg{color:var(--purple)}.package,.package.selected{padding:18px;min-width:0}.package .card-head{display:grid;grid-template-columns:minmax(0,1fr) auto}.package strong{font-size:14px;line-height:1.5}.package .checklist li{font-size:13px;line-height:1.6}.package p{font-size:13px;line-height:1.6}.booking{padding:22px;background:white;min-width:0}.booking h2{font-size:27px;line-height:1.2;overflow-wrap:anywhere}.booking h2 .doodle{font-size:25px}.booking .field input,.booking .field select{min-height:44px;font-size:14px;padding:10px}.booking .field>span{font-size:13px}.booking .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.time-pills{flex-wrap:wrap;gap:8px}.time-pills button{min-height:40px;flex:1 0 65px;padding:8px 10px}.price-line{gap:12px;line-height:1.5}.price-line>span:last-child,.price-line>b{white-space:nowrap;flex-shrink:0}.booking .price-line{font-size:13px}.booking .price-line.total{font-size:21px}.counter{display:flex;min-width:0;width:100%;height:44px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.counter button{width:38px;min-width:38px;height:42px;background:#f8f3fb;display:grid;place-items:center;font-size:20px}.counter input,.booking .counter input{width:100%;border:0;border-radius:0;padding:4px;text-align:center;min-width:0;min-height:0;appearance:textfield}.counter input::-webkit-inner-spin-button{appearance:none}.gallery-strip{display:flex;gap:10px;margin:15px 0;overflow-x:auto}.gallery-strip>button{flex:0 0 100px;padding:0}.gallery-strip .photo,.modal .gallery-strip .photo{height:75px;width:100%;min-height:0;aspect-ratio:auto;border-radius:9px}.gallery-strip>.photo{height:85px;flex:1 0 100px}.viewer-main,.modal .viewer-main{height:420px;width:100%;min-height:0;aspect-ratio:auto}.rating-breakdown{flex-wrap:wrap;gap:16px;padding:20px}.rating-breakdown .btn{margin-left:auto}.is-service-profile .section-title h1{font-size:38px!important;line-height:1.2}.is-service-profile .profile-layout>article>.photo{height:auto!important;aspect-ratio:1.65;min-height:0}.is-service-profile .profile-layout>aside{position:sticky;top:24px}.is-service-profile .profile-layout>aside.booking{height:auto}
.checkout-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.checkout-layout>section,.checkout-layout>form,.checkout-layout>aside{min-width:0}.checkout-layout>aside{position:sticky;top:24px}.checkout-layout>aside .booking{position:static}.checkout-layout .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.checkout-layout .categories{justify-content:flex-start;padding:0;gap:10px}.checkout-layout .categories .chip{padding:8px 12px;min-height:44px}.checkout-layout .category-icon{width:25px;height:25px;flex-basis:25px}.checkout-layout .category-icon svg{width:19px;height:19px}.summary-item{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center}.summary-item .photo{height:50px;width:50px;aspect-ratio:1;min-height:0;border-radius:8px}.summary-item .desc{min-width:0}.summary-item strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.summary-item b{font-size:13px;white-space:nowrap}.summary-item small{line-height:1.5}.panel{padding:24px}.panel h3{line-height:1.4}.progress{flex-wrap:wrap;gap:24px}.progress a{font-size:13px;line-height:1.5}.booking-step-main{max-width:960px}.booking-step-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;margin-bottom:28px;align-items:center}.booking-step-heading>.photo{width:100%;height:auto;aspect-ratio:1.45;min-height:0}.booking-step-heading h2{font-size:28px}.booking-step-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.booking-step-main .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-picker{padding:12px;border:1px solid var(--line);border-radius:12px}.calendar-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-picker header button{width:36px;height:36px;font-size:23px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-days>span{font-size:11px;padding:5px 0;color:var(--muted)}.calendar-days>button{min-height:34px;font-size:13px;border-radius:8px}.calendar-days .selected{background:var(--purple);color:white}.package-photo{width:95px!important;height:85px!important;min-height:0;aspect-ratio:auto!important;border-radius:10px;flex:0 0 95px}.step-footer{position:static;gap:18px;flex-wrap:wrap;min-width:0}.step-footer>div{flex:1;min-width:220px}.step-footer .btn{min-width:120px}.payment-preview-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.radio-options{flex-wrap:wrap}.radio-option{min-width:200px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-meta{flex-wrap:wrap}.order-meta h1{font-size:36px}.order-card>.photo{aspect-ratio:1.7;height:auto}.event-banner{flex-wrap:wrap}.timeline li{align-items:start;min-width:0}.timeline time{flex:0 0 55px}.table-wrap{max-width:100%;overflow:auto}.calendar-container{max-width:100%;overflow:auto}.calendar{min-width:700px;grid-template-columns:repeat(7,minmax(0,1fr))}.dashboard{grid-template-columns:220px minmax(0,1fr)}.dashboard .sidebar{min-width:0}.dash-main{padding:28px;min-width:0}.dash-top{flex-wrap:wrap}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric{padding:20px;min-width:0}.metric strong{font-size:30px!important;overflow-wrap:anywhere}.sidebar a svg{display:inline-block}.dashboard .sidebar .brand{font-size:25px;padding:0;color:white}.sidebar .sun-symbol{width:30px;height:34px;flex-basis:30px}.dashboard.admin-view .sidebar .brand{color:var(--ink)}.modal{padding:24px;max-height:calc(100dvh - 40px);overflow:auto}.modal-top{align-items:start}.modal-top h2{font-size:27px;min-width:0}.close{flex:0 0 36px}.builder-banner{flex-wrap:wrap}.builder-items{min-width:0}.empty{padding:32px 20px}.note{line-height:1.6}.btn{white-space:normal;line-height:1.4}.btn svg{flex-shrink:0}
@media(max-width:1100px){.header-right>a:first-child{display:none}.nav{gap:16px;font-size:12px}.header{gap:16px}.brand{font-size:29px}.venue-list-layout{grid-template-columns:190px minmax(0,1fr)}.venue-list-layout .map-aside{display:none}.profile-layout,.is-profile .profile-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.home-banner{grid-template-columns:1.1fr 1fr}.home-banner>ul{display:none}.checkout-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.dashboard{grid-template-columns:190px minmax(0,1fr)}.dash-main{padding:20px}}
@media(max-width:900px){.nav{display:none}.mobile-menu{display:grid;place-items:center;width:40px;height:40px}.header.nav-open .nav{display:grid;position:absolute;top:80px;left:0;right:0;padding:20px;background:var(--cream);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.hero .hero-copy{width:64%}.hero:not(.home-hero) h1{font-size:44px}.hero p{max-width:380px}.search-panel{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.search-panel>.btn{grid-column:1/-1;min-height:46px}.hero .hero-art{width:48%}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{gap:18px}.card-body{padding:14px}.card-body h3{font-size:18px}.profile-layout,.is-profile .profile-layout,.checkout-layout{grid-template-columns:1fr}.profile-layout>aside,.is-service-profile .profile-layout>aside,.checkout-layout>aside{position:static}.profile-layout>article{order:0}.profile-layout>aside{order:1}.checkout-layout>aside{order:-1}.checkout-layout>aside .booking{padding:18px}.gallery,.is-profile .gallery{grid-template-rows:135px 135px}.specs{gap:12px}.metrics{gap:12px}.metric{padding:15px}.metric strong{font-size:25px!important}}
@media(max-width:600px){.wrap{padding:0 18px}.header,.is-profile .header,.is-checkout .header{height:70px;gap:10px}.brand{font-size:26px;gap:5px}.sun,.sun-symbol{width:32px;height:36px}.header-right{gap:5px}.header-right .pill-link{font-size:0;padding:8px;width:38px;height:38px;min-height:38px}.header-right .pill-link:has(.cart-count){width:auto;gap:3px;padding:6px}.header-right .cart-count{display:inline-flex;font-size:10px}.header.nav-open .nav{top:70px}.hero,.hero:not(.home-hero),.home-hero{height:auto;min-height:0;padding:26px 0 0;display:flex;flex-direction:column;overflow:hidden}.hero .hero-copy,.home-hero .hero-copy{width:100%;max-width:100%}.hero:not(.home-hero) h1{font-size:clamp(32px,8.3vw,44px);letter-spacing:-1px;line-height:1.13}.home-hero h1{font-size:44px}.hero:not(.home-hero) p,.home-hero p{font-size:16px;margin:16px 0 0;max-width:95%}.hero .hero-art,.hero:not(.home-hero) .hero-art,.home-hero .hero-art{position:relative;top:auto;right:auto;height:220px;min-height:220px;width:100%;margin-top:22px;border-radius:30px 30px 0 0;z-index:0}.hero .hero-art:after{display:none}.hero h1 .doodle,.hero:not(.home-hero) h1 .doodle{font-size:27px;top:-13px;right:0}.home-hero h1 .doodle{top:65%;right:12%}.search-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;margin-top:-25px;gap:9px}.search-panel .search-field{padding:7px 9px;gap:7px;min-height:58px}.search-field input,.search-field select,.date-display>strong{font-size:14px}.search-panel>.btn{grid-column:1/-1}.search-inline{margin-top:0}.categories{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:20px 0 0;overflow:visible}.categories .chip{font-size:12px;min-height:44px;padding:8px 11px;gap:7px;box-shadow:none}.category-icon{width:26px;height:26px;flex-basis:26px;border-radius:8px}.category-icon svg{width:20px;height:20px}.section{padding:28px 0}.section-title{align-items:start;flex-wrap:wrap;gap:12px;margin-bottom:18px}.section-title h2{font-size:29px}.section-title>.btn{font-size:12px;min-height:40px;padding:9px 12px}.grid3,.grid2{grid-template-columns:1fr;gap:18px}.grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card>.photo{aspect-ratio:1.6;min-height:0;height:auto}.card-body{padding:16px}.card-body h3{font-size:21px}.card-head{gap:8px}.card-head .rating{font-size:12px}.service-tile .card-body{padding:12px}.service-tile h3{font-size:17px}.service-tile p{font-size:12px}.home-banner{display:flex;padding:20px;gap:20px;align-items:stretch}.home-banner h2{font-size:31px}.home-banner .photo{height:200px;width:100%;border-radius:18px}.round-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.round-categories strong{font-size:12px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer .brand{font-size:25px}.footer a{font-size:12px}.footer-bottom{display:grid;gap:10px}.profile-title{gap:10px}.profile-title h1,.is-profile .profile-title h1{font-size:32px}.profile-header{display:flex;flex-wrap:wrap;margin-bottom:18px}.profile-header>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.gallery,.is-profile .gallery{grid-template-columns:2fr 1fr;grid-template-rows:110px 110px;gap:7px}.gallery .photo:nth-child(4){display:none}.gallery .photo:nth-child(5){display:block;grid-column:2;grid-row:2}.gallery .photo:nth-child(3){display:none}.gallery button{font-size:10px;bottom:8px;right:8px;padding:7px 8px;max-width:calc(100% - 16px)}.gallery .photo:first-child button:first-child{left:8px}.profile-layout,.is-profile .profile-layout{padding-top:20px;gap:20px}.profile-layout .grid3{grid-template-columns:1fr}.profile-layout .service-tile{display:grid;grid-template-columns:100px minmax(0,1fr)}.profile-layout .service-tile>.photo{aspect-ratio:auto;height:100%;border-radius:0}.profile-layout .service-tile h3{font-size:17px}.profile-layout .service-tile .card-body{padding:15px}.specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:16px}.specs strong{font-size:13px}.amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity{font-size:11px;padding:10px;gap:7px}.amenity svg{width:18px;height:18px;flex-basis:18px}.profile-layout .grid2{grid-template-columns:1fr}.profile-layout .booking .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.booking,.panel{padding:20px}.booking h2{font-size:27px}.rating-breakdown{padding:16px}.rating-breakdown .btn{margin:0;width:100%}.is-service-profile .section-title h1{font-size:30px!important}.booking-step-heading{grid-template-columns:1fr;gap:20px}.booking-step-heading .photo{width:100%;aspect-ratio:1.65;height:auto}.booking-step-heading h2{font-size:26px}.booking-step-fields{grid-template-columns:1fr;gap:20px}.booking-step-main .grid2{grid-template-columns:1fr}.booking-step-main .panel{padding:18px}.calendar-days>button{min-height:38px}.step-footer{position:static;padding:18px;gap:14px}.step-footer>div{min-width:0;flex-basis:100%}.step-footer>.btn{flex:1}.step-footer strong{font-size:16px}.step-footer p{font-size:12px}.checkout-title h1{font-size:31px}.progress{gap:12px;justify-content:flex-start;margin:24px 0}.progress a{font-size:11px;gap:6px}.progress a b{width:24px;height:24px;flex:0 0 24px}.checkout-layout{margin:20px 0 35px}.checkout-layout .grid2{grid-template-columns:1fr}.service-card>.photo{aspect-ratio:1.45;height:auto}.service-card .card-body{padding:16px}.service-card h3{font-size:21px}.service-card .btn{font-size:14px;padding:12px}.service-card .field{font-size:14px}.summary-item{grid-template-columns:45px minmax(0,1fr) auto}.summary-item .photo{width:45px;height:45px}.contact-grid{grid-template-columns:1fr}.payment-preview-fields{grid-template-columns:1fr}.radio-options{flex-direction:column}.radio-option{min-width:0}.order-meta h1{font-size:31px}.dashboard{grid-template-columns:1fr}.dashboard .sidebar{display:flex;align-items:center;gap:6px;overflow:auto;padding:10px}.dashboard .sidebar .brand{display:none}.sidebar a{white-space:nowrap;font-size:12px;padding:10px;margin:0;gap:7px}.sidebar a svg{width:16px;height:16px;flex-basis:16px}.dash-main{padding:18px}.dash-top h1{font-size:27px!important}.metrics{grid-template-columns:1fr;gap:12px}.metric{padding:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.metric strong{font-size:29px!important}.metric small{font-size:12px}.metric .badge{font-size:11px}.calendar .day{min-width:0}.calendar-container{overflow:auto}.viewer-main,.modal .viewer-main{height:240px}.modal{padding:20px;max-height:calc(100dvh - 24px)}.modal-backdrop{padding:12px}.modal-top h2{font-size:25px}.gallery-strip .photo,.modal .gallery-strip .photo{height:65px}.gallery-strip>button{flex-basis:85px}.mobile-booking{padding:12px 18px;gap:12px}.builder-items .photo{width:65px;height:65px;min-height:0}.builder-items{gap:8px}.step-cards{grid-template-columns:1fr}.success-header h1{font-size:32px}}
.venue-list-layout{grid-template-columns:190px minmax(0,1fr) 260px;gap:22px}.venue-list-layout>section,.result-layout>section{min-width:0}.venue-list-layout .categories,.result-layout .categories{justify-content:flex-start;padding:0;gap:8px}.venue-list-layout .categories .chip,.result-layout .categories .chip{font-size:11px;padding:7px 9px;min-height:38px}.venue-list-layout .category-icon,.result-layout .category-icon{width:23px;height:23px;flex-basis:23px}.venue-list-layout .category-icon svg,.result-layout .category-icon svg{width:17px;height:17px}.venue-list-layout .result-card{grid-template-columns:140px minmax(0,1fr);min-height:0}.venue-list-layout .result-card>.photo{height:100%;min-height:180px;aspect-ratio:auto;border-radius:0}.venue-list-layout .result-card .card-body{padding:14px;min-width:0}.venue-list-layout .result-card .card-head h3{font-family:'DM Sans',Arial,sans-serif;font-size:18px}.venue-list-layout .result-card .card-bottom{margin-top:9px;gap:8px}.venue-list-layout .result-card .card-bottom .price{font-size:17px}.venue-list-layout .result-card .rating{font-size:11px}.map-pin{max-width:43%;font-size:10px;line-height:1.4;padding:8px;border-radius:12px;overflow-wrap:anywhere}.map-label{font-size:24px;left:33%;top:43%}.map-note{left:12px;right:12px;font-size:10px}.map-aside .map{min-height:500px}.results-search-hero{padding:24px}.results-search-hero h1{font-size:36px;line-height:1.2}.results-search-hero .search-panel{margin-top:22px}.results-toolbar{flex-wrap:wrap;gap:10px}.slot-links{gap:7px}.slot-links a{padding:6px 10px;min-height:32px}.is-results .card-head{align-items:start}.builder-items .photo{aspect-ratio:1;min-height:0}.gallery-strip{padding-bottom:4px}.profile-layout .content-block{overflow:visible}.profile-title h1{overflow-wrap:anywhere}.booking-step-main .package-photo{aspect-ratio:auto}.booking-step-main .package>div{flex-wrap:wrap}.booking-step-main .package>div>div{min-width:0;flex:1}.is-service-profile .section-title>div{min-width:0}.is-service-profile .section-title h1{overflow-wrap:anywhere}
@media(max-width:1100px){.venue-list-layout{grid-template-columns:190px minmax(0,1fr)}.venue-list-layout .map-aside{display:none}}
@media(max-width:600px){.venue-list-layout,.result-layout{grid-template-columns:1fr;gap:20px}.filters{position:static;padding:16px}.filters section{display:none}.filters.open section{display:block}.venue-list-layout .result-card{display:block}.venue-list-layout .result-card>.photo{height:auto;min-height:0;aspect-ratio:1.65}.venue-list-layout .result-card .card-body{padding:16px}.venue-list-layout .result-card .card-head h3{font-size:21px}.venue-list-layout .result-card .rating{font-size:12px}.venue-list-layout .result-card .card-meta{font-size:12px}.results-search-hero{padding:20px 16px}.results-search-hero h1{font-size:29px}.results-search-hero:after{width:45%;opacity:.35}.results-search-hero .search-panel{padding:10px;margin-top:18px}.results-search-hero .search-panel .search-field{padding:7px;gap:6px}.results-search-hero .search-panel .search-field svg{width:16px;height:16px;flex-basis:16px}.results-toolbar select{max-width:170px}.builder-banner h2{font-size:28px!important}.step-cards strong{display:flex;align-items:center;font-size:15px}.number{flex:0 0 36px;width:36px;height:36px}.checkout-layout .summary-item .badge{font-size:10px;padding:4px 7px}.event-banner .field{width:100%}.review .avatar{float:left}.profile-layout .review{padding:18px}}
@media(min-width:901px){.hero:not(.home-hero){height:280px;min-height:280px}.search-panel .btn{min-width:170px;white-space:nowrap}.section{padding:32px 0}.section-title{margin-bottom:20px}}
@media(min-width:601px) and (max-width:900px){.search-panel>.btn{white-space:nowrap}}
