@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.table{display:table}}:root{--paper:#f3eadc;--paper2:#ede1cf;--ink:#30312d;--soft:#66685f;--olive:#747a4e;--gold:#b79a5f;--green:#7d8055;--white:#fffaf0;--line:#30312d1f;--shadow:0 22px 56px #3e34271a}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;line-height:1.7;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:50;opacity:.1;background-image:radial-gradient(circle at 20% 20%,#ffffffe6 0 1px,#0000 1.5px),radial-gradient(circle at 70% 60%,#4b3c2821 0 1px,#0000 1.5px);background-size:12px 12px,17px 17px;position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit}.container{width:min(100% - 44px,1260px);margin:auto}.site-header{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3eadcf5;border-bottom:1px solid #30312d0f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:30px;min-height:108px;display:flex}.brand{text-decoration:none;display:grid}.brand-line{font:400 2.15rem Libre Baskerville,serif}.brand-line span{color:var(--olive)}.brand small{color:var(--soft);letter-spacing:.07em;margin-top:8px;font-size:.82rem}nav{align-items:center;gap:34px;display:flex}nav>a{font-weight:500;text-decoration:none}.story-button{border:1px dashed var(--gold);border-radius:48% 52% 45% 55%;padding:14px 25px}.menu-toggle{background:0 0;border:0;padding:8px;display:none}.menu-toggle i{background:var(--ink);width:25px;height:2px;margin:5px;display:block}.hero-grid{grid-template-columns:minmax(0,1.58fr) minmax(0,.82fr);display:grid}.hero-image,.hero-copy{min-width:0}.hero-image img{object-fit:cover;object-position:center;width:100%;height:414px}.hero-copy{flex-direction:column;justify-content:center;padding:58px 6vw 40px 52px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--olive);margin:0 0 15px;font-size:.74rem;font-weight:600}h1,h2,blockquote{letter-spacing:-.025em;font-family:Libre Baskerville,serif;font-weight:400;line-height:1.2}h1{margin:0 0 26px;font-size:clamp(3.35rem,5.4vw,5.9rem)}h1 em{color:var(--olive);font-style:italic}.lead{color:var(--soft);max-width:480px;font-size:1.15rem}.welcome-note{color:var(--olive);margin:21px 0 0;font:italic 1.32rem Libre Baskerville,serif}.thread-divider{height:82px}.thread-divider svg{width:100%;height:100%}.thread-divider path{fill:none;stroke:var(--gold);stroke-width:1.55px;stroke-linecap:round;stroke-dasharray:5 7}.thread-small{height:72px}.section{padding:88px 0}.story-grid{grid-template-columns:300px 1fr;align-items:start;gap:58px;display:grid}.walking-photo{margin:0}.walking-photo img{object-fit:cover;width:100%;height:380px;box-shadow:var(--shadow);border-radius:20px}.walking-photo figcaption{color:var(--soft);margin-top:12px;font:italic .9rem Libre Baskerville,serif}.story-copy p{color:var(--soft);font-size:1.02rem}.meaning-row{border-top:1px solid var(--line);grid-template-columns:78px 1fr;gap:20px;padding:17px 0;display:grid}.meaning-row strong{font:400 1.28rem Libre Baskerville,serif}.meaning-row span{color:var(--soft)}.care-quote{border-left:3px solid var(--gold);background:#ffffff42;margin-top:28px;padding:18px 22px;font:400 1.18rem Libre Baskerville,serif;color:var(--ink)!important}.ways-section{background:var(--paper2)}.ways-grid{grid-template-columns:minmax(0,1fr) 245px;align-items:start;gap:60px;display:grid}.ways-copy h2{margin:0 0 22px;font-size:clamp(2.6rem,4.5vw,4.8rem)}.ways-copy>p,.contact-grid p{color:var(--soft)}.service-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:32px;display:grid}.service-list span{border-bottom:1px solid var(--line);padding:15px 18px 15px 0;font-family:Libre Baskerville,serif}.service-list span:nth-child(odd){border-right:1px solid var(--line)}.service-list span:nth-child(2n){padding-left:20px}.mini-gallery{width:100%;margin-top:8px}.gallery-stage{aspect-ratio:245/300;width:100%;box-shadow:var(--shadow);background:#d9cfbf;border-radius:20px;position:relative;overflow:hidden}.gallery-slide{opacity:0;pointer-events:none;margin:0;transition:opacity 1.1s;position:absolute;inset:0}.gallery-slide.active{opacity:1;pointer-events:auto}.gallery-slide img{object-fit:cover!important;width:100%!important;height:100%!important}.gallery-slide figcaption{z-index:2;text-align:center;background:#f3eadceb;border-radius:11px;padding:8px 10px;font:italic .85rem Libre Baskerville,serif;position:absolute;bottom:12px;left:12px;right:12px}.gallery-dots{justify-content:center;gap:8px;margin-top:13px;display:flex}.gallery-dots button{cursor:pointer;background:#747a4e3d;border:0;border-radius:50%;width:9px;height:9px;padding:0}.gallery-dots button.active{background:var(--olive)}.mission-section{background:var(--green);color:var(--white);padding:82px 0}.mission-copy{text-align: center;max-width:1000px}.mission-copy .light{color:#f0ead5}.mission-copy blockquote{margin:0;font-size:clamp(2rem,3.6vw,3.7rem)}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:68px;display:grid}.contact-grid h2{margin:0 0 20px;font-size:clamp(2.5rem,4.2vw,4.4rem)}.contact-grid a{color:var(--olive);margin-top:20px;font-weight:600;display:inline-block}form{box-shadow:var(--shadow);background:#ffffff52;border:1px solid #30312d14;border-radius:22px;padding:30px}label{gap:8px;margin-bottom:15px;font-size:.88rem;font-weight:600;display:grid}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:#fffaf1;border:1px solid #30312d26;border-radius:12px;padding:12px 13px}form button{background:var(--olive);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:13px 20px}.closing-section{text-align:center;background:var(--paper2);padding:100px 0}.closing-section p{color:var(--olive);font:italic 1.24rem Libre Baskerville,serif}.closing-section h2{font-size:clamp(2.2rem,4vw,4rem)}.closing-section strong{color:var(--olive);margin-top:22px;font:italic clamp(2.2rem,4vw,3.9rem) Libre Baskerville,serif;display:block}footer{color:#f7f1e8;background:#34372f;padding:30px 0}.footer-inner{justify-content:space-between;align-items:end;gap:20px;display:flex}.footer-inner span{font:400 1.35rem Libre Baskerville,serif}.footer-inner b{color:#c4ad70}.footer-inner small{color:#d6d2c7;margin-top:5px;display:block}footer a{color:#fff}@media (max-width:980px){nav{gap:20px}.ways-grid{grid-template-columns:1fr 220px}}@media (max-width:820px){.menu-toggle{display:block}nav{background:var(--paper);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:stretch;padding:20px;display:none;position:absolute;top:108px;left:22px;right:22px}nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:42px 24px}.story-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:680px){.container{width:min(100% - 28px,1260px)}.header-inner{min-height:82px}nav{top:82px}.brand-line{font-size:1.55rem}.brand small{display:none}.hero-image img{height:310px}.section{padding:64px 0}.walking-photo{max-width:270px}.walking-photo img{height:330px}.service-list{grid-template-columns:1fr}.service-list span,.service-list span:nth-child(odd),.service-list span:nth-child(2n){border-right:0;padding-left:0;padding-right:0}.ways-grid{grid-template-columns:minmax(0,1fr);gap:42px}.mini-gallery{justify-self:center;width:100%;max-width:360px}.gallery-stage{aspect-ratio:4/5;width:100%;min-height:0}.mission-copy{text-align:center}.footer-inner{flex-direction:column;align-items:flex-start}h1{font-size:clamp(3rem,15vw,4.2rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-slide{transition:none}}


/* 2026-08 client-first tab structure */
nav a.current{color:var(--olive)}
.section-title{font:400 clamp(2.7rem,4.6vw,4.8rem)/1.15 "Libre Baskerville",serif;max-width:850px;margin:0 0 18px}
.section-intro{max-width:760px;color:var(--soft);font-size:1.06rem}
.gatherings-section{background:var(--paper)}
.gathering-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.gathering-card{background:#fffaf052;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 16px 42px #3e342710}
.card-kicker{color:var(--gold);font-size:.72rem;letter-spacing:.18em;margin:0 0 10px}
.gathering-card h3{font:400 2rem "Libre Baskerville",serif;margin:0 0 22px}
.event-links{display:grid}
.event-links>a,.event-links>span{border-top:1px solid var(--line);padding:14px 0;font-family:"Libre Baskerville",serif}
.event-links>a{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--ink)}
.event-links>a span{font-family:DM Sans,sans-serif;color:var(--olive);font-size:.82rem;white-space:nowrap}
.help-section{background:var(--paper2)}
.help-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.help-copy h2{font:400 clamp(2.5rem,4vw,4.4rem)/1.18 "Libre Baskerville",serif;margin:0 0 22px}
.help-copy>p{color:var(--soft)}
.help-list{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}
.help-list span{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);font-family:"Libre Baskerville",serif}
.help-list span:nth-child(odd){border-right:1px solid var(--line)}
.help-list span:nth-child(even){padding-left:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nonprofit-fields{display:grid;gap:14px;margin:4px 0 0;padding:20px;border:1px solid rgba(86,91,56,.28)}
.nonprofit-fields[hidden]{display:none}
.nonprofit-fields legend{padding:0 8px;color:var(--olive);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem}
label small{color:var(--soft);font-weight:400}
.form-note{font-size:.76rem!important;line-height:1.45;margin:12px 0 0;color:var(--soft)!important}
.story-more{margin-top:34px!important;font:400 1rem DM Sans,sans-serif!important;color:var(--soft)!important}
.story-more a{color:var(--olive);font-weight:600}
.footer-links{display:flex;gap:22px;align-items:center}
.our-story-hero{padding:90px 0 54px;background:var(--paper)}
.our-story-hero h1{font-size:clamp(3rem,6vw,6.4rem);max-width:900px}
.our-story-hero>div>p:last-child{max-width:680px;color:var(--soft);font-size:1.08rem}
.narrow{max-width:780px!important}
.family-growing h2{font:400 clamp(2.4rem,4vw,4rem)/1.2 "Libre Baskerville",serif;margin:0 0 18px}
.family-growing p{color:var(--soft)}
.wedding-opening{position:relative;min-height:560px;overflow:hidden}
.wedding-opening>img{width:100%;height:70vh;min-height:560px;object-fit:cover}
.wedding-opening:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#30291d99 0,#30291d25 48%,transparent 76%)}
.wedding-opening-copy{position:absolute;z-index:2;left:max(7vw,40px);bottom:70px;color:#fff;max-width:600px}
.wedding-opening-copy .eyebrow{color:#f4e8c9}
.wedding-opening-copy h1{font-size:clamp(3.4rem,7vw,7rem);margin:0;text-wrap:balance}
.wedding-story{padding:55px 0 100px}
.story-step{display:grid;grid-template-columns:1.35fr .65fr;gap:54px;align-items:center;padding:48px 0;border-bottom:1px solid var(--line)}
.story-step.reverse{grid-template-columns:.65fr 1.35fr}
.story-step.reverse img{order:2}.story-step.reverse>div{order:1}
.story-step img{width:100%;height:min(58vw,520px);max-height:520px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.story-step>div>span{color:var(--gold);letter-spacing:.18em;font-size:.76rem}
.story-step h2{font:400 clamp(2.1rem,3.4vw,3.6rem)/1.18 "Libre Baskerville",serif;margin:8px 0 14px}
.story-step p{color:var(--soft);font-size:1.08rem}
.wedding-cta{background:var(--green);color:var(--white);text-align:center;padding:86px 0}
.wedding-cta h2{font:400 clamp(2.5rem,4.5vw,4.5rem) "Libre Baskerville",serif;margin:0 0 24px}
.cta-button{display:inline-block;border:1px dashed #f2ead2;border-radius:999px;padding:14px 28px}
@media(max-width:980px){
  nav{gap:16px;font-size:.9rem}
  .gathering-columns,.help-grid{grid-template-columns:1fr}
  .help-list{grid-template-columns:1fr}
  .help-list span:nth-child(odd){border-right:0}
  .help-list span:nth-child(even){padding-left:0}
}
@media(max-width:820px){
  .story-step,.story-step.reverse{grid-template-columns:1fr;gap:24px;padding:32px 0}
  .story-step.reverse img,.story-step.reverse>div{order:initial}
  .story-step img{height:auto;aspect-ratio:4/3}
  .wedding-opening,.wedding-opening>img{min-height:500px}
  .wedding-opening>img{height:66vh}
  .wedding-opening:after{background:linear-gradient(0deg,#30291daa 0,#30291d33 55%,transparent 85%)}
  .wedding-opening-copy{left:24px;right:24px;bottom:38px}
}
@media(max-width:680px){
  .gathering-card{padding:24px}
  .event-links>a{display:grid;gap:4px}
  .form-row{grid-template-columns:1fr}
  .footer-links{flex-direction:column;align-items:flex-start;gap:5px}
}

/* 2026-08-12: visual event galleries + Ways We Can Walk Together */
.event-showcase{margin-top:42px;display:grid;gap:46px}
.event-block{scroll-margin-top:120px}
.event-block h4{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,2.4vw,2.15rem);font-weight:400;margin:0 0 16px;color:var(--ink,#2e3029)}
.event-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.event-photo-row img{width:100%;height:270px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 8px 26px rgba(45,44,37,.08)}
.event-links button,.event-links span.event-jump{cursor:pointer}
.walk-section{background:#f6f1e7}
.walk-intro{max-width:760px;margin-bottom:34px}
.walk-stories{display:grid;gap:28px}
.walk-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:36px;background:rgba(255,255,255,.52);border-radius:24px;overflow:hidden}
.walk-story:nth-child(even) .walk-photo{order:2}
.walk-photo img{width:100%;height:360px;object-fit:cover;display:block}
.walk-copy{padding:30px 38px}
.walk-copy .step{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#7e8454;font-weight:700}
.walk-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,2.6vw,2.35rem);font-weight:400;margin:9px 0 12px}
.walk-copy p{font-size:1.08rem;line-height:1.7;margin:0}
@media(max-width:760px){
 .event-photo-row{grid-template-columns:1fr 1fr;gap:10px}.event-photo-row img{height:220px}.event-photo-row img:nth-child(3){grid-column:1/-1;height:260px}
 .walk-story{grid-template-columns:1fr;gap:0}.walk-story:nth-child(even) .walk-photo{order:0}.walk-photo img{height:280px}.walk-copy{padding:26px 24px 30px}
}
@media(max-width:480px){.event-photo-row img{height:180px}.event-photo-row img:nth-child(3){height:220px}}


/* 2026-08-12 — centered looping event carousel */
.event-carousel{
  position:relative;
  margin-top:48px;
  min-height:620px;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 56px;
  align-items:center;
  gap:18px;
}
.event-carousel-stage{
  position:relative;
  min-height:560px;
  overflow:hidden;
}
.event-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:none;
  transition:opacity .45s ease, visibility .45s;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  pointer-events:none;
}
.event-slide.active{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.event-category{
  margin:0 0 8px;
  color:var(--olive);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:700;
}
.event-slide h3{
  margin:0 0 26px;
  font:400 clamp(2.5rem,4.4vw,4.8rem)/1.1 "Libre Baskerville", Georgia, serif;
  color:var(--olive);
}
.event-large-photos{
  width:min(100%,1050px);
  margin:0 auto;
  display:grid;
  gap:18px;
  align-items:stretch;
}
.event-large-photos.two{
  grid-template-columns:1fr 1fr;
}
.event-large-photos img{
  display:block;
  width:100%;
  height:400px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 14px 40px rgba(45,44,37,.12);
}
.event-arrow{
  position:relative;
  z-index:3;
  width:52px;
  height:52px;
  border:1px solid rgba(60,59,50,.24);
  border-radius:50%;
  background:rgba(255,252,246,.86);
  color:var(--ink);
  font:300 2rem/1 Georgia,serif;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.event-arrow:hover{transform:scale(1.05);background:#fffaf1}
.event-progress{
  grid-column:1/-1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:8px;
  color:var(--soft);
  font-size:.8rem;
}
.event-counter b{color:var(--olive)}
.event-dots{display:flex;gap:7px}
.event-dots i{
  width:7px;height:7px;border-radius:50%;background:rgba(116,122,78,.24);display:block;
}
.event-dots i.active{background:var(--olive)}
.event-hint{margin:0;font-style:italic}
@media(max-width:820px){
  .event-carousel{
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:8px;
    min-height:600px;
  }
  .event-carousel-stage{min-height:530px}
  .event-arrow{width:42px;height:42px;font-size:1.55rem}
  .event-large-photos.two{grid-template-columns:1fr}
  .event-large-photos img{height:225px}
  .event-slide h3{margin-bottom:18px}
}
@media(max-width:560px){
  .event-carousel{
    grid-template-columns:1fr;
    min-height:650px;
  }
  .event-carousel-stage{min-height:555px;grid-column:1}
  .event-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
  }
  .event-arrow:hover{transform:translateY(-50%) scale(1.04)}
  .event-prev{left:4px}.event-next{right:4px}
  .event-large-photos{width:calc(100% - 32px)}
  .event-large-photos img{height:225px;border-radius:18px}
  .event-slide h3{font-size:clamp(2rem,10vw,3rem);padding:0 25px}
  .event-progress{grid-column:1;flex-wrap:wrap;gap:10px 14px}
  .event-hint{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
  .event-slide{transition:none}
}
.event-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(116,122,78,.24);display:block;cursor:pointer}
.event-dots button.active{background:var(--olive)}


/* Clickable event names */
.event-jump-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
  margin:34px auto 6px;
  max-width:1100px;
}
.event-jump-list button{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--ink);
  font:400 1rem/1.4 "Libre Baskerville", Georgia, serif;
  padding:4px 0;
  cursor:pointer;
  border-bottom:1px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.event-jump-list button:hover,
.event-jump-list button:focus-visible,
.event-jump-list button.active{
  color:var(--olive);
  border-bottom-color:var(--olive);
}
.event-slide h3{
  font-weight:400 !important;
}
@media(max-width:680px){
  .event-jump-list{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:0 4px 10px;
    scrollbar-width:none;
  }
  .event-jump-list::-webkit-scrollbar{display:none}
  .event-jump-list button{white-space:nowrap}
}

/* 2026-08-13 — image-quality and navigation refinements */
.event-links button{font-weight:400 !important;text-decoration:nonebackground:none;border:0;padding:0;font:inherit;cursor:pointer;color:inherit;appearance:none;-webkit-appearance:none;}
.event-links button.active{color:var(--olive)}
.event-links button.active::after{content:''}
.walk-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--paper2)}
.walk-photo-pair img{min-width:0;width:100%;height:360px;object-fit:cover}
.walk-photo-pair img:first-child{object-position:center center}
.walk-photo-pair img:last-child{object-position:center center}
@media(max-width:820px){
  .walk-photo-pair{grid-template-columns:1fr}
  .walk-photo-pair img{height:auto;aspect-ratio:4/3}
}


/* Aug 13 refinement — combined Seminars & Conferences + five-across walking story */
.walk-five-section{
  background:#f7f2e8;
  padding-top:72px;
  padding-bottom:78px;
}
.walk-five-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.walk-five-heading .eyebrow{
  margin-bottom:10px;
}
.walk-five-heading h2{
  margin:0;
  color:var(--ink);
  font:400 clamp(2rem,3.5vw,3.2rem)/1.18 Georgia,"Times New Roman",serif;
}
.walk-five-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.walk-five-card{
  min-width:0;
  text-align:center;
  padding:0 8px 18px;
  border-right:1px solid rgba(90,86,72,.14);
}
.walk-five-card:last-child{
  border-right:0;
}
.walk-five-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
  border-radius:16px;
  margin-bottom:16px;
  box-shadow:0 10px 26px rgba(55,48,37,.08);
}
.walk-five-card h3{
  margin:0 0 10px;
  color:var(--ink);
  font:400 clamp(1.28rem,1.7vw,1.75rem)/1.18 Georgia,"Times New Roman",serif;
}
.walk-five-card p{
  margin:0 auto;
  max-width:220px;
  color:var(--soft);
  font-size:.94rem;
  line-height:1.55;
}
.event-links button[data-jump="seminars-conferences"]{
  line-height:1.35;
}

@media(max-width:1050px){
  .walk-five-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px 16px;
  }
  .walk-five-card{
    border-right:0;
  }
}
@media(max-width:720px){
  .walk-five-grid{
    grid-template-columns:1fr 1fr;
  }
  .walk-five-card img{
    aspect-ratio:4/5;
  }
}
@media(max-width:480px){
  .walk-five-grid{
    grid-template-columns:1fr;
  }
  .walk-five-card{
    max-width:340px;
    margin:0 auto;
  }
  .walk-five-card img{
    aspect-ratio:4/3;
  }
}

/* Personalized Aug 13 refinements */
.walk-five-heading h2{
  text-transform:uppercase;
  letter-spacing:.035em;
  color:var(--olive);
  font-size:clamp(2rem,3.2vw,3rem);
}
.walk-five-heading > p{
  margin:5px 0 0;
  color:var(--soft);
  font-size:1.28rem;
}
.walk-heading-leaf{
  color:var(--olive);
  font:400 1.5rem/1 Georgia,"Times New Roman",serif;
  height:20px;
}

/* Current approved refinements */
.event-slide[data-event="luncheons"] .event-large-photos img{
  object-position:center center;
}
.walk-five-section{
  padding-top:64px;
  padding-bottom:68px;
}
.walk-five-heading{
  margin-bottom:26px;
}
.walk-five-heading h2{
  margin-bottom:4px;
}
.walk-five-grid{
  gap:12px;
}
.walk-five-card img{
  margin-bottom:12px;
}
.walk-five-card h3{
  margin-bottom:7px;
}
@media(min-width:1060px){
  .walk-five-card p{
    font-size:.9rem;
    line-height:1.48;
  }
}


/* FINAL FIX — keep all five Ways We Can Walk Together cards across one row on laptops/desktops */
.walk-five-section .container{
  max-width:1180px;
  padding-left:20px;
  padding-right:20px;
}

.walk-five-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:start;
}

.walk-five-card{
  min-width:0;
  padding:0 5px 14px !important;
  border-right:1px solid rgba(90,86,72,.12);
}

.walk-five-card:last-child{
  border-right:0;
}

.walk-five-card img{
  width:100%;
  aspect-ratio:4/5;
  height:auto !important;
  object-fit:cover;
  border-radius:14px;
  margin-bottom:10px !important;
}

.walk-five-card h3{
  font-size:clamp(1rem,1.45vw,1.35rem) !important;
  line-height:1.15 !important;
  margin:0 0 7px !important;
}

.walk-five-card p{
  font-size:clamp(.76rem,1vw,.9rem) !important;
  line-height:1.42 !important;
  max-width:190px !important;
  margin:0 auto !important;
}

.walk-five-heading{
  margin-bottom:22px !important;
}

.walk-five-heading h2{
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
}

.walk-five-heading > p{
  font-size:1.178rem !important;
}

/* Keep five across down to typical smaller laptop widths */
@media (min-width: 760px){
  .walk-five-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
  .walk-five-card{
    max-width:none !important;
    margin:0 !important;
  }
}

/* Tablet: 3 + 2 */
@media (max-width: 759px) and (min-width: 521px){
  .walk-five-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px 12px !important;
  }
  .walk-five-card{
    border-right:0 !important;
  }
}

/* Phone: one card per row */
@media (max-width: 520px){
  .walk-five-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .walk-five-card{
    max-width:330px !important;
    margin:0 auto !important;
    border-right:0 !important;
  }
  .walk-five-card img{
    aspect-ratio:4/3;
  }
}

/* Aug 13 — We Begin with You: match the other four photo cards while keeping all three people centered */
.walk-five-card:first-child img{
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
}

/* HEADER SPACING FIX — 2026-08-13
   Keeps the desktop navigation even and professional without changing page content. */
@media (min-width: 1101px){
  .site-header .container.header-inner{
    width:min(100% - 48px, 1480px);
    max-width:1480px;
    min-height:92px;
    display:grid;
    grid-template-columns:max-content minmax(0,1fr);
    align-items:center;
    column-gap:52px;
  }

  .site-header .brand{
    white-space:nowrap;
    min-width:max-content;
  }

  .site-header .brand-line{
    white-space:nowrap;
    font-size:2rem;
    line-height:1.08;
  }

  .site-header nav{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(5,max-content);
    justify-content:space-between;
    align-items:center;
    gap:20px;
  }

  .site-header nav > a{
    white-space:nowrap;
    line-height:1.25;
    text-align:center;
  }

  .site-header .story-button{
    padding:12px 22px;
  }
}

/* Move to the existing menu before desktop links become crowded or wrap. */
@media (max-width:1100px){
  .site-header .menu-toggle{display:block}
  .site-header nav{
    background:var(--paper);
    box-shadow:var(--shadow);
    border-radius:18px;
    flex-direction:column;
    align-items:stretch;
    padding:20px;
    display:none;
    position:absolute;
    top:108px;
    left:22px;
    right:22px;
  }
  .site-header nav.open{display:flex}
  .site-header nav > a{white-space:normal}
}


/* Homepage opening — matched to the approved reference. Scoped to #welcome + homepage header only. */
.home-target-header{
  position:relative;
  top:auto;
  z-index:60;
  background:#f3eadc;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.home-target-header-inner{
  position:relative;
  width:100%;
  min-height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-target-logo{
  display:block;
  width:min(480px,56vw);
  line-height:0;
}
.home-target-logo img{display:block;width:100%;height:auto}
.home-target-header .home-target-menu{
  display:flex;
  position:absolute;
  right:7vw;
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:48px;
  flex-direction:column;
  justify-content:space-around;
  padding:4px 0;
  border:0;
  background:transparent;
}
.home-target-header .home-target-menu i{
  display:block;
  width:100%;
  height:5px;
  border-radius:5px;
  background:#fff9ef;
}
.home-target-header nav{
  position:absolute;
  right:5vw;
  top:calc(100% - 10px);
  min-width:300px;
  padding:22px;
  border-radius:12px;
  background:rgba(255,250,242,.98);
  box-shadow:0 18px 40px rgba(58,48,37,.16);
  display:none;
  flex-direction:column;
  gap:4px;
  z-index:100;
}
.home-target-header nav.open{display:flex}
.home-target-header nav a{color:#34352f;padding:11px 12px;text-decoration:none}
.home-target-header nav .story-button{border:0}

.home-target-hero{padding:0;background:#f7f0e5;text-align:center}
.home-target-intro{padding:70px 22px 64px}
.home-target-intro h1{
  margin:0;
  color:#646a3d;
  font:400 clamp(4.4rem,8.4vw,8rem)/1.02 "Libre Baskerville",serif;
  letter-spacing:-.055em;
}
.home-target-categories{
  margin:46px 0 0;
  color:#b8735d;
  font-size:clamp(1rem,1.8vw,1.5rem);
  font-weight:600;
  letter-spacing:.03em;
}
.home-target-categories span{padding:0 .28em}
.home-target-photo{width:100%;height:clamp(430px,54vw,760px);overflow:hidden;background:#eee4d6}
.home-target-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-target-thread{height:110px;margin-top:-1px;background:#f7f0e5}
.home-target-thread svg{width:100%;height:100%;display:block}
.home-target-thread path{fill:none;stroke:#b8735d;stroke-width:1.9;stroke-linecap:round;stroke-dasharray:8 9}
.home-target-story{padding:20px 20px 76px;color:#646a3d}
.home-target-leaf{width:92px;height:auto;margin:2px auto 25px;display:block;overflow:visible}
.home-target-leaf .olive-stem,.home-target-leaf .olive-twig{fill:none;stroke:#697044;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.home-target-leaf .olive-leaf{fill:#7b8152;stroke:#697044;stroke-width:.45;stroke-linejoin:round}.home-target-leaf .olive-fruit{fill:#a59a52;stroke:#7b7542;stroke-width:.45}
.home-target-story p{margin:0;font:400 clamp(1.6rem,2.8vw,2.6rem)/1.25 "Libre Baskerville",serif}
.home-target-rule{margin:24px auto 20px;display:flex;align-items:center;justify-content:center;gap:10px;color:#b8735d}
.home-target-rule span{width:60px;height:2px;background:#b8735d}.home-target-rule b{font-size:1.1rem}
.home-target-story h2{margin:0 0 26px;font:400 clamp(2.7rem,5vw,5.2rem)/1.08 "Libre Baskerville",serif;letter-spacing:-.035em}
.home-target-cta{display:inline-block;min-width:min(390px,88vw);padding:12px 28px;border-radius:7px;background:#60652f;color:#fffaf1;text-decoration:none;font-size:1.05rem;font-weight:600;letter-spacing:.15em}

@media (max-width:900px){
  .home-target-header-inner{min-height:150px}
  .home-target-logo{width:min(440px,62vw)}
  .home-target-header .home-target-menu{right:6vw;width:48px;height:42px}
}
@media (max-width:600px){
  .home-target-header-inner{min-height:132px}
  .home-target-logo{width:58vw;max-width:360px}
  .home-target-header .home-target-menu{right:7vw;width:42px;height:37px}
  .home-target-header .home-target-menu i{height:4px}
  .home-target-intro{padding:62px 18px 52px}
  .home-target-intro h1{font-size:clamp(3.7rem,15vw,5.6rem)}
  .home-target-categories{margin-top:36px;font-size:.88rem;line-height:1.7}
  .home-target-photo{height:71vw;min-height:360px;max-height:560px}
  .home-target-thread{height:85px}
  .home-target-story{padding:10px 18px 62px}
  .home-target-leaf{width:84px;margin-bottom:20px}
}

/* Aug 15 — Professional homepage scale refinement only.
   Keeps the approved design/content intact; reduces oversized visual scale and whitespace. */
@media (min-width: 901px){
  .home-target-header-inner{
    min-height:118px;
  }
  .home-target-logo{
    width:min(360px,34vw);
  }
  .home-target-header .home-target-menu{
    right:5.5vw;
    width:40px;
    height:34px;
  }
  .home-target-header .home-target-menu i{
    height:3px;
  }
  .home-target-intro{
    padding:52px 22px 46px;
  }
  .home-target-intro h1{
    font-size:clamp(3.7rem,5.6vw,5.7rem);
    line-height:1.04;
    letter-spacing:-.045em;
  }
  .home-target-categories{
    margin-top:34px;
    font-size:clamp(.9rem,1.15vw,1.05rem);
    letter-spacing:.04em;
  }
  .home-target-photo{
    height:clamp(390px,43vw,610px);
  }
  .home-target-thread{
    height:82px;
  }
  .home-target-story{
    padding:14px 20px 58px;
  }
  .home-target-leaf{
    width:92px;
    margin:0 auto 18px;
  }
  .home-target-story p{
    font-size:clamp(1.3rem,1.8vw,1.75rem);
  }
  .home-target-rule{
    margin:18px auto 15px;
  }
  .home-target-rule span{
    width:48px;
    height:1px;
  }
  .home-target-story h2{
    margin-bottom:20px;
    font-size:clamp(2.15rem,3.1vw,3.4rem);
    line-height:1.1;
  }
  .home-target-cta{
    min-width:min(330px,72vw);
    padding:10px 24px;
    font-size:.9rem;
    letter-spacing:.14em;
  }
}

/* ==============================================================
   2026-08-15 — PROFESSIONAL SCALE & SPACING PASS
   RESIZING / PROPORTION ONLY — NO CONTENT OR BRAND REDESIGN.
   These overrides deliberately preserve all existing colors,
   wording, imagery, decorative assets, links and functionality.
   ============================================================== */

/* A calmer editorial content width and rhythm site-wide. */
.container{
  width:min(100% - 56px, 1160px);
}
.section{
  padding:72px 0;
}
.section-title{
  max-width:720px;
  margin-bottom:14px;
  font-size:clamp(2.15rem,3.25vw,3.35rem);
  line-height:1.16;
}
.section-intro{
  max-width:650px;
  font-size:.98rem;
  line-height:1.75;
}
.eyebrow{
  font-size:.68rem;
  letter-spacing:.2em;
  margin-bottom:12px;
}

/* Standard desktop header: less tall, smaller type, more breathing room. */
@media (min-width:1101px){
  .site-header:not(.home-target-header) .container.header-inner{
    width:min(100% - 56px,1160px);
    max-width:1160px;
    min-height:78px;
    column-gap:38px;
  }
  .site-header:not(.home-target-header) .brand-line{
    font-size:1.72rem;
  }
  .site-header:not(.home-target-header) .brand small{
    margin-top:5px;
    font-size:.74rem;
  }
  .site-header:not(.home-target-header) nav{
    gap:18px;
    font-size:.86rem;
  }
  .site-header:not(.home-target-header) .story-button{
    padding:9px 16px;
  }
}

/* Homepage: same approved design, just a quieter professional scale. */
@media (min-width:901px){
  .home-target-header-inner{min-height:96px;}
  .home-target-logo{width:min(300px,29vw);}
  .home-target-header .home-target-menu{
    right:5.2vw;
    width:34px;
    height:29px;
  }
  .home-target-header .home-target-menu i{height:2.5px;}
  .home-target-intro{padding:42px 22px 38px;}
  .home-target-intro h1{
    font-size:clamp(3.15rem,4.7vw,4.7rem);
    line-height:1.05;
  }
  .home-target-categories{
    margin-top:27px;
    font-size:clamp(.78rem,.96vw,.92rem);
    letter-spacing:.055em;
  }
  .home-target-photo{height:clamp(350px,37vw,520px);}
  .home-target-thread{height:66px;}
  .home-target-story{padding:8px 20px 50px;}
  .home-target-leaf{width:86px;margin:0 auto 15px;}
  .home-target-story p{font-size:clamp(1.15rem,1.45vw,1.45rem);}
  .home-target-rule{margin:15px auto 13px;}
  .home-target-rule span{width:40px;}
  .home-target-story h2{
    margin-bottom:18px;
    font-size:clamp(1.9rem,2.65vw,2.8rem);
  }
  .home-target-cta{
    min-width:min(290px,66vw);
    padding:9px 22px;
    font-size:.8rem;
    letter-spacing:.16em;
  }
}

/* Gatherings / event overview: restrained cards and imagery. */
.gathering-columns{
  gap:22px;
  margin-top:34px;
}
.gathering-card{
  padding:28px;
  border-radius:18px;
  box-shadow:0 10px 28px #3e34270c;
}
.gathering-card h3{
  margin-bottom:16px;
  font-size:1.65rem;
}
.event-links button{
  font-size:.94rem;
  padding-top:12px;
  padding-bottom:12px;
}
.event-jump-list{
  margin-top:26px;
  gap:8px 16px;
  max-width:960px;
}
.event-jump-list button{font-size:.88rem;}

/* Event carousel: reduce the “full-screen poster” feeling. */
.event-carousel{
  margin-top:34px;
  min-height:470px;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:14px;
}
.event-carousel-stage{min-height:465px;}
.event-slide h3{
  margin-bottom:19px;
  font-size:clamp(2.05rem,3vw,3.1rem);
}
.event-category{
  margin-bottom:6px;
  font-size:.65rem;
}
.event-large-photos{
  width:min(100%,900px);
  gap:14px;
}
.event-large-photos img{
  height:325px;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(45,44,37,.09);
}
.event-arrow{
  width:42px;
  height:42px;
  font-size:1.6rem;
}
.event-progress{
  gap:14px;
  margin-top:2px;
  font-size:.74rem;
}

/* Ways We Can Walk Together: preserve five-across layout, make it editorial. */
.walk-five-section{
  padding-top:66px;
  padding-bottom:72px;
}
.walk-five-section .container{
  max-width:1080px;
  padding-left:0;
  padding-right:0;
}
.walk-five-heading{
  max-width:660px;
  margin-bottom:28px !important;
}
.walk-five-heading h2{
  font-size:clamp(1.8rem,2.55vw,2.45rem) !important;
}
.walk-five-heading > p{
  font-size:1.101rem !important;
  line-height:1.65;
}
.walk-five-grid{gap:14px !important;}
.walk-five-card{padding:0 7px 12px !important;}
.walk-five-card img{
  border-radius:12px;
  margin-bottom:10px !important;
}
.walk-five-card h3{
  font-size:clamp(.96rem,1.15vw,1.15rem) !important;
  margin-bottom:6px !important;
}
.walk-five-card p{
  max-width:175px !important;
  font-size:clamp(.72rem,.78vw,.82rem) !important;
  line-height:1.5 !important;
}

/* General ways / story / mission / contact content: narrower and quieter. */
.story-grid{
  grid-template-columns:250px minmax(0,1fr);
  gap:48px;
}
.walking-photo img{
  height:330px;
  border-radius:16px;
}
.story-copy p{font-size:.96rem;}
.meaning-row{
  grid-template-columns:68px 1fr;
  padding:14px 0;
}
.meaning-row strong{font-size:1.12rem;}
.care-quote{
  margin-top:22px;
  padding:15px 18px;
  font-size:1.05rem;
}
.ways-grid{
  grid-template-columns:minmax(0,1fr) 215px;
  gap:48px;
}
.ways-copy h2{
  margin-bottom:18px;
  font-size:clamp(2.1rem,3.3vw,3.35rem);
}
.service-list{margin-top:26px;}
.service-list span{
  padding-top:12px;
  padding-bottom:12px;
  font-size:.94rem;
}
.gallery-stage{border-radius:16px;}
.mission-section{padding:68px 0;}
.mission-copy{max-width:830px;}
.mission-copy blockquote{font-size:clamp(1.8rem,2.75vw,2.85rem);}
.contact-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:52px;
}
.contact-grid h2{
  margin-bottom:16px;
  font-size:clamp(2.05rem,3.1vw,3.1rem);
}
form{
  max-width:600px;
  padding:25px;
  border-radius:18px;
}
label{font-size:.82rem;}
input,select,textarea{padding:10px 12px;border-radius:10px;}
form button{padding:10px 18px;font-size:.9rem;}
.closing-section{padding:76px 0;}
.closing-section p{font-size:1.08rem;}
.closing-section h2{font-size:clamp(1.95rem,3vw,3rem);}
.closing-section strong{font-size:clamp(1.95rem,3vw,2.9rem);}
footer{padding:24px 0;}
.footer-inner span{font-size:1.15rem;}

/* Wedding page keeps its visual story, with more restrained scale. */
.wedding-opening{min-height:500px;}
.wedding-opening>img{
  height:62vh;
  min-height:500px;
}
.wedding-opening-copy{
  left:max(6vw,38px);
  bottom:54px;
  max-width:520px;
}
.wedding-opening-copy h1{font-size:clamp(2.9rem,5vw,5rem);}
.wedding-story{padding:42px 0 78px;}
.story-step{
  gap:44px;
  padding:38px 0;
}
.story-step img{
  height:min(50vw,440px);
  max-height:440px;
  border-radius:18px;
}
.story-step h2{
  font-size:clamp(1.75rem,2.65vw,2.75rem);
  margin:7px 0 11px;
}
.story-step p{font-size:1rem;}
.wedding-cta{padding:68px 0;}
.wedding-cta h2{font-size:clamp(2rem,3.2vw,3.2rem);}
.cta-button{padding:11px 22px;font-size:.9rem;}

/* Our Story / family story proportions. */
.family-growing h2{font-size:clamp(2rem,3vw,3rem);}

/* Tablet and mobile: keep spacing breathable without squeezing desktop rules. */
@media (max-width:900px){
  .container{width:min(100% - 36px,760px);}
  .section{padding:62px 0;}
  .section-title{font-size:clamp(2rem,6vw,2.8rem);}
  .gathering-columns{gap:18px;}
  .event-carousel{min-height:560px;}
  .event-carousel-stage{min-height:500px;}
  .event-large-photos img{height:220px;}
  .story-grid,.contact-grid{gap:34px;}
  .home-target-header-inner{min-height:112px;}
  .home-target-logo{width:min(330px,55vw);}
  .home-target-intro{padding:48px 18px 42px;}
  .home-target-intro h1{font-size:clamp(3.25rem,10vw,4.8rem);}
  .home-target-photo{height:clamp(350px,58vw,500px);}
}

@media (max-width:680px){
  .container{width:min(100% - 30px,620px);}
  .section{padding:52px 0;}
  .section-title{margin-bottom:12px;font-size:clamp(1.85rem,8vw,2.5rem);}
  .section-intro{font-size:.94rem;}
  .gathering-card{padding:22px;border-radius:16px;}
  .gathering-card h3{font-size:1.45rem;}
  .event-carousel{margin-top:26px;min-height:620px;}
  .event-carousel-stage{min-height:535px;}
  .event-slide h3{font-size:clamp(1.8rem,9vw,2.5rem);}
  .event-large-photos{width:calc(100% - 42px);}
  .event-large-photos img{height:210px;border-radius:14px;}
  .walk-five-section{padding-top:52px;padding-bottom:58px;}
  .walk-five-heading{margin-bottom:22px !important;}
  .walk-five-heading h2{font-size:clamp(1.7rem,7vw,2.2rem) !important;}
  .walk-five-heading > p{font-size:1.075rem !important;}
  .ways-copy h2,.contact-grid h2{font-size:clamp(1.85rem,7.5vw,2.45rem);}
  .mission-section{padding:56px 0;}
  .mission-copy blockquote{font-size:clamp(1.6rem,7vw,2.2rem);}
  form{padding:20px;}
  .closing-section{padding:62px 0;}
  .home-target-header-inner{min-height:96px;}
  .home-target-logo{width:min(285px,59vw);}
  .home-target-header .home-target-menu{width:34px;height:30px;}
  .home-target-intro{padding:40px 18px 36px;}
  .home-target-intro h1{font-size:clamp(2.85rem,12vw,4.15rem);}
  .home-target-categories{margin-top:26px;font-size:.78rem;}
  .home-target-photo{height:68vw;min-height:320px;max-height:460px;}
  .home-target-thread{height:64px;}
  .home-target-story{padding:6px 18px 48px;}
  .home-target-leaf{width:76px;margin-bottom:14px;}
  .home-target-story p{font-size:1.12rem;}
  .home-target-story h2{font-size:clamp(1.75rem,7vw,2.35rem);}
  .home-target-cta{min-width:min(270px,82vw);font-size:.76rem;padding:9px 18px;}
}

/* SURGICAL EDIT — gatherings navigation only (2026-08-15)
   Compact horizontal category band; no other section is affected. */
#gatherings .gathering-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  margin-top:30px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
#gatherings .gathering-card{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:24px 28px 26px;
  min-width:0;
}
#gatherings .gathering-card + .gathering-card{
  border-left:1px solid var(--line);
}
#gatherings .gathering-card h3{
  margin:0 0 18px;
  font-family:"Libre Baskerville",serif;
  font-size:clamp(1rem,1.25vw,1.22rem);
  font-weight:400;
  line-height:1.3;
  text-align:center;
}
#gatherings .event-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:0;
}
#gatherings .event-links button{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-width:max-content;
  padding:7px 15px;
  border-top:0;
  border-right:1px solid var(--line);
  font-family:"Libre Baskerville",serif;
  font-size:clamp(.76rem,.82vw,.88rem);
  font-weight:400 !important;
  line-height:1.35;
  text-align:center;
  color:var(--ink);
}
#gatherings .event-links button:last-child{border-right:0;}
#gatherings .event-links button.active{color:var(--olive);}

@media (max-width:900px){
  #gatherings .gathering-columns{
    grid-template-columns:1fr;
  }
  #gatherings .gathering-card{
    padding:22px 18px 24px;
  }
  #gatherings .gathering-card + .gathering-card{
    border-left:0;
    border-top:1px solid var(--line);
  }
  #gatherings .event-links button{
    min-width:0;
    flex:1 1 30%;
  }
}

/* Services, pricing, and legal pages — September 2026 */
.services-page{overflow:clip}
.services-pricing-body .site-header{z-index:60}
.services-intro{max-width:1000px;margin:0 auto;padding:88px 24px 76px;text-align:center}
.services-intro .how-help-leaf{width:88px;margin:0 auto 20px}
.services-intro h1,.legal-content h1{color:var(--olive);margin:10px auto 24px;text-wrap:balance}
.services-intro h1{font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.04;max-width:980px}
.services-intro>p{max-width:830px;margin:0 auto 14px;font-size:1.08rem;line-height:1.75;text-wrap:pretty}
.services-intro>.services-intro-main{max-width:760px;text-wrap:balance}
.services-intro>.services-pricing-intro-note{max-width:760px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:1rem;color:var(--olive);text-wrap:balance}

.service-category-section{padding:88px 24px}
.service-category-section.soft-section{background:rgba(242,235,221,.58)}
.services-container>.eyebrow{text-align:center;font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;margin:0 auto 14px;text-wrap:balance}
.services-container>.category-tagline{max-width:820px;margin:0 auto 24px;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.25;text-wrap:balance}
.services-container>p{text-wrap:pretty}
.services-container>.category-description{max-width:900px;margin:0 auto 38px;text-align:center;font-size:1.06rem;line-height:1.7}
.services-container>.category-description.social-celebration-intro,
.services-container>.category-description.corporate-category-intro,
.services-container>.category-description.wedding-category-intro{max-width:820px;text-wrap:balance}
.services-container>.custom-proposal-heading{max-width:850px;margin:30px auto 12px;text-align:center;color:var(--olive);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:600;line-height:1.2;text-wrap:balance}
.services-container>.category-description.category-welcome{max-width:780px;margin-bottom:38px}
.services-container>.corporate-pricing-note{max-width:720px;margin:30px auto 0;text-align:center;font-size:.98rem;line-height:1.65;color:var(--olive);text-wrap:balance}
.services-container>.service-category-inquiry{margin:42px auto 0;text-align:center}
.service-category-inquiry .home-target-cta{
  display:inline-block;
  position:relative;
  z-index:51;
  background:#60652f;
  background-image:none !important;
  isolation:isolate;
}
.service-cards{display:grid;gap:28px;align-items:stretch;max-width:1260px;margin:0 auto}
.service-cards.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.services-wedding-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px}
.services-wedding-cards>.service-card:last-child{grid-column:1/-1;width:min(100%,860px);justify-self:center}
.service-card{background:#fff;border:1px solid rgba(86,91,56,.22);border-top:5px solid var(--olive);border-radius:6px;padding:32px 34px 34px;box-shadow:0 12px 30px rgba(61,52,43,.075)}
.service-card h3{color:var(--olive);margin:0 0 8px;font-size:clamp(1.7rem,2vw,2.05rem);line-height:1.15;text-wrap:balance}
.service-card p,.service-card li{text-wrap:pretty}
.service-price{color:var(--terracotta);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;font-weight:600;margin:0 0 22px}
.service-fit{font-size:1rem;line-height:1.65;margin-bottom:25px}
.service-fit strong{color:var(--olive)}
.service-list-label{margin:0 0 12px;color:var(--olive);font-family:"Jost",Arial,sans-serif;font-size:.88rem;font-weight:400;letter-spacing:.13em;text-transform:uppercase}
.service-card ul{margin:0;padding-left:1.25rem}
.service-card li{margin:10px 0;line-height:1.55}

.services-overview-note{background:var(--olive);color:#fff;padding:50px 24px;position:relative;z-index:51}
.services-overview-note p{max-width:1000px;margin:0 auto;text-align:center;font-size:1.05rem;line-height:1.75;text-wrap:pretty}

.services-process{padding:88px 24px 96px;background:#fff}
.services-process>.container>.eyebrow{text-align:center;font-size:clamp(2rem,3.4vw,2.9rem);margin:0 auto 38px}
.services-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1260px;margin:0 auto}
.services-process-card{text-align:center}
.services-process-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.services-process-card h3{margin:22px 0 10px;color:var(--olive);font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.2;text-wrap:balance}
.services-process-card p{max-width:360px;margin:0 auto;line-height:1.65;text-wrap:pretty}

.services-final-cta{min-height:560px;padding:80px 24px;display:grid;place-items:center;position:relative;background:linear-gradient(rgba(41,45,29,.55),rgba(41,45,29,.62)),url("images/home-gentle-order-08.jpg") center 58%/cover no-repeat;color:#fff;text-align:center}
.services-final-cta-inner{max-width:670px;padding:48px 44px;background:rgba(44,48,31,.38);border:1px solid rgba(255,255,255,.3);border-radius:6px;backdrop-filter:blur(1.5px)}
.services-final-cta h2{color:#fff;margin:0 0 22px;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;text-wrap:balance}
.services-final-cta p{max-width:590px;margin:0 auto 12px;font-size:1.08rem;line-height:1.65;text-wrap:pretty}
.services-final-cta .home-target-cta{display:inline-block;margin-top:20px;background:#fff;color:var(--olive)}

.form-privacy-note{font-size:.85rem;line-height:1.5;margin-top:12px}
.form-privacy-note a,.legal-content a{text-decoration:underline}
.legal-content{padding-top:90px;padding-bottom:90px}
.legal-content h2{color:var(--olive);margin:32px 0 10px;font-size:1.55rem}
.legal-content p{line-height:1.75}
@media (max-width:900px){
  .service-cards.two-column,.services-wedding-cards{grid-template-columns:1fr}
  .services-wedding-cards>.service-card:last-child{grid-column:auto;width:100%}
  .services-process-grid{grid-template-columns:1fr;gap:42px;max-width:680px}
}
@media (max-width:680px){
  .services-intro{padding:58px 18px 50px}
  .services-intro h1{font-size:clamp(2.35rem,11vw,3.25rem)}
  .services-intro>p{font-size:1rem;line-height:1.65}
  .service-category-section{padding:60px 18px}
  .services-container>.eyebrow{font-size:clamp(1.85rem,9vw,2.55rem)}
  .services-container>.category-tagline{font-size:1.35rem}
  .services-container>.category-description{font-size:1rem;line-height:1.65}
  .service-card{padding:27px 23px 29px}
  .service-card h3{font-size:1.65rem}
  .services-overview-note{padding:42px 20px}
  .services-overview-note p{font-size:1rem;line-height:1.65}
  .services-process{padding:60px 18px 68px}
  .services-process>.container>.eyebrow{margin-bottom:30px}
  .services-process-card h3{margin-top:18px}
  .services-final-cta{min-height:520px;padding:54px 18px}
  .services-final-cta-inner{padding:38px 22px}
  .services-final-cta h2{font-size:clamp(2.5rem,13vw,3.6rem)}
}

@media (max-width:680px){
  #gatherings .gathering-columns{margin-top:6px;}
  #gatherings .gathering-card{padding:20px 8px 22px;}
  #gatherings .gathering-card h3{
    margin-bottom:14px;
    font-size:1.08rem;
  }
  #gatherings .event-links{
    gap:0;
  }
  #gatherings .event-links button{
    flex:1 1 50%;
    min-width:50%;
    padding:8px 10px;
    border-right:0;
    border-bottom:1px solid var(--line);
    font-size:.8rem;
  }
  #gatherings .event-links button:nth-last-child(-n+2){border-bottom:0;}
}

/* SURGICAL EDIT — gatherings intro alignment only */
#gatherings > .container > .section-title,
#gatherings > .container > .section-intro{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  text-align:center;
}

/* SURGICAL EDIT — restore existing homepage menu button visibility only.
   Existing navigation markup, links, position, sizing, colors, and JS remain unchanged. */
.home-target-header .home-target-menu{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  z-index:120 !important;
}

/* SURGICAL EDIT — homepage hamburger visibility + open/close state ONLY */
.home-target-header .home-target-menu{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:absolute !important;
  right:5.2vw !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:34px !important;
  height:24px !important;
  padding:0 !important;
  margin:0 !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  background:transparent !important;
  border:0 !important;
  z-index:220 !important;
}
.home-target-header .home-target-menu i{
  display:block !important;
  width:100% !important;
  height:3px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:4px !important;
  background:#fff9ef !important;
  opacity:1 !important;
}
.home-target-header .home-target-menu i:nth-child(3){
  display:none !important;
}
.home-target-header #main-nav:not(.open){
  display:none !important;
}
.home-target-header #main-nav.open{
  display:flex !important;
}

