/* AC2027 SoCal — shared stylesheet */

/* ---- from tpl.html ---- */
@font-face{font-family:'Oswald';font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/Oswald-300.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/Oswald-400.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/Oswald-500.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/Oswald-600.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/Poppins-300.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/Poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/Poppins-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/Poppins-600.woff2) format('woff2')}
@font-face{font-family:'Great Vibes';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/GreatVibes-400.woff2) format('woff2')}

:root{
  --navy:#0D0745; --shore:#FAF8F5; --gold:#FDCE3E; --orange:#FDA04D;
  --pink:#FB5063; --maroon:#90294F;
  --navy-58:rgba(13,7,69,.58); --navy-28:rgba(13,7,69,.28); --navy-13:rgba(13,7,69,.13);
  --sunset:linear-gradient(90deg,#FDCE3E 0%,#FDA04D 34%,#FB5063 67%,#AB284A 100%);
  --t-d2:39px; --t-sub:25px; --t-bodyl:20px; --t-body:16px; --t-small:13px; --t-cap:10px;
  --measure:66ch;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:92px;}
body{
  margin:0;background:var(--shore);color:var(--navy);
  font-family:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}

.ribbon{background:#241a10;color:#f6e6c8;font-size:12.5px;line-height:1.5;padding:9px 20px;text-align:center;}
.ribbon strong{color:var(--gold);font-weight:600;}

/* header */
header{background:var(--shore);border-bottom:1px solid var(--navy-13);position:sticky;top:0;z-index:40;}
.hbar{max-width:1200px;margin:0 auto;height:76px;display:flex;align-items:center;gap:22px;padding:0 22px;}
.hmark{height:54px;width:auto;flex:0 0 auto;}
.brandtext{min-width:0;}
.brandtext .l1{font-family:Oswald,sans-serif;font-weight:500;font-size:15px;letter-spacing:.13em;text-transform:uppercase;line-height:1.1;}
.brandtext .l2{font-size:11px;letter-spacing:.05em;color:var(--navy-58);line-height:1.35;}
nav{margin-left:auto;display:flex;align-items:center;gap:25px;}
nav a{font-family:Oswald,sans-serif;font-size:14px;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;}
nav a:hover{border-bottom-color:var(--maroon);}
.navcta{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;background:var(--navy);color:var(--shore);padding:10px 20px;border-radius:999px;font-weight:500;}
.navtoggle{display:none;}
@media(max-width:1020px){
  nav{display:none;}
  .navcta{font-size:10.5px;padding:9px 14px;letter-spacing:.02em;white-space:nowrap;}
  .navtoggle{display:block;margin-left:auto;font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.09em;text-transform:uppercase;background:none;border:1px solid var(--navy-28);color:var(--navy);padding:9px 16px;border-radius:999px;}
  .brandtext .l2{display:none;}
}

/* ── HERO — rebuilt to match the brand kit's reference homepage ── */
.hero{position:relative;overflow:hidden;text-align:center;padding:62px 24px 0;isolation:isolate;}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.hero .wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,
  rgba(253,236,226,.94) 0%,
  rgba(252,212,188,.80) 9%,
  rgba(251,199,168,.62) 18%,
  rgba(250,190,152,.52) 28%,
  rgba(250,172,136,.54) 42%,
  rgba(244,133,105,.62) 58%,
  rgba(198,74,80,.74) 72%,
  rgba(150,48,70,.86) 86%,
  rgba(125,38,65,.94) 100%);}
.hero-inner{max-width:920px;margin:0 auto;position:relative;}
.heromark{width:150px;height:auto;margin:0 auto 18px;}
.script{font-family:'Great Vibes',cursive;color:#fff;font-size:54px;line-height:1.2;margin:0 0 6px;font-weight:400;
  text-shadow:0 2px 14px rgba(120,40,60,.28);}
h1.display{font-family:Oswald,sans-serif;font-weight:600;color:#fff;font-size:61px;line-height:1.04;
  letter-spacing:.005em;text-transform:uppercase;margin:0 auto 16px;max-width:840px;
  text-shadow:0 2px 18px rgba(110,35,55,.3);}
