/* Layout update — 2026-10-07.
   Reference: spa-landing-page-63.aura.build. Borrow its even service grids,
   clear section introductions and alternating bands; retain Lakeway's identity.
   Copy, assets, prices, routing and interaction code are unchanged. */

/* Center the whole text composition, including constrained paragraphs and CTAs. */
main,footer,.hdr .nav,.brand-txt{text-align:center}
main :is(.lede,.desc,.small,.tag,.best,.pull,.form-note),
main :is(.sec-head,.story .txt,.space .txt,.diff article) > p{
  margin-inline:auto;
}
main :is(.sec-head,.story .txt,.space .txt,.diff article){justify-items:center}
.sec-head{margin-inline:auto;gap:22px;margin-bottom:clamp(40px,5vw,64px)}
.sec-head h2::after,.phero h1::after,footer h4::after{
  left:50%;transform:translateX(-50%);
}
.band{padding-block:clamp(76px,7vw,108px)}
.hero .ctas,.row-btns,.kw,.stars,.rv-src{justify-content:center}
.link-arrow{justify-content:center;justify-self:center;align-self:center}
.badge{align-self:center;justify-self:center}

/* A centered, full-width entrance with the approved image and raised gold rim. */
.hero{align-items:center;min-height:min(82svh,780px)}
.hero .wrap{padding-block:clamp(96px,9vw,140px)}
.hero h1{max-width:15ch;margin-inline:auto}
.hero p{margin-inline:auto;max-width:52ch}
.hero .bg{filter:sepia(.12) saturate(.9) brightness(.78)}
.hero .note{
  position:absolute;left:var(--gut);right:var(--gut);bottom:20px;
  margin:0;text-align:center;
}

/* Inner-page title, breadcrumb and photograph share the page's center axis. */
.phero{padding-block:clamp(52px,6vw,88px)}
.phero-grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:40px}
.phero-grid > div:first-child{width:100%;max-width:820px}
.phero-grid .arch{
  justify-self:center;max-width:760px;max-height:340px;aspect-ratio:12/5;
  border-radius:200px 200px 8px 8px;
}
.phero .lede{margin-inline:auto}

/* Four balanced overview columns, as in the reference's introductory strip. */
.ov article,.ov article+article{padding:32px 22px;align-items:center}
.ov article p{width:100%}
.ov .link-arrow{margin-top:auto}

/* Signature pricing becomes a row of three equally weighted cards. */
.rituals{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,28px);border:0;box-shadow:none;
}
.ritual,.ritual.feature{
  display:flex;flex-direction:column;gap:24px;
  margin:0;padding:clamp(26px,2.8vw,38px) clamp(22px,2.3vw,32px);
  background:var(--paper);border:0;border-top:1px solid var(--gold-line);
  border-image:var(--gold-rule-soft) 1;align-items:stretch;
}
.ritual.feature{background:var(--espresso)}
main .ritual{box-shadow:var(--surface-shadow)}
.ritual > div{justify-items:center}
.ritual > div:last-child{margin-top:auto;padding-top:8px}
.ritual h3{font-size:clamp(32px,3vw,42px)}
.ritual ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;width:100%}
.ritual li{font-size:13.5px;color:var(--umber)}
.ritual.feature li{color:rgba(247,241,234,.78)}
.ritual .lbl{margin-top:0}
.ritual .best{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.ritual.feature .best{border-color:rgba(247,241,234,.18)}
.card-top{flex-direction:column;align-items:center;justify-content:center;gap:8px}
.card .btn{align-self:center;margin-top:auto}
.card li{display:block}
.card li::before{display:inline-block;margin-right:9px}

/* A centered introduction above paired treatments, followed by a balanced duo. */
.split{grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,64px)}
.split .sticky{position:static;max-width:760px;width:100%;margin-inline:auto;justify-items:center}
.split .stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.pull,.story blockquote{
  border-left:0;border-top:1px solid var(--gold-line);
  border-image:var(--gold-rule-soft) 1;padding:20px 0 0;
}
.overlap .ov-img{width:100%;max-height:500px;aspect-ratio:11/5}
.overlap .ov-cards{
  width:88%;margin:-88px auto 0;grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.overlap .ov-cards > :nth-child(2),.stagger > :nth-child(2){margin-top:0}
.stagger{align-items:stretch}

/* Keep the signature arch, with its caption centered and companion rows aligned. */
.hl{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px)}
.hl-feat{padding-bottom:0}
.hl-feat .ph{width:100%;aspect-ratio:5/6;max-height:590px}
.hl-card{position:relative;width:86%;margin:-100px auto 0;justify-items:center}
.hl-row{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px}
.hl-row .go{justify-content:center}
.hl-row:hover h3{transform:translateY(-2px)}

/* Even lash gallery and centered price groupings preserve every menu item. */
.lash figure:nth-child(even){margin-top:0}
.lash figcaption{justify-items:center;gap:8px}
.price-list{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;
  border-top:0;box-shadow:none;
}
.price-row{
  grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;
  padding:28px 12px;border-top:1px solid var(--gold-line);border-bottom:0;
}
#natural{grid-template-columns:minmax(0,1fr)}
main th,main td{text-align:center}
.tbl-wrap{max-width:880px;margin-inline:auto}