/* SURGICAL EDIT — opened homepage menu panel size/position ONLY */
.home-target-header #main-nav{
  left:auto !important;
  right:5.2vw !important;
  top:calc(100% - 4px) !important;
  width:max-content !important;
  min-width:240px !important;
  max-width:min(360px, calc(100vw - 32px)) !important;
  padding:12px 14px !important;
  gap:2px !important;
  border-radius:12px !important;
  align-items:stretch !important;
}
.home-target-header #main-nav a{
  padding:9px 10px !important;
  text-align:left !important;
}

@media (max-width:680px){
  .home-target-header #main-nav{
    right:16px !important;
    left:auto !important;
    width:min(300px, calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:calc(100vw - 32px) !important;
    padding:10px 12px !important;
  }
}

/* SURGICAL EDIT — homepage opened menu appearance only; match Our Story menu proportions */
.home-target-header #main-nav{
  left:auto !important;
  right:5.2vw !important;
  top:calc(100% - 4px) !important;
  width:max-content !important;
  min-width:255px !important;
  max-width:min(340px, calc(100vw - 32px)) !important;
  padding:18px 18px !important;
  gap:8px !important;
  border-radius:14px !important;
  align-items:stretch !important;
}
.home-target-header #main-nav a{
  padding:10px 12px !important;
  text-align:left !important;
  line-height:1.25 !important;
}
@media (max-width:680px){
  .home-target-header #main-nav{
    right:16px !important;
    left:auto !important;
    width:min(300px, calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:calc(100vw - 32px) !important;
    padding:16px !important;
    gap:7px !important;
  }
}