.descriptor{font-family:Oswald,sans-serif;font-weight:500;font-size:19px;letter-spacing:.11em;text-transform:uppercase;
  color:#fff;line-height:1.5;max-width:680px;margin:0 auto 30px;}
.btnrow{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;padding-bottom:16px;}
.btn{font-family:Oswald,sans-serif;font-size:15px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  font-weight:500;padding:16px 34px;border-radius:999px;display:inline-block;border:none;cursor:pointer;}
.btn-white{background:#fff;color:var(--navy);box-shadow:0 10px 15px -3px rgba(0,0,0,.12);}
.btn-ghostw{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);}
.btn-navy{background:var(--navy);color:var(--shore);}
.btn-gold{background:var(--gold);color:var(--navy);}
.heronote{font-size:var(--t-small);color:rgba(255,255,255,.85);max-width:520px;margin:0 auto;padding-bottom:58px;line-height:1.6;}
.strip{background:var(--navy);color:#fff;text-align:center;padding:17px 24px;font-family:Oswald,sans-serif;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
@media(max-width:900px){
  .script{display:none;}            /* script drops below 900px, per the rule */
  .heromark{width:112px;}
  h1.display{font-size:37px;line-height:1.08;}
  .descriptor{font-size:15px;letter-spacing:.08em;}
  .hero{padding-top:40px;}
  .btn{width:100%;max-width:330px;padding:15px 24px;}
  .strip{font-size:11px;letter-spacing:.1em;}
}

/* facts */
.facts{background:var(--shore);border-bottom:1px solid var(--navy-13);}
.factgrid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.fact{padding:30px 26px;border-right:1px solid var(--navy-13);}
.fact:last-child{border-right:none;}
.fact .k{font-family:Oswald,sans-serif;font-size:var(--t-cap);letter-spacing:.2em;text-transform:uppercase;color:var(--navy-58);margin:0 0 7px;}
.fact .v{font-family:Oswald,sans-serif;font-weight:500;font-size:19px;line-height:1.3;margin:0;}
.fact .s{font-size:var(--t-small);color:var(--navy-58);margin:4px 0 0;line-height:1.5;}
@media(max-width:880px){.factgrid{grid-template-columns:repeat(2,1fr);}.fact:nth-child(2){border-right:none;}.fact:nth-child(1),.fact:nth-child(2){border-bottom:1px solid var(--navy-13);}}
@media(max-width:480px){.factgrid{grid-template-columns:1fr;}.fact{border-right:none;border-bottom:1px solid var(--navy-13);}.fact:last-child{border-bottom:none;}}

section{padding:84px 22px;}
.inner{max-width:1100px;margin:0 auto;}
.narrow{max-width:var(--measure);}
.eyebrow{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-small);letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin:0 0 14px;}
.eyebrow.on-navy{color:var(--gold);}
h2{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-d2);line-height:1.15;margin:0 0 20px;}
h3{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-sub);line-height:1.25;margin:0 0 9px;}
p{margin:0 0 17px;max-width:var(--measure);}
.lead{font-size:var(--t-bodyl);font-weight:300;line-height:1.66;}

/* photo band */
.band{position:relative;min-height:440px;display:flex;align-items:flex-end;}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.band .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,7,69,0) 30%,rgba(13,7,69,.72) 100%);}
.band .bandtext{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 22px 52px;width:100%;color:var(--shore);}
.band h2{color:var(--shore);margin-bottom:10px;}
.band p{color:rgba(250,248,245,.9);max-width:54ch;margin:0;}
@media(max-width:700px){.band{min-height:340px;}}

/* week */
.weekgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-13);border:1px solid var(--navy-13);border-radius:16px;overflow:hidden;margin-top:36px;}
.wk{background:var(--shore);padding:28px 26px;}
.wk h3{font-size:19px;letter-spacing:.03em;}
.wk p{font-size:var(--t-small);color:var(--navy-58);margin:0;line-height:1.6;}
@media(max-width:880px){.weekgrid{grid-template-columns:1fr;}}

