/* uncwpreceptor.com — "coastal chart" layout in UNC Wilmington's own colors: a navy hero laid over depth
   contours like a Cape Fear nautical chart, slab headlines, teal rules ending in a gold mark, a step ledger,
   seafoam panels, a teal closing band. */
:root{
  /* Colors from uncw.edu's own stylesheet (/_global/css/styles.css, 2026): --navy #002D5B, --teal #007680,
     --gold #FCC200, --seafoam #F5F2EA; plus its #313535 text, #009DD1 and #00AEEF blues, #D8D8D6 and #F1F2F2
     greys, #707070 muted, #002347 and #003552 deep navies. Fonts: Lato and Lora (UNCW's own web fonts), Bitter. */
  --navy:#002D5B;
  --deep:#002347;
  --teal:#007680;
  --gold:#FCC200;
  --sea:#F5F2EA;
  --blue:#009DD1;
  --line:#D8D8D6;
  --panel:#F1F2F2;
  --ink:#002D5B;
  --text:#313535;
  --muted:#707070;
  --head:"Bitter",Georgia,"Times New Roman",serif;
  --body:"Lato",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Lora",Georgia,serif;
  --chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='960' height='600' viewBox='0 0 960 600' fill='none' stroke='%23009DD1' stroke-width='1.2' opacity='.5'%3E%3Cpath d='M701 300L703 305L703 309L701 314L697 318L693 321L687 323L682 326L677 327L672 329L668 331L663 332L659 334L654 335L650 336L645 337L640 337L635 336L630 336L625 336L620 336L614 336L608 335L602 334L596 333L591 330L587 326L584 322L584 317L585 312L587 308L590 304L593 300L595 297L597 294L597 290L597 287L597 283L598 279L599 275L601 271L604 267L608 264L612 262L618 260L623 259L629 258L634 257L640 257L646 257L651 258L657 259L661 262L665 265L668 269L671 272L672 276L674 279L677 282L680 284L684 287L688 289L693 292L698 296Z'/%3E%3Cpath d='M756 300L757 309L756 317L751 325L743 332L735 337L725 342L716 346L707 350L699 353L691 357L683 360L675 363L667 365L658 367L649 367L640 368L631 368L622 368L612 368L602 368L591 368L579 367L568 365L557 361L548 356L542 348L539 340L539 331L542 322L547 314L551 306L556 300L559 294L560 288L560 282L559 275L558 268L559 260L561 252L566 245L572 239L580 234L589 229L599 226L609 224L619 222L629 220L640 220L651 220L661 222L670 226L678 231L685 237L690 244L695 251L699 257L703 262L708 266L715 270L724 274L733 279L743 285L750 292Z'/%3E%3Cpath d='M811 300L812 313L807 325L799 336L787 345L774 353L761 360L748 366L736 371L725 377L714 382L703 388L691 392L679 395L666 397L653 398L640 399L627 399L613 400L599 401L583 402L566 402L549 401L533 397L518 390L507 381L499 370L497 357L499 343L503 331L509 319L515 309L520 300L522 291L521 283L520 273L518 262L517 251L518 240L523 229L530 219L540 210L552 203L566 197L580 192L594 188L609 185L624 183L640 183L655 184L670 188L683 194L695 202L704 212L711 221L718 230L724 238L732 244L742 250L754 255L768 261L782 268L795 277L806 288Z'/%3E%3Cpath d='M867 300L865 316L856 332L844 346L828 358L811 368L795 377L780 385L766 393L752 401L738 408L723 415L707 421L691 425L674 427L657 429L640 431L622 432L604 434L584 436L563 438L540 438L518 435L497 429L479 419L466 406L459 389L458 372L462 355L468 339L475 324L481 312L483 300L483 289L480 276L477 263L474 249L473 234L476 219L484 205L495 192L509 181L525 172L542 165L561 158L580 153L599 149L620 147L640 147L660 150L679 156L695 165L710 176L721 188L731 199L740 210L750 218L763 225L778 232L796 238L816 246L835 256L851 269L862 284Z'/%3E%3Cpath d='M921 300L915 320L903 339L886 355L866 369L847 382L829 393L811 404L795 415L779 425L761 435L743 443L724 449L703 454L682 458L661 461L640 463L618 467L594 470L569 474L542 476L513 476L486 471L461 461L442 447L429 428L423 407L423 386L428 365L436 346L442 329L446 314L446 300L442 286L437 270L431 253L427 235L428 216L433 198L444 181L459 166L477 153L497 142L519 132L542 124L565 117L590 113L615 110L640 111L664 116L687 125L707 137L723 151L737 165L750 178L763 189L778 198L796 205L818 212L842 220L868 230L890 244L908 260L919 280Z'/%3E%3Cpath d='M973 300L962 324L946 345L925 364L903 381L882 396L862 410L843 423L824 437L805 449L785 461L763 470L740 478L715 484L691 488L666 493L640 497L613 503L584 509L552 514L519 516L486 514L454 506L427 492L407 473L394 449L390 424L392 398L398 374L405 353L409 334L410 317L406 300L398 282L389 263L382 242L379 220L381 198L390 176L404 157L423 140L446 125L470 111L496 100L523 90L551 82L580 76L610 75L640 77L669 85L695 97L717 112L736 128L753 144L769 157L787 168L807 176L833 183L862 190L892 200L922 213L948 231L965 252L974 276Z'/%3E%3Cpath d='M1021 300L1006 327L985 351L962 372L938 391L916 409L895 426L875 443L854 459L832 474L808 487L783 498L755 506L727 513L699 520L670 526L640 534L608 542L573 550L535 556L496 557L458 553L423 541L394 522L374 497L364 468L361 438L365 409L370 383L375 360L376 339L371 320L362 300L350 279L339 256L331 231L329 205L335 179L347 155L365 133L388 114L414 96L442 81L472 67L503 55L536 46L570 41L605 41L640 46L672 56L701 71L727 89L748 106L768 122L789 135L812 144L840 152L873 158L909 167L946 179L979 196L1005 218L1022 244L1027 272Z'/%3E%3Cpath d='M1065 300L1046 330L1022 356L997 380L973 402L950 423L928 443L907 462L884 481L859 498L832 512L802 525L771 535L740 543L708 552L675 562L640 572L602 584L561 593L518 599L473 599L430 590L393 573L365 549L346 518L337 484L336 450L339 419L343 391L344 367L339 344L329 323L315 300L299 275L286 248L279 219L279 189L288 161L304 134L327 110L353 88L383 68L415 50L448 34L484 21L522 11L561 7L601 8L640 16L676 30L708 48L735 67L760 85L784 100L810 111L841 119L877 125L917 131L960 142L1001 157L1037 178L1062 205L1075 236L1076 268Z'/%3E%3Cpath d='M1106 300L1083 332L1058 362L1032 388L1007 413L985 436L963 460L940 482L914 503L886 522L855 538L821 551L787 563L752 574L717 586L680 600L640 614L596 628L549 639L499 643L450 640L404 627L366 603L338 572L321 536L314 498L313 462L315 429L316 400L311 374L299 350L283 326L263 300L245 271L231 240L226 207L229 174L242 142L262 113L288 86L319 62L351 40L387 19L424 1L465 -13L508 -23L553 -26L597 -21L640 -10L679 7L713 27L744 46L772 63L802 76L834 85L873 90L917 95L965 102L1014 115L1058 134L1094 161L1117 193L1126 228L1121 265Z'/%3E%3Cpath d='M1143 300L1118 335L1092 367L1066 396L1043 424L1020 451L998 477L972 502L944 525L912 546L877 563L841 578L804 593L766 607L727 623L685 641L640 659L590 674L537 685L481 688L428 679L380 660L342 630L316 593L300 552L294 510L293 472L291 438L286 409L274 382L255 357L232 330L208 300L188 267L175 232L172 195L180 159L197 124L221 93L250 63L283 36L319 11L358 -12L400 -32L446 -47L495 -55L545 -56L594 -48L640 -33L682 -14L719 6L752 25L785 40L821 50L861 55L908 58L961 62L1016 71L1069 87L1115 112L1149 144L1168 181L1172 222L1162 262Z'/%3E%3Cpath d='M1177 300L1151 337L1125 372L1102 404L1079 435L1057 465L1033 494L1005 522L974 547L938 569L900 588L861 606L821 623L780 642L737 663L691 685L640 706L584 723L524 732L464 730L407 716L359 690L322 653L297 610L283 565L276 521L272 482L265 448L253 419L233 392L207 364L178 334L151 300L130 263L119 223L120 183L131 144L152 107L180 72L212 40L248 10L287 -18L330 -44L377 -64L428 -79L482 -85L537 -83L591 -72L640 -54L684 -34L724 -13L762 3L800 14L843 19L892 21L948 22L1008 27L1069 39L1125 60L1170 90L1201 128L1215 171L1213 216L1199 259Z'/%3E%3Cpath d='M184 520L182 523L180 526L177 528L175 531L173 533L171 535L169 538L166 540L164 541L161 543L157 544L154 545L151 546L147 548L144 549L140 550L136 552L131 553L126 553L122 553L117 551L114 549L111 546L110 542L109 539L109 535L109 532L109 530L108 527L107 525L105 523L103 520L102 517L100 514L100 511L100 508L102 505L104 502L106 499L109 497L112 495L116 493L119 491L123 490L127 489L132 489L136 489L140 490L144 492L147 494L150 496L153 497L156 498L159 499L163 500L167 500L172 501L176 502L181 504L184 507L186 510L187 513L186 517Z'/%3E%3Cpath d='M228 520L224 526L220 532L216 537L212 542L208 547L204 552L200 556L194 560L189 564L182 567L176 570L169 573L163 576L156 579L148 582L140 586L131 588L121 590L111 590L102 588L94 584L88 578L83 571L81 564L80 557L79 550L79 544L77 539L74 535L70 530L65 525L61 520L57 514L55 508L55 501L57 495L60 488L65 483L70 478L76 473L82 468L89 464L97 461L105 458L114 457L123 457L132 459L140 462L147 465L154 468L160 471L166 473L173 475L181 475L190 475L199 476L209 478L219 481L226 486L231 492L234 499L234 506L232 513Z'/%3E%3Cpath d='M269 520L263 529L258 537L253 545L248 553L243 561L237 568L230 575L222 581L214 586L204 591L195 596L185 601L175 606L165 612L153 618L140 624L126 627L111 629L96 627L83 622L72 614L64 604L59 593L56 582L54 572L52 564L48 556L43 550L37 543L29 536L21 529L15 520L11 511L9 501L10 491L14 481L19 472L26 464L34 456L43 448L52 441L63 435L75 430L88 427L102 427L115 428L128 431L140 436L151 440L160 444L170 447L180 448L192 448L205 448L220 448L235 449L250 453L263 459L272 468L278 478L280 489L278 500L274 510Z'/%3E%3Cpath d='M307 520L301 532L296 543L290 554L285 564L278 575L270 584L261 593L250 601L238 609L226 616L215 623L202 631L189 640L175 649L158 657L140 664L120 667L101 667L82 662L66 653L53 641L44 627L38 612L33 599L29 587L24 577L17 569L7 561L-4 552L-15 543L-26 532L-33 520L-38 507L-38 494L-35 481L-29 468L-22 456L-13 444L-2 433L9 423L22 414L37 406L54 401L72 398L90 399L108 402L125 407L140 412L154 417L167 420L181 421L196 420L213 418L233 417L254 417L274 421L292 427L307 437L317 450L321 464L322 479L318 494L313 507Z'/%3E%3Cpath d='M344 520L338 534L334 549L328 562L322 576L313 589L303 601L291 612L277 622L264 632L250 642L236 653L221 664L204 677L185 689L164 699L140 705L115 707L91 703L69 693L51 680L37 663L27 646L19 629L12 615L5 602L-5 592L-18 583L-33 573L-49 562L-63 550L-75 536L-83 520L-86 504L-85 487L-80 471L-72 455L-63 440L-52 425L-39 411L-24 398L-7 387L13 379L35 374L57 372L80 374L102 379L122 384L140 389L157 392L174 393L193 391L214 388L238 384L264 383L290 385L314 391L334 402L349 416L358 434L361 452L359 471L355 488L349 505Z'/%3E%3C/svg%3E");
  --shadow:0 1px 2px rgba(0,45,91,.06),0 14px 34px rgba(0,45,91,.10);
}
*{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(--teal);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--navy);text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.14;letter-spacing:-.01em;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.15rem)}
h3{font-size:1.28rem;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:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 10px}