/* SURGICAL EDIT — Our Story header/menu only.
   Reuse the current homepage header/menu appearance on Our Story. */
.story-page-home-header .home-target-header{
  position:relative;
  top:auto;
}
.story-page-home-header .home-target-header #main-nav{
  left:auto !important;
  right:5.2vw !important;
  top:calc(100% - 4px) !important;
  width:max-content !important;
  min-width:255px !important;
  max-width:min(340px, calc(100vw - 32px)) !important;
  padding:18px 18px !important;
  gap:8px !important;
  border-radius:14px !important;
  align-items:stretch !important;
}
.story-page-home-header .home-target-header #main-nav a{
  padding:10px 12px !important;
  text-align:left !important;
  line-height:1.25 !important;
}
.story-page-home-header .home-target-header .home-target-menu{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:absolute !important;
  right:5.2vw !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:34px !important;
  height:24px !important;
  padding:0 !important;
  margin:0 !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  background:transparent !important;
  border:0 !important;
  z-index:220 !important;
}
.story-page-home-header .home-target-header .home-target-menu i{
  display:block !important;
  width:100% !important;
  height:3px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:4px !important;
  background:#fff9ef !important;
  opacity:1 !important;
}
.story-page-home-header .home-target-header .home-target-menu i:nth-child(3){
  display:none !important;
}
.story-page-home-header .home-target-header #main-nav:not(.open){
  display:none !important;
}
.story-page-home-header .home-target-header #main-nav.open{
  display:flex !important;
}