/* Our Space reads as one centered introduction over a pair of original photos. */
.space{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px}
.space .txt{grid-column:1/-1;grid-row:1;max-width:760px;width:100%;margin:0 auto 16px}
.space .txt h2{font-size:clamp(36px,4.6vw,58px)}
.space .a1,.space .a2{aspect-ratio:5/4;transform:none}
.space .cap{margin-top:16px!important}
.story .txt{align-content:center}
.story .ph{max-height:620px}
.reviews{grid-template-columns:minmax(0,1fr);gap:40px}
.reviews > div{width:100%;max-width:800px;margin-inline:auto}
.rv-empty{justify-items:center}
.rv-src{flex-wrap:wrap}
.rv-src .g{flex:none}

/* Visit details, form fields and invitation bands all use centered text. */
.visit{grid-template-columns:repeat(2,minmax(0,1fr))}
.visit .info{align-content:center;justify-items:center}
.kv{grid-template-columns:minmax(0,1fr);gap:6px;width:100%;margin:0}
.kv dt:not(:first-child){margin-top:16px}
.kv dd{max-width:100%}
.gift .wrap{grid-template-columns:minmax(0,1fr);justify-items:center;gap:30px}
.gift p{margin-inline:auto}
.cta-band .wrap{flex-direction:column;justify-content:center;gap:28px}
.contact{grid-template-columns:1.15fr 1fr;align-items:center}
.contact .side{width:100%;min-width:0;gap:32px}
.contact input,.contact select,.contact textarea{text-align:center}
.contact select{text-align-last:center}
.contact input::-webkit-date-and-time-value{text-align:center}
.map-card .lbl2{justify-content:center}
.cross a{grid-template-columns:minmax(0,1fr);justify-items:center;padding:28px;gap:20px}
.cross .ph{width:104px;aspect-ratio:1}
.cross p{max-width:40ch;margin:10px auto 0}

/* The FAQ follows the reference's centered, readable single-column accordion. */
.faq-wrap{grid-template-columns:minmax(0,1fr);max-width:960px;gap:40px}
.faq-nav{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px}
.faq-nav a{padding:6px 0;border-bottom:1px solid var(--gold-line)}
summary{padding-inline:36px}
details p{margin-inline:auto;padding-inline:12px}

/* Shared footer and mobile menu retain their destinations and original logo. */
footer .top{grid-template-columns:1.1fr .9fr .9fr 1.3fr}
footer .fbrand .mark{margin-inline:auto}
footer .fmap{margin-inline:auto;justify-content:center}
footer .fbot{justify-content:center}
footer .footer-map-embed{max-width:360px;margin-inline:auto}

@media(max-width:1080px){
  .ov article,.ov article+article{padding-inline:26px}
  .ov article:nth-child(3){padding-left:26px}
  footer .top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .rituals,.hl,.visit,.contact{grid-template-columns:minmax(0,1fr)}
  .rituals{max-width:680px;margin-inline:auto}
  .hl{max-width:720px;margin-inline:auto}
  .hl-feat{width:100%;max-width:520px;justify-self:center}
  .hl-card{margin-top:-88px}
  .split .stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overlap .ov-cards{width:94%;margin-top:-48px}
  .space{gap:28px}
  .visit .photo{min-height:320px;aspect-ratio:16/9}
  .contact{max-width:820px}
  .contact .map-card{min-height:300px}
  .story .ph{max-width:560px;margin-inline:auto}
  .story .txt{max-width:720px;margin-inline:auto}
  .cross{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .band{padding-block:64px}
  .sec-head{gap:22px;margin-bottom:36px}
  .hero{min-height:620px}
  .hero .wrap{padding-block:76px 92px}
  .hero .ctas{flex-direction:column;align-items:center;gap:16px}
  .hero .ctas .btn{width:248px;max-width:100%}
  .hero .note{font-size:10px}
  .phero-grid{gap:32px}
  .phero-grid .arch{max-height:240px;aspect-ratio:3/2}
  .ov article,.ov article+article,.ov article:nth-child(3){padding:28px 12px}
  .ov article p{max-width:38ch}
  .rituals,.split .stack,.price-list,.space,.cross{grid-template-columns:minmax(0,1fr)}
  .ritual,.ritual.feature{padding:32px 24px}
  .ritual .btn,.card .btn{max-width:100%}
  .overlap .ov-img{aspect-ratio:4/3}
  .overlap .ov-cards{width:100%;margin-top:24px;grid-template-columns:minmax(0,1fr)}
  .hl-card{width:90%;padding:26px 20px;margin-top:-64px}
  .space .txt{margin-bottom:8px}
  .space .a1,.space .a2{aspect-ratio:5/4;max-height:400px}
  .space > div:not(.txt){width:100%;min-width:0}
  .rv-empty{padding:28px 18px}
  .rv-empty .btn{white-space:normal;height:auto;min-height:44px;padding:12px 16px;max-width:100%}
  .rv-src{font-size:10px;letter-spacing:.08em;gap:8px}
  .row-btns{width:100%;flex-direction:column;align-items:center}
  .row-btns .btn{width:100%;max-width:280px;padding-inline:16px}
  .visit .info{padding:32px 22px}
  .visit .photo{min-height:260px}
  .kv{grid-template-columns:minmax(0,1fr);font-size:13px}
  .contact form{padding:28px 22px}
  .contact form .btn{padding-inline:14px;letter-spacing:.1em}
  footer .top{grid-template-columns:minmax(0,1fr);gap:40px}
  footer .fbot{flex-direction:column;align-items:center;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .hl-row:hover h3{transform:none}
}