/* hotel */
.hotel{background:var(--navy);color:var(--shore);}
.hotel h2{color:var(--shore);}
.hotel p{color:rgba(250,248,245,.86);}
.hotelgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start;}
.ratecard{background:var(--shore);border:none;border-radius:16px;padding:30px;}
.rate{font-family:Oswald,sans-serif;font-weight:600;font-size:56px;line-height:1;color:var(--maroon);margin:0;}
.rate span{font-size:16px;font-weight:500;letter-spacing:.09em;color:var(--navy-58);display:block;margin-top:8px;text-transform:uppercase;}
.ratelist{list-style:none;padding:0;margin:24px 0 26px;}
.ratelist li{font-size:var(--t-small);color:var(--navy-58);padding:9px 0;border-bottom:1px solid var(--navy-13);display:flex;justify-content:space-between;gap:16px;}
.ratelist li:last-child{border-bottom:none;}
.ratelist b{font-weight:500;color:var(--navy);text-align:right;}
.pull{border-left:3px solid var(--gold);padding-left:20px;font-size:var(--t-bodyl);font-weight:300;line-height:1.55;margin:0 0 24px;color:var(--shore);}
@media(max-width:880px){.hotelgrid{grid-template-columns:1fr;gap:34px;}.rate{font-size:46px;}.ratecard{order:-1;}}

/* travel */
.travel{background:rgba(13,7,69,.035);}
.airports{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;}
.ap{border-top:3px solid var(--navy-13);padding-top:16px;}
.ap .code{font-family:Oswald,sans-serif;font-weight:600;font-size:30px;line-height:1;margin:0;}
.ap .nm{font-size:var(--t-small);color:var(--navy-58);margin:6px 0 0;line-height:1.45;}
.ap.closest{border-top-color:var(--maroon);}
.ap.closest .code{color:var(--maroon);}
@media(max-width:760px){.airports{grid-template-columns:repeat(2,1fr);}}

/* signup */
.signup{background:linear-gradient(180deg,#FDCE3E 0%,#FDA04D 34%,#FB5063 67%,#AB284A 100%);}
.signupbox{max-width:640px;margin:0 auto;text-align:center;}
.signup h2{color:var(--navy);margin-bottom:12px;}
.signup p{color:rgba(13,7,69,.82);margin-left:auto;margin-right:auto;}
.form{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;justify-content:center;}
.form input{flex:1 1 280px;min-width:0;font-family:Poppins,sans-serif;font-size:16px;padding:15px 20px;border-radius:999px;border:1.5px solid rgba(13,7,69,.3);background:rgba(255,255,255,.93);color:var(--navy);}
.form input::placeholder{color:rgba(13,7,69,.5);}
.formnote{font-size:var(--t-small);color:rgba(13,7,69,.72);margin-top:16px;}

.follow{background:var(--shore);padding:34px 22px;}
.followin{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;
  gap:26px;flex-wrap:wrap;}
.followlabel{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-small);letter-spacing:.2em;
  text-transform:uppercase;color:var(--navy-58);margin:0;}
.social{display:flex;gap:11px;align-items:center;}
.social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
  box-shadow:inset 0 0 0 1px var(--navy-28);color:var(--navy);text-decoration:none;transition:.15s;}
.social a:hover{background:var(--navy);color:var(--shore);box-shadow:none;}
.social svg{width:19px;height:19px;fill:currentColor;display:block;}
.followhandle{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-small);letter-spacing:.12em;
  color:var(--maroon);margin:0;}
@media(max-width:620px){.followin{gap:16px;}.followlabel{width:100%;text-align:center;}}