@media (max-width:680px){
  .story-page-home-header .home-target-header #main-nav{
    right:16px !important;
    left:auto !important;
    width:min(300px, calc(100vw - 32px)) !important;
    min-width:0 !important;
    max-width:calc(100vw - 32px) !important;
    padding:16px !important;
    gap:7px !important;
  }
}

/* SURGICAL EDIT — new homepage personal introduction section ONLY */
.home-introduction{
  padding:56px 24px;
}
.home-introduction-inner{
  width:min(1040px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(260px, .85fr);
  gap:56px;
  align-items:center;
}
.home-introduction-copy{
  max-width:620px;
}
.home-introduction-copy h2{
  margin:0 0 18px;
}
.home-introduction-copy p{
  margin:0 0 16px;
  max-width:58ch;
}
.home-introduction-link{
  display:inline-block;
  margin-top:6px;
  text-decoration:none;
}
.home-introduction-photo{
  justify-self:end;
  width:min(340px, 100%);
}
.home-introduction-photo img{
  display:block;
  width:100%;
  height:auto;
  max-width:340px;
  border:0;
}
@media (max-width:760px){
  .home-introduction{
    padding:44px 20px;
  }
  .home-introduction-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-introduction-photo{
    justify-self:start;
    width:min(280px, 78vw);
  }
  .home-introduction-photo img{
    max-width:280px;
  }
}


.walk-heading-leaf img{
  display:block;
  width:76px;
  height:auto;
  margin:0 auto;
}

/* SURGICAL EDIT — Caveat Regular for “Hi, I’m Lynndel.” only */
@font-face{
  font-family:"Caveat Local";
  src:url("fonts/Caveat-Regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
#home-introduction-title{
  font-family:"Caveat Local", cursive;
  font-size:1.3em;
}

/* SURGICAL EDIT — simple social follow footer only */
.social-follow{
  text-align:center;
  padding:34px 20px 30px;
}
.social-follow h2{
  margin:0;
  font:600 1rem/1.3 "Libre Baskerville",serif;
  color:var(--ink);
}
.social-follow img{
  display:block;
  width:72px;
  height:auto;
  margin:12px auto 10px;
}
.social-follow p{
  margin:0;
  font:600 .82rem/1.5 "DM Sans",sans-serif;
  letter-spacing:.08em;
}
.social-follow a{
  color:var(--ink);
  text-decoration:none;
}
.social-follow a:hover,
.social-follow a:focus-visible{
  color:var(--olive);
}
.social-follow span{
  display:inline-block;
  margin:0 8px;
  color:var(--line);
}
@media(max-width:560px){
  .social-follow{
    padding:28px 18px 26px;
  }
  .social-follow p{
    font-size:.78rem;
  }
  .social-follow span{
    margin:0 6px;
  }
}

/* SURGICAL EDIT — Our Story: A Little About Me section only */
.our-story-about-me-title{
  margin:0 0 18px;
  font-family:"Caveat Local", cursive;
  font-size:22.4px;
}

/* SURGICAL EDIT — center Why Joy & Sole content block only */
.story-section .story-grid{
  display:block;
}
.story-section .story-copy{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}

/* SURGICAL EDIT — small portrait in A Little About Me only */
.our-story-about-me-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:32px;
  align-items:start;
}
.our-story-about-me-photo{
  display:block;
  width:150px;
  height:auto;
  border-radius:18px;
}
@media (max-width:700px){
  .our-story-about-me-layout{
    grid-template-columns:1fr;
  }
  .our-story-about-me-photo{
    width:90px;


}
}


/* SURGICAL EDIT — center A Little About Me photo-and-text group only */
@media (min-width:701px){
  .our-story-about-me-layout{
}
}

/* SURGICAL EDIT — correct A Little About Me positioning only */
.our-story-about-me .container.narrow{
  max-width:none;
}
.our-story-about-me-layout{
  width:max-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.our-story-about-me-photo{
  align-self:center;
  margin-top:0;
}
@media (max-width:700px){
  .our-story-about-me .container.narrow{
    max-width:100%;
  }
  .our-story-about-me-layout{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
  .our-story-about-me-photo{
    margin-top:0;
  }
}

/* 2026-08-28 — approved pre-Phase-5 corrections only. */
html{
  scroll-behavior:auto;
}

.our-story-plan-cta-section{
  text-align:center;
}

.our-story-plan-cta{
  position:relative;
  z-index:51;
  background-image:none !important;
}


/* SURGICAL MOBILE FIXES — iPhone layout only */
@media (max-width:700px){

  /* 1) Homepage event carousel: restore normal mobile width */
  #gatherings .carousel-stage,
  #gatherings .carousel-track,
  #gatherings .event-carousel,
  #gatherings .carousel-viewport{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  #gatherings .carousel-track{
    display:flex !important;
    align-items:stretch !important;
  }

  #gatherings .carousel-card,
  #gatherings .event-slide,
  #gatherings .carousel-item{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  #gatherings .carousel-card img,
  #gatherings .event-slide img,
  #gatherings .carousel-item img,
  #gatherings .carousel-stage img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:cover !important;
  }

  /* 2) Contact section: stack copy above form */
  #contact .contact-grid,
  #contact .contact-wrap,
  #contact .contact-layout{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  #contact .contact-copy,
  #contact .contact-form,
  #contact form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  #contact .contact-form{
    margin-top:28px !important;
  }

  #contact input,
  #contact select,
  #contact textarea{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* 3) Our Story — A Little About Me: stack portrait above text */
  .our-story-about-me .container.narrow{
    width:100% !important;
    max-width:100% !important;
  }

  .our-story-about-me-layout{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .our-story-about-me-photo{
    display:block !important;
    width:42% !important;
    max-width:180px !important;
    height:auto !important;
    margin:0 auto 22px !important;
    transform:none !important;
    position:static !important;
  }

  .our-story-about-me-copy{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  .our-story-about-me-title,
  .our-story-about-me-copy p{
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
  }

  /* 4) Our Story — Why Joy & Sole?: remove obsolete desktop column */
  .story-section .story-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  .story-section .walking-photo{
    display:none !important;
  }

  .story-section .story-copy{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }

  /* Prevent any section-level horizontal overflow caused by desktop widths */
  #gatherings,
  #contact,
  .our-story-about-me,
  .story-section{
    max-width:100% !important;
    overflow-x:hidden !important;
  }
}


/* SURGICAL FOLLOW-UP — only the three remaining iPhone issues */
@media (max-width:700px){

  /* 1) Event carousel: make the actual stage/slide/photo area consume the mobile content width. */
  #gatherings .event-carousel{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    position:relative !important;
  }

  #gatherings .event-carousel-stage{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
  }

  #gatherings .event-slide{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
  }

  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #gatherings .event-large-photos img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:225px !important;
    object-fit:cover !important;
  }

  /* 2) About Me: centered mobile content container with balanced side margins. */
  .our-story-about-me .container.narrow{
    width:calc(100% - 36px) !important;
    max-width:calc(100% - 36px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .our-story-about-me-layout{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .our-story-about-me-copy,
  .our-story-about-me-title,
  .our-story-about-me-copy p{
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
  }

  /* 3) About Me portrait: approximately 150px wide, centered above text. */
  .our-story-about-me-photo{
    display:block !important;
    width:150px !important;
    max-width:150px !important;
    height:auto !important;
    margin:0 auto 22px !important;
    position:static !important;
    transform:none !important;
  }
}


/* SURGICAL FINAL MOBILE CORRECTION — carousel + contact margins + Why Joy & Sole only */
@media (max-width:700px){

  /* 1) Carousel: override desktop absolute/grid sizing that is collapsing photos */
  #gatherings .event-carousel-stage{
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  #gatherings .event-slide{
    position:relative !important;
    inset:auto !important;
    display:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    opacity:1 !important;
    transform:none !important;
  }

  #gatherings .event-slide.active{
    display:block !important;
  }

  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:calc(100% - 40px) !important;
    max-width:calc(100% - 40px) !important;
    margin:0 auto !important;
  }

  #gatherings .event-large-photos img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
  }

  /* 2) Contact: centered mobile content with 22px side margins */
  #contact .container{
    width:calc(100% - 44px) !important;
    max-width:calc(100% - 44px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #contact .contact-grid,
  #contact .contact-wrap,
  #contact .contact-layout,
  #contact .contact-copy,
  #contact .contact-form,
  #contact form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #contact input,
  #contact select,
  #contact textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* 3) Why Joy & Sole: centered mobile content with 22px side margins */
  .story-section .container.story-grid{
    width:calc(100% - 44px) !important;
    max-width:calc(100% - 44px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    display:block !important;
  }

  .story-section .story-copy{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }

  .story-section .story-copy .eyebrow,
  .story-section .story-copy p{
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
  }
}


/* SURGICAL MOBILE SAFE MARGINS — Life Events + Contact only */
@media (max-width:700px){

  /* LIFE EVENTS: centered safe-width content area with ~24px side margins */
  #gatherings .event-carousel,
  #gatherings .event-carousel-stage{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  #gatherings .event-slide.active{
    width:calc(100% - 48px) !important;
    max-width:calc(100% - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #gatherings .event-slide h3{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.05 !important;
    font-size:clamp(1.85rem,9vw,2.35rem) !important;
  }

  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #gatherings .event-large-photos img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-width:0 !important;
    object-fit:cover !important;
  }

  /* CONTACT: centered safe-width content area with ~24px side margins */
  #contact .container{
    width:calc(100% - 48px) !important;
    max-width:calc(100% - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  #contact .contact-grid,
  #contact .contact-wrap,
  #contact .contact-layout,
  #contact .contact-copy,
  #contact .contact-form,
  #contact form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  #contact .contact-copy h2,
  #contact .contact-copy p,
  #contact .contact-copy a{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  #contact input,
  #contact select,
  #contact textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}


/* SURGICAL MOBILE SCALE — event photos + contact section ONLY */
@media (max-width:700px){

  /* EVENT SLIDES: safe centered width */
  #gatherings .event-slide.active{
    width:calc(100% - 64px) !important;
    max-width:calc(100% - 64px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  #gatherings .event-slide h3{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    font-size:clamp(1.55rem,7vw,2rem) !important;
    line-height:1.08 !important;
  }

  /* Every event photograph gets exactly the same displayed box. */
  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }

  #gatherings .event-large-photos img{
    display:block !important;
    width:100% !important;
    height:160px !important;
    min-height:160px !important;
    max-height:160px !important;
    object-fit:cover !important;
    object-position:center !important;
    box-sizing:border-box !important;
  }

  /* CONTACT: compact centered scale like the supplied reference */
  #contact .container{
    width:calc(100% - 64px) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  #contact .contact-grid,
  #contact .contact-wrap,
  #contact .contact-layout,
  #contact .contact-copy,
  #contact .contact-form,
  #contact form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  #contact .contact-copy .eyebrow,
  #contact .eyebrow{
    font-size:.68rem !important;
    letter-spacing:.18em !important;
    line-height:1.3 !important;
  }

  #contact .contact-copy h2,
  #contact .contact-grid h2,
  #contact h2{
    font-size:1.55rem !important;
    line-height:1.12 !important;
    max-width:100% !important;
    margin-top:.45rem !important;
    margin-bottom:.65rem !important;
  }

  #contact .contact-copy p,
  #contact p{
    font-size:.82rem !important;
    line-height:1.5 !important;
    max-width:100% !important;
  }

  #contact .contact-copy a,
  #contact a[href^="mailto:"]{
    font-size:.86rem !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  #contact .contact-form{
    padding:18px !important;
    border-radius:18px !important;
  }

  #contact label{
    font-size:.78rem !important;
    line-height:1.25 !important;
  }

  #contact .field-note,
  #contact small{
    font-size:.68rem !important;
    line-height:1.25 !important;
  }

  #contact input,
  #contact select,
  #contact textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    font-size:.78rem !important;
  }

  #contact input,
  #contact select{
    height:40px !important;
    min-height:40px !important;
  }

  #contact textarea{
    min-height:78px !important;
  }
}


