/* gonzagapreceptor.com — "Palouse" layout in Gonzaga University's own colours: a navy hero that settles onto
   layered rolling hills, Spectral headlines, gold rules, big light-blue step numerals, mint notes, a deep navy
   closing band. */
:root{
  /* Colours from gonzaga.edu's own stylesheet (dist/main.css, 2026): navy #06274F (its main colour), deep navy
     #003055, blues #5E8AB4, #6993B9, #8CACC9, #AEC4D9, slate #506783, gold #F1A12C, mint #A1D6CA, heather #DED7E1,
     text #262626, grey #606060, panel #F4F4F4. Fonts: Spectral + Jost (Google stand-ins for Gonzaga's Proxima Sera and
     Proxima Nova). */
  --navy:#06274F;
  --deep:#003055;
  --slate:#506783;
  --blue:#5E8AB4;
  --sky:#AEC4D9;
  --mist:#EEF3F8;
  --gold:#F1A12C;
  --mint:#A1D6CA;
  --heather:#DED7E1;
  --panel:#F4F4F4;
  --ink:#06274F;
  --text:#262626;
  --muted:#606060;
  --line:#DED7E1;
  --head:"Spectral",Georgia,"Times New Roman",serif;
  --body:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hills:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='220' viewBox='0 0 1600 220' preserveAspectRatio='none'%3E%3Cpath d='M0 220 L0 72 L20 67 L40 63 L60 59 L80 57 L100 56 L120 57 L140 58 L160 61 L180 64 L200 67 L220 70 L240 73 L260 75 L280 77 L300 78 L320 79 L340 79 L360 78 L380 78 L400 78 L420 78 L440 79 L460 80 L480 81 L500 83 L520 85 L540 86 L560 88 L580 88 L600 88 L620 88 L640 87 L660 86 L680 85 L700 84 L720 83 L740 84 L760 85 L780 87 L800 90 L820 94 L840 99 L860 104 L880 110 L900 115 L920 120 L940 124 L960 126 L980 128 L1000 128 L1020 127 L1040 125 L1060 122 L1080 119 L1100 115 L1120 112 L1140 108 L1160 105 L1180 103 L1200 101 L1220 99 L1240 97 L1260 95 L1280 94 L1300 91 L1320 89 L1340 86 L1360 83 L1380 79 L1400 76 L1420 73 L1440 71 L1460 70 L1480 70 L1500 70 L1520 72 L1540 74 L1560 76 L1580 79 L1600 82 L1600 220 Z' fill='%235E8AB4' fill-opacity='.35'/%3E%3Cpath d='M0 220 L0 104 L20 106 L40 110 L60 115 L80 120 L100 124 L120 128 L140 131 L160 132 L180 132 L200 130 L220 128 L240 125 L260 123 L280 121 L300 120 L320 121 L340 123 L360 127 L380 130 L400 134 L420 138 L440 141 L460 144 L480 145 L500 146 L520 146 L540 146 L560 146 L580 147 L600 147 L620 148 L640 148 L660 148 L680 147 L700 144 L720 140 L740 135 L760 129 L780 122 L800 116 L820 110 L840 106 L860 103 L880 102 L900 103 L920 105 L940 108 L960 111 L980 113 L1000 115 L1020 116 L1040 116 L1060 115 L1080 114 L1100 113 L1120 112 L1140 112 L1160 112 L1180 113 L1200 114 L1220 115 L1240 116 L1260 116 L1280 116 L1300 115 L1320 114 L1340 113 L1360 112 L1380 113 L1400 114 L1420 118 L1440 123 L1460 129 L1480 135 L1500 141 L1520 147 L1540 152 L1560 155 L1580 156 L1600 155 L1600 220 Z' fill='%23506783' fill-opacity='.55'/%3E%3Cpath d='M0 220 L0 162 L20 164 L40 166 L60 168 L80 169 L100 169 L120 168 L140 167 L160 165 L180 164 L200 164 L220 165 L240 168 L260 172 L280 177 L300 180 L320 183 L340 184 L360 182 L380 179 L400 174 L420 169 L440 164 L460 160 L480 156 L500 154 L520 152 L540 150 L560 148 L580 146 L600 143 L620 141 L640 139 L660 139 L680 141 L700 144 L720 148 L740 152 L760 156 L780 158 L800 159 L820 159 L840 156 L860 153 L880 151 L900 149 L920 149 L940 150 L960 153 L980 157 L1000 161 L1020 164 L1040 167 L1060 169 L1080 171 L1100 172 L1120 174 L1140 177 L1160 179 L1180 182 L1200 184 L1220 185 L1240 184 L1260 182 L1280 177 L1300 171 L1320 165 L1340 159 L1360 155 L1380 152 L1400 151 L1420 151 L1440 153 L1460 155 L1480 156 L1500 156 L1520 155 L1540 154 L1560 152 L1580 151 L1600 150 L1600 220 Z' fill='%23003055' fill-opacity='.85'/%3E%3Cpath d='M0 220 L0 180 L20 179 L40 179 L60 181 L80 185 L100 189 L120 192 L140 193 L160 193 L180 193 L200 192 L220 191 L240 192 L260 193 L280 194 L300 195 L320 196 L340 196 L360 196 L380 197 L400 199 L420 202 L440 206 L460 210 L480 212 L500 212 L520 211 L540 207 L560 202 L580 198 L600 195 L620 193 L640 192 L660 191 L680 190 L700 189 L720 188 L740 187 L760 186 L780 187 L800 189 L820 191 L840 192 L860 192 L880 191 L900 189 L920 186 L940 183 L960 182 L980 184 L1000 186 L1020 190 L1040 194 L1060 198 L1080 200 L1100 202 L1120 204 L1140 205 L1160 207 L1180 208 L1200 209 L1220 209 L1240 208 L1260 205 L1280 201 L1300 197 L1320 194 L1340 193 L1360 193 L1380 195 L1400 197 L1420 198 L1440 198 L1460 197 L1480 194 L1500 192 L1520 189 L1540 188 L1560 187 L1580 186 L1600 185 L1600 220 Z' fill='%2306274F' fill-opacity='1'/%3E%3C/svg%3E");
  --shadow:0 1px 2px rgba(6,39,79,.06),0 16px 36px rgba(6,39,79,.12);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:92px}
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(--deep);text-decoration-color:var(--gold);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--navy);text-decoration-color:var(--navy)}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.15;letter-spacing:-.005em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.2rem,4.8vw,3.5rem);font-weight:800;line-height:1.08}
h2{font-size:clamp(1.6rem,2.9vw,2.2rem)}
h3{font-size:1.3rem;font-weight:600}
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:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin:0 0 10px}