/* footer */
footer{background:var(--navy);color:rgba(250,248,245,.86);padding:66px 22px 38px;}
.fgrid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
footer h4{font-family:Oswald,sans-serif;font-weight:500;font-size:var(--t-small);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;}
footer ul{list-style:none;padding:0;margin:0;}
footer li{margin-bottom:10px;font-size:14px;}
footer a{text-decoration:none;}
footer a:hover{color:var(--gold);}
.fwordmark{font-family:Oswald,sans-serif;font-weight:600;font-size:21px;letter-spacing:.14em;text-transform:uppercase;color:var(--shore);margin:0 0 14px;}
.canonical{font-size:14px;line-height:1.75;color:rgba(250,248,245,.82);margin:0;max-width:none;}
.canonical strong{color:var(--shore);font-weight:500;}
.fbase{max-width:1100px;margin:42px auto 0;padding-top:24px;border-top:1px solid rgba(250,248,245,.15);font-size:var(--t-small);color:rgba(250,248,245,.55);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
@media(max-width:1000px){.fgrid{grid-template-columns:1fr 1fr;gap:34px;}}
@media(max-width:620px){.fgrid{grid-template-columns:1fr;gap:30px;}}

/* ---- from tpl-about.html ---- */
.pagehead{background:var(--shore);padding:74px 22px 18px;}
.pagehead .inner{max-width:1100px;margin:0 auto;}
h1.pagetitle{font-family:Oswald,sans-serif;font-weight:600;font-size:49px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px;max-width:18ch;}
.crumb{font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy-58);margin:0 0 14px;}
.crumb a{text-decoration:none;}
.crumb a:hover{color:var(--maroon);}
.twocol{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;}
.sidecard{background:var(--shore);border:1px solid var(--navy-13);border-radius:16px;padding:26px 26px 28px;}
.sidecard h3{font-size:17px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
.sidecard dl{margin:0;}
.sidecard .row{padding:10px 0;border-bottom:1px solid var(--navy-13);}
.sidecard .row:last-child{border-bottom:none;}
.sidecard dt{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-58);margin:0 0 3px;}
.sidecard dd{margin:0;font-size:14.5px;line-height:1.5;}
.qa{border-top:1px solid var(--navy-13);padding-top:26px;margin-top:26px;}
.qa:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.qa h3{font-size:20px;letter-spacing:.03em;text-transform:none;}
.qa p{margin-bottom:0;}
.parish{background:var(--navy);color:var(--shore);}
.parish h2{color:var(--shore);}
.parish p{color:rgba(250,248,245,.86);}
.parishgrid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.ctaband{background:var(--shore);text-align:center;}
.ctaband .btnrow{padding-bottom:0;margin-top:26px;}
.btn-outline{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy-28);}
@media(max-width:900px){
  h1.pagetitle{font-size:34px;}
  .twocol,.parishgrid{grid-template-columns:1fr;gap:32px;}
}

/* ---- from tpl-schedule.html ---- */
.daygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--navy-13);
  border:1px solid var(--navy-13);border-radius:14px;overflow:hidden;margin-top:34px;}
.day{background:var(--shore);padding:20px 14px;text-align:center;}
.day .dow{font-family:Oswald,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-58);margin:0 0 5px;}
.day .dnum{font-family:Oswald,sans-serif;font-weight:600;font-size:27px;line-height:1;margin:0 0 8px;}
.day .dnote{font-size:11.5px;color:var(--navy-58);margin:0;line-height:1.45;}
.day.first .dnum,.day.last .dnum{color:var(--maroon);}
@media(max-width:820px){.daygrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:420px){.daygrid{grid-template-columns:1fr;}}
.rhythm{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--navy-13);
  border:1px solid var(--navy-13);border-radius:14px;overflow:hidden;margin-top:34px;}
.rh{background:var(--shore);padding:28px 26px;}
.rh h3{font-size:18px;letter-spacing:.04em;}
.rh ul{list-style:none;padding:0;margin:0;}
.rh li{font-size:14px;color:var(--navy-58);padding:8px 0;border-bottom:1px solid var(--navy-13);line-height:1.5;}
.rh li:last-child{border-bottom:none;}
.rh li b{color:var(--navy);font-weight:500;}
@media(max-width:820px){.rhythm{grid-template-columns:1fr;}}
.notice{background:var(--shore);border:1px solid var(--navy-13);border-left:3px solid var(--maroon);
  border-radius:10px;padding:20px 22px;margin:0 0 8px;}