/* SURGICAL MOBILE FOLLOW-UP — ONLY event-nav vertical gap + contact 25% reduction */
@media (max-width:700px){
  /* 1) Vertical spacing only: bring the existing event navigation up below the photos. */
  #gatherings .event-carousel{
    min-height:0 !important;
    height:470px !important;
    margin-bottom:0 !important;
  }
  #gatherings .event-carousel-stage{
    min-height:0 !important;
    height:470px !important;
  }
  #gatherings .gathering-columns{
    margin-top:8px !important;
  }

  /* 2) Contact only: approximately 25% smaller/narrower than the current mobile presentation. */
  #contact .container{
    width:75% !important;
    max-width:390px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #contact .contact-copy .eyebrow,
  #contact .eyebrow{
    font-size:.51rem !important;
    letter-spacing:.18em !important;
  }
  #contact .contact-copy h2,
  #contact .contact-grid h2,
  #contact h2{
    font-size:1.16rem !important;
    line-height:1.12 !important;
  }
  #contact .contact-copy p,
  #contact p{
    font-size:.62rem !important;
    line-height:1.5 !important;
  }
  #contact .contact-copy a,
  #contact a[href^="mailto:"]{
    font-size:.65rem !important;
  }
  #contact .contact-form{
    padding:14px !important;
    border-radius:14px !important;
  }
  #contact label{
    font-size:.59rem !important;
  }
  #contact .field-note,
  #contact small{
    font-size:.51rem !important;
  }
  #contact input,
  #contact select,
  #contact textarea{
    font-size:.59rem !important;
  }
  #contact input,
  #contact select{
    height:34px !important;
    min-height:34px !important;
  }
  #contact textarea{
    min-height:60px !important;
  }
  #contact button,
  #contact input[type="submit"]{
    font-size:.68rem !important;
    padding:9px 14px !important;
  }
}


/* SURGICAL EDIT — mobile event-nav alignment + contact consolidation only */
@media (max-width:700px){

  /* Existing Life Events / Corporate & Community navigation: alignment only */
  .gathering-columns .gathering-card h3,
  .gathering-columns .event-links,
  .gathering-columns .event-links button{
    text-align:left !important;
  }

  /* Existing Event date + Guest count pair stays side-by-side on mobile */
  #contact .field-row-event-guest{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
    align-items:start !important;
  }

  #contact .field-row-event-guest label{
    min-width:0 !important;
    font-size:.74rem !important;
  }

  #contact .field-row-event-guest small{
    font-size:.66rem !important;
  }

  #contact .field-row-event-guest input{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:.74rem !important;
  }

  /* One combined message field; no global form resizing */
  #contact .field-gathering-message textarea{
    min-height:110px !important;
  }
}


/* SURGICAL EDIT — mobile event nav two-column + date/guest field fix only */
@media (max-width:700px){

  /* 1) Mobile event navigation: two side-by-side left-justified columns */
  .gathering-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  .gathering-columns .gathering-card{
    min-width:0 !important;
    width:100% !important;
  }

  .gathering-columns .gathering-card h3,
  .gathering-columns .event-links,
  .gathering-columns .event-links button{
    text-align:left !important;
  }

  .gathering-columns .event-links{
    display:block !important;
    width:100% !important;
  }

  .gathering-columns .event-links button{
    display:block !important;
    width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  /* 2) Event date + Guest count: equal-width columns, equal-height fields, clear gap */
  #contact .field-row-event-guest{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:18px !important;
    row-gap:0 !important;
    width:100% !important;
    align-items:start !important;
  }

  #contact .field-row-event-guest label{
    min-width:0 !important;
    width:100% !important;
  }

  #contact .field-row-event-guest input{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    box-sizing:border-box !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
}


/* SURGICAL EDIT — desktop event navigation left-justified only */
@media (min-width:701px){
  .gathering-columns .gathering-card h3,
  .gathering-columns .event-links,
  .gathering-columns .event-links button{
    text-align:left !important;
  }

  .gathering-columns .event-links button{
    justify-content:flex-start !important;
  }
}


/* SURGICAL RESTORE — removed only the last desktop event-item edge override. */

@media (max-width:700px){
  /* Safari date control: force the date input to the same visible height as Guest count. */
  #contact .field-row-event-guest input[type="date"]{
    display:block !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:40px !important;
    box-sizing:border-box !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }
}


/* SURGICAL EDIT — selected event visual indicator only */
.event-links button.active{
  color:var(--olive) !important;
  background:rgba(126,137,78,.10) !important;
  border-radius:999px !important;
  padding-left:12px !important;
  padding-right:12px !important;
  box-shadow:inset 0 0 0 1px rgba(126,137,78,.12) !important;
}


/* SURGICAL EDIT — mobile selected-event visual indicator only */
@media (max-width:700px){
  .gathering-columns .event-links button.active{
    display:inline-block !important;
    width:auto !important;
    max-width:100% !important;
    align-self:flex-start !important;
    justify-self:start !important;
    color:var(--olive) !important;
    background:rgba(126,137,78,.10) !important;
    border-radius:999px !important;
    padding:6px 10px !important;
    box-shadow:inset 0 0 0 1px rgba(126,137,78,.12) !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

/* Aug 19 — Homepage hero photo only: gentle wedding cross-fade in the existing chair-photo area. */
/* Keep the homepage wedding photographs above the site's global paper-grain overlay so the photos display cleanly. */
.home-wedding-slideshow{position:relative;z-index:51}
.home-wedding-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition:opacity 1.6s ease-in-out;
}
.home-wedding-slide.active{opacity:1}
.home-wedding-slide--ceremony{object-position:55% 45%}
.home-wedding-slide--couple{object-position:50% 58%}
.home-wedding-slide--bouquet{object-position:52% 56%}
.home-wedding-slide--cake{object-position:50% 30%}
.home-wedding-slide--boots{object-position:50% 62%}
.home-wedding-slide--military{object-position:52% 46%}
.home-wedding-slide--reception{object-position:52% 50%}
@media (min-width:901px){
  .home-wedding-slide--couple,
  .home-wedding-slide--boots{object-fit:contain}
}
@media (max-width:600px){
  .home-wedding-slide--ceremony{object-position:58% 50%}
  .home-wedding-slide--couple{object-position:50% 58%}
  .home-wedding-slide--bouquet{object-position:53% 52%}
  .home-wedding-slide--cake{object-position:58% 28%}
  .home-wedding-slide--boots{object-position:50% 62%}
  .home-wedding-slide--military{object-position:48% 48%}
  .home-wedding-slide--reception{object-position:53% 50%}
}
@media (prefers-reduced-motion:reduce){
  .home-wedding-slide{transition:none}
}

/* Aug 20 — SURGICAL homepage slideshow display corrections ONLY.
   Five approved slides receive individual display treatment; image files remain untouched. */
@media (min-width:901px){
  /* Couple/valley: fill the hero and crop both distracting edge people completely out. */
  .home-wedding-slideshow .home-wedding-slide--couple{
    object-fit:cover;
    object-position:50% 56%;
    transform:scale(1.34);
  }

  /* Military sword arch: use the original file directly with no extra transform/scaling layer. */
  .home-wedding-slideshow .home-wedding-slide--military{
    width:100%;
    max-width:none;
    height:100%;
    left:0;
    right:0;
    object-fit:cover;
    object-position:50% 46%;
    transform:none;
    background:transparent;
  }

  /* Boots: full-bleed presentation; center the boots and retain as much toe/dress detail as the wide hero permits. */
  .home-wedding-slideshow .home-wedding-slide--boots{
    object-fit:cover;
    object-position:50% 61%;
    transform:none;
    background:transparent;
  }

  /* Bouquet/lace: full-bleed with no side bars, biased to preserve lace around the bouquet. */
  .home-wedding-slideshow .home-wedding-slide--bouquet{
    object-fit:cover;
    object-position:52% 54%;
    transform:none;
    background:transparent;
  }

  /* Cake cutting: a slightly looser vertical crop shows the complete necklace while keeping the face out. */
  .home-wedding-slideshow .home-wedding-slide--cake{
    object-fit:cover;
    object-position:46% 69%;
    transform:scale(1.02);
  }
}

@media (max-width:900px){
  .home-wedding-slideshow .home-wedding-slide--couple{
    object-fit:cover;
    object-position:50% 58%;
    transform:scale(1.28);
  }
  .home-wedding-slideshow .home-wedding-slide--military{
    width:100%;
    max-width:none;
    height:100%;
    left:0;
    right:0;
    object-fit:cover;
    object-position:50% 48%;
    transform:none;
    background:transparent;
  }
  .home-wedding-slideshow .home-wedding-slide--boots{
    object-fit:cover;
    object-position:50% 60%;
    transform:none;
    background:transparent;
  }
  .home-wedding-slideshow .home-wedding-slide--bouquet{
    object-fit:cover;
    object-position:52% 54%;
    transform:none;
    background:transparent;
  }
  .home-wedding-slideshow .home-wedding-slide--cake{
    object-fit:cover;
    object-position:47% 70%;
    transform:none;
  }
}


/* Aug 20 — SURGICAL homepage slideshow timing + display corrections ONLY. */
@media (min-width:901px){
  /* Couple/valley: crop farther inward so the right-edge photographer/camera is fully outside the hero. */
  .home-wedding-slideshow .home-wedding-slide--couple{
    object-fit:cover;
    object-position:46% 56%;
    transform:scale(1.55);
  }

  /* Boots: anchor to the bottom so the complete toe of the right boot remains visible. */
  .home-wedding-slideshow .home-wedding-slide--boots{
    object-fit:cover;
    object-position:50% 100%;
    transform:none;
  }

  /* Cake: shift framing upward just enough to include shoulders + full necklace while keeping the face out. */
  .home-wedding-slideshow .home-wedding-slide--cake{
    object-fit:cover;
    object-position:46% 58%;
    transform:none;
  }

  /* Bouquet: lower the visible composition so all flowers remain in frame; keep full-bleed cover. */
  .home-wedding-slideshow .home-wedding-slide--bouquet{
    object-fit:cover;
    object-position:52% 46%;
    transform:none;
  }
}

@media (max-width:900px){
  .home-wedding-slideshow .home-wedding-slide--couple{
    object-fit:cover;
    object-position:46% 58%;
    transform:scale(1.42);
  }
  .home-wedding-slideshow .home-wedding-slide--boots{
    object-fit:cover;
    object-position:50% 100%;
    transform:none;
  }
  .home-wedding-slideshow .home-wedding-slide--cake{
    object-fit:cover;
    object-position:47% 58%;
    transform:none;
  }
  .home-wedding-slideshow .home-wedding-slide--bouquet{
    object-fit:cover;
    object-position:52% 46%;
    transform:none;
  }
}


/* Aug 20 — SURGICAL memorial slideshow display fix ONLY.
   Preserve the full portrait-and-roses composition in the wide hero without altering the photo file. */
.home-wedding-slideshow .home-wedding-slide--memorial{
  overflow:hidden;
  background:#d8cfc2;
}
.home-wedding-slideshow .home-wedding-slide--memorial::before{
  content:"";
  position:absolute;
  inset:-24px;
  background:url("images/home-gentle-memorial-roses.jpg") center 48% / cover no-repeat;
  filter:blur(18px);
  opacity:.42;
  transform:scale(1.06);
}
.home-wedding-slideshow .home-wedding-slide--memorial > img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center 50%;
}
@media (max-width:900px){
  .home-wedding-slideshow .home-wedding-slide--memorial::before{
    background-position:center 48%;
  }
  .home-wedding-slideshow .home-wedding-slide--memorial > img{
    object-position:center 50%;
  }
}