/* ---------------------------------------------------------------- buttons + fields */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:.96rem;line-height:1;padding:15px 24px;border-radius:6px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-orange{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-orange:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-line{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-line:hover{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-block{width:100%;justify-content:center}
.f{display:block;margin:0 0 12px}
.f label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);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 var(--heather);border-radius:6px;padding:11px 12px;appearance:none;-webkit-appearance:none}
.f select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(94,138,180,.2)}
.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.45}

/* ---------------------------------------------------------------- header (navy top strip, white bar) */
.top{position:sticky;top:0;z-index:40;background:#fff;border-top:6px solid var(--navy);box-shadow:0 1px 0 var(--heather),0 6px 18px rgba(6,39,79,.06)}
.top .wrap{display:flex;align-items:center;gap:22px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);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:800;font-size:1.4rem;line-height:1}
.brand small{display:block;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-top:5px}
.nav{display:flex;gap:4px;margin:0 auto}
.nav a{font-weight:600;font-size:.8rem;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;color:var(--navy);text-decoration:none;padding:9px 10px;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--gold)}
.top .btn{padding:12px 18px;font-size:.88rem}
.menu{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer;color:var(--navy);flex-shrink:0}
@media(max-width:480px){.brand small{font-size:.6rem;letter-spacing:.04em}.top .wrap{gap:10px}.brand b{font-size:1.22rem}}
@media(max-width:360px){.brand small{display:none}}
@media(max-width:1060px){
  .nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;background:#fff;border-bottom:4px solid var(--navy);padding:6px 16px 14px;margin:0}
  .top.open .nav{display:flex}
  .nav a{padding:13px 4px;border-bottom:0;border-top:1px solid var(--heather)}
  .nav a:first-child{border-top:0}
  .menu{display:block}
  .top .btn{display:none}
}