/* ---------------------------------------------------------------- buttons + fields */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:900;font-size:.95rem;line-height:1;padding:15px 24px;border-radius:999px;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(--teal);border-color:var(--teal)}
.btn-line:hover{background:var(--teal);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.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:.78rem;font-weight:700;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(--line);border-radius:8px;padding:11px 12px;appearance:none;-webkit-appearance:none}
.f select{background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 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(--teal);box-shadow:0 0 0 3px rgba(0,118,128,.15)}
.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 (white, teal keel line) */
.top{position:sticky;top:0;z-index:40;background:#fff;border-bottom:4px solid var(--teal);box-shadow:0 2px 0 var(--gold)}
.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.36rem;line-height:1}
.brand small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-top:5px}
.nav{display:flex;gap:2px;margin:0 auto}
.nav a{font-weight:700;font-size:.92rem;color:var(--navy);text-decoration:none;padding:8px 13px;border-radius:999px}
.nav a:hover,.nav a[aria-current=page]{background:var(--sea);color:var(--teal)}
.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:.03em}.top .wrap{gap:10px}.brand b{font-size:1.2rem}}
@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(--teal);padding:6px 16px 14px;margin:0}
  .top.open .nav{display:flex}
  .nav a{padding:13px 6px;border-radius:0;border-top:1px solid var(--line)}
  .nav a:first-child{border-top:0}
  .menu{display:block}
  .top .btn{display:none}
}