.notice p{margin:0;font-size:14.5px;max-width:none;}
.notice strong{font-weight:600;}
.pagehead{background:var(--shore);padding:74px 22px 18px;}
.pagehead .inner{max-width:1100px;margin:0 auto;}
h1.pagetitle{font-family:Oswald,sans-serif;font-weight:600;font-size:49px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px;max-width:20ch;}
.crumb{font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy-58);margin:0 0 14px;}
.crumb a{text-decoration:none;}
.ctaband{background:var(--shore);text-align:center;}
.ctaband .btnrow{padding-bottom:0;margin-top:26px;}
.btn-outline{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy-28);}
@media(max-width:900px){h1.pagetitle{font-size:33px;}}

/* ---- from tpl-sponsorships.html ---- */
.pagehead{background:var(--shore);padding:74px 22px 18px;}
.pagehead .inner{max-width:1100px;margin:0 auto;}
h1.pagetitle{font-family:Oswald,sans-serif;font-weight:600;font-size:49px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.01em;margin:0 0 6px;max-width:20ch;}
.crumb{font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy-58);margin:0 0 14px;}
.crumb a{text-decoration:none;}
.kicker{font-family:'Great Vibes',cursive;font-size:40px;color:var(--maroon);margin:2px 0 0;line-height:1.2;}
@media(max-width:900px){h1.pagetitle{font-size:33px;}.kicker{display:none;}}

/* tier cards */
.tier{background:var(--shore);border:1px solid var(--navy-13);border-radius:14px;overflow:hidden;margin-bottom:18px;
  box-shadow:0 8px 24px -16px rgba(13,7,69,.3);}
.tier.top{border:2px solid var(--maroon);}
.tierhead{background:var(--navy);color:var(--shore);display:flex;justify-content:space-between;align-items:center;
  gap:16px;padding:15px 24px;}
.tiername{font-family:Oswald,sans-serif;font-weight:600;font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin:0;}
.tieramt{font-family:Oswald,sans-serif;font-weight:600;font-size:24px;color:var(--gold);margin:0;letter-spacing:.01em;}
.tierbody{padding:22px 24px 8px;}
.tierbody ul{list-style:none;padding:0;margin:0;}
.tierbody li{font-size:14.5px;line-height:1.5;padding:7px 0 7px 24px;position:relative;color:var(--navy);}
.tierbody li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;
  background:var(--orange);}
.tierfoot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding:16px 24px 20px;margin-top:8px;border-top:1px solid var(--navy-13);}
.tierfoot .amt{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-58);margin:0;}
@media(max-width:620px){.tierhead{flex-direction:column;align-items:flex-start;gap:4px;}}

/* rate tables */
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:30px;}
table{border-collapse:collapse;width:100%;min-width:600px;background:var(--shore);border:1px solid var(--navy-13);
  border-radius:14px;overflow:hidden;font-size:14.5px;}
thead th{font-family:Oswald,sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--navy);color:var(--shore);text-align:left;padding:13px 20px;}
thead th.r{text-align:right;}
tbody td{padding:13px 20px;border-bottom:1px solid var(--navy-13);vertical-align:middle;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:nth-child(even){background:rgba(13,7,69,.03);}
td.amt{font-family:Oswald,sans-serif;font-weight:600;font-size:16px;color:var(--maroon);white-space:nowrap;}
td.spec{font-size:12.5px;color:var(--navy-58);font-style:italic;white-space:nowrap;}
td.r{text-align:right;}
.premium td:first-child{font-weight:600;}
.inc{background:var(--navy);border-radius:14px;padding:6px;margin-top:30px;}
.incpanel{background:var(--shore);border-radius:9px;padding:24px 26px;}
.inc h3{font-family:Oswald,sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--maroon);margin:0 0 14px;}
.inc ul{list-style:none;padding:0;margin:0;}
.inc li{font-size:14.5px;line-height:1.5;padding:6px 0 6px 24px;position:relative;color:var(--navy);}
.inc li::before{content:"";position:absolute;left:2px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--orange);}
.fineprint{font-size:13px;color:var(--navy-58);font-style:italic;margin-top:20px;max-width:none;line-height:1.6;}
.ctaband{background:var(--shore);text-align:center;}
.ctaband .btnrow{padding-bottom:0;margin-top:26px;}
.btn-outline{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy-28);}

