/* ============================================================
   Feed Love Now — rebuilt off Wix
   Palette + metrics measured from the live Wix render at 1440px.
   ============================================================ */
:root{
  --navy:#0e2e47;      /* rgb(14,46,71)   body copy, brand */
  --ink:#0d2130;       /* rgb(13,33,48)   darker copy */
  --nav:#555f63;       /* rgb(85,95,99)   nav idle */
  --nav-on:#808f95;    /* rgb(128,143,149) nav current */
  --coral:#fc8b8b;     /* rgb(252,139,139) accents */
  --cocoa:#624c40;     /* rgb(98,76,64)   testimonial cards */
  --blush:#efd9ce;     /* rgb(239,217,206) */
  --cream:#f6ebe4;     /* rgb(246,235,228) */
  --wine:#8b0000;      /* rgb(139,0,0)    retreat accent */
  --rose:#eddfe4;      /* rgb(237,223,228) my-story ground */
  --steel:#9db1bf;
  --wixblue:#00a6ff;   /* Wix default form-label blue, kept as-is */

  /* Epilogue is the real Wix face and is on Google Fonts — exact.
     Jost stands in for the licensed Futura LT; Nunito for Bree. */
  --f-body:"Epilogue",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-display:"Jost","Futura","Century Gothic",-apple-system,Arial,sans-serif;
  --f-quote:"Nunito","Segoe UI",-apple-system,Arial,sans-serif;

  --stage:1440px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--f-body);color:var(--navy);
  background:#cfe0e4;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%}
a{color:inherit}

/* ---- fixed site-background video (shows through header + footer) ---- */
.site-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#cfe0e4}
.site-bg video,.site-bg img{width:100%;height:100%;object-fit:cover}

/* ---- stage: the 1440 design grid ---- */
.stage{width:min(100%,var(--stage));margin-inline:auto;position:relative}

/* ---- header / nav ---- */
.hdr{position:relative;z-index:30;height:92px}
.hdr .stage{height:92px}
.nav{position:absolute;left:499px;top:22px;display:flex;gap:61px;list-style:none;margin:0;padding:0}
.nav li{width:87px}          /* Home      — widths measured off the Wix render */
.nav li:nth-child(2){width:120px}  /* My Story */
.nav li:nth-child(3){width:116px}  /* Contact */
.nav li:nth-child(4){width:139px}  /* Subscribe */
.nav li:nth-child(5){width:80px}   /* Book (added) */
.nav a{
  display:block;font-family:var(--f-body);font-size:25px;font-weight:400;
  line-height:50px;color:var(--nav);text-decoration:none;text-align:center;white-space:nowrap;
  transition:color .2s;
}
.nav a:hover{color:var(--navy)}
.nav a[aria-current="page"]{color:var(--nav-on)}
.nav .book a{color:var(--navy);position:relative}
.nav .book a::after{
  content:"";position:absolute;left:9px;right:9px;bottom:11px;height:1px;
  background:var(--navy);opacity:.55;transform:scaleX(1);transform-origin:center;transition:opacity .2s;
}
.nav .book a:hover::after{opacity:1}

/* ---- form furniture, shared by all three forms ---- */
/* The honeypot must stay in the DOM for bots and out of sight for people.
   Off-canvas rather than display:none — some bots skip hidden inputs. */
.hp{position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;overflow:hidden!important}
.form-note{margin:14px 0 0;font-family:var(--f-display);font-weight:300;font-size:14px;
  line-height:1.5;color:var(--cocoa);min-height:18px}
.form-note a{color:var(--wine)}

/* ---- generic full-bleed media section ---- */
.band{position:relative;overflow:hidden}
.band > .bg{position:absolute;inset:0;z-index:0}
.band > .bg video,.band > .bg img{width:100%;height:100%;object-fit:cover;display:block}
.band > .stage{position:relative;z-index:1}

/* ---- fixed instagram rail ---- */
.ig-rail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:25}
.ig-rail img{width:25px;height:25px}