/* ---------------------------------------------------------------- hero over the chart */
.hero{position:relative;background:var(--chart) right -60px center/1080px auto no-repeat,linear-gradient(115deg,var(--deep) 0%,var(--navy) 55%,#003552 100%);color:#fff;border-bottom:6px solid var(--teal)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:linear-gradient(90deg,var(--teal) 0 78%,var(--gold) 78% 100%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:54px;align-items:start;padding-top:40px;padding-bottom:58px}
.hero h1{color:#fff}
.hero .lede{font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.62;color:var(--sea);max-width:640px}
.crumbs{font-size:.82rem;color:#b8d8e0;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:#b8d8e0;margin:-2px 0 18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
/* the form: a seafoam card with a teal-and-gold top edge */
.hero-card{background:var(--sea);color:var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:24px 22px 18px;position:relative;overflow:hidden}
.hero-card::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--teal) 0 78%,var(--gold) 78% 100%)}
.hero-card h2{font-size:1.45rem;margin:4px 0 4px;color:var(--navy)}
.hero-card .sub{color:var(--text);font-size:.92rem;margin:0 0 16px;line-height:1.5}
.hero-mobile{display:none}
@media(max-width:920px){
  .hero{background:var(--chart) center top/820px auto no-repeat,linear-gradient(160deg,var(--deep),var(--navy))}
  .hero .wrap{grid-template-columns:minmax(0,1fr);padding-top:26px;padding-bottom:40px}
  .hero-side{display:none}
  .hero-mobile{display:flex}
  .hero .lede{font-size:1.06rem;line-height:1.58}
}
.hero.home .wrap{padding-top:58px;padding-bottom:74px}
.hero.home h1{font-size:clamp(2.5rem,5.8vw,4.2rem)}

/* ---------------------------------------------------------------- soundings strip */
.markers-sec{background:var(--sea);border-bottom:1px solid var(--line)}
.markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.mk{padding:24px 26px 22px;border-left:2px dotted rgba(0,118,128,.45)}
.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(--teal);margin:0 0 8px}
.mk span{font-size:.9rem;line-height:1.45;color:var(--text)}
@media(max-width:720px){.mk{border-left:0;border-top:2px dotted rgba(0,118,128,.45);padding-left:0}.mk:first-child{border-top:0}}

