/* southeasternpreceptor.com — "cypress" layout in Southeastern's own green and gold. Hammond sits on the Northshore between Lake
   Maurepas and Lake Pontchartrain, with the Manchac swamp and its bald cypress at the university's door. So: a white
   masthead under a green bar with a gold rule, a deep green hero with a cypress treeline and gold water ripples, stat
   tiles with a water line along their foot, reed-tipped bullets, step numbers on a plank boardwalk, gold-capped cards,
   a Southeastern gold match band and a deep green footer under the treeline. */
:root{
  /* Colours from southeastern.edu's stylesheets (read 2026-09-27): Southeastern green #1A5632 (186 uses), gold #FFC629
     (82), deep green #0B381D, dark gold #CB9700, pale gold #FFE5AC, light #F8F8F8, charcoal #202020. Brand fonts Proxima
     Nova and Corsario are licensed; this site uses Commissioner and Big Shoulders Display from Google Fonts. */
  --green:#1A5632;
  --green-deep:#0B381D;
  --green-dark:#082A16;
  --green-soft:#E6F0EA;
  --gold:#FFC629;
  --gold-dark:#CB9700;
  --gold-pale:#FFE5AC;
  --light:#F8F8F4;
  --char:#202020;
  --ink:#16201A;
  --text:#2F3A33;
  --muted:#5B665F;
  --line:#DCE3DE;
  --shadow:0 1px 2px rgba(11,56,29,.06),0 12px 28px rgba(11,56,29,.1);
  --ripple:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='16' viewBox='0 0 120 16'%3E%3Cpath d='M0 8c10 0 10-6 20-6s10 6 20 6 10-6 20-6 10 6 20 6 10-6 20-6 10 6 20 6' fill='none' stroke='%23FFC629' stroke-width='2'/%3E%3C/svg%3E");
  --ripple-green:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='16' viewBox='0 0 120 16'%3E%3Cpath d='M0 8c10 0 10-6 20-6s10 6 20 6 10-6 20-6 10 6 20 6 10-6 20-6 10 6 20 6' fill='none' stroke='%231A5632' stroke-width='2'/%3E%3C/svg%3E");
  --cypress:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='90' viewBox='0 0 240 90'%3E%3Cg fill='%23031509'%3E%3Cpath d='M0 90V70l8-6 4-22 5 20 7-30 6 28 4-10 6 18 8-4 5-26 6 22 5-38 7 34 5-12 6 20 9-8 4-18 6 16 7-26 6 24 5-8 6 12 8-2 5-22 6 18 7-30 5 26 6-10 6 16 9-4 4-16 6 12 6-24 6 26 7-6 4 12V90z'/%3E%3Cpath d='M0 90V82h240v8z'/%3E%3C/g%3E%3C/svg%3E");
  --cypress-foot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='90' viewBox='0 0 240 90'%3E%3Cg fill='%23082A16'%3E%3Cpath d='M0 90V70l8-6 4-22 5 20 7-30 6 28 4-10 6 18 8-4 5-26 6 22 5-38 7 34 5-12 6 20 9-8 4-18 6 16 7-26 6 24 5-8 6 12 8-2 5-22 6 18 7-30 5 26 6-10 6 16 9-4 4-16 6 12 6-24 6 26 7-6 4 12V90z'/%3E%3Cpath d='M0 90V82h240v8z'/%3E%3C/g%3E%3C/svg%3E");
  --head:"Big Shoulders Display","Arial Narrow",system-ui,sans-serif;
  --body:"Commissioner",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#fff;color:var(--text);font-family:var(--body);font-size:17.5px;line-height:1.72;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--green-deep);text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--head);font-weight:800;line-height:1.02;letter-spacing:.01em;margin:0 0 .5em;color:var(--green-deep)}
h1{font-size:clamp(2.6rem,5.6vw,4.2rem);font-weight:900}
h2{font-size:clamp(1.9rem,3.3vw,2.5rem)}
h3{font-size:1.5rem}
p{margin:0 0 1.05em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:720px){.wrap{padding:0 28px}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
.eyebrow{display:block;font-family:var(--body);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 10px}

/* ---------------------------------------------------------------- buttons + fields */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:800;font-size:1.12rem;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:14px 22px;border-radius:0;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-orange{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}
.btn-orange:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.btn-line{background:#fff;color:var(--green-deep);border-color:var(--green)}
.btn-line:hover{background:var(--green);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:#fff;color:var(--green-deep);border-color:#fff}
.btn-block{width:100%;justify-content:center}
.f{display:block;margin:0 0 12px}
.f label{display:block;font-family:var(--body);font-size:.84rem;font-weight:700;letter-spacing:.03em;color:var(--green-deep);margin:0 0 5px}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #C4CEC7;border-radius:0;padding:11px 12px;appearance:none;-webkit-appearance:none;transition:border-color .15s,box-shadow .15s}
.f select{background-image:linear-gradient(45deg,transparent 50%,var(--green) 50%),linear-gradient(135deg,var(--green) 50%,transparent 50%);background-position:calc(100% - 17px) 54%,calc(100% - 12px) 54%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.16)}
.f-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media(max-width:420px){.f-row{grid-template-columns:minmax(0,1fr)}}
.fine{font-size:.76rem;color:var(--muted);margin:10px 0 0;line-height:1.5}

/* ---------------------------------------------------------------- white masthead under a green bar and a gold rule */
.top{position:sticky;top:0;z-index:40;background:#fff;color:var(--green-deep);border-top:6px solid var(--green);box-shadow:inset 0 -3px 0 var(--gold),0 8px 18px rgba(11,56,29,.08)}
.top .wrap{display:flex;align-items:center;gap:22px;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green-deep);flex-shrink:0;min-width:0}
.brand svg{width:42px;height:42px;flex-shrink:0}
.brand b{display:block;font-family:var(--head);font-weight:900;font-size:1.7rem;line-height:1;color:var(--green-deep);text-transform:uppercase;letter-spacing:.02em}
.brand small{display:block;font-family:var(--body);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);margin-top:4px}
.nav{display:flex;gap:2px;margin:0 auto}
.nav a{font-family:var(--head);font-weight:800;font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:8px 11px;border-bottom:3px solid transparent}
.nav a:hover{color:var(--green-deep);border-bottom-color:var(--line)}
.nav a[aria-current=page]{color:var(--green);border-bottom-color:var(--gold)}
.top .btn{padding:12px 16px;font-size:1rem}
.menu{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer;color:var(--green-deep);flex-shrink:0}
@media(max-width:480px){.brand{flex-shrink:1}.brand small{font-size:.56rem;letter-spacing:.06em;line-height:1.3}.top .wrap{gap:10px}.brand b{font-size:1.42rem}}
@media(max-width:360px){.brand small{display:none}}
@media(max-width:1060px){
  .nav{display:none;position:absolute;left:0;right:0;top:76px;flex-direction:column;background:#fff;padding:6px 16px 14px;margin:0;border-top:1px solid var(--line);box-shadow:0 18px 28px rgba(0,0,0,.14)}
  .top.open .nav{display:flex}
  .nav a{padding:13px 4px;border-bottom:1px solid var(--line)}
  .menu{display:block}
  .top .btn{display:none}
}

/* ---------------------------------------------------------------- hero: deep green, gold ripples, a cypress treeline */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(170deg,#0D4424,var(--green-deep) 60%,#0A3019)}
.hero::before{content:"";position:absolute;right:-40px;top:40px;width:420px;height:150px;background:var(--ripple) 0 0/120px 16px repeat-x,var(--ripple) 60px 34px/120px 16px repeat-x,var(--ripple) 20px 68px/120px 16px repeat-x;opacity:.28;pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:var(--cypress) 0 100%/240px 90px repeat-x;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:50px;align-items:center;padding-top:50px;padding-bottom:104px}
.hero h1{color:#fff;text-transform:uppercase}
.hero .lede{font-size:1.12rem;color:#DDE9E1;max-width:640px}
.hero .eyebrow{color:var(--gold)}
.crumbs{font-size:.84rem;color:#B5CBBD;margin:0 0 20px}
.crumbs a{color:#fff;text-decoration:none;opacity:.85}
.crumbs a:hover{opacity:1;text-decoration:underline}
.crumbs span{margin:0 7px;opacity:.6}
.byline{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#B5CBBD;margin:-2px 0 18px}
.byline::before{content:"";width:30px;height:12px;background:var(--ripple) 0 50%/60px 8px repeat-x;flex-shrink:0}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-card{background:#fff;color:var(--ink);border-radius:0;padding:24px 22px 20px;position:relative;box-shadow:0 26px 60px rgba(0,0,0,.45);border-top:7px solid var(--gold)}
.hero-card h2{font-size:1.9rem;margin:2px 0 4px;text-transform:uppercase}
.hero-card .sub{color:var(--muted);font-size:.9rem;margin:0 0 15px;line-height:1.5}
.hero-card a{color:var(--green)}
.hero-mobile{display:none}
@media(max-width:920px){
  .hero .wrap{grid-template-columns:minmax(0,1fr);gap:0;padding-top:28px;padding-bottom:86px}
  .hero-side{display:none}
  .hero-mobile{display:flex}
  .hero::before{width:260px;opacity:.18}
}
.hero.home .wrap{padding-top:64px;padding-bottom:120px}
.hero.home h1{font-size:clamp(2.9rem,6.4vw,5rem)}
@media(max-width:920px){.hero.home .wrap{padding-top:36px;padding-bottom:92px}}

/* ---------------------------------------------------------------- figures: tiles on a water line */
.markers-sec{background:var(--light);padding:28px 0}
.markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.mk{position:relative;padding:20px 24px 30px;background:var(--green);color:#fff}
.mk::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:12px;background:var(--ripple) 0 50%/120px 12px repeat-x;opacity:.8}
.mk:nth-child(2){background:var(--gold);color:var(--green-deep)}
.mk:nth-child(2)::after{background-image:var(--ripple-green)}
.mk:nth-child(3){background:var(--green-deep)}
.mk b{display:block;font-family:var(--head);font-weight:900;font-size:3rem;line-height:1;color:inherit;margin:0 0 6px}
.mk span{display:block;font-size:.9rem;line-height:1.45;color:inherit;opacity:.95}

/* ---------------------------------------------------------------- guide sections */
.sec{padding:58px 0}
.sec.alt{background:var(--light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.tight{padding:30px 0}
.prose{max-width:790px}
.prose>h2{position:relative;padding-bottom:18px}
.prose>h2::after{content:"";position:absolute;left:0;bottom:0;width:120px;height:12px;background:var(--ripple) 0 50%/60px 10px repeat-x}
.prose h3{margin:1.5em 0 .5em;color:var(--green)}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.1em}
.prose li{margin:0 0 .5em}
.prose ul{list-style:none;padding-left:0}
.prose ul li{position:relative;padding-left:26px}
.prose ul li::before{content:"";position:absolute;left:6px;top:.35em;width:4px;height:16px;border-radius:2px;background:var(--green)}
.prose ul li::after{content:"";position:absolute;left:3px;top:.2em;width:10px;height:7px;border-radius:50%;background:var(--gold-dark)}
.lead{font-size:1.08rem;color:var(--text)}
code.rt{font-family:var(--head);font-weight:800;font-size:.98em;letter-spacing:.04em;color:var(--green-deep);background:var(--gold-pale);border:1px solid #F2CF73;border-radius:0;padding:0 6px;white-space:nowrap}
.note{background:#fff;border:1px solid var(--line);border-left:10px solid var(--gold);padding:15px 18px 14px;margin:0 0 1.2em;font-weight:600;color:var(--ink);line-height:1.55;box-shadow:var(--shadow)}
.note p:last-child{margin:0}
.tbl{overflow-x:auto;margin:0 0 1.3em;border:1px solid var(--line);background:#fff}
.tbl table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:520px}
.tbl table:not(:has(th:nth-child(3))){min-width:0}
.tbl caption{text-align:left;font-family:var(--head);font-weight:800;font-size:1.3rem;padding:12px 16px 8px;color:var(--green-deep);overflow-wrap:anywhere}
.tbl th{text-align:left;font-family:var(--head);font-weight:800;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--green);padding:10px 16px;border-bottom:4px solid var(--gold)}
.tbl td{padding:11px 16px;border-top:1px solid var(--line);vertical-align:top}
.tbl tbody tr:nth-child(even) td{background:var(--light)}
/* steps: numbers on a plank boardwalk */
ol.steps{list-style:none;padding:0;margin:0 0 1.3em;counter-reset:st;position:relative}
ol.steps::before{content:"";position:absolute;left:16px;top:12px;bottom:12px;width:12px;background:repeating-linear-gradient(180deg,#B89A5E 0 9px,transparent 9px 12px);opacity:.55}
ol.steps li{counter-increment:st;position:relative;padding:4px 0 18px 64px}
ol.steps li::before{content:counter(st);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green);color:var(--gold);font-family:var(--head);font-weight:900;font-size:1.45rem;box-shadow:0 0 0 3px var(--gold),0 0 0 7px #fff}
ol.steps b{display:block;font-family:var(--head);font-weight:800;font-size:1.4rem;color:var(--green-deep);margin:4px 0 3px}
.sec.alt ol.steps li::before{box-shadow:0 0 0 3px var(--gold),0 0 0 7px var(--light)}

/* ---------------------------------------------------------------- cards: a gold cap over a ripple */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}
.card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-top:6px solid var(--gold);padding:24px 20px 18px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.card::before{content:"";position:absolute;left:18px;top:8px;width:60px;height:8px;background:var(--ripple-green) 0 50%/40px 7px repeat-x;opacity:.55}
.card:hover{border-top-color:var(--green);transform:translateY(-2px)}
.card b{display:block;font-family:var(--head);font-size:1.45rem;font-weight:800;line-height:1.08;margin:6px 0 8px;color:var(--green-deep)}
.card:hover b{color:var(--green)}
.card span{display:block;font-size:.93rem;color:var(--muted);line-height:1.5}
.card .tag{display:block;font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);margin:6px 0 0}
.card::after{content:"Read the guide \2192";display:block;margin-top:12px;font-family:var(--head);font-size:1.02rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--green)}
.hub-group{margin:0 0 44px}
.hub-group>h2{font-size:2rem;padding-bottom:10px;border-bottom:4px solid var(--green)}
.sec-head{max-width:780px;margin:0 0 26px}
.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.states-grid a{display:flex;align-items:center;gap:10px;padding:11px 12px;background:#fff;border:1px solid var(--line);text-decoration:none;font-family:var(--head);font-size:1.15rem;font-weight:800;letter-spacing:.02em;color:var(--green-deep)}
.states-grid a::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px var(--green);flex-shrink:0}
.states-grid a:hover{border-color:var(--green);color:var(--green)}
.states-grid a.tx{background:var(--green);border-color:var(--green);color:#fff}
.states-grid a.tx::before{background:var(--gold);box-shadow:none}

/* ---------------------------------------------------------------- faq, sources, figure */
.faq{max-width:840px;border-top:4px solid var(--green)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--head);font-weight:800;font-size:1.35rem;color:var(--green-deep);padding:15px 44px 15px 30px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";position:absolute;left:3px;top:24px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px var(--green)}
.faq summary::after{content:"+";position:absolute;right:8px;top:8px;font-family:var(--body);font-weight:600;font-size:1.8rem;color:var(--green)}
.faq details[open] summary::after{content:"\2212"}
.faq details[open] summary::before{background:var(--green)}
.faq details p{margin:0 0 18px;padding-left:30px;color:var(--text)}
.sources{font-size:.9rem;color:var(--muted)}
.sources ul{padding-left:1.1em;margin:.4em 0 0}
.sources a{color:var(--text)}
.updated{font-family:var(--body);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.figsec{padding-top:42px;padding-bottom:6px}
.fig{margin:0;max-width:980px}
.fig img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.fig figcaption{font-size:.86rem;color:var(--muted);margin-top:10px}
.smap{columns:3 240px;column-gap:28px;padding-left:1.1em;margin:0}
.smap li{margin:0 0 6px;break-inside:avoid}

/* ---------------------------------------------------------------- match band: Southeastern gold */
.match{position:relative;overflow:hidden;color:var(--green-deep);background:var(--gold)}
.match::before{content:"";position:absolute;left:0;right:0;bottom:14px;height:16px;background:var(--ripple-green) 0 50%/120px 14px repeat-x;opacity:.35;pointer-events:none}
.match .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:50px;align-items:center;padding-top:62px;padding-bottom:70px}
.match h2{color:var(--green-deep);text-transform:uppercase}
.match p,.match ul{color:#243B2C}
.match ul{list-style:none;padding:0}
.match li{position:relative;margin:0 0 .55em;padding-left:26px}
.match li::before{content:"";position:absolute;left:3px;top:.5em;width:11px;height:11px;border-radius:50%;background:var(--green)}
.match a{color:var(--green-deep)}
.match .hero-card{border-top-color:var(--green)}
.match .hero-card a{color:var(--green)}
.match code.rt{background:rgba(255,255,255,.55);border-color:rgba(11,56,29,.3);color:var(--green-deep)}
.match .eyebrow{color:var(--green)}
@media(max-width:920px){.match .wrap{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:44px;padding-bottom:50px}}

/* ---------------------------------------------------------------- footer: deep green under the treeline */
.foot{position:relative;background:var(--green-dark);color:#B5CBBD;font-size:.93rem;padding:96px 0 118px}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:var(--cypress-foot) 0 100%/160px 60px repeat-x,#fff}
.foot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--gold)}
.foot .cols{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:28px}
@media(max-width:1100px){.foot .cols{grid-template-columns:1.35fr 1fr 1fr}}
.foot h4{font-family:var(--head);font-size:1.15rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.foot a{display:block;color:#DDE9E1;text-decoration:none;padding:3px 0}
.foot a:hover{color:#fff;text-decoration:underline}
.foot .brand{color:#fff;margin:0 0 14px}
.foot .brand b{color:#fff}
.foot .brand small{color:var(--gold)}
.foot .legal{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:18px;font-size:.8rem;color:#9DB5A6;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.news{display:flex;gap:8px;margin:14px 0 6px;max-width:350px}
.news input{flex:1;min-width:0;font:inherit;font-size:15px;border-radius:0;border:1px solid #2F5A40;background:#06220F;color:#fff;padding:10px 12px}
.news input::placeholder{color:#9DB5A6}
.news .btn{padding:10px 14px;font-size:.92rem}
.foot [data-ob-intake-status]{color:#DDE9E1!important}
@media(max-width:860px){.foot .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:520px){.foot .cols{grid-template-columns:minmax(0,1fr)}}

/* ---------------------------------------------------------------- home: the boardwalk */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr);gap:20px}}
.road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:rd;position:relative;padding-top:6px}
.road::before{content:"";position:absolute;left:0;right:0;top:24px;height:12px;background:repeating-linear-gradient(90deg,#B89A5E 0 14px,transparent 14px 18px);opacity:.5}
.road div{position:relative;counter-increment:rd;padding:68px 22px 6px 0}
.road div::before{content:counter(rd);position:absolute;left:4px;top:6px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green);color:var(--gold);font-family:var(--head);font-weight:900;font-size:1.55rem;box-shadow:0 0 0 3px var(--gold),0 0 0 7px #fff}
.road b{display:block;font-family:var(--head);font-weight:800;font-size:1.4rem;margin:0 0 6px;line-height:1.1;color:var(--green-deep)}
.road p{font-size:.96rem;color:var(--text);margin:0}
.sec.alt .road div::before{box-shadow:0 0 0 3px var(--gold),0 0 0 7px var(--light)}
@media(max-width:900px){.road{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:10px}.road::before{display:none}}
@media(max-width:520px){.road{grid-template-columns:minmax(0,1fr);padding-left:68px}.road::before{display:block;left:18px;right:auto;top:10px;bottom:10px;width:12px;height:auto;background:repeating-linear-gradient(180deg,#B89A5E 0 9px,transparent 9px 12px)}.road div{padding:4px 0 20px}.road div::before{left:-68px;top:0;width:46px;height:46px}}
.fourohfour{padding:90px 0;text-align:center}

/* ---------------------------------------------------------------- planner */
.planner{background:var(--light)}
.pl{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.pl-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:5px solid var(--gold)}
.pl-tab{font-family:var(--head);font-weight:800;font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;padding:11px 16px;border:0;background:none;color:var(--muted);cursor:pointer}
.pl-tab[aria-selected="true"]{background:var(--green);color:#fff}
.pl-panel{background:#fff;padding:26px;border:1px solid var(--line);border-top:0}
.pl-top{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:18px}
.pl-total{position:relative;background:var(--green);color:#fff;padding:16px 20px 26px}
.pl-total::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:12px;background:var(--ripple) 0 50%/60px 10px repeat-x;opacity:.8}
.pl-total b{display:block;font-family:var(--head);font-size:3.1rem;font-weight:900;line-height:1;color:var(--gold)}
.pl-total span{display:block;font-size:.8rem;color:#DDE9E1;margin-top:6px;line-height:1.4}
.pl-route{display:flex;flex-wrap:wrap;gap:10px 16px}
.pl-stop{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.pl-stop span{font-size:.8rem;color:var(--muted)}
.pl-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 18px;border-top:1px solid var(--line)}
.pl-facts div{padding:12px 16px 0 0}
.pl-facts dt{font-family:var(--head);font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:0 0 5px}
.pl-facts dd{margin:0;font-size:.95rem;line-height:1.45}
.pl-cta{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:900px){.pl-tabs{flex-wrap:nowrap;overflow-x:auto}.pl-tab{white-space:nowrap}.pl-top{grid-template-columns:minmax(0,1fr)}.pl-facts{grid-template-columns:minmax(0,1fr)}}

/* ---------------------------------------------------------------- reviews */
.rv-sum{display:flex;align-items:baseline;gap:12px;margin:0 0 22px}
.rv-sum b{font-family:var(--head);font-size:3.2rem;color:var(--green-deep)}
.rv-sum span,.rv-stars{color:var(--gold-dark);letter-spacing:2px}
.rv-stars i{font-style:normal;color:var(--line)}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.rv{background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);padding:18px}
.rv p{font-size:1rem;line-height:1.55;color:var(--ink)}
.rv-who b{display:block;color:var(--green-deep)}
.rv-who span{font-size:.84rem;color:var(--muted)}

/* ---------------------------------------------------------------- chat */
.obc-launch{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:11px;padding:6px 18px 6px 6px;border-radius:0;background:#fff;border:1px solid var(--line);border-bottom:4px solid var(--gold);box-shadow:0 14px 34px rgba(11,56,29,.26);cursor:pointer;font:inherit;color:var(--ink);transition:transform .15s}
.obc-launch:hover{transform:translateY(-2px)}
.ol-av{position:relative;width:50px;height:50px;flex-shrink:0;box-shadow:0 0 0 2px var(--green)}
.ol-av svg{width:50px;height:50px;display:block}
.ol-av::before{content:"";position:absolute;inset:0;animation:sl-pulse 2.8s ease-out infinite}
.ol-av::after{content:"";position:absolute;right:-4px;bottom:-4px;width:13px;height:13px;border-radius:50%;background:#2FB66E;border:2.5px solid #fff}
.ol-text{text-align:left;line-height:1.2}
.ol-text b{display:block;font-family:var(--head);font-weight:800;font-size:1.2rem;color:var(--green-deep)}
.ol-text small{display:block;font-size:.74rem;color:var(--muted);margin-top:3px}
.obc-launch[data-unread-count]::after{content:attr(data-unread-count);position:absolute;left:42px;top:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--green);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.obc-launch[aria-expanded="true"]{padding:6px}
.obc-launch[aria-expanded="true"] .ol-text{display:none}
@media(max-width:720px){.obc-launch{padding:5px}.ol-text{display:none}}
.obc-teaser{position:fixed;right:18px;bottom:92px;z-index:60;max-width:270px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:0 14px 34px rgba(11,56,29,.2);padding:12px 32px 12px 14px;cursor:pointer;animation:sl-rise .35s ease-out}
.obc-teaser p{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink)}
.obc-teaser-x{position:absolute;right:6px;top:4px;background:none;border:0;font-size:1.3rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px}
#obc-panel{position:fixed;right:18px;bottom:90px;z-index:61;width:372px;max-width:calc(100vw - 24px);height:540px;max-height:calc(100vh - 120px);background:#fff;box-shadow:0 24px 60px rgba(11,56,29,.32);display:none;flex-direction:column;overflow:hidden}
#obc-panel.open{display:flex}
.obc-head{background:var(--green-deep);color:#fff;padding:14px 14px 13px 16px;display:flex;align-items:center;gap:12px;border-bottom:4px solid var(--gold)}
.obc-av{position:relative;width:44px;height:44px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.obc-av svg{width:44px;height:44px}
.obc-av svg:not(.face){width:28px;height:28px}
.obc-head b{display:block;font-family:var(--head);font-weight:800;font-size:1.3rem;letter-spacing:.02em}
.obc-head small{display:flex;align-items:center;gap:6px;color:#B5CBBD;font-size:.77rem}
.obc-x{margin-left:auto;background:none;border:0;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 6px}
#obc-body{flex:1;overflow-y:auto;padding:16px 14px;background:var(--light);display:flex;flex-direction:column;gap:8px}
.obc-msg{max-width:84%;padding:10px 13px;font-size:.95rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.obc-msg.bot{background:#fff;align-self:flex-start;border:1px solid var(--line)}
.obc-msg.me{background:var(--green);color:#fff;align-self:flex-end}
.obc-hint{align-self:center;font-size:.74rem;color:var(--muted);margin:2px 0}
#chatForm{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}
#obc-input{flex:1;font:inherit;font-size:16px;border:1.5px solid #C4CEC7;background:#fff;padding:11px 13px;min-width:0}
#obc-input:focus{outline:none;border-color:var(--green)}
#chatForm button{width:44px;height:44px;border:0;background:var(--green);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.chatpg{background:#fff}
body.chatpg #obc-panel{display:flex;position:fixed;inset:0;width:auto;max-width:none;height:100%;max-height:none;box-shadow:none}
body.chatpg .obc-x{display:none}
.obc-back{background:none;border:0;color:#fff;padding:4px;cursor:pointer;display:flex}
.face .eye{transform-box:fill-box;transform-origin:center;animation:sl-blink 5s infinite}
.face .tilt{transform-origin:24px 34px;animation:sl-tilt 8.5s ease-in-out infinite}
.face .bust{animation:sl-breathe 4s ease-in-out infinite}
@keyframes sl-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes sl-tilt{0%,100%{transform:rotate(0)}35%{transform:rotate(-3deg)}70%{transform:rotate(2deg)}}
@keyframes sl-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(.7px)}}
@keyframes sl-pulse{0%{box-shadow:0 0 0 0 rgba(26,86,50,.42)}75%,100%{box-shadow:0 0 0 14px rgba(26,86,50,0)}}
@keyframes sl-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.face *,.ol-av::before,.obc-teaser{animation:none!important}.card:hover{transform:none}}

/* ---------------------------------------------------------------- WhatsApp + text dock */
.dock-left{position:fixed;left:18px;bottom:22px;z-index:59;display:flex;flex-direction:column;gap:10px}
.fab{width:52px;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(11,56,29,.26);text-decoration:none;transition:transform .15s}
.fab:hover{transform:translateY(-2px)}
.fab-wa{background:#25D366}
.fab-sms{background:var(--green-deep)}
@media(min-width:901px){.fab-sms{display:none}}
body.chatpg .dock-left{display:none}

/* ---------------------------------------------------------------- popup */
.ob-popup{position:fixed;inset:0;z-index:80;background:rgba(8,26,15,.64);display:none;align-items:center;justify-content:center;padding:16px}
.ob-popup.show{display:flex}
.ob-popup .pop{background:#fff;max-width:440px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);position:relative}
.pop-top{padding:22px 22px 34px;position:relative;color:#fff;background:var(--green-deep);border-bottom:5px solid var(--gold)}
.pop-top::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:14px;background:var(--ripple) 0 50%/120px 12px repeat-x;opacity:.5}
.pop-top h2{font-size:2rem;margin:4px 0 6px;color:#fff;text-transform:uppercase}
.pop-top p{margin:0 0 4px;color:#DDE9E1;font-size:.95rem}
.pop-top .eyebrow{margin:0;color:var(--gold)}
.pop-body{padding:16px 22px 20px}
.pop-x{position:absolute;right:10px;top:8px;z-index:2;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1;padding:4px 8px}