nav a.cur{border-bottom-color:var(--maroon);}
.crumb a{color:inherit;}

/* ---- travel / things-to-do / disneyland pages ---- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;}
@media(max-width:760px){.two{grid-template-columns:1fr;gap:28px;}}
.dl{margin:0;}
.dl .row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--navy-13);font-size:14.5px;}
.dl .row:last-child{border-bottom:none;}
.dl dt{flex:0 0 40%;font-family:Oswald,sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.05em;margin:0;}
.dl dd{margin:0;color:var(--navy-58);line-height:1.55;}

.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-13);
  border:1px solid var(--navy-13);border-radius:16px;overflow:hidden;margin-top:32px;}
.statcard{background:var(--shore);padding:26px 24px;}
.statcard b{display:block;font-family:Oswald,sans-serif;font-weight:600;font-size:39px;color:var(--maroon);line-height:1;}
.statcard span{display:block;margin-top:8px;font-size:13.5px;color:var(--navy-58);line-height:1.5;}
@media(max-width:640px){.statgrid{grid-template-columns:1fr;}}

.maplayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;margin-top:32px;}
@media(max-width:900px){.maplayout{grid-template-columns:1fr;gap:24px;}}
.mapbox{position:relative;}
svg.usmap{width:100%;height:auto;display:block;overflow:visible;}
.st{fill:var(--gold);stroke:var(--navy);stroke-width:1.1;cursor:pointer;transition:fill .15s ease;outline:none;}
.st:hover{fill:var(--orange);}
.st[aria-current="true"]{fill:var(--navy);}
.st:focus-visible{fill:var(--orange);stroke-width:2.4;}
.dcdot circle{fill:var(--gold);stroke:var(--navy);stroke-width:1.1;cursor:pointer;}
.dcdot[aria-current="true"] circle{fill:var(--navy);}
.dcdot text{fill:var(--navy-58);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;}

.panel{background:var(--shore);border:1px solid var(--navy-13);border-radius:14px;padding:22px;}
.panel .pk{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--maroon);}
.panel h3{margin:0 0 2px;color:var(--navy);font-size:22px;letter-spacing:.02em;}
.panel .pk.air,.panel .pk.rail{margin:1.4rem 0 0;}
.panel .pk.air.first{margin-top:1rem;}
.badge{display:inline-flex;align-items:center;gap:7px;margin-top:.7rem;padding:5px 11px;
  border-radius:100px;font-family:Oswald,sans-serif;font-size:12px;font-weight:500;letter-spacing:.02em;}
.badge.nonstop{background:var(--gold);color:var(--navy);}
.badge.seasonal{background:var(--pink);color:var(--navy);}
.badge.connect{background:var(--navy);color:var(--shore);}
.routes{list-style:none;margin:1.1rem 0 0;padding:0;border-top:1px solid var(--navy-13);}
.routes li{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--navy-13);font-size:14px;}
.routes .from{color:var(--navy);}
.routes .from em{font-style:normal;color:var(--navy-58);font-size:12px;display:block;letter-spacing:.03em;}
.routes .t{color:var(--maroon);font-family:Oswald,sans-serif;font-size:15px;white-space:nowrap;}
.panel .note{margin:1rem 0 0;font-size:13.5px;color:var(--navy-58);line-height:1.55;}
.picker{margin-top:0;}
.picker label{display:block;font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy-58);margin-bottom:6px;}
.picker select{width:100%;padding:11px 12px;font-family:Poppins,sans-serif;font-size:14.5px;
  color:var(--navy);background:var(--shore);border:1px solid var(--navy-13);border-radius:6px;}
.caveat{margin-top:18px;font-size:12.5px;color:var(--navy-58);line-height:1.55;max-width:70ch;font-style:italic;}

details.tbl{margin-top:30px;}
details.tbl summary{cursor:pointer;font-family:Oswald,sans-serif;text-transform:uppercase;
  letter-spacing:.1em;font-size:12.5px;color:var(--maroon);}
details.tbl .scroll{margin-top:16px;}

.acards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--navy-13);
  border:1px solid var(--navy-13);border-radius:16px;overflow:hidden;margin-top:30px;}
.acard{background:var(--shore);padding:24px 22px;border-top:3px solid transparent;}
.acard.closest{border-top-color:var(--maroon);}
.acard .code{font-family:Oswald,sans-serif;font-weight:600;font-size:26px;color:var(--navy);line-height:1;}
.acard.closest .code{color:var(--maroon);}
.acard .nm{font-size:13.5px;font-weight:500;margin-top:5px;}
.acard .mi{font-family:Oswald,sans-serif;font-size:15px;color:var(--maroon);margin-top:10px;}
.acard .why{font-size:13px;color:var(--navy-58);margin-top:8px;line-height:1.5;}
@media(max-width:860px){.acards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.acards{grid-template-columns:1fr;}}

.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
@media(max-width:900px){.cardgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cardgrid{grid-template-columns:1fr;}}
.infocard{background:var(--shore);border:1px solid var(--navy-13);border-radius:14px;padding:24px 22px;
  display:flex;flex-direction:column;}
.infocard h3{font-size:18px;letter-spacing:.03em;margin:0 0 9px;}
.infocard p{font-size:14px;color:var(--navy-58);line-height:1.6;margin:0;}
.infocard .tag{font-family:Oswald,sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--maroon);margin:0 0 10px;}

/* ---- media page ---- */
.swatchgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:30px;}
@media(max-width:900px){.swatchgrid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.swatchgrid{grid-template-columns:repeat(2,1fr);}}
.swatch{background:var(--shore);border:1px solid var(--navy-13);border-radius:12px;overflow:hidden;}
.swatch .chip{height:64px;}
.swatch .sw-info{padding:12px 14px;}
.swatch .sw-name{font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.04em;margin:0;}
.swatch .sw-hex{font-size:12px;color:var(--navy-58);margin:2px 0 0;}
.kitrow{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--shore);
  border:1px solid var(--navy-13);border-radius:14px;padding:22px 24px;margin-top:18px;}