/* ---------------------------------------------------------------- guide sections */
.sec{padding:54px 0}
.sec.alt{background:var(--sea)}
.sec.tight{padding:32px 0}
.prose{max-width:790px}
.prose>h2::after{content:"";display:block;width:84px;height:4px;margin:14px 0 0;background:linear-gradient(90deg,var(--teal) 0 76%,var(--gold) 76% 100%);border-radius:2px}
.prose h3{margin:1.5em 0 .5em;color:var(--teal)}
.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(--teal)}
.lead{font-size:1.1rem;color:var(--text)}
code.rt{font-family:var(--body);font-weight:900;font-size:.8em;letter-spacing:.03em;color:#fff;background:var(--teal);border-radius:6px;padding:2px 7px;white-space:nowrap}
.note{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:10px;padding:16px 18px 14px;margin:0 0 1.25em;color:var(--navy);font-family:var(--serif);font-size:1.06rem;line-height:1.55}
.note p:last-child{margin:0}
.tbl{overflow-x:auto;margin:0 0 1.3em;border:1px solid var(--line);border-radius:10px;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.02rem;padding:12px 14px 10px;color:var(--navy);caption-side:top}
.tbl th{text-align:left;font-weight:900;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--teal);padding:11px 14px}
.tbl td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
.tbl tbody tr:nth-child(even) td{background:var(--sea)}
/* steps: a ledger, the step number in a navy band on the left */
ol.steps{list-style:none;padding:0;margin:0 0 1.3em;counter-reset:st;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
ol.steps li{counter-increment:st;position:relative;padding:14px 18px 14px 104px;margin:0;border-top:1px solid var(--line);font-size:.97rem;line-height:1.6;min-height:64px}
ol.steps li:first-child{border-top:0}
ol.steps li::before{content:"Step " counter(st);position:absolute;left:0;top:0;bottom:0;width:86px;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;background:var(--navy);color:var(--gold);font-family:var(--body);font-weight:900;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
ol.steps b{display:block;font-family:var(--head);font-weight:700;font-size:1.08rem;color:var(--ink);margin:0 0 3px;line-height:1.3}
@media(max-width:520px){ol.steps li{padding-left:72px}ol.steps li::before{width:56px;content:counter(st);font-family:var(--head);font-size:1.3rem}}

/* ---------------------------------------------------------------- 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(--line);border-top:5px solid var(--teal);border-radius:12px;padding:18px 18px 16px;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .15s}
.card:hover{border-color:var(--teal);box-shadow:var(--shadow);transform:translateY(-2px)}
.card b{display:block;font-family:var(--head);font-size:1.16rem;font-weight:700;line-height:1.25;margin:0 0 8px;color:var(--ink)}
.card span{display:block;font-size:.9rem;color:var(--text);line-height:1.5}
.card .tag{display:block;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
.card::after{content:"Read \2192";display:block;margin-top:12px;font-size:.82rem;font-weight:900;color:var(--navy)}
.hub-group{margin:0 0 44px}
.hub-group>h2{font-size:1.5rem;padding-bottom:10px;border-bottom:2px dotted var(--teal)}
.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(--line);text-decoration:none;font-weight:700;color:var(--ink)}
.states-grid a:hover{color:var(--teal)}
.states-grid a.tx{color:var(--teal);font-family:var(--head);font-weight:800;font-size:1.08rem}

/* ---------------------------------------------------------------- faq, sources, figure */
.faq{max-width:840px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 10px;overflow:hidden}
.faq details[open]{border-color:var(--teal)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--head);font-weight:700;font-size:1.08rem;line-height:1.35;color:var(--ink);padding:15px 56px 15px 18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:14px;top:12px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;font-family:var(--body);font-weight:900;font-size:1.1rem}
.faq details[open] summary::after{content:"\2212";background:var(--gold);color:var(--navy)}
.faq details p{margin:0;padding:0 18px 16px;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:900;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.figsec{padding-top:40px;padding-bottom:8px}
.fig{margin:0;max-width:980px}
.fig img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.fig figcaption{font-family:var(--serif);font-style:italic;font-size:.9rem;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(--teal)}

/* ---------------------------------------------------------------- closing band (teal) */
.match{background:var(--chart) right -120px center/1000px auto no-repeat,linear-gradient(120deg,var(--teal),#005b63);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:62px}
.match h2{color:#fff}
.match p,.match ul{color:#e8f4f5}
.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)}
.match .hero-card a{color:var(--teal)}
@media(max-width:920px){.match .wrap{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:44px;padding-bottom:44px}.match{background:linear-gradient(160deg,var(--teal),#005b63)}}

/* ---------------------------------------------------------------- footer */
.foot{background:var(--navy);color:#cfdbe6;font-size:.92rem;padding:50px 0 110px;border-top:6px 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:900;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.foot a{display:block;color:#e6edf3;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(--gold)}
.foot .legal{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;font-size:.8rem;color:#a9bccd;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:999px;border:1px solid rgba(255,255,255,.3);background:var(--deep);color:#fff;padding:10px 14px}
.news input::placeholder{color:#a9bccd}
.news .btn{padding:10px 16px;font-size:.86rem}
.foot [data-ob-intake-status]{color:#e6edf3!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:14px;counter-reset:rd}
.road div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;counter-increment:rd}
.road div::before{content:counter(rd);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold);font-family:var(--head);font-weight:800;font-size:1.2rem}
.road b{display:block;font-family:var(--head);font-weight:700;font-size:1.14rem;margin:12px 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))}}
@media(max-width:520px){.road{grid-template-columns:minmax(0,1fr)}}
.fourohfour{padding:90px 0;text-align:center}

/* ---------------------------------------------------------------- planner */
.planner{background:var(--sea)}
.pl{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.pl-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pl-tab{font-family:var(--body);font-weight:900;font-size:.9rem;padding:10px 16px;border:1.5px solid var(--teal);border-radius:999px;background:#fff;color:var(--teal);cursor:pointer}
.pl-tab[aria-selected="true"]{background:var(--teal);color:#fff}
.pl-panel{background:#fff;padding:26px;border:1px solid var(--line);border-radius:14px}
.pl-top{display:grid;grid-template-columns:210px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:18px}
.pl-total{border-right:2px dotted rgba(0,118,128,.45);padding-right:20px}
.pl-total b{display:block;font-family:var(--head);font-size:3.1rem;font-weight:800;line-height:1;color:var(--teal)}
.pl-total span{display:block;font-size:.84rem;color:var(--text);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(--sea);border-radius:10px;padding:12px 14px}
.pl-facts dt{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);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(--line)}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.rv{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.rv p{font-family:var(--serif);font-style:italic;font-size:1.05rem;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:999px;background:#fff;border:1.5px solid var(--teal);box-shadow:0 14px 34px rgba(0,45,91,.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:50%;flex-shrink:0;box-shadow:0 0 0 2px var(--teal)}
.ol-av svg{width:50px;height:50px;display:block;border-radius:50%}
.ol-av::before{content:"";position:absolute;inset:0;border-radius:50%;animation:uw-pulse 2.8s ease-out infinite}
.ol-av::after{content:"";position:absolute;right:-2px;bottom:-2px;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:1rem;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:900;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(--line);border-top:5px solid var(--teal);border-radius:14px;box-shadow:0 14px 34px rgba(0,45,91,.18);padding:12px 32px 12px 14px;cursor:pointer;animation:uw-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(--line);border-radius:16px;box-shadow:0 24px 60px rgba(0,45,91,.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(--teal)}
.obc-av{position:relative;width:44px;height:44px;border-radius:50%;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.04rem}
.obc-head small{display:flex;align-items:center;gap:6px;color:#cfe6ea;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(--sea);display:flex;flex-direction:column;gap:8px}
.obc-msg{max-width:84%;padding:10px 13px;border-radius:14px;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(--teal);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 var(--line);border-radius:999px;background:#fff;padding:11px 15px;min-width:0}
#obc-input:focus{outline:none;border-color:var(--teal)}
#chatForm button{width:44px;height:44px;border-radius:50%;border:0;background:var(--teal);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:uw-blink 5s infinite}
.face .tilt{transform-origin:24px 34px;animation:uw-tilt 8.5s ease-in-out infinite}
.face .bust{animation:uw-breathe 4s ease-in-out infinite}
@keyframes uw-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes uw-tilt{0%,100%{transform:rotate(0)}35%{transform:rotate(-3deg)}70%{transform:rotate(2deg)}}
@keyframes uw-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(.7px)}}
@keyframes uw-pulse{0%{box-shadow:0 0 0 0 rgba(0,118,128,.45)}75%,100%{box-shadow:0 0 0 14px rgba(0,118,128,0)}}
@keyframes uw-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:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,45,91,.26);text-decoration:none;transition:transform .15s}
.fab:hover{transform:translateY(-2px)}
.fab-wa{background:#25D366}
.fab-sms{background:var(--teal)}
@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(0,35,71,.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:16px}
.pop-top{padding:22px 22px 16px;position:relative;background:var(--navy);color:#fff;border-bottom:5px solid var(--teal)}
.pop-top h2{font-size:1.65rem;margin:4px 0 6px;color:#fff}
.pop-top p{margin:0 0 4px;color:var(--sea);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}