/* Aug 20 — SURGICAL hero slideshow size + text placement ONLY. */
.home-target-hero .home-wedding-slideshow{
  height:clamp(560px,62vw,900px);
}
.home-target-hero .home-wedding-slideshow .home-target-intro{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  width:min(92%,1180px);
  padding:0 22px;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.home-target-hero .home-wedding-slideshow .home-target-intro h1{
  margin:0;
  color:rgba(255,250,240,.86);
  font:400 clamp(4rem,7.7vw,7.6rem)/1.02 "Libre Baskerville",serif;
  letter-spacing:-.055em;
  text-shadow:0 2px 14px rgba(34,35,28,.28),0 1px 2px rgba(34,35,28,.18);
}
.home-target-hero .home-wedding-slideshow .home-target-categories{
  margin:34px 0 0;
  color:rgba(255,250,240,.90);
  font-size:clamp(.94rem,1.6vw,1.34rem);
  font-weight:600;
  letter-spacing:.045em;
  text-shadow:0 2px 9px rgba(34,35,28,.34),0 1px 2px rgba(34,35,28,.22);
}
@media (max-width:600px){
  .home-target-hero .home-wedding-slideshow{
    height:86vw;
    min-height:430px;
    max-height:660px;
  }
  .home-target-hero .home-wedding-slideshow .home-target-intro{
    width:94%;
    padding:0 14px;
  }
  .home-target-hero .home-wedding-slideshow .home-target-intro h1{
    font-size:clamp(3.25rem,15vw,5.2rem);
    line-height:1.03;
  }
  .home-target-hero .home-wedding-slideshow .home-target-categories{
    margin-top:25px;
    font-size:.82rem;
    line-height:1.65;
  }
}

/* Aug 20 — SURGICAL hero font substitutions ONLY. */
@font-face{
  font-family:"Meie Script";
  src:url("fonts/MeieScript-Regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Cormorant Garamond Hero";
  src:url("fonts/CormorantGaramond-SemiBold.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
.home-target-hero .home-wedding-slideshow .home-target-intro h1{
  font-family:"Italianno Hero",cursive;
  letter-spacing:normal;
  line-height:1.12;
}
.home-target-hero .home-wedding-slideshow .home-target-categories{
  font-family:"Cormorant Garamond Hero",serif;
}


/* Aug 20 — SURGICAL Hospitality with Heart font substitution ONLY. */
@font-face{
  font-family:"Italianno Hero";
  src:url("fonts/Italianno-Regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

/* SURGICAL EDIT — Life Events scrolling section: all event photos exactly 50% taller on desktop only. */
@media (min-width: 701px) {
  #gatherings .event-carousel {
    min-height: 705px !important;
  }

  #gatherings .event-carousel-stage {
    min-height: 698px !important;
  }

  #gatherings .event-large-photos img {
    height: 488px !important;
  }
}

/* SURGICAL EDIT — Life Events desktop photo fit only.
   Preserve the existing 50%-taller containers; reveal each full photo without changing layout or files. */
@media (min-width: 701px) {
  #gatherings .event-large-photos img {
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* SURGICAL EDIT — Life Events natural photo proportions on desktop only.
   Remove fixed photo/stage height behavior while preserving widths, two-column layout, carousel and all content. */
@media (min-width: 701px) {
  #gatherings .event-carousel {
    min-height: 0 !important;
  }

  #gatherings .event-carousel-stage {
    min-height: 0 !important;
    height: auto !important;
  }

  #gatherings .event-slide.active {
    position: relative !important;
    inset: auto !important;
  }

  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two {
    align-items: center !important;
  }

  #gatherings .event-large-photos img {
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: initial !important;
    object-position: initial !important;
  }
}

/* SURGICAL EDIT — event category headings removed; existing categories shown as two clean columns only. */
@media (min-width:701px){
  #gatherings .gathering-columns .event-links{
    display:block !important;
    width:100% !important;
  }

  #gatherings .gathering-columns .event-links button{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    justify-content:flex-start !important;
    text-align:left !important;
    white-space:normal !important;
    border-right:0 !important;
  }
}

/* SURGICAL EDIT — Life Events arrows bottom-aligned to the current visible photo area only.
   No fixed carousel/stage height; photos and category spacing remain unchanged. */
@media (min-width: 701px) {
  #gatherings .event-arrow {
    align-self: end !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* SURGICAL EDIT — balanced two-column event category list; divider lines removed only. */
@media (min-width: 701px) {
  #gatherings .gathering-columns {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 72px !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #gatherings .gathering-column {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #gatherings .gathering-columns .event-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 0 !important;
    width: 100% !important;
  }

  #gatherings .gathering-columns .event-links button {
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

/* SURGICAL EDIT — Life Events carousel photos only: remove dotted overlay and preserve clear native rendering. */
#gatherings .event-large-photos,
#gatherings .event-large-photos figure,
#gatherings .event-large-photos .event-photo,
#gatherings .event-slide .event-large-photos {
  background-image: none !important;
  background: transparent !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

#gatherings .event-large-photos::before,
#gatherings .event-large-photos::after,
#gatherings .event-large-photos figure::before,
#gatherings .event-large-photos figure::after,
#gatherings .event-large-photos .event-photo::before,
#gatherings .event-large-photos .event-photo::after,
#gatherings .event-slide .event-large-photos::before,
#gatherings .event-slide .event-large-photos::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

#gatherings .event-large-photos img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  image-rendering: auto !important;
  transform: none !important;
}

/* SURGICAL RESTORE — Life Events carousel desktop photo size back to 50%-taller presentation only. */
@media (min-width: 701px) {
  #gatherings .event-carousel {
    min-height: 705px !important;
  }

  #gatherings .event-carousel-stage {
    min-height: 698px !important;
  }

  #gatherings .event-large-photos img {
    width: 100% !important;
    height: 488px !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* SURGICAL EDIT — Life Events photos + category list position only. */
@media (min-width: 701px) {

  /* 1) Keep the fixed dotted page texture everywhere else,
        but place the Life Events photos above that overlay so no dots render on them. */
  #gatherings .event-large-photos,
  #gatherings .event-large-photos img {
    position: relative !important;
    z-index: 51 !important;
  }

  #gatherings .event-large-photos img {
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    image-rendering: auto !important;
    transform: none !important;
  }

  /* 2) Restore the previous horizontal / landscape photo presentation. */
  #gatherings .event-carousel {
    min-height: 470px !important;
  }

  #gatherings .event-carousel-stage {
    min-height: 465px !important;
  }

  #gatherings .event-large-photos img {
    width: 100% !important;
    height: 325px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* 3) Remove the divider line and reduce the large blank gap above the category list by ~75%. */
  #gatherings .gathering-columns {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    margin-top: -105px !important;
  }

  #gatherings .gathering-column,
  #gatherings .gathering-card {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }
}

/* SURGICAL EDIT — Life Events only:
   remove page-dot overlay from photos, restore each photo's natural orientation,
   and center the two category columns beneath the photo area. */
@media (min-width: 701px) {

  /* The active slide's existing transform creates a stacking context that traps
     the photos underneath the fixed body dot overlay. Remove only that identity
     transform on the active slide so the photos can sit above the texture. */
  #gatherings .event-slide.active {
    transform: none !important;
  }

  /* Put only the actual Life Events photo grid above the fixed dot texture.
     Transparent surrounding page areas keep the existing cream dot texture. */
  #gatherings .event-large-photos {
    position: relative !important;
    z-index: 51 !important;
    background: transparent !important;
    align-items: start !important;
  }

  #gatherings .event-large-photos img {
    position: relative !important;
    z-index: 51 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    image-rendering: auto !important;
  }

  /* Allow portrait files to remain portrait and landscape files to remain
     landscape instead of forcing every slide into one fixed height. */
  #gatherings .event-carousel {
    height: auto !important;
    min-height: 0 !important;
  }

  #gatherings .event-carousel-stage {
    height: auto !important;
    min-height: 0 !important;
  }

  #gatherings .event-slide.active {
    position: relative !important;
    inset: auto !important;
  }

  /* Center the existing two category columns beneath the 900px photo area.
     Keep wording, active pill, and two-column structure unchanged. */
  #gatherings .gathering-columns {
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    column-gap: 72px !important;
    margin: 22px auto 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  #gatherings .gathering-card,
  #gatherings .gathering-card + .gathering-card {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
  }
}

/* SURGICAL EDIT — center category columns + enlarge landscape Life Events photos 45% only. */
@media (min-width: 701px) {

  /* Center the two category columns as one balanced block like the reference. */
  #gatherings .gathering-columns {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    column-gap: 96px !important;
    justify-items: center !important;
  }

  #gatherings .gathering-card {
    width: 100% !important;
    max-width: 520px !important;
  }

  /* Landscape photos only: 45% larger display area, full image preserved. */
  #gatherings .event-slide:has(.life-event-landscape) .event-large-photos {
    width: min(100%, 1305px) !important;
    max-width: 1305px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #gatherings .event-large-photos img.life-event-landscape {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* SURGICAL EDIT — center combined category block + landscape Life Events photos ~70% larger only. */
@media (min-width: 701px) {

  /* Center the entire two-column category group beneath the photo area. */
  #gatherings .gathering-columns {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 64px !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  #gatherings .gathering-card {
    width: 100% !important;
    max-width: none !important;
  }

  /* Make only landscape-image slides substantially larger while preserving full composition. */
  #gatherings .event-slide:has(.life-event-landscape) .event-large-photos {
    width: min(100%, 1530px) !important;
    max-width: 1530px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #gatherings .event-large-photos img.life-event-landscape {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* SURGICAL CORRECTION — actually widen Life Events parent stage + truly center visible category lists only. */
@media (min-width: 701px) {

  /* Widen the actual Life Events parent container so landscape photos are no longer
     capped by the old site container. This applies only inside #gatherings. */
  #gatherings > .container {
    width: min(calc(100% - 36px), 1500px) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #gatherings .event-carousel,
  #gatherings .event-carousel-stage,
  #gatherings .event-slide.active {
    width: 100% !important;
    max-width: none !important;
  }

  #gatherings .event-slide.active {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Landscape slides now use nearly the full widened parent. At common desktop
     widths this increases their visible area by roughly 70% while preserving
     the complete original aspect ratio. */
  #gatherings .event-slide:has(.life-event-landscape) .event-large-photos {
    width: min(96vw, 1450px) !important;
    max-width: 1450px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  }

  #gatherings .event-large-photos img.life-event-landscape {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Center the actual visible category lists as one compact pair. */
  #gatherings .gathering-columns {
    width: max-content !important;
    max-width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 420px 520px !important;
    column-gap: 80px !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  #gatherings .gathering-card {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #gatherings .gathering-columns .event-links {
    width: 100% !important;
  }

  #gatherings .gathering-columns .event-links button {
    width: 100% !important;
    text-align: left !important;
  }

  #gatherings .gathering-columns .event-links button.active {
    width: 100% !important;
  }
}

/* SURGICAL REPAIR — compact centered Life Events category grid only. */
@media (min-width: 701px) {
  #gatherings .gathering-columns {
    width: 960px !important;
    max-width: calc(100vw - 80px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    grid-template-columns: 360px 520px !important;
    column-gap: 80px !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  #gatherings .gathering-columns > .gathering-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  #gatherings .gathering-columns .event-links {
    width: 100% !important;
  }

  #gatherings .gathering-columns .event-links button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #gatherings .gathering-columns .event-links button.active {
    width: 100% !important;
  }
}

/* SURGICAL EDIT — selected event pill fits its text only. */
@media (min-width: 701px) {
  #gatherings .gathering-columns .event-links button.active {
    width: fit-content !important;
    max-width: 100% !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* PHOTO-ONLY FIX — keep the five Ways We Can Walk Together photos above the global dotted paper overlay. */
#help.walk-five-section .walk-five-card img {
  position: relative !important;
  z-index: 51 !important;
}

/* 2026-08-22 STRICT TWO-CHANGE FIX — five-card section only. */
/* Lift this section above the fixed body texture, then reproduce the same texture
   on the section background so dots remain on the cream paper but never on photos. */
#help.walk-five-section {
  position: relative !important;
  z-index: 51 !important;
  background-color: #f7f2e8 !important;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.09) 0 1px, transparent 1.5px),
    radial-gradient(circle at 70% 60%, rgba(75,60,40,.013) 0 1px, transparent 1.5px) !important;
  background-size: 12px 12px, 17px 17px !important;
}
#help.walk-five-section .walk-five-card,
#help.walk-five-section .walk-five-card:last-child {
  border-left: 0 !important;
  border-right: 0 !important;
}
#help.walk-five-section .walk-five-card img {
  position: relative !important;
  z-index: 1 !important;
}

/* SURGICAL FIX — Life Events carousel vertical jump only.
   Keep every desktop slide in the same grid cell so the stage reserves the
   tallest slide height. This prevents the category links below from moving
   up/down as slides with different natural image heights fade between events. */
@media (min-width: 701px) {
  #gatherings .event-carousel-stage {
    display: grid !important;
    align-items: center !important;
  }

  #gatherings .event-slide,
  #gatherings .event-slide.active {
    grid-area: 1 / 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
  }
}

/* SURGICAL EDIT — Life Events vertical photos only: display 25% smaller.
   Landscape photos and all other carousel/layout behavior remain unchanged. */
#gatherings .event-large-photos img:not(.life-event-landscape) {
  width: 75% !important;
  max-width: 75% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* SURGICAL EDIT — Life Events desktop arrows only: move both arrows inward closer to the photos.
   No photo, carousel, category, timing, or mobile behavior changes. */
@media (min-width: 701px) {
  #gatherings .event-prev {
    left: 32px !important;
  }

  #gatherings .event-next {
    right: 32px !important;
  }
}

/* SURGICAL EDIT — Life Events desktop positioning only (2026-08-22).
   1) Remove ~75% of the blank vertical space above the Events carousel.
   2) Bring only the existing arrows upward, keeping them at the outer sides.
   3) Bring only the existing two event-word columns upward while keeping the
      combined block centered beneath the photo area.
   No photo sizing/cropping, carousel behavior, timing, typography, colors,
   mobile behavior, or other page layout is changed. */
@media (min-width: 701px) {
  #gatherings {
    padding-top: 22px !important;
  }

  #gatherings .event-carousel {
    margin-top: 12px !important;
  }

  #gatherings .event-prev,
  #gatherings .event-next {
    transform: translateY(-80px) !important;
  }

  #gatherings .event-prev:hover,
  #gatherings .event-next:hover {
    transform: translateY(-80px) scale(1.05) !important;
  }

  #gatherings .gathering-columns {
    margin-top: -78px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 2026-08-22 SURGICAL FIX — desktop Life Events arrows + active heading ONLY.
   1) Keep the existing arrow design/function, but remove the inward/upward offsets
      that place the arrows behind the photo row.
   2) Center the active heading over the same wide two-photo area used by landscape slides.
   No photo sizing/cropping, carousel height, event columns, timing, mobile, or other layout changes. */
@media (min-width: 701px) {
  #gatherings .event-arrow {
    z-index: 60 !important;
    align-self: end !important;
    transform: none !important;
  }

  #gatherings .event-prev {
    left: 0 !important;
  }

  #gatherings .event-next {
    right: -32px !important;
  }

  #gatherings .event-arrow:hover {
    transform: scale(1.05) !important;
  }

  #gatherings .event-slide h3 {
    text-align: center !important;
  }

  #gatherings .event-slide:has(.life-event-landscape) h3 {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* FINAL LIFE EVENTS DESKTOP LAYOUT — approved 3:2 photo set (2026-08-22).
   Scope: desktop #gatherings only.
   - Every approved Life Events image uses the same 3:2 display box.
   - The active heading is centered over the complete two-photo group.
   - Navigation arrows sit in their own row directly beneath the outside photo corners.
   - Event category buttons remain above/clear of the non-interactive carousel stage.
   - All slide geometry stays fixed during fades, preventing jump/reflow.
   Mobile and all other sections remain unchanged. */