.kitrow img{width:64px;height:64px;object-fit:contain;flex:0 0 auto;}
.kitrow .kw{flex:1 1 240px;min-width:0;}
.kitrow h3{font-size:16px;letter-spacing:.02em;margin:0 0 4px;}
.kitrow p{font-size:13.5px;color:var(--navy-58);margin:0;line-height:1.5;max-width:52ch;}
.fontspecimen{background:var(--shore);border:1px solid var(--navy-13);border-radius:14px;padding:24px 26px;margin-top:16px;}
.fontspecimen + .fontspecimen{margin-top:14px;}
.fontspecimen .fs-name{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--maroon);margin:0 0 10px;}
.fontspecimen .fs-sample{font-size:28px;line-height:1.3;margin:0 0 10px;}
.fontspecimen .fs-weights{font-size:12.5px;color:var(--navy-58);}
.fontspecimen .fs-weights a{color:var(--navy);text-decoration:underline;margin-right:14px;}

/* ---- legal pages ---- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:var(--shore);
  font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  padding:12px 20px;border-radius:0 0 8px 0;text-decoration:none;}
.skip-link:focus{left:0;}
.legal h2{margin-top:46px;font-size:25px;}
.legal h2:first-child{margin-top:0;}
.legal h3{font-size:17px;margin-top:22px;}
.legal p,.legal li{color:var(--navy-58);}
.legal ul,.legal ol{padding-left:22px;margin:0 0 17px;}
.legal li{margin-bottom:6px;line-height:1.6;}
.legal strong{color:var(--navy);font-weight:600;}
.updated{font-size:13px;color:var(--navy-58);font-style:italic;margin:-6px 0 30px;}

.fbase{flex-direction:column;align-items:flex-start;gap:10px;}
.fbaserow{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;width:100%;}
.flegal{margin:0;font-size:var(--t-small);}
.flegal a{color:rgba(250,248,245,.7);text-decoration:none;margin-right:18px;}
.flegal a:last-child{margin-right:0;}
.flegal a:hover{color:var(--gold);}