/* ============================ HOME ============================ */
#hero{height:811px}
#hero .logo{position:absolute;left:258px;top:10px;width:145px;height:142px;background:#fff;
  display:grid;place-items:center;padding:14px}
#hero .quote{position:absolute;left:0;right:31px;top:287px;text-align:center;margin:0;
  font-size:28px;font-weight:400;letter-spacing:5.6px;line-height:37px;color:var(--navy)}
#hero .attr{position:absolute;left:0;right:31px;top:415px;text-align:center;margin:0;
  font-size:16px;letter-spacing:3.2px;color:var(--navy)}

#intro{height:1238px;background:var(--cream)}
#intro .cue{position:absolute;left:664px;top:15px;width:50px;height:50px;
  border:1px solid rgba(14,46,71,.55);display:grid;place-items:center;color:var(--navy);
  text-decoration:none;font-size:20px;line-height:1;background:rgba(255,255,255,.05)}
#intro .cue:hover{background:rgba(255,255,255,.28)}
#intro h1{position:absolute;left:0;right:0;top:99px;margin:0;text-align:center;
  font-family:var(--f-display);font-size:35px;font-weight:400;letter-spacing:7px;color:var(--navy)}
#intro p{max-width:none}
#intro p{position:absolute;left:36px;right:0;margin:0;text-align:center;
  font-size:30px;font-weight:400;line-height:48px;color:var(--navy)}
#intro .p1{top:206px}
#intro .p2{top:359px}
#intro .p3{top:512px}
#intro .sig{position:absolute;left:48px;right:0;top:665px;margin:0;text-align:center;
  font-size:30px;line-height:48px;font-style:italic;color:var(--navy)}

#testimonials{height:659px;background:#e6e9eb}
#testimonials .band-title{position:absolute;left:0;right:0;top:74px;margin:0;text-align:center;
  font-family:Helvetica,Arial,sans-serif;font-size:46px;font-weight:700;letter-spacing:9.2px;
  color:var(--coral);z-index:0} /* sits BEHIND the cards, exactly as on Wix */
#testimonials .cards{position:absolute;left:230px;top:70px;width:980px;height:434px;
  background:var(--blush);display:grid;grid-template-columns:316px 307px 307px;
  column-gap:25px;z-index:1}
#testimonials .card{background:var(--cocoa);margin:0;padding:121px 40px 0;text-align:center}
#testimonials .card p{margin:0;font-family:var(--f-quote);font-style:italic;font-weight:300;
  font-size:16px;line-height:27.2px;color:#fff}
#testimonials .card .mark{display:block;height:32px;margin-top:80px;
  font-family:var(--f-quote);font-style:normal;font-weight:700;font-size:104px;line-height:0;
  color:#ff6161}

/* The six exported Instagram squares were six white slabs on a beautiful dune.
   The quotes are now set as type directly on the sand — navy on this photo
   measures 5.9:1 at its darkest point, so it needs no plate behind it. */
/* The footprints live on their own transparent layer over an inpainted,
   footprint-free dune, so they can be walked in as the section arrives.
   Same object-fit as the sand beneath it, so the two stay registered. */
#gallery .prints{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;
  pointer-events:none;
  /* Default is FULLY WALKED: with no JS the trail is simply in the photograph,
     as it always was. The inline classifier below hands control to the script
     only once we know the script will run, so there is no flash of prints. */
  --walk:130%;
  /* stops must stay monotonic and non-negative: a gradient whose stops all
     collapse to 0% degenerates and stops masking anything at all */
  -webkit-mask-image:linear-gradient(to top right,#000 0%,
      #000 max(0%,calc(var(--walk) - 13%)),transparent max(0.1%,var(--walk)));
          mask-image:linear-gradient(to top right,#000 0%,
      #000 max(0%,calc(var(--walk) - 13%)),transparent max(0.1%,var(--walk)));
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
html.js #gallery .prints{--walk:0%}
#gallery .prints.all{--walk:130%}
@media (prefers-reduced-motion:reduce){html.js #gallery .prints{--walk:130%}}

#gallery{padding:132px 0 118px}
#gallery .quotes{width:983px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;column-gap:96px}
#gallery figure{margin:0;padding:70px 10px;min-height:262px;
  display:grid;align-content:center;justify-items:center;text-align:center}
#gallery figure:nth-child(n+3){border-top:1px solid rgba(74,52,32,.20)}
#gallery blockquote{margin:0;font-family:var(--f-body);font-size:28px;font-weight:300;
  line-height:1.46;color:var(--navy);text-shadow:0 1px 3px rgba(255,246,232,.6)}
#gallery figcaption{margin-top:22px;font-family:var(--f-display);font-size:12px;font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:rgba(14,46,71,.74);
  text-shadow:0 1px 3px rgba(255,246,232,.7)}
