@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');

/* 2026-09-04 full-site QA typography polish.
   Keep the approved purple/sunset composition intact while giving general
   copy enough weight and contrast to hold its own over the photography. */
body{font-family:'DM Sans',Arial,Helvetica,sans-serif;font-weight:400}

/* Keep sunset hero copy readable without an outlined/shadowed look. The soft
   radial lift follows the copy itself and fades naturally into the artwork. */
.sunset-shell .hero .copy{position:relative;isolation:isolate}
.sunset-shell .hero .copy:before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:-24px -54px -26px;
  background:radial-gradient(ellipse at center,rgba(255,239,224,.46) 0%,rgba(255,232,216,.28) 48%,rgba(255,228,211,0) 78%);
  filter:blur(10px);
  pointer-events:none;
}
.sunset-shell .lede{
  color:#321d3b;
  font-size:19px;
  font-weight:600;
  line-height:1.58;
  letter-spacing:-.01em;
  max-width:710px;
}
.site>main>.hero .lede{
  color:#35243d;
  font-size:19px;
  font-weight:500;
  line-height:1.58;
  letter-spacing:-.01em;
  text-shadow:0 1px 0 rgba(255,255,255,.62),0 0 14px rgba(255,247,240,.26);
}

.home-hero-copy .lede{
  color:#3d3044;
  font-weight:500;
  text-shadow:0 1px 0 rgba(255,255,255,.42);
}
.home-story-inner>p:not(.script){color:#433949;font-weight:500}
.home-priority-card p{color:#44374a;font-weight:500}

.card p,
.detail-intro,
.detail-point p,
.detail-summary p,
.contact-info p,
.event-intro,
.event-note,
.events-next p:last-child{
  font-weight:500;
}
.card p{color:#433649}
.detail-intro,.detail-point p,.detail-summary p{color:#493c4f}
.contact-info p{color:#443749}
.event-intro,.event-note{color:#443749}

.small-note{font-weight:500}

/* Legacy/simple pages moved onto the current campaign visual system. */
.qa-simple{min-height:64vh;padding:58px 24px 72px;background:linear-gradient(180deg,#fffdfb 0%,#fff8f5 62%,#f7edf4 100%)}
.qa-simple-inner{max-width:900px;margin:0 auto}
.qa-simple-card{background:rgba(255,255,255,.88);border-top:2px solid #f1b52a;border-radius:18px;padding:34px 36px;box-shadow:0 14px 34px rgba(61,20,82,.09)}
.qa-simple-card h1,.qa-simple-card h2{font-family:Georgia,'Times New Roman',serif;color:#4a1b66}
.qa-simple-card h1{font-size:clamp(2.3rem,5vw,3.7rem);line-height:1.05;margin:.1rem 0 1rem}
.qa-simple-card h2{font-size:1.55rem;margin:2rem 0 .65rem}
.qa-simple-card p{color:#493c4f;font-size:16.5px;font-weight:500;line-height:1.65}
.qa-simple-card .actions{justify-content:flex-start}
.qa-kicker{font-family:'Segoe Script','Brush Script MT',cursive;color:#542071;font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.1;margin:0 0 12px}
.qa-kicker:after{content:'';display:block;width:56px;height:3px;background:#f1b52a;border-radius:999px;margin-top:11px}

/* Desktop/tablet composition pass: keep the dark tree mass away from live copy.
   Events keeps its dedicated rule in events.css; mobile crops remain untouched. */
@media(min-width:821px){
  .sunset-shell:not(.events-sunset){
    background-size:cover,118% auto;
    background-position:center center,12% 40%;
  }
  .site>.topbar{
    background-size:cover,118% auto;
    background-position:center center,12% 17%;
  }
  .site>main>.hero{
    background-size:cover,118% auto;
    background-position:center center,12% 55%;
  }
}

@media(max-width:820px){
  .sunset-shell .hero .copy:before{inset:-18px -24px -22px}
  .sunset-shell .lede,.site>main>.hero .lede{font-size:17.5px;line-height:1.56}
  .qa-simple{padding:46px 18px 58px}
  .qa-simple-card{padding:28px 24px}
}
@media(max-width:560px){
  .sunset-shell .hero .copy:before{inset:-14px -12px -18px;filter:blur(8px)}
  .sunset-shell .lede,.site>main>.hero .lede{font-size:16.5px;line-height:1.55}
  .qa-simple{padding:40px 14px 50px}
  .qa-simple-card{padding:24px 20px;border-radius:14px}
  .qa-simple-card .actions .button{width:100%}
}


/* 2026-09-18 interaction ultra-pass.
   No visual redesign: improve click/tap affordance and keyboard focus only. */
a,.button,button{touch-action:manipulation}
.button,button,.nav a,.brand,.card a,.home-approved-hero-link,.hero-hotspot{cursor:pointer}
.button:focus-visible,
button:focus-visible,
.card a:focus-visible,
.brand:focus-visible,
.hero-hotspot:focus-visible{
  outline:3px solid #f1b52a;
  outline-offset:4px;
  border-radius:8px;
}
.hero-hotspot{
  background:transparent;
  text-decoration:none;
}

/* 2026-09-18 INTERIOR HOMEPAGE-MATCH PASS V3.
   Homepage is intentionally excluded. This pass removes the old forest/photo
   treatment from interior heroes and carries the approved homepage palette,
   typography, spacing, buttons and softer coastal/sunset feel page by page. */

.site:not(.home-site){
  --interior-purple:#4a176f;
  --interior-purple-deep:#35104f;
  --interior-purple-mid:#6a2c83;
  --interior-gold:#f1b52a;
  --interior-peach:#efb9ae;
  --interior-peach-soft:#f7d5cb;
  --interior-sand:#fff3e8;
  --interior-cream:#fffaf6;
  --interior-paper:#fffdfb;
  --interior-ink:#35243d;
  --interior-muted:#55475a;
  --interior-sky:
    radial-gradient(circle at 91% 18%, rgba(255,243,189,.98) 0 4.5%, rgba(255,218,145,.58) 7%, rgba(255,218,145,0) 18%),
    radial-gradient(ellipse at 84% 36%, rgba(255,235,208,.72) 0 18%, rgba(255,235,208,0) 44%),
    linear-gradient(180deg,#efb6ad 0%,#f6cabc 30%,#f9dfcf 54%,#f5d7c2 66%,#e9c9c6 82%,#d7bfd0 100%);
  --interior-water:
    linear-gradient(180deg,rgba(255,255,255,0) 0 54%,rgba(255,244,229,.34) 55%,rgba(255,232,207,.44) 63%,rgba(216,185,201,.52) 100%);
}

/* HEADER / NAVIGATION */
.site:not(.home-site) .topbar{
  position:relative;
  z-index:12;
  width:100%;
  max-width:none;
  margin:0;
  padding:18px clamp(24px,3vw,48px) 12px;
  display:flex;
  align-items:center;
  gap:28px;
  background:rgba(255,247,241,.44);
  background-image:none;
  box-shadow:none;
}
.site:not(.home-site) .brand-logo{
  width:292px;
  max-width:32vw;
  height:auto;
  filter:saturate(1.02) contrast(1.02);
}
.site:not(.home-site) .nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(15px,1.65vw,25px);
  color:var(--interior-purple);
  font-size:15px;
  font-weight:800;
}
.site:not(.home-site) .nav a{
  text-decoration:none;
  padding:11px 0 8px;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.site:not(.home-site) .nav a:hover,
.site:not(.home-site) .nav a:focus-visible,
.site:not(.home-site) .nav a.active{
  border-bottom-color:var(--interior-gold);
}
.site:not(.home-site) .nav .cta{
  background:var(--interior-purple);
  color:#fff;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  box-shadow:0 8px 18px rgba(74,23,111,.16);
}
.site:not(.home-site) .nav .cta:hover{background:#5d2481}

/* HERO / COASTAL SUNSET
   No interior-sunset.jpg here: the previous forest/dark-tree image is removed. */
.site:not(.home-site) .sunset-shell{
  position:relative;
  isolation:isolate;
  background:var(--interior-sky);
  color:var(--interior-purple);
}
.site:not(.home-site) .sunset-shell:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 45%),
    var(--interior-water);
}
.site:not(.home-site) > .topbar{
  background:
    linear-gradient(180deg,rgba(255,248,242,.54),rgba(255,248,242,.22)),
    var(--interior-sky);
}
.site:not(.home-site) > main > .hero{
  max-width:none;
  background:var(--interior-sky);
}
.site:not(.home-site) > main > .hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:var(--interior-water);
}
.site:not(.home-site) .events-sunset{
  background:var(--interior-sky);
}
.site:not(.home-site) .events-sunset:before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 45%),
    var(--interior-water);
}

.site:not(.home-site) .hero{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  min-height:420px;
  padding:52px 28px 90px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.site:not(.home-site) .hero .copy{
  position:relative;
  z-index:2;
  width:min(940px,100%);
  margin:0 auto;
}
.site:not(.home-site) .hero .copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-28px -64px -30px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,250,244,.64) 0%,rgba(255,246,239,.40) 43%,rgba(255,242,233,0) 75%);
  filter:blur(6px);
  pointer-events:none;
}
.site:not(.home-site) .script{
  font-family:"Segoe Script","Brush Script MT",cursive;
  color:var(--interior-purple);
  font-size:clamp(42px,4.5vw,59px);
  line-height:1.06;
  font-weight:500;
  margin:0 0 14px;
  text-shadow:none;
}
.site:not(.home-site) .script:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin:13px auto 0;
  border-radius:999px;
  background:var(--interior-gold);
}
.site:not(.home-site) .headline{
  max-width:950px;
  margin:0 auto 20px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--interior-purple);
  font-size:clamp(48px,5vw,67px);
  line-height:1.02;
  letter-spacing:-1.2px;
  text-wrap:balance;
}
.site:not(.home-site) .lede{
  max-width:760px;
  margin:0 auto 15px;
  color:#392b40;
  font-size:19px;
  font-weight:600;
  line-height:1.58;
  letter-spacing:-.01em;
  text-shadow:none;
}
.site:not(.home-site) .actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:25px;
}
.site:not(.home-site) .button{
  min-height:50px;
  padding:14px 25px;
  border-radius:999px;
  font-family:"DM Sans",Arial,Helvetica,sans-serif;
  font-size:15.5px;
  font-weight:800;
  letter-spacing:0;
}
.site:not(.home-site) .button.primary{
  background:var(--interior-purple);
  color:#fff;
  box-shadow:0 8px 18px rgba(74,23,111,.16);
}
.site:not(.home-site) .button.primary:hover{
  background:#5d2481;
  transform:translateY(-1px);
}
.site:not(.home-site) .button.secondary{
  background:rgba(255,250,246,.78);
  color:var(--interior-purple);
  border:1.5px solid rgba(74,23,111,.46);
  box-shadow:none;
}
.site:not(.home-site) .button.secondary:hover{background:#fffaf6}

/* MAIN SECTIONS */
.site:not(.home-site) .section{
  position:relative;
  z-index:4;
  padding:62px 44px 74px;
  background:linear-gradient(180deg,#fffdfb 0%,#fff9f5 66%,#fbf2f5 100%);
}
.site:not(.home-site) .section:before{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-34px;
  height:68px;
  background:#fffdfb;
  border-radius:50% 50% 0 0/100% 100% 0 0;
}
.site:not(.home-site) .section-inner{
  position:relative;
  z-index:2;
  max-width:1120px;
  margin:0 auto;
}
.site:not(.home-site) .section-title,
.site:not(.home-site) .detail-title,
.site:not(.home-site) .contact-info h2,
.site:not(.home-site) .qa-kicker,
.site:not(.home-site) .events-next-script{
  font-family:"Segoe Script","Brush Script MT",cursive;
  color:var(--interior-purple);
  font-weight:500;
}
.site:not(.home-site) .section-title{
  margin:0 0 38px;
  text-align:center;
  font-size:clamp(35px,4vw,46px);
  line-height:1.14;
}
.site:not(.home-site) .section-title:after,
.site:not(.home-site) .qa-kicker:after,
.site:not(.home-site) .events-next-script:after{
  content:"";
  display:block;
  width:52px;
  height:3px;
  margin:11px auto 0;
  border-radius:999px;
  background:var(--interior-gold);
}

/* Cards become lighter, flatter and closer to the homepage's open rhythm. */
.site:not(.home-site) .cards{
  display:grid;
  gap:0;
}
.site:not(.home-site) .cards:not(.four){grid-template-columns:repeat(3,minmax(0,1fr))}
.site:not(.home-site) .cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.site:not(.home-site) .cards .card,
.site:not(.home-site) .cards.four .card{
  min-height:0;
  padding:25px 26px 28px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.site:not(.home-site) .cards .card + .card{
  border-left:1px solid rgba(241,181,42,.58);
}
.site:not(.home-site) .card h2,
.site:not(.home-site) .card h3,
.site:not(.home-site) .detail-point h3,
.site:not(.home-site) .detail-summary h3,
.site:not(.home-site) .event-details h2,
.site:not(.home-site) .qa-simple-card h1,
.site:not(.home-site) .qa-simple-card h2{
  color:var(--interior-purple);
  font-family:Georgia,"Times New Roman",serif;
}
.site:not(.home-site) .card h2,
.site:not(.home-site) .card h3{
  margin:0 0 10px;
  font-size:21px;
  line-height:1.2;
}
.site:not(.home-site) .card p{
  color:#433649;
  font-size:15.8px;
  font-weight:500;
  line-height:1.56;
}
.site:not(.home-site) .card a{
  color:var(--interior-purple);
  border-bottom-color:var(--interior-gold);
}
.site:not(.home-site) .icon{
  width:50px;
  height:50px;
  margin-bottom:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--interior-purple);
  background:linear-gradient(145deg,#f8e9e3,#eadcf0);
  box-shadow:none;
}

/* PRIORITY DETAIL PAGES */
.site:not(.home-site) .detail-hero{
  padding-top:46px;
  padding-bottom:78px;
}
.site:not(.home-site) .detail-hero .script{font-size:clamp(38px,4vw,50px)}
.site:not(.home-site) .detail-hero .headline{font-size:clamp(44px,4.6vw,61px)}
.site:not(.home-site) .portrait{display:none!important}
.site:not(.home-site) .platform-detail{max-width:980px}
.site:not(.home-site) .detail-eyebrow{
  margin:0 0 12px;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#806b7e;
  font-size:13px;
  font-weight:800;
}
.site:not(.home-site) .detail-title{
  margin:0 auto 18px;
  text-align:center;
  font-size:clamp(36px,4vw,46px);
  line-height:1.15;
}
.site:not(.home-site) .detail-title:after{
  content:"";
  display:block;
  width:52px;
  height:3px;
  margin:12px auto 0;
  border-radius:999px;
  background:var(--interior-gold);
}
.site:not(.home-site) .detail-intro{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
  color:#493c4f;
  font-size:18px;
  font-weight:500;
  line-height:1.65;
}
.site:not(.home-site) .detail-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 44px;
}
.site:not(.home-site) .detail-point{
  padding:26px 0;
  border-top:1px solid rgba(74,23,111,.15);
}
.site:not(.home-site) .detail-point h3{
  margin:0 0 10px;
  font-size:22px;
}
.site:not(.home-site) .detail-point p,
.site:not(.home-site) .detail-summary p{
  color:#493c4f;
  font-size:16px;
  font-weight:500;
  line-height:1.62;
}
.site:not(.home-site) .detail-summary{
  max-width:900px;
  margin:34px auto 0;
  padding:24px 0;
  background:transparent;
  border-top:2px solid rgba(241,181,42,.72);
  border-bottom:2px solid rgba(241,181,42,.50);
}
.site:not(.home-site) .detail-summary h3{
  margin:0 0 9px;
  font-size:23px;
}
.site:not(.home-site) .detail-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}

/* CONTACT */
.site:not(.home-site) .contact-wrap{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:58px;
  max-width:920px;
  margin:0 auto;
  align-items:start;
}
.site:not(.home-site) .contact-info h2{
  margin:0 0 18px;
  font-size:40px;
  line-height:1.28;
}
.site:not(.home-site) .contact-info h2:after{
  content:"";
  display:block;
  width:52px;
  height:3px;
  margin-top:12px;
  border-radius:999px;
  background:var(--interior-gold);
}
.site:not(.home-site) .contact-info p{
  color:#443749;
  font-size:16px;
  font-weight:500;
  line-height:1.52;
}
.site:not(.home-site) .contact-form{gap:15px}
.site:not(.home-site) .contact-form label{
  color:var(--interior-purple);
  font-weight:800;
}
.site:not(.home-site) .contact-form input,
.site:not(.home-site) .contact-form textarea{
  border:1px solid rgba(74,23,111,.22);
  border-radius:12px;
  background:rgba(255,255,255,.90);
  padding:13px 14px;
}
.site:not(.home-site) .contact-form input:focus,
.site:not(.home-site) .contact-form textarea:focus{
  border-color:#80539a;
  box-shadow:0 0 0 3px rgba(241,181,42,.18);
}

/* EVENTS */
.site:not(.home-site) .events-feature{
  position:relative;
  background:linear-gradient(180deg,#fffdfb 0%,#fff8f5 62%,#f7edf4 100%);
}
.site:not(.home-site) .event-flyer{
  border-radius:18px;
  box-shadow:0 22px 48px rgba(74,23,111,.14);
}
.site:not(.home-site) .event-kicker{color:#806b7e}
.site:not(.home-site) .event-details h2:after{background:var(--interior-gold)}
.site:not(.home-site) .event-facts{
  border-top-color:rgba(74,23,111,.15);
  border-bottom-color:rgba(74,23,111,.15);
}
.site:not(.home-site) .event-facts dt{color:var(--interior-purple)}
.site:not(.home-site) .events-next{
  background:linear-gradient(90deg,#4a176f,#6a2c83 50%,#4a176f);
}
.site:not(.home-site) .events-next-script{color:#fff}

/* PRIVACY / THANK-YOU */
.site:not(.home-site) .qa-simple{
  min-height:58vh;
  padding:62px 24px 72px;
  background:linear-gradient(180deg,#fffdfb 0%,#fff8f5 62%,#f7edf4 100%);
}
.site:not(.home-site) .qa-simple-inner{max-width:900px;margin:0 auto}
.site:not(.home-site) .qa-simple-card{
  background:transparent;
  border:0;
  border-top:2px solid rgba(241,181,42,.72);
  border-bottom:2px solid rgba(241,181,42,.48);
  border-radius:0;
  box-shadow:none;
  padding:34px 4px;
}
.site:not(.home-site) .qa-simple-card p{
  color:#493c4f;
  font-size:16.5px;
  font-weight:500;
  line-height:1.67;
}
.site:not(.home-site) .qa-kicker{
  margin:0 0 14px;
  font-size:clamp(34px,4vw,48px);
  line-height:1.1;
}
.site:not(.home-site) .qa-kicker:after{margin-left:0}

/* FOOTER */
.site:not(.home-site) .footer{
  background:linear-gradient(90deg,#35104f,#4a176f 55%,#35104f);
  color:#fff;
  padding:17px 24px;
  font-size:14px;
}

/* ACCESSIBILITY / CLICK TARGETS */
.site:not(.home-site) a:focus-visible,
.site:not(.home-site) button:focus-visible{
  outline:3px solid var(--interior-gold);
  outline-offset:4px;
}

/* RESPONSIVE PAGE-BY-PAGE CONSISTENCY */
@media(max-width:1100px){
  .site:not(.home-site) .topbar{padding-left:22px;padding-right:22px}
  .site:not(.home-site) .brand-logo{width:260px;max-width:30vw}
  .site:not(.home-site) .nav{gap:14px;font-size:14px}
  .site:not(.home-site) .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site:not(.home-site) .cards.four .card:nth-child(3){border-left:0;border-top:1px solid rgba(241,181,42,.58)}
  .site:not(.home-site) .cards.four .card:nth-child(4){border-top:1px solid rgba(241,181,42,.58)}
}
@media(max-width:820px){
  .site:not(.home-site) .topbar{
    display:block;
    text-align:center;
    padding:14px 14px 10px;
    background:linear-gradient(180deg,#f3c0b8 0%,#f8d4c9 58%,#fae0d5 100%);
  }
  .site:not(.home-site) .brand{justify-content:center}
  .site:not(.home-site) .brand-logo{
    width:260px;
    max-width:82vw;
    margin:0 auto;
  }
  .site:not(.home-site) .nav{
    justify-content:center;
    flex-wrap:wrap;
    margin:7px auto 0;
    gap:10px 16px;
    font-size:14px;
  }
  .site:not(.home-site) .nav .cta{padding:10px 16px}
  .site:not(.home-site) .hero{
    min-height:auto;
    padding:42px 20px 76px;
  }
  .site:not(.home-site) .hero .copy:before{inset:-18px -24px -22px}
  .site:not(.home-site) .lede{font-size:17.5px;line-height:1.56}
  .site:not(.home-site) .section{padding:52px 24px 60px}
  .site:not(.home-site) .cards:not(.four){grid-template-columns:1fr}
  .site:not(.home-site) .cards:not(.four) .card + .card{
    border-left:0;
    border-top:1px solid rgba(241,181,42,.58);
  }
  .site:not(.home-site) .detail-points{grid-template-columns:1fr}
  .site:not(.home-site) .contact-wrap{grid-template-columns:1fr;gap:32px}
  .site:not(.home-site) .contact-info{text-align:center}
  .site:not(.home-site) .contact-info h2:after{margin-left:auto;margin-right:auto}
}
@media(max-width:560px){
  .site:not(.home-site) .brand-logo{width:245px}
  .site:not(.home-site) .nav{font-size:13px}
  .site:not(.home-site) .hero{padding:34px 16px 66px}
  .site:not(.home-site) .hero .copy:before{inset:-14px -12px -18px;filter:blur(5px)}
  .site:not(.home-site) .lede{font-size:16.5px;line-height:1.55}
  .site:not(.home-site) .actions{gap:10px}
  .site:not(.home-site) .button{width:100%;font-size:15px}
  .site:not(.home-site) .section{padding:46px 16px 52px}
  .site:not(.home-site) .cards.four{grid-template-columns:1fr}
  .site:not(.home-site) .cards.four .card + .card{
    border-left:0;
    border-top:1px solid rgba(241,181,42,.58);
  }
  .site:not(.home-site) .contact-form{grid-template-columns:1fr}
  .site:not(.home-site) .contact-form label.full,
  .site:not(.home-site) .contact-form button{grid-column:auto}
  .site:not(.home-site) .qa-simple{padding:44px 16px 52px}
  .site:not(.home-site) .qa-simple-card{padding:28px 0}
}

/* production sync 2026-09-18 19:48 AST */

/* 2026-09-19 HOMEPAGE MASTER INTERIOR RESET.
   The approved homepage is the visual source of truth. Interior pages use the
   same sunset/peach/purple campaign language, with no experimental wallpaper. */
.site:not(.home-site){
  --interior-purple:#542071;
  --interior-purple-deep:#35104f;
  --interior-purple-mid:#6a2c83;
  --interior-gold:#f2b52a;
  --interior-cream:#fffaf6;
  --interior-paper:#fffdfb;
  --interior-ink:#35243d;
  --interior-home-sunset:
    radial-gradient(ellipse at 48% 67%,rgba(255,235,188,.78) 0 8%,rgba(255,205,160,.36) 30%,transparent 58%),
    radial-gradient(ellipse at 93% 34%,rgba(83,24,92,.20) 0 11%,rgba(111,50,121,.10) 28%,transparent 48%),
    linear-gradient(180deg,#dfb3d2 0%,#f1bdbd 27%,#ffd2a7 57%,#efac9e 78%,#ad77aa 100%);
  background:var(--interior-cream);
  color:var(--interior-ink);
}

/* Header uses the same warm transparent fade as the homepage, not a separate bar. */
.site:not(.home-site) .topbar{
  position:relative;
  z-index:20;
  width:100%;
  max-width:none;
  margin:0;
  padding:18px clamp(28px,3vw,48px) 12px;
  display:flex;
  align-items:center;
  gap:28px;
  background:linear-gradient(
    180deg,
    rgba(255,247,240,.66) 0%,
    rgba(255,247,240,.32) 62%,
    rgba(255,247,240,0) 100%
  );
  box-shadow:none;
  border:0;
}
.site:not(.home-site) .brand-logo{
  width:300px;
  max-width:32vw;
  height:auto;
  filter:saturate(1.04) contrast(1.02) drop-shadow(0 2px 4px rgba(74,23,111,.10));
}
.site:not(.home-site) .nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(14px,1.6vw,24px);
  color:var(--interior-purple);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.site:not(.home-site) .nav a{
  text-decoration:none;
  padding:11px 0 8px;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.site:not(.home-site) .nav a:hover,
.site:not(.home-site) .nav a:focus-visible,
.site:not(.home-site) .nav a.active{
  border-bottom-color:var(--interior-gold);
}
.site:not(.home-site) .nav .cta{
  padding:13px 22px;
  border:0;
  border-radius:999px;
  background:var(--interior-purple);
  color:#fff;
  box-shadow:0 8px 18px rgba(74,23,111,.18);
}
.site:not(.home-site) .nav .cta:hover{background:#672885}

/* Interior heroes: photographic sunset + the exact homepage palette.
   The lower fade dissolves into the warm page field instead of ending as a band. */
.site:not(.home-site) .sunset-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,249,242,.46),rgba(255,242,232,.22) 52%,rgba(84,32,113,.06)),
    var(--interior-home-sunset),
    url('/assets/tiny-sunset-hero.jpg') center 54% / cover no-repeat;
  color:var(--interior-purple);
}
.site:not(.home-site) .sunset-shell:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 48%),
    radial-gradient(ellipse at 50% 46%,rgba(255,250,242,.28) 0 18%,transparent 64%);
}
.site:not(.home-site) .sunset-shell:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:112px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,250,246,0),rgba(255,250,246,.56) 54%,#fffaf6 100%);
}
.site:not(.home-site) > .topbar{
  background:
    linear-gradient(180deg,rgba(255,247,240,.66) 0%,rgba(255,247,240,.32) 62%,rgba(255,247,240,0) 100%),
    var(--interior-home-sunset);
}
.site:not(.home-site) > main > .hero,
.site:not(.home-site) .events-sunset{
  max-width:none;
  background:
    linear-gradient(90deg,rgba(255,249,242,.48),rgba(255,242,232,.22) 52%,rgba(84,32,113,.06)),
    var(--interior-home-sunset),
    url('/assets/tiny-sunset-hero.jpg') center 54% / cover no-repeat;
}
.site:not(.home-site) > main > .hero:after,
.site:not(.home-site) .events-sunset:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:112px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,250,246,0),rgba(255,250,246,.56) 54%,#fffaf6 100%);
}

.site:not(.home-site) .hero{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  min-height:430px;
  padding:52px 28px 102px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.site:not(.home-site) .hero .copy{
  position:relative;
  z-index:3;
  width:min(940px,100%);
  margin:0 auto;
}
.site:not(.home-site) .hero .copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-30px -72px -34px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,250,244,.58) 0%,rgba(255,246,239,.30) 44%,rgba(255,242,233,0) 76%);
  filter:blur(7px);
  pointer-events:none;
}
.site:not(.home-site) .script{
  font-family:"Segoe Script","Brush Script MT",cursive;
  color:var(--interior-purple);
  font-size:clamp(43px,4.5vw,59px);
  line-height:1.06;
  font-weight:500;
  margin:0 0 14px;
}
.site:not(.home-site) .script:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin:13px auto 0;
  border-radius:999px;
  background:var(--interior-gold);
}
.site:not(.home-site) .headline{
  max-width:950px;
  margin:0 auto 20px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--interior-purple);
  font-size:clamp(49px,5vw,68px);
  line-height:1.02;
  letter-spacing:-1.25px;
  text-wrap:balance;
}
.site:not(.home-site) .lede{
  max-width:770px;
  margin:0 auto 15px;
  color:#3d3044;
  font-size:18.5px;
  font-weight:600;
  line-height:1.58;
}
.site:not(.home-site) .actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:25px;
}
.site:not(.home-site) .button{
  min-height:50px;
  padding:14px 25px;
  border-radius:999px;
  font-size:15.5px;
  font-weight:800;
}
.site:not(.home-site) .button.primary{
  background:var(--interior-purple);
  color:#fff;
  box-shadow:0 8px 18px rgba(74,23,111,.17);
}
.site:not(.home-site) .button.primary:hover{background:#672885}
.site:not(.home-site) .button.secondary{
  background:rgba(255,250,246,.78);
  color:var(--interior-purple);
  border:1.5px solid rgba(74,23,111,.42);
}

/* The rest of every interior page now lives on the homepage's warm ivory field. */
.site:not(.home-site) .section{
  position:relative;
  z-index:4;
  padding:58px 44px 72px;
  background:#fffaf6;
}
.site:not(.home-site) .section:before{display:none}
.site:not(.home-site) .section-inner{
  position:relative;
  z-index:2;
  max-width:1120px;
  margin:0 auto;
}
.site:not(.home-site) .section-title,
.site:not(.home-site) .detail-title,
.site:not(.home-site) .contact-info h2,
.site:not(.home-site) .qa-kicker,
.site:not(.home-site) .events-next-script{
  font-family:"Segoe Script","Brush Script MT",cursive;
  color:var(--interior-purple);
  font-weight:500;
}
.site:not(.home-site) .section-title{
  margin:0 0 38px;
  text-align:center;
  font-size:clamp(35px,4vw,46px);
  line-height:1.14;
}
.site:not(.home-site) .section-title:after,
.site:not(.home-site) .qa-kicker:after,
.site:not(.home-site) .events-next-script:after{
  content:"";
  display:block;
  width:52px;
  height:3px;
  margin:11px auto 0;
  border-radius:999px;
  background:var(--interior-gold);
}

/* Open editorial cards, not app-style boxes. */
.site:not(.home-site) .cards{display:grid;gap:0}
.site:not(.home-site) .cards:not(.four){grid-template-columns:repeat(3,minmax(0,1fr))}
.site:not(.home-site) .cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.site:not(.home-site) .cards .card,
.site:not(.home-site) .cards.four .card{
  min-height:0;
  padding:24px 26px 28px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.site:not(.home-site) .cards .card + .card{
  border-left:1px solid rgba(241,181,42,.52);
}
.site:not(.home-site) .icon{
  width:auto;
  height:auto;
  margin:0 0 14px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:var(--interior-purple);
  font-size:20px;
}
.site:not(.home-site) .card h2,
.site:not(.home-site) .card h3,
.site:not(.home-site) .detail-point h3,
.site:not(.home-site) .detail-summary h3,
.site:not(.home-site) .event-details h2,
.site:not(.home-site) .qa-simple-card h1,
.site:not(.home-site) .qa-simple-card h2{
  color:var(--interior-purple);
  font-family:Georgia,"Times New Roman",serif;
}
.site:not(.home-site) .card p,
.site:not(.home-site) .detail-intro,
.site:not(.home-site) .detail-point p,
.site:not(.home-site) .detail-summary p,
.site:not(.home-site) .qa-simple-card p{
  color:#493d50;
}

/* Supporting page types share the same ivory canvas. */
.site:not(.home-site) .events-feature,
.site:not(.home-site) .qa-simple{
  background:#fffaf6;
}
.site:not(.home-site) .events-next{
  background:linear-gradient(90deg,#32104e 0%,#541d6b 55%,#32104e 100%);
}
.site:not(.home-site) .footer{
  background:linear-gradient(90deg,#32104e 0%,#541d6b 55%,#32104e 100%);
  color:#fff;
}

/* Mobile keeps the same visual system, simply stacked. */
@media(max-width:1100px){
  .site:not(.home-site) .brand-logo{width:265px;max-width:30vw}
  .site:not(.home-site) .nav{gap:13px;font-size:12.5px}
  .site:not(.home-site) .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site:not(.home-site) .cards.four .card:nth-child(3){border-left:0;border-top:1px solid rgba(241,181,42,.52)}
  .site:not(.home-site) .cards.four .card:nth-child(4){border-top:1px solid rgba(241,181,42,.52)}
}
@media(max-width:820px){
  .site:not(.home-site) .topbar{
    display:block;
    text-align:center;
    padding:14px 14px 10px;
    background:linear-gradient(180deg,#f4c6c4 0%,#f8d3c9 58%,#f9d9cf 100%);
  }
  .site:not(.home-site) .brand{justify-content:center}
  .site:not(.home-site) .brand-logo{width:260px;max-width:82vw;margin:0 auto}
  .site:not(.home-site) .nav{
    justify-content:center;
    flex-wrap:wrap;
    margin:7px auto 0;
    gap:8px 14px;
    font-size:12px;
  }
  .site:not(.home-site) .nav .cta{padding:10px 16px}
  .site:not(.home-site) .hero{min-height:auto;padding:42px 20px 92px}
  .site:not(.home-site) .headline{font-size:clamp(42px,8vw,54px)}
  .site:not(.home-site) .lede{font-size:17px}
  .site:not(.home-site) .section{padding:50px 24px 58px}
  .site:not(.home-site) .cards:not(.four){grid-template-columns:1fr}
  .site:not(.home-site) .cards:not(.four) .card + .card{
    border-left:0;
    border-top:1px solid rgba(241,181,42,.52);
  }
}
@media(max-width:560px){
  .site:not(.home-site) .brand-logo{width:245px}
  .site:not(.home-site) .nav{font-size:11.5px}
  .site:not(.home-site) .hero{padding:34px 16px 82px}
  .site:not(.home-site) .script{font-size:38px}
  .site:not(.home-site) .headline{font-size:38px}
  .site:not(.home-site) .button{width:100%;font-size:15px}
  .site:not(.home-site) .section{padding:44px 16px 50px}
  .site:not(.home-site) .cards.four{grid-template-columns:1fr}
  .site:not(.home-site) .cards.four .card + .card{
    border-left:0;
    border-top:1px solid rgba(241,181,42,.52);
  }
}