@media (min-width: 701px) {
  #gatherings .event-carousel {
    width: min(1120px, calc(100vw - 120px)) !important;
    max-width: 1120px !important;
    min-height: 0 !important;
    margin: 12px auto 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    justify-items: stretch !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  #gatherings .event-carousel-stage {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 1120px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    display: grid !important;
    align-items: start !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  #gatherings .event-slide,
  #gatherings .event-slide.active {
    grid-area: 1 / 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 1120px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    transform: none !important;
    pointer-events: none !important;
  }

  #gatherings .event-slide h3,
  #gatherings .event-slide:has(.life-event-landscape) h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 92px !important;
    margin: 0 0 18px !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two,
  #gatherings .event-slide:has(.life-event-landscape) .event-large-photos {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    pointer-events: none !important;
  }

  #gatherings .event-large-photos img,
  #gatherings .event-large-photos img.life-event-landscape,
  #gatherings .event-large-photos img:not(.life-event-landscape) {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    pointer-events: none !important;
  }

  #gatherings .event-arrow {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: relative !important;
    inset: auto !important;
    z-index: 70 !important;
    align-self: start !important;
    margin-top: 14px !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  #gatherings .event-prev {
    justify-self: start !important;
    left: auto !important;
    right: auto !important;
  }

  #gatherings .event-next {
    justify-self: end !important;
    left: auto !important;
    right: auto !important;
  }

  #gatherings .event-prev:hover,
  #gatherings .event-next:hover,
  #gatherings .event-arrow:hover {
    transform: scale(1.05) !important;
  }

  #gatherings .gathering-columns {
    position: relative !important;
    z-index: 80 !important;
    margin-top: 18px !important;
    pointer-events: auto !important;
  }

  #gatherings .gathering-columns,
  #gatherings .gathering-card,
  #gatherings .event-links,
  #gatherings .event-links button {
    pointer-events: auto !important;
  }
}

/* 2026-08-22 FINAL LIFE EVENTS DESKTOP LAYOUT
   Approved follow-up after the 20-photo replacement.
   Goals only:
   1) Treat all 20 Life Events photos as uniform 3:2 landscapes.
   2) Center the active heading over the two-photo pair.
   3) Place the existing arrows under the outside bottom corners of the photo pair.
   4) Ensure every event button is clickable.
   No other sections or JS behavior are changed. */
@media (min-width: 701px) {
  /* Widen only the Life Events section enough for the approved landscape pair. */
  #gatherings > .container {
    width: min(calc(100% - 44px), 1500px) !important;
    max-width: 1500px !important;
  }

  /* Keep the fade carousel, but make the stage height stable and stop slide layers
     from intercepting clicks below. */
  #gatherings .event-carousel {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    margin-top: 12px !important;
    padding-bottom: 74px !important; /* reserve arrow row */
    overflow: visible !important;
  }

  #gatherings .event-carousel-stage {
    display: grid !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  #gatherings .event-slide,
  #gatherings .event-slide.active {
    grid-area: 1 / 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    pointer-events: none !important;
  }

  #gatherings .event-slide h3,
  #gatherings .event-slide:has(.life-event-landscape) h3 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
    text-align: center !important;
  }

  /* Uniform two-photo pair for all approved landscape images. */
  #gatherings .event-large-photos,
  #gatherings .event-large-photos.two,
  #gatherings .event-slide:has(.life-event-landscape) .event-large-photos {
    width: min(100%, 1450px) !important;
    max-width: 1450px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }

  #gatherings .event-large-photos img,
  #gatherings .event-large-photos img.life-event-landscape,
  #gatherings .event-large-photos img:not(.life-event-landscape) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
  }

  /* Existing arrows only: bottom row, outside bottom corners of the photo area. */
  #gatherings .event-arrow {
    position: absolute !important;
    bottom: 0 !important;
    top: auto !important;
    align-self: auto !important;
    transform: none !important;
    z-index: 140 !important;
    pointer-events: auto !important;
  }

  #gatherings .event-prev {
    left: 0 !important;
    right: auto !important;
  }

  #gatherings .event-next {
    right: 0 !important;
    left: auto !important;
  }

  #gatherings .event-arrow:hover {
    transform: scale(1.05) !important;
  }

  /* Keep the event list centered below and make every button clickable. */
  #gatherings .gathering-columns {
    position: relative !important;
    z-index: 160 !important;
    width: 960px !important;
    max-width: calc(100vw - 80px) !important;
    margin-top: 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 360px 520px !important;
    column-gap: 80px !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  #gatherings .gathering-columns .event-links,
  #gatherings .gathering-columns .event-links button,
  #gatherings .gathering-columns .gathering-card {
    position: relative !important;
    z-index: 170 !important;
    pointer-events: auto !important;
  }

  #gatherings .gathering-columns .event-links button {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #gatherings .gathering-columns .event-links button.active {
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 2026-08-22 SURGICAL DESKTOP LIFE EVENTS FIT-IN-VIEW FIX
   Only tightens the event-name block beneath the arrows so all five rows
   can remain visible with the heading, photos, and arrows in one desktop view. */
@media (min-width: 701px) {
  #gatherings .gathering-columns {
    margin-top: 0 !important;
  }

  #gatherings .gathering-card {
    padding-top: 4px !important;
    padding-bottom: 8px !important;
  }

  #gatherings .gathering-columns .event-links button {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}

/* 2026-08-22 SURGICAL DESKTOP LIFE EVENTS ALIGN-FIRST-ROW-WITH-ARROWS FIX
   Move only the event-name block upward so Weddings and Luncheons align
   horizontally with the centers of the existing arrow buttons. */
@media (min-width: 701px) {
  #gatherings .gathering-columns {
    margin-top: -46px !important;
  }
}

/* 2026-08-22 SURGICAL GREEN-TREATMENT CLEANUP ONLY.
   Keep the existing approved green colors, sizes, spacing and behavior.
   Lift only the branded green surfaces above the fixed paper-dot overlay so
   those green surfaces render as clean solid color. */
.mission-section,
.wedding-cta {
  position: relative !important;
  z-index: 51 !important;
  background-color: var(--green) !important;
  background-image: none !important;
}

#story-form button[type="submit"] {
  position: relative !important;
  z-index: 51 !important;
  background-color: var(--olive) !important;
  background-image: none !important;
}

/* Preserve the existing sticky-header layering on the Weddings page when its
   solid green CTA scrolls underneath it. No header sizing/styling changes. */
.site-header:not(.home-target-header) {
  z-index: 60 !important;
}

/* 2026-08-22 SURGICAL FOOTER GREEN-TREATMENT CLEANUP ONLY.
   Keep each footer's existing dark olive color, height, content, links,
   spacing and layout unchanged. Lift the footer above the fixed paper-dot
   overlay so the footer renders as a clean solid dark green. */
footer {
  position: relative !important;
  z-index: 51 !important;
  background-image: none !important;
}

/* 2026-08-22 SURGICAL HOMEPAGE DROPDOWN STACKING-CONTEXT FIX ONLY.
   The menu panel was already high-z-index, but the entire homepage header
   must sit above the hero slideshow for the dropdown to paint over it.
   No size, position, appearance, spacing, or behavior changes. */
.home-target-header {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

.home-target-header-inner {
  position: relative !important;
  z-index: 1001 !important;
  overflow: visible !important;
}

.home-target-header #main-nav.open {
  z-index: 1002 !important;
}


/* 2026-08-23 SURGICAL STICKY HEADER FIX ONLY — Safari-safe.
   Keep the existing homepage/Our Story header visible at the top while scrolling.
   Fixed positioning is used because the page's overflow-x clipping prevents reliable
   sticky behavior in Safari. The matching main offset preserves the existing layout. */
.home-target-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
}

.home-target-header + main {
  padding-top: 96px !important;
}

@media (max-width: 900px) {
  .home-target-header + main {
    padding-top: 112px !important;
  }
}

@media (max-width: 680px) {
  .home-target-header + main {
    padding-top: 96px !important;
  }
}

/* 2026-08-23 — Joy & Sole desktop header/navigation layout.
   Desktop: Rouge logo left + visible Jost navigation.
   Mobile/tablet: retain the existing hamburger/drop-down behavior. */
.home-target-brand-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.home-target-tagline{
  display:none;
  font-family:"Jost",Arial,sans-serif;
  font-size:.72rem;
  font-weight:300;
  line-height:1.1;
  letter-spacing:.10em;
  color:#747a4e;
  white-space:nowrap;
}

@media (min-width:901px){
  .home-target-header-inner{
    width:min(calc(100% - 64px), 1400px) !important;
    min-height:112px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:clamp(34px,4vw,76px) !important;
  }

  .home-target-brand-block{
    align-items:flex-start !important;
    width:clamp(245px,23vw,320px) !important;
  }

  .home-target-logo{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  .home-target-tagline{
    display:block !important;
    margin-top:-4px !important;
    padding-left:8px !important;
  }

  .home-target-header .home-target-menu,
  .story-page-home-header .home-target-header .home-target-menu{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .home-target-header .home-target-header-inner #main-nav,
  .home-target-header .home-target-header-inner #main-nav:not(.open),
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav,
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav:not(.open){
    position:static !important;
    inset:auto !important;
    display:flex !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:clamp(18px,2.7vw,48px) !important;
    z-index:auto !important;
  }

  .home-target-header .home-target-header-inner #main-nav a,
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav a{
    padding:10px 0 !important;
    margin:0 !important;
    white-space:nowrap !important;
    text-align:center !important;
    font-family:"Jost",Arial,sans-serif !important;
    font-size:clamp(.78rem,1.02vw,.95rem) !important;
    font-weight:300 !important;
    line-height:1.2 !important;
    letter-spacing:.11em !important;
    color:#747a4e !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }

  .home-target-header .home-target-header-inner #main-nav a:hover,
  .home-target-header .home-target-header-inner #main-nav a:focus-visible,
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav a:hover,
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav a:focus-visible{
    color:#4f5434 !important;
  }

  .home-target-header + main{
    padding-top:112px !important;
  }
}

@media (max-width:900px){
  .home-target-brand-block{
    align-items:center;
  }
}

/* 2026-08-23 — center Hospitality with heart under the desktop logo only. */
@media (min-width:901px){
  .home-target-brand-block{
    align-items:center !important;
  }

  .home-target-tagline{
    width:100% !important;
    padding-left:0 !important;
    text-align:center !important;
  }
}

/* 2026-08-23 LIFE EVENTS CLICK RELIABILITY FIX.
   Keep the approved visual layout; only correct click stacking/hit areas. */
@media (min-width:701px){
  #gatherings .event-arrow{
    z-index:500 !important;
    pointer-events:auto !important;
  }

  #gatherings .event-carousel-stage,
  #gatherings .event-slide,
  #gatherings .event-large-photos,
  #gatherings .event-large-photos img{
    pointer-events:none !important;
  }

  #gatherings .gathering-columns{
    z-index:160 !important;
  }

  #gatherings .event-links button{
    position:relative !important;
    z-index:200 !important;
    pointer-events:auto !important;
  }
}

/* 2026-08-23 — DESKTOP HEADER TEXT SIZE ONLY.
   Increase the four desktop navigation labels and "Hospitality with heart"
   by exactly 50%. No other header dimensions or layout are changed. */
@media (min-width:901px){
  .home-target-header .home-target-header-inner #main-nav a,
  .story-page-home-header .home-target-header .home-target-header-inner #main-nav a{
    font-size:clamp(1.17rem,1.53vw,1.425rem) !important;
  }

  .home-target-tagline{
    font-size:1.08rem !important;
  }
}

/* 2026-08-23 — MAKING MOMENTS MATTER homepage copy + typography ONLY. */
.home-moments-story{
  color:#747A4E !important;
  text-align:center !important;
}

.home-moments-story .home-moments-title{
  margin:0 auto 14px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(2.35rem,4.2vw,4rem) !important;
  font-style:normal !important;
  font-weight:600 !important;
  line-height:1.02 !important;
  letter-spacing:.035em !important;
  text-align:center !important;
}

.home-moments-story .home-moments-subtitle{
  margin:0 auto 24px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(1.35rem,2.15vw,2rem) !important;
  font-style:italic !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

.home-moments-story .home-target-rule{
  margin:0 auto 30px !important;
}

.home-moments-story .home-moments-body{
  width:min(880px,92%) !important;
  margin:0 auto 28px !important;
  color:#747A4E !important;
  font-family:"Jost",Arial,sans-serif !important;
  font-size:clamp(1rem,1.35vw,1.18rem) !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

.home-moments-story .home-moments-signature{
  margin:0 auto 27px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(1.5rem,2.35vw,2.15rem) !important;
  font-style:italic !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  text-align:center !important;
}

.home-moments-story .home-moments-service{
  width:min(880px,92%) !important;
  margin:0 auto !important;
  color:#747A4E !important;
  font-family:"Jost",Arial,sans-serif !important;
  font-size:clamp(.9rem,1.08vw,1.02rem) !important;
  font-style:normal !important;
  font-weight:300 !important;
  line-height:1.65 !important;
  letter-spacing:.015em !important;
  text-align:center !important;
}

@media (max-width:700px){
  .home-moments-story .home-moments-title{
    font-size:2.3rem !important;
  }

  .home-moments-story .home-moments-subtitle{
    font-size:1.35rem !important;
  }

  .home-moments-story .home-moments-body{
    font-size:1rem !important;
    line-height:1.7 !important;
  }

  .home-moments-story .home-moments-signature{
    font-size:1.55rem !important;
  }

  .home-moments-story .home-moments-service{
    font-size:.9rem !important;
  }
}

/* 2026-08-23 — soft closing transition beneath Making Moments Matter only. */
.home-story-transition{
  margin:52px auto 0 !important;
  text-align:center !important;
}

.home-story-transition-branch{
  display:block !important;
  width:clamp(78px,8vw,112px) !important;
  height:auto !important;
  margin:0 auto 18px !important;
}

.home-story-transition-text{
  margin:0 auto 22px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(1.45rem,2.1vw,2rem) !important;
  font-style:normal !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  text-align:center !important;
}

.home-story-transition-rule{
  margin:0 auto !important;
}

@media (max-width:700px){
  .home-story-transition{
    margin-top:42px !important;
  }

  .home-story-transition-text{
    font-size:1.4rem !important;
  }
}

/* 2026-08-23 — service-area line width only. */
.home-moments-story .home-moments-service{
  width:min(690px,86%) !important;
}

/* 2026-08-27 — approved Brand Foundation message structure only. */
.home-target-hero .home-wedding-slideshow .home-brand-intro{
  width:min(1100px,94%);
}

.home-target-hero .home-wedding-slideshow .home-brand-service{
  margin:0 0 18px;
  color:rgba(255,250,240,.94);
  font-family:"Jost",Arial,sans-serif;
  font-size:clamp(.86rem,1.3vw,1.12rem);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 2px 9px rgba(34,35,28,.4),0 1px 2px rgba(34,35,28,.28);
}

.home-target-hero .home-wedding-slideshow .home-brand-intro h1{
  color:rgba(255,250,240,.94);
  font-family:"Italianno Hero",cursive !important;
  font-size:clamp(3.6rem,7vw,7rem);
  font-style:normal;
  font-weight:400;
  line-height:1.12;
  letter-spacing:normal;
}

.home-target-hero .home-wedding-slideshow .home-brand-intro .home-target-categories{
  margin-top:25px;
  font-family:"Cormorant Garamond Hero",serif;
  font-size:clamp(1rem,1.55vw,1.3rem);
  font-weight:600;
  line-height:1.55;
  letter-spacing:.055em;
}

.home-brand-promises{
  width:min(980px,92%);
  margin:0 auto 38px;
}

.home-moments-story .home-brand-promises h2{
  margin:0 auto 17px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(2.45rem,4.2vw,4rem) !important;
  font-style:normal !important;
  font-weight:600 !important;
  line-height:1.02 !important;
  letter-spacing:.035em !important;
  text-align:center !important;
}

.home-moments-story .home-brand-promises .home-brand-subtitle{
  margin:0 auto 30px !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(1.35rem,2.15vw,2rem) !important;
  font-style:italic !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

.home-moments-story .home-brand-promises .home-brand-body{
  width:min(920px,100%) !important;
  margin:0 auto 29px !important;
  color:#747A4E !important;
  font-family:"Jost",Arial,sans-serif !important;
  font-size:clamp(1rem,1.35vw,1.18rem) !important;
  font-style:normal !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

.home-moments-story .home-brand-promises .home-brand-promise{
  width:min(900px,100%) !important;
  margin:0 auto !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(1.45rem,2.15vw,1.95rem) !important;
  font-style:normal !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

.home-moments-story .home-brand-cta{
  margin:0 auto 24px;
  position:relative;
  z-index:51;
  background-image:none !important;
}

@media (max-width:700px){
  .home-target-hero .home-wedding-slideshow .home-brand-intro{
    width:92%;
  }

  .home-target-hero .home-wedding-slideshow .home-brand-service{
    margin-bottom:13px;
    font-size:.7rem;
    letter-spacing:.11em;
  }

  .home-target-hero .home-wedding-slideshow .home-brand-intro h1{
    font-size:clamp(2.95rem,13.2vw,4.4rem);
    line-height:1.04;
  }

  .home-target-hero .home-wedding-slideshow .home-brand-intro .home-target-categories{
    margin-top:18px;
    font-size:.82rem;
    line-height:1.6;
    letter-spacing:.035em;
  }

  .home-brand-promises{
    width:min(94%,560px);
    margin-bottom:32px;
  }

  .home-moments-story .home-brand-promises h2{
    margin-bottom:14px !important;
    font-size:clamp(2rem,9vw,2.65rem) !important;
  }

  .home-moments-story .home-brand-promises .home-brand-subtitle{
    margin-bottom:24px !important;
    font-size:1.35rem !important;
  }

  .home-moments-story .home-brand-promises .home-brand-body{
    margin-bottom:24px !important;
    font-size:1rem !important;
    line-height:1.7 !important;
  }

  .home-moments-story .home-brand-promises .home-brand-promise{
    font-size:clamp(1.35rem,6vw,1.65rem) !important;
  }
}

/* 2026-08-24 — Making Moments Matter desktop paragraph width only. */
@media (min-width:701px){
  .home-moments-story .home-moments-body{
    width:min(790px,92%) !important;
  }

  .home-moments-story .home-moments-service{
    width:min(600px,86%) !important;
  }
}

/* 2026-08-23 — Our Story portrait only:
   keep the portrait's original solid green background free of the site dot texture. */
.our-story-about-me-photo{
  position:relative !important;
  z-index:51 !important;
}

/* 2026-08-28 — iPad contact form only: keep Event date and Guest count
   side by side with shorter fields and a clear center gap. */
@media (min-width:701px) and (max-width:1366px){
  #contact .field-row-event-guest{
    display:grid !important;
    grid-template-columns:minmax(0,46%) minmax(0,46%) !important;
    justify-content:space-between !important;
    column-gap:0 !important;
    row-gap:0 !important;
    width:100% !important;
    align-items:start !important;
  }

  #contact .field-row-event-guest label,
  #contact .field-row-event-guest input{
    min-width:0 !important;
    max-width:100% !important;
  }

  #contact .field-row-event-guest label{
    overflow:hidden !important;
  }

  #contact .field-row-event-guest input{
    display:block !important;
    width:100% !important;
    inline-size:100% !important;
    max-inline-size:100% !important;
    box-sizing:border-box !important;
  }
}

/* 2026-08-23 — MOBILE EVENTS DIVIDER-LINE REMOVAL ONLY.
   Remove only the thin gray borders around/between the two mobile event lists.
   Preserve the selected-event pill, arrows, stitched line, layout, and desktop. */
@media (max-width:700px){
  #gatherings .gathering-columns,
  #gatherings .gathering-card,
  #gatherings .gathering-card + .gathering-card{
    border:0 !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
  }

  #gatherings .gathering-columns .event-links button{
    border:0 !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
  }
}