#gallery .ig-link{display:block;width:max-content;margin:58px auto 0;
  text-shadow:0 1px 3px rgba(255,246,232,.6);
  font-family:var(--f-display);font-weight:300;font-size:15px;letter-spacing:.42em;
  color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(14,46,71,.3);padding-bottom:6px}
#gallery .ig-link:hover{color:var(--coral);border-bottom-color:var(--coral)}

#contact-band{height:1249px}
#contact-band .ig{position:absolute;left:707px;top:968px;width:26px;height:26px}
#contact-band .mail{position:absolute;left:33px;right:0;top:1029px;text-align:center;
  font-family:var(--f-display);font-weight:300;font-size:19px;color:var(--ink);text-decoration:underline}
#contact-band .logo{position:absolute;left:668px;top:1150px;width:104px;height:99px;
  background:#fff;display:grid;place-items:center;padding:10px}

#subscribe{height:803px}
#subscribe form{position:absolute;left:617px;top:229px;width:561px}
#subscribe .lead{display:block;width:364px;margin:0 0 17px 102px;text-align:center;
  font-family:var(--f-display);font-weight:400;font-size:19px;color:var(--navy);text-decoration:none}
#subscribe label{display:block;width:364px;margin:0 0 9px 20px;font-family:var(--f-display);font-weight:300;
  font-size:16px;line-height:16px;color:var(--ink)}
#subscribe .row{display:flex;margin-left:20px;gap:4px}
#subscribe input{width:364px;height:41px;border:1px solid #d8d8d8;background:#fff;
  padding:0 14px;font-family:var(--f-display);font-weight:300;font-size:16px;color:var(--ink)}
#subscribe button{width:151px;height:41px;border:0;background:var(--navy);color:#fff;
  font-family:var(--f-display);font-weight:300;font-size:16px;cursor:pointer;transition:background .2s}
#subscribe button:hover{background:#16456a}

/* ---- shared footer ---- */
.foot{position:relative;height:125px;z-index:5}
.to-top{position:absolute;left:50%;transform:translateX(-50%);top:0;width:50px;height:50px;
  background:var(--ink);display:grid;place-items:center;color:#fff;text-decoration:none;font-size:20px}
.to-top:hover{background:var(--navy)}
.copy{position:absolute;left:0;right:0;top:82px;text-align:center;
  font-family:var(--f-display);font-weight:300;font-size:14px;color:#fff;opacity:.9}

/* ============================ MY STORY ============================ */
body.p-story{background:var(--rose)}
.story-bg{position:fixed;inset:0;z-index:-1;background:var(--rose)}
.story-bg img{width:100%;height:100%;object-fit:cover}
#story{position:relative}
#story .shot{position:relative;width:972px;margin:0 0 0 238px}
#story .shot img{width:972px;height:829px;object-fit:cover}
#story .shot .mark{position:absolute;left:52px;top:36px;z-index:-1;font-family:var(--f-display);
  font-weight:300;font-size:24px;letter-spacing:3.6px;color:var(--navy)}
#story .copy-col{width:899px;margin:142px 0 0 282px;font-size:25px;line-height:35px;color:var(--ink)}
#story .copy-col p{margin:0 0 43px}
#story .copy-col p:last-child{margin-bottom:0}
#story .sign{width:226px;margin:47px 0 0 619px;text-align:center;font-size:25px;line-height:40px;color:var(--ink)}

/* ============================ CONTACT ============================ */
/* Wix shipped its stock form widget here: #00a6ff labels and pale blue boxed
   inputs on a hard white rectangle, shoved 185px right of centre. Rebuilt in
   the site's own palette — a warm translucent panel so the sand still reads
   through, underline fields, and a real button instead of bare "Submit" text. */
#contact-page{min-height:calc(100vh - 92px - 125px);display:grid;place-items:center;
  padding:52px 20px 64px}