/* ---------------------------------------------------------------- hero settling onto the hills */
.hero{position:relative;background:var(--hills) center bottom/100% 150px no-repeat,linear-gradient(170deg,var(--navy) 0%,var(--deep) 70%,var(--navy) 100%);color:#fff}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:54px;align-items:start;padding-top:42px;padding-bottom:150px}
.hero h1{color:#fff}
.hero h1::after{content:"";display:block;width:72px;height:4px;background:var(--gold);margin-top:18px;border-radius:2px}
.hero .lede{font-size:1.16rem;line-height:1.66;color:#E4ECF4;max-width:640px}
.crumbs{font-size:.82rem;color:var(--sky);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{font-size:.8rem;color:var(--sky);margin:-2px 0 18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
/* the form: a white card with a gold edge on the left */
.hero-card{background:#fff;color:var(--ink);box-shadow:var(--shadow);border-radius:10px;border-left:6px solid var(--gold);padding:24px 22px 18px;position:relative}
.hero-card h2{font-size:1.45rem;margin:0 0 4px;color:var(--navy)}
.hero-card .sub{color:var(--muted);font-size:.93rem;margin:0 0 16px;line-height:1.5}
.hero-mobile{display:none}
@media(max-width:920px){
  .hero{background:var(--hills) center bottom/180% 90px no-repeat,linear-gradient(170deg,var(--navy),var(--deep))}
  .hero .wrap{grid-template-columns:minmax(0,1fr);padding-top:26px;padding-bottom:96px}
  .hero-side{display:none}
  .hero-mobile{display:flex}
  .hero .lede{font-size:1.05rem;line-height:1.6}
}
.hero.home .wrap{padding-top:58px;padding-bottom:170px}
.hero.home h1{font-size:clamp(2.5rem,5.8vw,4.2rem)}

/* ---------------------------------------------------------------- key figures */
.markers-sec{background:var(--navy);color:#fff}
.markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.mk{padding:22px 26px 24px;border-left:1px solid rgba(174,196,217,.3)}
.mk:first-child{border-left:0;padding-left:0}
.mk b{display:block;font-family:var(--head);font-weight:800;font-size:2.6rem;line-height:1;color:var(--gold);margin:0 0 8px}
.mk span{font-size:.9rem;line-height:1.45;color:#DCE6F0}
@media(max-width:720px){.mk{border-left:0;border-top:1px solid rgba(174,196,217,.3);padding-left:0}.mk:first-child{border-top:0}}

/* ---------------------------------------------------------------- guide sections */
.sec{padding:56px 0}
.sec.alt{background:var(--mist)}
.sec.tight{padding:32px 0}
.prose{max-width:790px}
.prose>h2{padding-bottom:12px;background:linear-gradient(var(--gold),var(--gold)) left bottom/56px 3px no-repeat}
.prose h3{margin:1.5em 0 .5em;color:var(--slate)}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.1em}
.prose li{margin:0 0 .5em}
.prose ul li::marker{color:var(--gold)}
.lead{font-size:1.1rem;color:var(--text)}
code.rt{font-family:var(--body);font-weight:600;font-size:.82em;letter-spacing:.02em;color:var(--navy);background:var(--mist);border:1px solid var(--sky);border-radius:4px;padding:1px 6px;white-space:nowrap}
.sec.alt code.rt{background:#fff}
.note{background:#F1FAF7;border:1px solid var(--mint);border-left:6px solid var(--mint);border-radius:8px;padding:16px 18px 14px;margin:0 0 1.25em;color:var(--navy);font-weight:500;line-height:1.55}
.note p:last-child{margin:0}
.tbl{overflow-x:auto;margin:0 0 1.3em;border:1px solid var(--heather);border-radius:8px;background:#fff}
.tbl table{border-collapse:collapse;width:100%;font-size:.93rem;min-width:520px}
.tbl caption{text-align:left;font-family:var(--head);font-weight:700;font-size:1.04rem;padding:12px 14px 10px;color:var(--navy);caption-side:top}
.tbl th{text-align:left;font-weight:600;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--navy);padding:11px 14px}
.tbl td{padding:10px 14px;border-top:1px solid var(--heather);vertical-align:top}
.tbl tbody tr:nth-child(even) td{background:var(--mist)}
/* steps: big light-blue numerals beside each step */
ol.steps{list-style:none;padding:0;margin:0 0 1.3em;counter-reset:st}
ol.steps li{counter-increment:st;position:relative;padding:4px 0 18px 78px;margin:0 0 6px;min-height:64px;font-size:.97rem;line-height:1.6;border-bottom:1px dashed var(--sky)}
ol.steps li:last-child{border-bottom:0}
ol.steps li::before{content:counter(st);position:absolute;left:0;top:-6px;width:60px;text-align:center;font-family:var(--head);font-weight:800;font-size:3.1rem;line-height:1;color:var(--sky)}
ol.steps b{display:block;font-family:var(--head);font-weight:700;font-size:1.12rem;color:var(--ink);margin:0 0 3px;line-height:1.3}

/* ---------------------------------------------------------------- cards and hubs */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{display:block;background:#fff;border:1px solid var(--heather);border-bottom:4px solid var(--navy);border-radius:8px;padding:18px 18px 16px;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s}
.card:hover{border-bottom-color:var(--gold);box-shadow:var(--shadow)}
.card b{display:block;font-family:var(--head);font-size:1.18rem;font-weight:700;line-height:1.25;margin:0 0 8px;color:var(--ink)}
.card span{display:block;font-size:.9rem;color:var(--muted);line-height:1.5}
.card .tag{display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin:0 0 8px}
.card::after{content:"Read \2192";display:block;margin-top:12px;font-size:.84rem;font-weight:600;color:var(--navy)}
.hub-group{margin:0 0 44px}
.hub-group>h2{font-size:1.5rem;padding-bottom:10px;border-bottom:2px solid var(--sky)}
.sec-head{max-width:760px;margin:0 0 26px}
.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 22px}
.states-grid a{display:block;padding:9px 0;border-bottom:1px solid var(--heather);text-decoration:none;font-weight:500;color:var(--ink)}
.states-grid a:hover{color:var(--blue)}
.states-grid a.tx{color:var(--navy);font-family:var(--head);font-weight:800;font-size:1.08rem}

/* ---------------------------------------------------------------- faq, sources, figure */
.faq{max-width:840px;border-top:2px solid var(--navy)}
.faq details{border-bottom:1px solid var(--heather)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--head);font-weight:700;font-size:1.1rem;line-height:1.35;color:var(--ink);padding:16px 50px 16px 2px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font-family:var(--body);font-weight:500;font-size:1.6rem;line-height:1;color:var(--gold)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 18px;padding-left:2px;color:var(--text)}
.sources{font-size:.85rem;color:var(--muted)}
.sources ul{padding-left:1.1em;margin:.4em 0 0}
.sources a{color:var(--muted)}
.updated{font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.figsec{padding-top:40px;padding-bottom:8px}
.fig{margin:0;max-width:980px}
.fig img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--heather)}
.fig figcaption{font-size:.88rem;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}
.smap li::marker{color:var(--gold)}

/* ---------------------------------------------------------------- closing band (deep navy on the hills) */
.match{background:var(--hills) center bottom/100% 110px no-repeat,var(--deep);color:#fff}
.match .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:52px;align-items:center;padding-top:62px;padding-bottom:120px}
.match h2{color:#fff}
.match p,.match ul{color:#DCE6F0}
.match ul{padding-left:1.1em}
.match li{margin:0 0 .35em}
.match li::marker{color:var(--gold)}
.match a{color:#fff}
.match code.rt{background:var(--navy);color:#fff;border-color:var(--slate)}
.match .hero-card a{color:var(--deep)}
@media(max-width:920px){.match .wrap{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:44px;padding-bottom:80px}.match{background:var(--hills) center bottom/180% 70px no-repeat,var(--deep)}}

/* ---------------------------------------------------------------- footer */
.foot{background:var(--navy);color:#C9D6E3;font-size:.92rem;padding:50px 0 110px;border-top:4px solid var(--gold)}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.foot h4{font-family:var(--body);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.foot a{display:block;color:#E6EDF4;text-decoration:none;padding:3px 0}
.foot a:hover{color:#fff;text-decoration:underline}
.foot a.brand{display:flex;color:#fff;margin:0 0 12px;padding:0}
.foot .brand small{color:var(--sky)}
.foot .legal{border-top:1px solid rgba(174,196,217,.25);margin-top:34px;padding-top:18px;font-size:.8rem;color:#9FB3C8;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.news{display:flex;gap:8px;margin:14px 0 6px;max-width:340px}
.news input{flex:1;min-width:0;font:inherit;font-size:15px;border-radius:6px;border:1px solid rgba(174,196,217,.4);background:var(--deep);color:#fff;padding:10px 12px}
.news input::placeholder{color:#9FB3C8}
.news .btn{padding:10px 16px;font-size:.86rem}
.foot [data-ob-intake-status]{color:#E6EDF4!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 four-step route */
.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;border-top:2px solid var(--navy)}
.road div{padding:18px 22px 8px;counter-increment:rd;border-left:1px solid var(--heather)}
.road div:first-child{border-left:0;padding-left:0}
.road div::before{content:counter(rd);display:block;font-family:var(--head);font-weight:800;font-size:3rem;line-height:1;color:var(--sky)}
.road b{display:block;font-family:var(--head);font-weight:700;font-size:1.16rem;margin:8px 0 6px;line-height:1.25;color:var(--ink)}
.road p{font-size:.93rem;color:var(--text);margin:0}
@media(max-width:900px){.road{grid-template-columns:repeat(2,minmax(0,1fr))}.road div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:520px){.road{grid-template-columns:minmax(0,1fr)}.road div{border-left:0;padding-left:0;border-top:1px solid var(--heather)}.road div:first-child{border-top:0}}
.fourohfour{padding:90px 0;text-align:center}

/* ---------------------------------------------------------------- planner */
.planner{background:var(--mist)}
.pl{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.pl-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--navy)}
.pl-tab{font-family:var(--body);font-weight:600;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;border:0;background:none;color:var(--slate);cursor:pointer;border-bottom:4px solid transparent;margin-bottom:-2px}
.pl-tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--gold)}
.pl-panel{background:#fff;padding:26px;border:1px solid var(--heather);border-top:0;border-radius:0 0 10px 10px}
.pl-top{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:18px}
.pl-total{border-right:1px solid var(--heather);padding-right:20px}
.pl-total b{display:block;font-family:var(--head);font-size:3.2rem;font-weight:800;line-height:1;color:var(--navy)}
.pl-total span{display:block;font-size:.84rem;color:var(--muted);margin-top:6px;line-height:1.4}
.pl-route{display:flex;flex-wrap:wrap;gap:10px 18px}
.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:12px;margin:0 0 18px}
.pl-facts div{background:var(--mist);border-radius:8px;padding:12px 14px}
.pl-facts dt{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 5px}
.pl-facts dd{margin:0;font-size:.93rem;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-total{border-right:0;padding-right:0}.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:3rem;color:var(--ink)}
.rv-sum span,.rv-stars{color:var(--gold);letter-spacing:2px}
.rv-stars i{font-style:normal;color:var(--heather)}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rv{background:#fff;border:1px solid var(--heather);border-left:4px solid var(--gold);border-radius:8px;padding:18px}
.rv p{font-family:var(--head);font-size:1.06rem;line-height:1.55;color:var(--ink)}
.rv-who b{display:block;color:var(--ink)}
.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:12px;background:#fff;border:1px solid var(--heather);border-left:4px solid var(--gold);box-shadow:0 14px 34px rgba(6,39,79,.24);cursor:pointer;font:inherit;color:var(--ink);transition:transform .15s}
.obc-launch:hover{transform:translateY(-2px)}
.ol-av{position:relative;width:50px;height:50px;border-radius:10px;flex-shrink:0;box-shadow:0 0 0 2px var(--navy)}
.ol-av svg{width:50px;height:50px;display:block;border-radius:10px}
.ol-av::before{content:"";position:absolute;inset:0;border-radius:10px;animation:gz-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:700;font-size:1.02rem;color:var(--ink)}
.ol-text small{display:block;font-size:.75rem;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(--gold);color:var(--navy);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:94px;z-index:60;max-width:270px;background:#fff;border:1px solid var(--heather);border-left:4px solid var(--gold);border-radius:10px;box-shadow:0 14px 34px rgba(6,39,79,.18);padding:12px 32px 12px 14px;cursor:pointer;animation:gz-rise .35s ease-out}
.obc-teaser p{margin:0;font-size:.93rem;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:92px;z-index:61;width:372px;max-width:calc(100vw - 24px);height:540px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--heather);border-radius:14px;box-shadow:0 24px 60px rgba(6,39,79,.3);display:none;flex-direction:column;overflow:hidden}
#obc-panel.open{display:flex}
.obc-head{background:var(--navy);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;border-radius:10px;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:700;font-size:1.06rem}
.obc-head small{display:flex;align-items:center;gap:6px;color:var(--sky);font-size:.78rem}
.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(--mist);display:flex;flex-direction:column;gap:8px}
.obc-msg{max-width:84%;padding:10px 13px;border-radius:10px;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(--heather)}
.obc-msg.me{background:var(--navy);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(--heather);background:#fff}
#obc-input{flex:1;font:inherit;font-size:16px;border:1.5px solid var(--heather);border-radius:8px;background:#fff;padding:11px 13px;min-width:0}
#obc-input:focus{outline:none;border-color:var(--blue)}
#chatForm button{width:44px;height:44px;border-radius:8px;border:0;background:var(--navy);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;border:0;border-radius:0;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:gz-blink 5s infinite}
.face .tilt{transform-origin:24px 34px;animation:gz-tilt 8.5s ease-in-out infinite}
.face .bust{animation:gz-breathe 4s ease-in-out infinite}
@keyframes gz-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes gz-tilt{0%,100%{transform:rotate(0)}35%{transform:rotate(-3deg)}70%{transform:rotate(2deg)}}
@keyframes gz-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(.7px)}}
@keyframes gz-pulse{0%{box-shadow:0 0 0 0 rgba(6,39,79,.45)}75%,100%{box-shadow:0 0 0 14px rgba(6,39,79,0)}}
@keyframes gz-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}}

/* ---------------------------------------------------------------- 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;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(6,39,79,.26);text-decoration:none;transition:transform .15s}
.fab:hover{transform:translateY(-2px)}
.fab-wa{background:#25D366}
.fab-sms{background:var(--navy)}
@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(6,39,79,.62);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;border-radius:12px}
.pop-top{padding:22px 22px 16px;position:relative;background:var(--navy);color:#fff;border-bottom:4px solid var(--gold)}
.pop-top h2{font-size:1.65rem;margin:4px 0 6px;color:#fff}
.pop-top p{margin:0 0 4px;color:#DCE6F0;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}
