/* Reference: softly raised controls and generous rounded surfaces.
   Palette: Rayy's existing blue, seafoam and mint. Presentation only. */
:root{
  --base:#345b66;--deep:#294e5c;--mint:#b0d8c0;--ice:#b1d0d4;
  --ink:#214a5b;--text:#f4faf8;--sub:#e3efec;--radius:29px;
  --line:rgba(219,242,237,.60);
  --raised:inset 1px 2px 1px #f4fff7ad,inset -1px -2px 2px #567f8738,7px 10px 18px #1f465c40,-3px -3px 9px #d4efec20;
  --surface:linear-gradient(135deg,#cfe2e1 0%,#b7d2d5 48%,#b0d4c4 100%);
}
body{background:radial-gradient(ellipse at 85% 2%,#4b7082 0,transparent 38%),radial-gradient(ellipse at 8% 60%,#436b7d 0,transparent 44%),linear-gradient(155deg,#426779 0%,#3b6476 72%,#345b66 100%)}
body:before{background:linear-gradient(112deg,transparent 8%,#e4f6ef12 16%,transparent 24%,transparent 71%,#b2d9ce10 78%,transparent 85%)}
h1,h2,.banner h3,.hero h1,.backline .title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.6px}
h1{font-size:34px;line-height:1.08}h2{font-size:25px;line-height:1.14}
h3{font-weight:600;letter-spacing:-.2px}
.page-title{margin:14px 0 25px}.page-title h1{font-size:35px}.page-title p{font-size:14px;line-height:1.55}
.eyebrow{color:var(--sub);font-size:10px;letter-spacing:1.6px;font-weight:500}
.shell{padding-bottom:132px}.section-head{margin-top:29px;margin-bottom:15px}.section-head a{font-size:11px;font-weight:600}
.glass,.panel,.card,.option,.photo-card,.product-card,.product-sheet,.list-row,.screen-tile,.quote-box{
  --text:#214a5b;--sub:#355866;--line:#628e9960;
  color:var(--text);background:var(--surface);border:1px solid #e5f6eea6;
  box-shadow:var(--raised);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.panel{padding:23px;border-radius:30px}.glass{border-radius:26px}
.panel .panel{box-shadow:inset 1px 1px 0 #f3fff4a8,3px 4px 10px #31586624}
.muted,.sub,.section-note,.text-btn,.product-copy .name,.photo-card p,.banner p,.cart-item p,.screen-tile small,.scope-tag,.screen-tile .screen-no{color:var(--sub)}
.btn{
  min-height:48px;padding:13px 23px;border-radius:99px;
  background:linear-gradient(135deg,#496f82,#31576d 80%);color:#f4fbf8;
  border:1px solid #81a6b288;box-shadow:inset 1px 2px 1px #bad8df69,inset -1px -2px 1px #153f4d45,4px 6px 9px #274e6440;
  font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;
  transition:transform .16s,box-shadow .16s,filter .16s
}
.btn.secondary{background:linear-gradient(135deg,#d8ebe2,#b0d8c0);color:#214a5b;border-color:#e4f7e8a3;box-shadow:inset 1px 2px 1px #f7fff6ba,inset -1px -2px 1px #769d9138,4px 6px 9px #274e642e;font-weight:400}
.btn.danger{background:linear-gradient(135deg,#e7d6da,#d8bdc3);color:#643b47;border-color:#e9d5db;box-shadow:inset 1px 2px 1px #fff4f5a3,3px 5px 8px #274e6430}
.btn.small{min-height:42px}.btn:active,.icon-btn:active,.destination:active .glass,.chips button:active,.slot:active,.date:active{transform:translateY(2px);box-shadow:inset 2px 3px 5px #21485d26,inset -1px -1px 2px #f4fff83d}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b0d8c0;outline-offset:3px}
.panel :focus-visible,.card :focus-visible,.product-sheet :focus-visible{outline-color:#31586d}
.icon-btn,.icon-btn.small,.product-card .save{
  width:44px;height:44px;min-width:44px;min-height:44px;padding:11px;
  background:linear-gradient(135deg,#d5e9df,#b0d8c0);border:1px solid #e6f8e5ac;color:#31576a;
  border-radius:50%;box-shadow:inset 1px 2px 1px #f5fff5b0,inset -1px -2px 2px #69998636,4px 5px 7px #173e573b
}
.icon-btn.saved{background:linear-gradient(135deg,#6e9cac,#456c80);color:#eef9ef}
.icon-btn svg,.destination svg{filter:drop-shadow(0 1px 0 #f5fff266);stroke-width:1.8}
.topbar{height:78px;gap:10px}.brand{display:grid;place-items:center;padding:5px 9px;border-radius:18px;background:linear-gradient(130deg,#b9d8d82e,#b1d0d415);box-shadow:inset 1px 1px 1px #eefbfa52,3px 4px 7px #274a5b25}
.brand img{height:44px;width:32px}.top-actions{gap:8px}.connect{border-radius:22px;min-height:42px;padding:10px 12px;font-size:11px}
.review-strip{color:#e4f0ec;border-color:#d3ebe72a;font-size:9px;letter-spacing:.3px}
.backline{margin-top:10px;margin-bottom:21px;gap:12px}.backline .title{font-size:20px;line-height:1.15}
.search{--text:#214a5b;--sub:#355866;color:var(--text);min-height:49px;border-radius:30px;background:linear-gradient(135deg,#bbd4d8,#d0e1dd);border:1px solid #c4dfdf;box-shadow:inset 3px 4px 7px #537b8c45,inset -2px -2px 5px #effbf5a6,0 1px 1px #c9e4e840;padding:0 17px}
.search input{color:var(--text);font-size:14px}.search input::placeholder{color:#355866;opacity:1}.search button{color:#31576b;min-height:44px;min-width:32px}
.field input,.field select,.field textarea{background:linear-gradient(135deg,#b2cfd3,#d0e3de);color:#214a5b;border:1px solid #cfe4e1;border-radius:18px;box-shadow:inset 2px 3px 5px #507b8b36,inset -2px -2px 5px #f2fff593;font-size:16px;min-height:50px}
.field input::placeholder,.field textarea::placeholder{color:#355866;opacity:1}.field select option{background:#d0e3de;color:#214a5b}
.destinations{margin:21px 0 24px;gap:6px}.destination{font-size:11px;gap:8px}.destination .glass{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#d5e8e1,#adcfc5);box-shadow:inset 1px 2px 1px #f6fff7b5,inset -1px -2px 1px #739b9642,4px 6px 7px #254f6345}
.destination svg{width:23px;height:23px}.destination:active{color:#c4e3d2}
.hero{min-height:365px;border-radius:31px;border-color:#d3eceb96;background:#5f8b97;align-items:flex-end;box-shadow:inset 1px 2px 1px #edf9f854,8px 12px 20px #20485c45,-3px -3px 10px #d8eded16}
.hero>img{object-position:68% center}.hero:after{background:linear-gradient(180deg,#4c7d8b05 38%,#335e7080 100%)}
.hero-copy{--text:#214a5b;--sub:#355866;color:var(--text);max-width:none;width:calc(100% - 24px);margin:12px;padding:20px 22px;gap:9px;border-radius:27px;background:linear-gradient(130deg,#d4e6e3ed,#bad8d0ef);border:1px solid #eaf9eeb0;box-shadow:inset 1px 2px 1px #f3fff5bc,5px 7px 12px #274e6340;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.hero-copy p{font-size:11px;color:var(--sub)}.hero-copy h1{font-size:31px;max-width:none;line-height:1.04}.hero-copy .btn{min-height:44px;font-size:15px;padding:11px 20px;justify-self:end;margin-top:-3px}
.hero.small-hero{min-height:340px}.hero.small-hero .hero-copy{max-width:none}.hero.small-hero h1{font-size:32px}
.hero-grid .side-feed{margin-top:25px}
.photo-card,.product-card{border-radius:25px}.photo-card img{border-radius:23px 23px 0 0;aspect-ratio:1.13}.photo-card .caption{background:transparent;padding:14px 13px 17px}.photo-card h3{line-height:1.3;font-size:14px}.photo-card p{font-size:11px}
.banner{padding:20px;border-radius:27px;min-height:100px}.banner h3{font-size:24px;line-height:1.1}.banner>svg{width:38px;height:38px;padding:9px;border-radius:50%;color:#edf9ef;background:linear-gradient(140deg,#517d90,#345c71);box-shadow:inset 1px 1px 1px #c4dfe76b,3px 4px 7px #456e7b3a;flex-shrink:0}
.product-card img{object-fit:contain;background:#f2f7f3;border-radius:23px 23px 18px 18px;aspect-ratio:.96}.product-card .save{width:44px;height:44px;min-width:44px;min-height:44px;padding:11px;right:10px;top:10px}
.product-copy{padding:13px}.product-copy .btn{min-height:44px;font-size:14px;padding:8px 17px}.product-copy .name{font-size:12px;min-height:33px}.price{font-variant-numeric:tabular-nums;color:inherit}
.product-hero img{background:#eff5f0;object-fit:contain}.product-sheet{border-radius:32px;padding:25px;margin-top:-36px}.product-sheet h1{font-size:29px;line-height:1.12}.product-sheet .price{font-size:30px}
.stepper{background:linear-gradient(140deg,#a8c7cf,#d5e8de);border-color:#d6ece4;box-shadow:inset 2px 3px 5px #5d819237,inset -2px -2px 5px #f3fff590;color:#214a5b;padding:4px;gap:4px;min-width:120px;border-radius:28px}
.stepper button{min-width:36px;min-height:36px;border-radius:50%;background:linear-gradient(135deg,#e2f0e8,#b9dcc5);color:#31576a;box-shadow:inset 1px 1px 1px #fff9,2px 3px 4px #466d7e36;font-size:22px}.stepper output{min-width:22px;font-size:14px}
.disclosure{background:#d1e6df19;border-color:var(--line);border-radius:19px}.disclosure summary{min-height:50px;padding:16px}.disclosure .detail{color:var(--sub)}
.chips button,.chips a{min-height:42px;padding:10px 15px;border-radius:25px;color:#214a5b;background:var(--surface);border-color:#d9eee9;box-shadow:inset 1px 1px 1px #f6fff4a8,3px 4px 7px #234b602e;font-size:12px}
.chips button.active,.chips a.active,.date.active,.slot.active{background:linear-gradient(130deg,#406c80,#31566c);color:#f4fbf5;border-color:#90b1bc;box-shadow:inset 1px 2px 2px #accbd377,4px 5px 8px #21465b33}
.chip{background:#cbe2d5;color:#294f60;box-shadow:inset 1px 1px 1px #f0ffef85;border:1px solid #e1f4e287}
.option{border-radius:23px;padding:17px 14px;min-height:70px}.option.active{background:linear-gradient(135deg,#c9e6d5,#a9d1bc);border-color:#426c7d;box-shadow:inset 0 0 0 1px #446f7d,3px 5px 9px #244a5f30}
.option .circle{border-color:#567c86;background:#dcece433}.option.active .circle{background:#3f687c;box-shadow:inset 0 0 0 4px #c0dfcc}
.selection{background:#d3e6df30;border-color:#5c879460;border-radius:18px;min-height:49px}.selection input{accent-color:#3f6c7e}
.status-tabs{--text:#214a5b;color:var(--text);padding:5px;background:linear-gradient(135deg,#b2cdd5,#cbdedb);border-color:#c5dfdd;box-shadow:inset 2px 3px 6px #4c74832e,inset -2px -2px 3px #ecf9ef80}
.status-tabs button{min-height:42px;border-radius:23px;font-size:12px;color:#31596a}.status-tabs button.active{color:#f2f9f3;background:linear-gradient(135deg,#527e90,#31576c);box-shadow:inset 1px 2px 1px #c2dde36b,3px 4px 6px #365e6d30}
.date{border-radius:23px;min-width:55px;padding:13px 8px}.slot{min-height:47px;border-radius:26px;font-size:13px}.stat-row>div{border-radius:23px}.stat-row strong{margin-top:5px}
.list-row{border-radius:25px;min-height:76px;padding:18px}.list-row h3{font-size:15px}.mini-photo,.cart-item>img,.image-gallery img{border-radius:18px}
.notice{color:#315666;background:linear-gradient(135deg,#c9dfdf,#bedccd);border:1px solid #e5f2e8;box-shadow:inset 1px 1px 1px #f3fff481;border-radius:19px;padding:14px 16px}
.notice.amber{color:#315666;background:#c4dcd4;border-color:#e0eee4}.pill-status{background:#c9e3d2;color:#294f60;border-color:#9dbeb7;box-shadow:inset 1px 1px 1px #f0ffed9e}
.avatar,.success-mark{background:linear-gradient(135deg,#d4e8dc,#a8cfbe);color:#315a6b;border:1px solid #e5f6e7;box-shadow:inset 1px 2px 1px #fafff3ad,5px 6px 9px #2f566b30}
.timeline li{border-color:#527a8877}.timeline li:before{background:#b0d8c0;border-color:#5e8794}.empty>svg{color:#c5e3d4}
.upload{background:#cee3dc3d;border-color:#779eaa;color:var(--text);border-radius:26px}.upload input{color:var(--text)}
.video-placeholder{border-radius:27px;background:linear-gradient(130deg,#81a7b3,#345a6e)}.video-placeholder .icon-btn{color:#31576a;background:#cee5d6}
.toggle{background:#9cbbc6;border-color:#cee3e1;box-shadow:inset 2px 2px 4px #31586e3b}.toggle:after{background:#e5f1e8;box-shadow:1px 2px 3px #31586e38}.toggle:checked{background:#b0d8c0}.toggle:checked:after{background:#32586e}
.quote-box{border-left-color:#b0d8c0;border-radius:0 24px 24px 0}
.screen-tile{border-radius:25px;padding:17px}.screen-tile strong{font-size:15px}.screen-tile .scope-tag{font-size:9px}.screen-grid{gap:15px}
.sticky-cta{background:linear-gradient(130deg,#c7dedeef,#b7d9c8f5);border-color:#dcefe1;border-radius:28px;box-shadow:var(--raised);bottom:109px}
.bottom-nav{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 28px);padding:8px 10px 9px;border-radius:36px;background:linear-gradient(135deg,#466f81f2,#345e77f5);border:1px solid #93b8c1b0;box-shadow:inset 1px 2px 1px #c9e4e29c,inset -1px -2px 1px #20485b50,7px 9px 17px #183f574d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.bottom-nav a{min-height:60px;min-width:58px;gap:3px;color:#f0faf4;font-size:10px}.bottom-nav svg{width:40px;height:40px;padding:9px}.bottom-nav a.active{color:#e7f4e7}.bottom-nav a.active svg{color:#31576a;background:linear-gradient(135deg,#dfede1,#b0d8c0);border-radius:50%;box-shadow:inset 1px 2px 1px #fffff4ad,inset -1px -1px 1px #84aa9852,3px 4px 6px #224c623d}
.bottom-nav .count{background:#d2e9d8;color:#214a5b;top:0;right:4px}.toast{bottom:112px;border-radius:23px;background:linear-gradient(135deg,#d9ebe2,#b5d8c4);color:#254e60;border-color:#eef7ed;box-shadow:inset 1px 1px 1px #fff8,6px 8px 17px #24475b4d}
.mirror-decoration{border-color:#badbd02a;box-shadow:inset 3px 0 14px #d9f1e924,4px 0 15px #c6e6df13}.mirror-decoration:after{background:#d3eee45c;box-shadow:0 45px 4px #d3eee44b,0 90px 5px #d3eee43b}
dialog.panel{--text:#214a5b;--sub:#355866;color:var(--text);background:var(--surface);border-radius:30px;box-shadow:var(--raised);border-color:#e5f6eec2}dialog::backdrop{background:#254b6277;backdrop-filter:blur(8px)}
@media(max-width:600px){
  .shell{padding:0 17px 132px}.panel{padding:21px}.page-title h1{font-size:34px}.review-header h1{font-size:32px}
  .hero{min-height:365px}.hero-copy{padding:20px;max-width:none}.hero h1{font-size:31px}.hero-copy .btn{font-size:15px;min-height:44px;padding:11px 19px}
  .hero.small-hero h1{font-size:31px}.hero-grid .side-feed{margin-top:25px}.hero-grid .side-feed .section-head{margin-top:0}
  .destination .glass{width:44px;height:44px}.destination{font-size:10px}.destinations{gap:5px}
  .product-copy{padding:12px}.product-copy .btn{padding:8px 15px;min-height:44px}.product-copy .name{font-size:11px}.product-grid{gap:13px}
  .product-sheet{padding:23px}.product-sheet h1{font-size:28px}.photo-card .caption{padding:13px 11px 16px}.provider-grid{gap:13px}
  .chips button,.chips a{font-size:12px;min-height:42px;padding:10px 14px}.screen-tile{padding:16px}.topbar .location{font-size:11px}.connect{padding:10px;min-height:42px}
}
@media(min-width:800px){.hero-copy{max-width:470px}.hero{min-height:430px}.hero.small-hero{min-height:380px}.hero h1{font-size:39px}.hero.small-hero h1{font-size:37px}.hero-grid .side-feed{margin-top:0}.product-sheet{background:var(--surface);margin:0 0 0 -25px}.page-title h1{font-size:43px}.shell{padding-bottom:125px}}
@media(prefers-reduced-motion:reduce){.btn,.icon-btn{transition:none}}