/* ---- liquid glass ----------------------------------------------------
   Real glass, not a frosted card: the sand photograph stays visible and
   recognisable through the panel. Legibility comes from the BLUR, not from
   opacity — 34px turns the busy ripples into soft tonal cloud, so a light
   veil is then enough to carry navy text at ~9:1.
   The rim is a bevel: bright specular on the top edge, softer returns on the
   other three, plus a highlight that tracks the pointer like light moving
   across a real surface. ------------------------------------------------ */
#contact-page .panel{
  position:relative;width:100%;max-width:660px;padding:58px 62px 46px;
  border-radius:28px;
  background:
    linear-gradient(157deg, rgba(255,255,255,.50) 0%,
                            rgba(255,255,255,.34) 38%,
                            rgba(255,255,255,.46) 72%,
                            rgba(255,255,255,.56) 100%);
  backdrop-filter:blur(52px) saturate(155%) brightness(1.09);
  -webkit-backdrop-filter:blur(52px) saturate(155%) brightness(1.09);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 34px 80px rgba(18,28,38,.24),
    0 4px 14px rgba(18,28,38,.10),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(255,255,255,.34),
    inset 1px 0 0 rgba(255,255,255,.40),
    inset -1px 0 0 rgba(255,255,255,.40);
}
/* specular sheen following the pointer (falls back to a top-left glint) */
#contact-page .panel::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(460px circle at var(--mx,26%) var(--my,4%),
             rgba(255,255,255,.58), rgba(255,255,255,0) 62%);
  mix-blend-mode:screen;transition:background .18s linear}
/* rim light down the top edge, the way a bevel catches the sky */
#contact-page .panel::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 18%),
             linear-gradient(to top, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 12%);
  mix-blend-mode:soft-light}
#contact-page .glass-in{position:relative;z-index:1}