/* 2026-08-24 — THREE-STEP HOMEPAGE PROCESS SECTION ONLY. */
.walk-five-section .walk-five-heading > p{
  max-width:1180px !important;
  margin:0 auto !important;
  color:#747A4E !important;
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(2.75rem,3.2vw,3rem) !important;
  font-weight:500 !important;
  line-height:1.12 !important;
  text-align:center !important;
}

.walk-five-section .walk-five-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:50px !important;
  align-items:start !important;
}

.walk-five-section .walk-five-card{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.walk-five-section .walk-five-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  margin:0 0 18px !important;
}

.walk-five-section .walk-five-card h3{
  margin:0 0 9px !important;
}

.walk-five-section .walk-five-card p{
  max-width:310px !important;
  margin:0 auto !important;
}

@media (max-width:700px){
  .walk-five-section .walk-five-heading > p{
    font-size:clamp(2rem,9vw,2.65rem) !important;
  }

  .walk-five-section .walk-five-grid{
    grid-template-columns:1fr !important;
    gap:38px !important;
  }

  .walk-five-section .walk-five-card{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
  }
}

/* 2026-08-24 — PHONE EVENTS PHOTO-TO-LIST GAP ONLY. */
@media (max-width:700px){
  #gatherings .event-carousel,
  #gatherings .event-carousel-stage{
    height:auto !important;
    min-height:0 !important;
  }

  #gatherings .event-slide.active{
    position:relative !important;
    inset:auto !important;
  }

  #gatherings .gathering-columns{
    margin-top:18px !important;
  }
}

/* 2026-08-27 — surgical hero scale and message-width refinements only. */
.home-target-hero .home-wedding-slideshow .home-brand-intro h1{
  font-size:clamp(4.1rem,7.6vw,7.4rem);
  font-synthesis:none;
  line-height:.8;
  text-shadow:0 2px 12px rgba(34,35,28,.18);
}

.home-target-hero .home-wedding-slideshow .home-brand-service{
  margin-bottom:10px;
}

.home-target-hero .home-wedding-slideshow .home-brand-intro .home-target-categories{
  margin-top:18px;
  font-size:clamp(1.15rem,1.85vw,1.55rem);
}

@media (min-width:701px){
  .home-moments-story .home-brand-promises .home-brand-body,
  .home-moments-story .home-brand-promises .home-brand-promise{
    width:min(790px,92%) !important;
  }
}

@media (max-width:700px){
  .home-target-hero .home-wedding-slideshow .home-brand-intro h1{
    font-size:clamp(3.15rem,13.5vw,4.45rem);
    line-height:.82;
  }

  .home-target-hero .home-wedding-slideshow .home-brand-intro .home-target-categories{
    font-size:.95rem;
  }
}

/* 2026-08-27 — move the existing service descriptor beneath the logo only. */
.home-header-service{
  width:100%;
  margin:-3px auto 0;
  color:#747A4E;
  font-family:"Jost",Arial,sans-serif;
  font-size:clamp(.64rem,.75vw,.76rem);
  font-weight:500;
  line-height:1.1;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}

@media (max-width:900px){
  .home-header-service{
    margin-top:-2px;
    font-size:.62rem;
    letter-spacing:.12em;
  }
}

/* 2026-08-28 — approved combined How I Help page only. */
.how-help-body{
  background:#fbf7ef;
}

.how-help-intro{
  padding:clamp(72px,8vw,112px) 22px clamp(60px,7vw,88px);
  color:#747A4E;
  text-align:center;
}

.how-help-leaf{
  width:clamp(82px,8vw,112px);
  margin:0 auto 20px;
}

.how-help-intro h1{
  margin:0;
  color:#747A4E;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(3.4rem,6vw,5.6rem);
  font-weight:600;
  line-height:1;
  letter-spacing:.02em;
}

.how-help-intro .home-target-rule{
  margin:30px auto 31px;
}

.how-help-opening{
  width:min(790px,92%);
  margin:0 auto;
}

.how-help-opening p,
.how-help-category > p,
.how-help-services p{
  color:#5f6254;
  font-family:"Jost",Arial,sans-serif;
  font-size:clamp(1rem,1.25vw,1.12rem);
  font-weight:400;
  line-height:1.8;
}

.how-help-opening p + p{
  margin-top:20px;
}

.how-help-content{
  padding:14px 0 clamp(82px,9vw,120px);
}

.how-help-container{
  width:min(100% - 44px,1040px);
}

.how-help-category{
  max-width:900px;
  margin:0 auto;
  text-align:left;
}

.how-help-category h2{
  margin:0 0 21px;
  color:#747A4E;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.65rem,4.5vw,4.2rem);
  font-weight:600;
  line-height:1.08;
  letter-spacing:.01em;
}

.how-help-category > p{
  margin:0;
}

.how-help-category > p + p{
  margin-top:17px;
}

.how-help-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:clamp(58px,7vw,84px) auto;
  color:#b8735d;
}

.how-help-divider span{
  width:60px;
  height:1px;
  background:#b8735d;
}

.how-help-divider b{
  font-size:1.1rem;
  font-weight:400;
}

.how-help-services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(28px,4vw,52px);
  margin-top:48px;
}

.how-help-services section{
  padding-top:24px;
  border-top:1px solid rgba(184,115,93,.6);
}

.how-help-services h3{
  margin:0 0 15px;
  color:#747A4E;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(1.55rem,2.2vw,2rem);
  font-weight:600;
  line-height:1.18;
}

.how-help-services p{
  margin:0;
}

.how-help-cta{
  position:relative;
  z-index:51;
  padding:clamp(65px,8vw,92px) 22px;
  background:#747A4E;
  background-image:none;
  color:#fffaf0;
  text-align:center;
}

.how-help-cta p{
  margin:0 0 27px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.35rem,4vw,3.8rem);
  font-style:italic;
  line-height:1.1;
}

.how-help-cta a{
  display:inline-block;
  padding:13px 28px;
  border:1px solid rgba(255,250,240,.75);
  border-radius:999px;
  color:#fffaf0;
  font-family:"Jost",Arial,sans-serif;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.12em;
  text-decoration:none;
}

@media (max-width:900px){
  .how-help-services{
    grid-template-columns:1fr;
    gap:34px;
  }

  .how-help-services section{
    max-width:680px;
  }
}

@media (max-width:700px){
  .how-help-intro{
    padding:58px 18px 54px;
  }

  .how-help-intro h1{
    font-size:clamp(3rem,15vw,4.15rem);
  }

  .how-help-intro .home-target-rule{
    margin:25px auto 25px;
  }

  .how-help-opening{
    width:100%;
  }

  .how-help-content{
    padding:8px 0 72px;
  }

  .how-help-container{
    width:min(100% - 36px,1040px);
  }

  .how-help-category h2{
    font-size:clamp(2.35rem,11vw,3.15rem);
  }

  .how-help-divider{
    margin:52px auto;
  }

  .how-help-services{
    margin-top:38px;
  }
}

/* 2026-08-28 — fixed-header anchor landing correction only. */
#welcome,
#gatherings,
#contact{
  scroll-margin-top:126px;
}

@media (max-width:680px){
  #welcome,
  #gatherings,
  #contact{
    scroll-margin-top:110px;
  }
}

/* 2026-09-11 — approved site-wide type color hierarchy.
   Main wording uses dark charcoal. Olive is reserved for small labels,
   supporting headings, active states, and fine decorative lines. */
:root{
  --soft:#3f403b;
}

.home-moments-story,
.home-moments-story .home-moments-body,
.home-moments-story .home-moments-signature,
.home-moments-story .home-moments-service,
.home-moments-story .home-brand-promises .home-brand-body,
.home-moments-story .home-brand-promises .home-brand-promise,
.how-help-intro,
.how-help-opening p,
.how-help-category > p,
.how-help-services p,
.services-intro > p,
.services-container > .category-tagline,
.services-container > .category-description,
.services-container > .corporate-pricing-note,
.service-card p:not(.service-list-label),
.service-card li,
.services-process-card p,
.story-copy p span[style]{
  color:var(--ink) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
.home-moments-story .home-moments-title,
.home-moments-story .home-moments-subtitle,
.home-moments-story .home-brand-promises .home-brand-subtitle,
.home-story-transition-text,
.walk-five-section .walk-five-heading > p,
.services-container > .custom-proposal-heading{
  color:var(--olive) !important;
}

.eyebrow,
.card-kicker,
.home-header-service,
.walk-copy .step,
.event-category,
.service-list-label,
.service-fit strong,
.nonprofit-fields legend,
.story-step > div > span,
.social-follow h2{
  color:var(--olive) !important;
}

.thread-divider path{
  stroke:var(--olive) !important;
}

.home-target-rule,
.how-help-divider{
  color:var(--olive) !important;
}

.home-target-rule span,
.how-help-divider span{
  background:var(--olive) !important;
}

.story-button,
.care-quote,
.how-help-services section{
  border-color:var(--olive) !important;
}

/* Light type remains necessary over photographs and solid dark fields. */
.home-target-hero .home-wedding-slideshow .home-brand-intro h1,
.home-target-hero .home-wedding-slideshow .home-brand-intro .home-target-categories,
.wedding-opening-copy,
.wedding-opening-copy h1,
.wedding-opening-copy .eyebrow,
.wedding-cta,
.wedding-cta h2,
.wedding-cta .eyebrow,
.mission-section,
.mission-section .eyebrow,
.services-overview-note,
.services-final-cta,
.services-final-cta h2,
.services-final-cta p,
.how-help-cta,
.how-help-cta p,
footer{
  color:var(--white) !important;
}

/* 2026-09-11 — approved Services & Starting Prices presentation cleanup only.
   Let the service descriptions rest directly on the site's ivory paper with
   short, quiet olive stitched accents, and keep the final photograph clear
   and unboxed. */
.service-category-section,
.service-category-section.soft-section{
  background:var(--paper);
}

.service-card{
  background:transparent;
  border:0;
  border-radius:0;
  padding:30px 24px 34px;
  box-shadow:none;
}

.service-card::before{
  content:"";
  display:block;
  width:90px;
  height:1px;
  margin:0 0 24px;
  background:rgba(116,122,78,.82);
}

.services-final-cta{
  z-index:51;
  isolation:isolate;
  background:
    linear-gradient(rgba(55,60,35,.62),rgba(55,60,35,.62)),
    url("images/home-gentle-order-08.jpg") center 58%/cover no-repeat;
}

.services-final-cta-inner{
  max-width:670px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

@media (max-width:680px){
  .service-card{
    padding:26px 5px 30px;
  }

  .service-card::before{
    width:78px;
    height:1px;
    margin-bottom:22px;
  }

  .services-final-cta-inner{
    padding:0;
  }
}

/* 2026-09-12 — keep the decorative page texture behind all event-carousel photographs. */
#gatherings .event-carousel{
  position:relative;
  z-index:51;
}

/* 2026-09-12 — one clear next step after the three How I Help categories. */
.how-help-pricing-link{
  margin:clamp(54px,7vw,76px) 0 0;
  text-align:center;
}

.how-help-pricing-link .home-target-cta{
  position:relative;
  z-index:51;
}

/* 2026-10-23 — tablet date/guest sizing. Keep native date picker behavior. */
@media (min-width:701px) and (max-width:1366px),
       (min-width:701px) and (hover:none) and (pointer:coarse) {
  #contact .field-row-event-guest {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:18px !important;
  }
  #contact .field-row-event-guest > label {
    grid-template-columns:minmax(0,1fr) !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  #contact .field-row-event-guest input {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-inline-size:0 !important;
    inline-size:100% !important;
    max-inline-size:100% !important;
    box-sizing:border-box !important;
  }
  #contact .field-row-event-guest input[type="date"] {
    -webkit-appearance:none !important;
    appearance:none !important;
  }
  #contact .field-row-event-guest input[type="date"]::-webkit-date-and-time-value {
    min-width:0;
    max-width:100%;
    text-align:left;
  }
}