/* Browsers with no backdrop-filter get an opaque panel rather than
   unreadable text over a photograph. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #contact-page .panel{background:rgba(250,249,246,.96)}
}

#contact-page h1{margin:0;text-align:center;font-family:var(--f-display);font-weight:300;
  font-size:34px;letter-spacing:.16em;color:var(--navy);
  text-shadow:0 1px 2px rgba(255,255,255,.6)}
#contact-page .lede{margin:16px 0 44px;text-align:center;font-size:16px;line-height:1.65;
  color:rgba(14,46,71,.82);text-shadow:0 1px 2px rgba(255,255,255,.55)}

.cform .pair{display:grid;grid-template-columns:1fr 1fr;column-gap:38px}
.cform .field{margin:0 0 30px}
.cform label{display:block;margin-bottom:9px;font-family:var(--f-display);font-weight:500;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(14,46,71,.95);
  text-shadow:0 1px 2px rgba(255,255,255,.6)}
.cform input,.cform textarea{
  display:block;width:100%;background:transparent;border:0;border-bottom:1px solid rgba(14,46,71,.34);
  padding:7px 2px;font-family:var(--f-body);font-size:16px;font-weight:300;color:var(--ink);
  transition:border-color .2s}
.cform textarea{resize:vertical;min-height:92px;line-height:1.6}
.cform input:hover,.cform textarea:hover{border-bottom-color:rgba(14,46,71,.45)}
.cform input:focus,.cform textarea:focus{outline:0;border-bottom-color:var(--navy);border-bottom-width:2px;
  padding-bottom:6px}
.cform input:focus-visible,.cform textarea:focus-visible{outline:2px solid rgba(14,46,71,.28);
  outline-offset:6px}

.cform .actions{display:flex;align-items:center;justify-content:center;gap:26px;
  flex-wrap:wrap;margin-top:38px}
.cform .send{height:44px;padding:0 34px;border:0;background:var(--navy);color:#fff;cursor:pointer;
  font-family:var(--f-display);font-weight:300;font-size:16px;letter-spacing:.04em;
  transition:background .2s}
.cform .send:hover{background:#16456a}
.cform .send:disabled{opacity:.6;cursor:default}
.cform .alt{border:0;background:none;cursor:pointer;padding:0;
  font-family:var(--f-display);font-weight:300;font-size:15px;color:rgba(14,46,71,.72);
  border-bottom:1px solid rgba(14,46,71,.3);transition:color .2s,border-color .2s}
.cform .alt:hover{color:var(--coral);border-bottom-color:var(--coral)}
.cform .form-note{text-align:center;margin-top:20px}

#contact-page .direct{margin:36px 0 0;text-align:center}
#contact-page .direct a{font-family:var(--f-display);font-weight:300;font-size:14px;
  letter-spacing:.06em;color:rgba(14,46,71,.88);text-decoration:none;
  border-bottom:1px solid rgba(14,46,71,.22);padding-bottom:3px}
#contact-page .direct a{text-shadow:0 1px 2px rgba(255,255,255,.6)}
#contact-page .direct a:hover{color:var(--navy);border-bottom-color:var(--navy)}

/* ============================ RETREAT ============================ */
body.p-retreat{background:#fff}
#r-top{height:349px}
#r-top .dot{position:absolute;left:0;right:0;top:41px;text-align:center;
  font-family:var(--f-display);font-size:56px;line-height:1;color:var(--wine)}
#r-top p{position:absolute;left:0;right:0;margin:0;text-align:center;
  font-family:var(--f-display);font-weight:300;font-size:26px;letter-spacing:-1.3px;line-height:34.2px;color:var(--navy)}
#r-top .l1{top:136px}

#r-what{height:962px}
#r-what .split{position:absolute;inset:0 0 0 0;display:grid;grid-template-columns:1fr 1fr;gap:2px}
#r-what .pane{position:relative;overflow:hidden}
#r-what .pane > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#r-what .pane .inner{position:relative;z-index:1;text-align:center;color:#fff}
#r-what h2{margin:0;position:absolute;left:211px;width:332px;top:114px;
  font-family:var(--f-display);font-size:38px;font-weight:400;color:#fff;text-align:center}
#r-what .body{position:absolute;left:238px;width:362px;top:353px;color:#fff;text-align:center;
  font-family:var(--f-display);font-weight:300;font-size:20px;line-height:36px}
#r-what .body p{margin:0 0 36px}
#r-what .body p:last-child{margin-bottom:0}

#r-details{height:1538px}
#r-details .split{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:2px}
#r-details .pane{position:relative;overflow:hidden}
#r-details .pane > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#r-details h2{margin:0;position:absolute;left:196px;width:240px;top:47px;
  font-family:var(--f-display);font-size:38px;font-weight:400;color:#fff;text-align:center}
#r-details .body{position:absolute;left:151px;width:362px;top:155px;color:#fff;text-align:center;
  font-family:var(--f-display);font-weight:300;font-size:20px;line-height:36px}
#r-details .body p{margin:0 0 36px}
#r-details .body p:last-child{margin-bottom:0}
#r-details .body a{color:#fff}

#r-form{background:#fff;padding:0 0 35px}
#r-form .card{width:630px;margin:0 auto;background:#fff;padding:31px 43px 40px 46px}
#r-form h2{margin:0 0 27px;max-width:396px;font-family:var(--f-display);font-size:28px;font-weight:400;
  line-height:39.2px;color:var(--wine)}
.rform label{display:block;font-family:var(--f-display);font-size:13px;line-height:13px;
  color:var(--cocoa);margin:0 0 5px}
.rform input[type=text],.rform input[type=email],.rform input[type=tel],.rform input[type=number]{
  display:block;width:100%;height:32px;border:0;background:rgba(239,217,206,.7);
  padding:0 10px;font-family:var(--f-display);font-size:13px;color:var(--cocoa)}
.rform .grid2{display:grid;grid-template-columns:255px 255px;column-gap:31px}
.rform .field{margin-bottom:26px}
.rform fieldset{border:0;margin:0 0 40px;padding:0}
.rform legend{font-family:var(--f-display);font-size:13px;color:var(--cocoa);padding:0;margin-bottom:8px}
.rform .radio{display:flex;align-items:center;gap:9px;margin-bottom:6px;
  font-family:var(--f-display);font-size:13px;color:var(--cocoa)}
.rform .radio input{accent-color:var(--cocoa);width:14px;height:14px;margin:0}
.rform .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rform .go{width:192px;height:42px;border:0;background:var(--wine);color:var(--cream);
  font-family:var(--f-display);font-size:14px;cursor:pointer;transition:background .2s}
.rform .go:hover{background:#a80000}

/* ============================ BOOKING (added) ============================ */
#book{padding:0;position:relative}
#book .bg video,#book .bg img{filter:saturate(.9)}
#book .head{padding:96px 0 0;text-align:center}
#book h2{margin:0;font-family:var(--f-display);font-size:35px;font-weight:400;
  letter-spacing:7px;color:var(--navy)}
#book .sub{margin:26px auto 0;max-width:640px;font-size:20px;line-height:34px;color:var(--navy)}
#book .cal-card{width:min(92%,900px);margin:52px auto 0;background:#fff;
  box-shadow:0 24px 70px rgba(13,33,48,.22);padding:10px}
#book .cal-mount{width:100%;min-height:620px;overflow:auto}
#book .spacer{height:96px}
.cal-fallback{padding:64px 24px;text-align:center;font-family:var(--f-display);color:var(--cocoa)}
.cal-fallback a{color:var(--wine)}

.book-btn{display:inline-grid;place-items:center;height:42px;padding:0 26px;background:var(--navy);
  color:#fff;border:0;font-family:var(--f-display);font-size:14px;letter-spacing:.04em;
  cursor:pointer;text-decoration:none;transition:background .2s}
.book-btn:hover{background:#16456a}
.book-btn.ghost{background:none;color:var(--navy);border:1px solid rgba(14,46,71,.45)}
.book-btn.ghost:hover{background:rgba(14,46,71,.07)}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1439px){
  .nav{position:static;justify-content:center;flex-wrap:wrap;gap:clamp(14px,4vw,61px)}
  .nav li,.nav li:nth-child(2),.nav li:nth-child(3),
  .nav li:nth-child(4),.nav li:nth-child(5){width:auto}
  .hdr .stage{display:flex;align-items:center;justify-content:center;padding:0 12px}
  .nav a{font-size:clamp(15px,1.8vw,25px)}
}
@media (max-width:1100px){
  #hero,#intro,#testimonials,#gallery,#contact-band,#subscribe,
  #r-top,#r-what,#r-details,#contact-page{height:auto}
  #hero{min-height:78vh;display:grid;place-items:center;padding:120px 20px 90px}
  #hero .logo{position:static;margin:0 auto 48px}
  #hero .quote,#hero .attr{position:static}
  #hero .attr{margin-top:26px}
  #intro{padding:110px 22px 96px;text-align:center}
  #intro .cue{position:static;margin:0 auto 46px}
  #intro h1,#intro p,#intro .sig{position:static;margin:0 0 40px}
  #intro p{font-size:clamp(19px,3.4vw,30px);line-height:1.6}
  #intro h1{font-size:clamp(24px,4.6vw,35px);letter-spacing:.2em;margin-bottom:52px}
  #testimonials{padding:70px 20px}
  #testimonials .band-title{position:static;margin:0 0 40px;font-size:clamp(22px,5vw,46px);z-index:1}
  #testimonials .cards{position:static;width:100%;height:auto;display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;padding:14px;background:var(--blush)}
  #testimonials .card{padding:44px 22px 34px}
  #gallery{padding:78px 20px 70px}
  #gallery .quotes{width:100%;column-gap:44px}
  #gallery figure{padding:46px 4px;min-height:0}
  #gallery blockquote{font-size:clamp(19px,3.2vw,28px)}
  #contact-band{padding:120px 20px;display:grid;place-items:center;gap:26px;min-height:60vh}
  #contact-band .ig,#contact-band .mail,#contact-band .logo{position:static}
  #subscribe{padding:100px 20px}
  #subscribe form{position:static;width:100%;max-width:420px;margin:0 auto}
  #subscribe .lead{width:100%;margin:0 0 20px}
  #subscribe label,#subscribe .row{margin-left:0}
  #subscribe .row{flex-wrap:wrap}
  #subscribe input{flex:1 1 200px;width:auto;min-width:0}
  #contact-page{min-height:0;padding:44px 16px 56px}
  #contact-page .panel{padding:40px 24px 34px;border-radius:22px;
    backdrop-filter:blur(40px) saturate(155%) brightness(1.09);
    -webkit-backdrop-filter:blur(40px) saturate(155%) brightness(1.09)}
  #contact-page h1{font-size:clamp(24px,5.4vw,34px)}
  #contact-page .lede{margin-bottom:34px}
  .cform .pair{grid-template-columns:1fr;column-gap:0}
  #r-top{padding:64px 20px}
  #r-top .dot,#r-top p{position:static;margin:0 0 8px}
  #r-top p{font-size:clamp(17px,2.6vw,26px);letter-spacing:0;line-height:1.5}
  #r-what .split,#r-details .split{position:static;grid-template-columns:1fr}
  #r-what .pane,#r-details .pane{min-height:520px;padding:60px 24px}
  #r-what h2,#r-what .body,#r-details h2,#r-details .body{position:static}
  #r-what h2,#r-details h2{margin-bottom:40px}
  #r-form .card{width:100%;max-width:630px;padding:24px 20px 34px}
  .rform .grid2{grid-template-columns:1fr;column-gap:0}
  #story .shot,#story .shot img,#story .copy-col{width:100%!important}
  #story .shot img{height:auto;aspect-ratio:972/829}
  #story{padding:0 20px}
  #story .copy-col{margin-top:70px;font-size:clamp(17px,2.6vw,25px);line-height:1.5}
  #book .cal-card{margin-top:34px}
  .ig-rail{display:none}
}
@media (max-width:1100px){
  /* the hard line breaks exist to reproduce Wix's desktop ragging —
     on a phone they would shred the copy, so let it wrap naturally */
  #hero .quote br,#intro p br,#r-top p br,
  #r-what .body br,#r-details .body br,#testimonials .card p br{display:none}
  #intro{padding-top:96px}
  /* nothing keeps a desktop pixel width on a phone */
  #subscribe label{width:auto}
  #story .shot{margin:0 auto}
  #story .copy-col{margin:70px auto 0;width:100%}
  #story .sign{width:100%;margin:40px auto 0}
  #r-what .body,#r-details .body,#r-what h2,#r-details h2{left:auto;width:auto;max-width:420px;margin-inline:auto}
  #r-top p,#r-top .dot{left:auto;right:auto}
  #book .head{padding-top:64px}
  #book .spacer{height:56px}
  #book .cal-mount{min-height:520px}
}
@media (max-width:560px){
  .hdr{height:auto;padding:14px 0}
  .hdr .stage{height:auto}
  .nav a{line-height:34px}
  #hero .logo{width:120px;height:118px}
  #testimonials .cards{grid-template-columns:1fr}
  #gallery .quotes{grid-template-columns:1fr}
  #gallery figure:nth-child(2){border-top:1px solid rgba(74,52,32,.20)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html{scroll-behavior:smooth}
