:root{--ink:#10282f;--navy:#123b4a;--deep:#082a34;--jade:#0f766e;--mint:#dff3ed;--sand:#f4efe5;--gold:#e6b85f;--paper:#fbfcf9;--muted:#5f7378;--line:#d7e0dd;--white:#fff;--shadow:0 20px 55px rgba(8,42,52,.12);--radius:20px;--shell:min(1180px,calc(100% - 40px));font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-60px;z-index:1000;background:#fff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:20px}.update-bar{background:var(--deep);color:#dff5ee;font-size:.82rem}.update-bar .shell{min-height:38px;display:flex;align-items:center;gap:12px}.update-bar b{color:var(--gold)}.update-bar a{margin-left:auto;color:#fff;text-decoration:none}.site-header{position:sticky;top:0;z-index:100;background:rgba(251,252,249,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,59,74,.1)}.header-inner{position:relative;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--jade),var(--navy));color:#fff;font-weight:900;display:grid;place-items:center;letter-spacing:-.04em}.brand b{display:block;font-size:1rem;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.69rem;letter-spacing:.04em;margin-top:4px}.site-nav{display:flex;align-items:center;gap:22px}.site-nav>a{text-decoration:none;font-size:.89rem;font-weight:650;color:#334f56}.site-nav>a:hover,.site-nav>a.is-active{color:var(--jade)}.site-nav .nav-cta{background:var(--navy);color:#fff;padding:10px 15px;border-radius:999px}.site-nav .nav-cta:hover{color:#fff;background:var(--jade)}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px}.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,31,39,.92) 0%,rgba(5,31,39,.72) 48%,rgba(5,31,39,.2) 100%),linear-gradient(0deg,rgba(5,31,39,.45),transparent 48%)}.hero-content{position:relative;padding:90px 0 72px;z-index:2}.breadcrumb{display:flex;align-items:center;gap:9px;font-size:.78rem;color:#d6e5e3;margin-bottom:28px}.breadcrumb a{text-decoration:none}.eyebrow,.section-label{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:850;color:var(--gold);margin-bottom:14px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.98;letter-spacing:-.05em;max-width:970px;margin:0 0 24px}.hero p{font-size:clamp(1rem,2vw,1.3rem);max-width:780px;color:#e7f0ef;margin:0}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.hero-tags span{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);padding:7px 11px;border-radius:999px;font-size:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;background:var(--jade);color:#fff;text-decoration:none;font-weight:800;font-size:.88rem;border:1px solid transparent}.button:hover{background:#0b5e58}.button:focus-visible,.site-nav a:focus-visible,.guide-card:focus-visible,.library-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.guide-card,.library-card,.contact-card,.content-section{min-width:0}.button--light{background:#fff;color:var(--deep)}.button--ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.section-heading{max-width:800px;margin-bottom:36px}.section-heading h2,.feature-grid h2,.cta-band h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}.section-heading p{font-size:1.12rem;color:var(--muted)}.home-intro,.home-guides,.library-section,.faq-section,.contact-section{padding:90px 0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(8,42,52,.06)}table{border-collapse:collapse;width:100%;min-width:850px;font-size:.86rem}th,td{text-align:left;vertical-align:top;padding:17px 16px;border-bottom:1px solid var(--line)}th{background:#edf6f2;color:var(--deep);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}tbody tr:last-child td{border-bottom:0}td small{color:var(--muted)}.center{text-align:center;margin-top:30px}.home-guides{background:var(--sand)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{background:#fff;border:1px solid rgba(18,59,74,.08);border-radius:var(--radius);padding:28px;text-decoration:none;min-height:270px;display:flex;flex-direction:column;transition:.25s}.guide-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.guide-card>span{font-size:.72rem;font-weight:900;color:var(--jade)}.guide-card h3{font-family:Georgia,serif;font-size:1.45rem;line-height:1.15;margin:24px 0 10px}.guide-card p{color:var(--muted);margin:0}.guide-card b{margin-top:auto;color:var(--jade);font-size:.85rem}.topic-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.topic-links a{background:#fff;padding:9px 13px;border-radius:999px;text-decoration:none;font-size:.82rem}.feature-band{padding:90px 0}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.feature-image,.feature-image img{border-radius:var(--radius);overflow:hidden}.feature-image img{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}.check-list,.number-list{padding-left:0;list-style:none}.check-list li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--jade);font-weight:900}.number-list{counter-reset:item}.number-list li{counter-increment:item;position:relative;padding:15px 0 15px 55px;border-bottom:1px solid var(--line)}.number-list li:before{content:counter(item,decimal-leading-zero);position:absolute;left:0;top:13px;color:var(--jade);font-weight:900;font-size:.8rem}.cta-band{background:var(--navy);color:#fff;padding:90px 0;text-align:center}.cta-band .section-label{color:var(--gold)}.cta-band h2{max-width:850px;margin-inline:auto}.cta-band p{max-width:700px;margin:0 auto 28px;color:#dce9e7}.article{padding:78px 0 100px}.article-grid{display:grid;grid-template-columns:235px minmax(0,780px);gap:75px;justify-content:center}.toc{position:sticky;top:115px;align-self:start;border-left:2px solid var(--mint);padding-left:18px}.toc strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.toc a{display:block;text-decoration:none;color:var(--muted);font-size:.8rem;padding:6px 0}.toc a:hover{color:var(--jade)}.content-section{scroll-margin-top:115px;padding:0 0 72px;margin-bottom:72px;border-bottom:1px solid var(--line)}.content-section:last-child{border-bottom:0}.section-number{font-size:.73rem;color:var(--jade);font-weight:900;letter-spacing:.08em}.content-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;letter-spacing:-.035em;margin:12px 0 24px}.content-section h3{font-size:1.05rem}.content-section p{font-size:1.03rem;color:#334d53}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:28px 0}.card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.card__kicker{font-size:.68rem;color:var(--jade);font-weight:900}.card h3{margin:12px 0 7px;font-size:1rem}.card p{font-size:.88rem;margin:0;color:var(--muted)}.callout{border-radius:16px;padding:20px 22px;margin:28px 0;background:var(--mint);border-left:4px solid var(--jade)}.callout--important{background:#fff3d7;border-left-color:var(--gold)}.callout strong{display:block;margin-bottom:6px}.callout p{margin:0;font-size:.92rem}.source-list{display:grid;gap:10px}.source-list a{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:700;font-size:.88rem}.source-list a span{font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:var(--jade);min-width:86px}.source-list a b{margin-left:auto}.small{font-size:.78rem!important;color:var(--muted)!important}.related{background:var(--mint);padding:42px 0}.related .shell>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.related a{background:#fff;border-radius:12px;padding:15px;text-decoration:none;font-weight:750;font-size:.85rem;display:flex;justify-content:space-between}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.library-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;text-decoration:none;display:flex;flex-direction:column;min-height:270px;transition:.25s}.library-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.library-card>span{font-size:.72rem;color:var(--jade);font-weight:900}.library-card h2{font-family:Georgia,serif;font-size:1.5rem;line-height:1.15;margin:24px 0 10px}.library-card p{color:var(--muted);font-size:.9rem}.library-card b{margin-top:auto;color:var(--jade);font-size:.82rem}.faq-list{max-width:900px;margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;font-family:Georgia,serif;font-size:1.35rem;font-weight:700;padding:24px 0;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--jade)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details div{padding:0 0 25px;max-width:760px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:42px}.contact-card h2{font-family:Georgia,serif;font-size:2.2rem;margin-top:0}.contact-card--dark{background:var(--navy);color:#fff;border:0}.contact-card--dark a{color:#fff}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.site-footer{background:var(--deep);color:#d8e7e5;padding:70px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand{font-family:Georgia,serif;font-size:2rem;color:#fff;text-decoration:none}.footer-top p{max-width:520px;color:#aebfbd}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:44px 0}.footer-grid h3{color:var(--gold);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid a{display:block;color:#c5d4d2;text-decoration:none;font-size:.84rem;padding:5px 0}.footer-base{display:flex;justify-content:space-between;gap:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:.72rem;color:#8fa7a4}.footer-base p:first-child{max-width:700px}.home .hero{min-height:680px}.home .hero h1{max-width:1050px}@media(max-width:1120px){.site-nav{position:absolute;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:8px}.site-nav>a{padding:9px 11px;border-radius:10px}.site-nav>a:hover,.site-nav>a.is-active{background:var(--mint)}.site-nav.is-open{display:flex}.nav-toggle{display:block}.guide-grid,.library-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr;gap:35px}.article-grid{grid-template-columns:1fr}.toc{position:static;border-left:0;border-bottom:1px solid var(--line);padding:0 0 22px;display:flex;flex-wrap:wrap;gap:5px 15px}.toc strong{width:100%}.toc a{display:inline}.related .shell>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-nav{right:0;width:calc(100vw - 28px)}:root{--shell:min(100% - 28px,1180px)}.update-bar .shell{padding:7px 0;flex-wrap:wrap;gap:5px 9px}.update-bar a{margin-left:0}.header-inner{min-height:68px}.brand small{display:none}.hero{min-height:520px}.hero-content{padding:70px 0 50px}.hero h1{font-size:2.65rem}.home-intro,.home-guides,.feature-band,.library-section,.faq-section,.contact-section{padding:62px 0}.guide-grid,.library-grid,.cards,.contact-grid{grid-template-columns:1fr}.guide-card,.library-card{min-height:220px}.article{padding:55px 0}.content-section{padding-bottom:50px;margin-bottom:50px}.related .shell>div{grid-template-columns:1fr}.footer-top,.footer-base{flex-direction:column}.footer-grid{grid-template-columns:repeat(2,1fr)}.contact-card{padding:28px}.site-footer{padding-top:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* v3 contact, FAQ and Singapore topic enhancements */
.contact-grid{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:stretch}
.contact-card--brief{padding:38px 42px}.contact-intro{color:var(--muted);margin-top:-8px}.brief-list{margin:28px 0 24px;border-top:1px solid var(--line)}.brief-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:22px;padding:15px 0;border-bottom:1px solid var(--line)}.brief-item strong{font-size:.82rem;color:var(--jade)}.brief-item p{margin:0;color:#334d53;font-size:.9rem}.button--outline{background:#fff;color:var(--jade);border-color:var(--jade)}.button--outline:hover{background:var(--mint)}.copy-status{display:inline-block;margin-left:12px;font-size:.82rem;color:var(--jade)}
.contact-card--office{display:flex;flex-direction:column}.contact-details{display:grid;gap:10px;margin:12px 0}.contact-details a{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none}.contact-details span{color:#bcd0ce;font-size:.78rem}.contact-details b{text-align:right;font-size:.9rem}.contact-actions--stacked{display:grid;margin-top:auto;padding-top:28px}.contact-actions--stacked .button{width:100%;min-height:50px}.contact-card--dark .button--enquiry,.button--enquiry{background:var(--gold);color:var(--deep);box-shadow:0 12px 28px rgba(230,184,95,.25);font-size:.96rem}.contact-card--dark .button--enquiry:hover,.button--enquiry:hover{background:#f0cb83;color:var(--deep);transform:translateY(-1px)}.contact-card--dark .button--whatsapp{background:#fff;color:var(--deep);border-color:#fff}.contact-card--dark .button--whatsapp:hover{background:var(--mint);color:var(--deep)}.contact-card--dark .button--ghost{color:#fff}.contact-note{font-size:.74rem;color:#a9c2bf;margin:20px 0 0}
.faq-intro{max-width:820px;margin:0 auto 25px}.faq-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}.faq-intro p{color:var(--muted);font-size:1.05rem}.faq-topics{background:var(--sand)}
.guide-priority{padding:90px 0;background:var(--sand)}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.priority-grid article{background:#fff;border:1px solid rgba(18,59,74,.08);border-radius:16px;padding:22px}.priority-grid strong{display:block;font-family:Georgia,serif;font-size:1.25rem;margin-bottom:8px}.priority-grid p{margin:0;color:var(--muted);font-size:.88rem}.guide-category:nth-of-type(even){background:#fff}.guide-category:nth-of-type(odd){background:var(--paper)}
@media(max-width:1120px){.contact-grid{grid-template-columns:1fr}.priority-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.brief-item{grid-template-columns:1fr;gap:4px}.contact-card--brief{padding:28px}.priority-grid{grid-template-columns:1fr}.copy-status{display:block;margin:8px 0 0}}

/* v4 — clearer hero titles and contact call-to-action order */
.hero-overlay{
  background:linear-gradient(90deg,rgba(4,28,36,.96) 0%,rgba(4,28,36,.86) 52%,rgba(4,28,36,.38) 100%),linear-gradient(0deg,rgba(4,28,36,.58),transparent 54%);
}
.hero-content{max-width:1180px}
.hero h1{
  width:fit-content;
  max-width:960px;
  margin:0 0 24px;
  padding:.24em .38em .29em;
  border-left:6px solid var(--gold);
  border-radius:0 18px 18px 0;
  background:linear-gradient(90deg,rgba(5,32,40,.82),rgba(5,32,40,.52));
  box-shadow:0 14px 38px rgba(0,0,0,.18);
  color:#fff;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:clamp(2.45rem,5.1vw,4.95rem);
  font-weight:850;
  line-height:1.075;
  letter-spacing:-.042em;
  text-wrap:balance;
  text-shadow:0 2px 15px rgba(0,0,0,.25);
}
.home .hero h1{max-width:1000px;font-size:clamp(2.6rem,5.25vw,5.15rem)}
.hero-title-line{display:block}
.hero-title-accent{display:block;margin-top:.08em;color:#f3c86f}
.contact-actions--stacked{
  display:grid;
  margin:8px 0 30px;
  padding-top:0;
}
.contact-card--office .office-address{
  margin:0 0 15px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.17);
  color:#e8f0ef;
}
@media(max-width:650px){
  .hero h1,.home .hero h1{
    max-width:100%;
    padding:.25em .3em .3em;
    border-left-width:4px;
    border-radius:0 12px 12px 0;
    font-size:clamp(2.15rem,10.5vw,2.7rem);
    line-height:1.1;
    letter-spacing:-.035em;
  }
  .contact-actions--stacked{margin-top:6px;margin-bottom:24px}
  .contact-card--office .office-address{padding-top:22px}
}



/* v5 — complete information architecture, accessible menus and searchable directory */
.site-nav{gap:15px}.site-nav>a,.nav-group>summary{font-size:.88rem;font-weight:700;color:#334f56;text-decoration:none;white-space:nowrap}.nav-group{position:relative}.nav-group>summary{list-style:none;cursor:pointer;padding:9px 0}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary span{display:inline-block;margin-left:4px;font-size:.72rem;transition:transform .2s}.nav-group[open]>summary span{transform:rotate(180deg)}.nav-group>summary:hover,.nav-group.is-active>summary,.nav-group[open]>summary{color:var(--jade)}.nav-menu{position:absolute;z-index:120;top:calc(100% + 17px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 65px rgba(8,42,52,.2);padding:24px;color:var(--ink)}.nav-menu:before{content:"";position:absolute;top:-8px;width:15px;height:15px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.nav-menu--mega{width:850px;left:50%;transform:translateX(-57%)}.nav-menu--mega:before{left:55%}.nav-menu--advisory{width:330px;right:-35px;display:grid;gap:2px}.nav-menu--advisory:before{right:70px}.nav-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.nav-menu-head b,.nav-menu>strong,.nav-menu-grid strong{display:block;color:var(--deep);font-size:.79rem;text-transform:uppercase;letter-spacing:.09em}.nav-menu-head small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.nav-menu-head>a{color:var(--jade);font-size:.8rem;font-weight:850;text-decoration:none;white-space:nowrap}.nav-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.nav-menu-grid>div{min-width:0}.nav-menu-grid strong{margin-bottom:9px}.nav-menu a:not(.nav-menu-head>a){display:block;padding:6px 0;color:#355159;text-decoration:none;font-size:.8rem;line-height:1.35}.nav-menu a:hover,.nav-menu a[aria-current="page"]{color:var(--jade);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.site-nav .nav-cta.is-active{background:var(--jade)}
.pathway-section{padding:84px 0;background:#fff}.pathway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.pathway-grid>a{display:flex;flex-direction:column;min-height:250px;padding:25px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:var(--paper);transition:.22s}.pathway-grid>a:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b9d6ce}.pathway-grid span{font-size:.7rem;color:var(--jade);font-weight:900}.pathway-grid strong{font-family:Georgia,serif;font-size:1.3rem;line-height:1.2;margin:22px 0 10px}.pathway-grid p{font-size:.86rem;color:var(--muted);margin:0}.pathway-grid b{margin-top:auto;padding-top:16px;color:var(--jade);font-size:.8rem}.all-guides-cta{margin-top:35px}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px}.related-heading .section-label{margin:0}.related-heading>a{font-weight:850;font-size:.82rem;color:var(--jade);text-decoration:none}.related-heading>a:hover{text-decoration:underline}
.footer-top-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}.footer-directory-link{color:var(--gold);font-weight:800;font-size:.84rem;text-decoration:none}.footer-directory-link:hover{text-decoration:underline}.footer-grid--expanded{grid-template-columns:repeat(5,1fr);gap:28px}.footer-grid--expanded a:hover{color:#fff;text-decoration:underline}
.directory-routes{padding:85px 0;background:var(--sand)}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.route-grid>a{display:flex;flex-direction:column;min-height:230px;padding:25px;border-radius:18px;background:#fff;border:1px solid rgba(18,59,74,.1);text-decoration:none;transition:.22s}.route-grid>a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.route-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--jade);font-weight:900}.route-grid strong{font-family:Georgia,serif;font-size:1.25rem;line-height:1.2;margin:22px 0 10px}.route-grid p{font-size:.86rem;color:var(--muted);margin:auto 0 0}
.directory-controls{padding:72px 0 34px;background:#fff;scroll-margin-top:100px}.directory-heading{display:grid;grid-template-columns:1fr minmax(300px,430px);gap:50px;align-items:end}.directory-heading h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:0 0 10px}.directory-heading p{color:var(--muted);margin:0}.directory-search label{display:block;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.directory-search input{width:100%;border:1px solid #b9cbc7;border-radius:12px;padding:13px 15px;background:var(--paper);font:inherit;color:var(--ink)}.directory-search input:focus{outline:3px solid rgba(230,184,95,.6);border-color:var(--jade)}.directory-search span{display:block;text-align:right;color:var(--muted);font-size:.76rem;margin-top:6px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.filter-bar button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fff;color:#355159;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.filter-bar button:hover,.filter-bar button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.guide-directory-section{padding:65px 0}.guide-directory-section:nth-of-type(even){background:var(--paper)}.guide-directory-section:nth-of-type(odd){background:#fff}.directory-section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:26px}.directory-section-heading>div{max-width:760px}.directory-section-heading h2{font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.1;margin:0 0 10px}.directory-section-heading p{color:var(--muted);margin:0}.directory-section-heading>a{font-size:.78rem;color:var(--jade);font-weight:800;text-decoration:none;white-space:nowrap}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.directory-card{display:flex;flex-direction:column;min-height:255px;padding:24px;border-radius:17px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:.22s}.directory-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bad5ce}.directory-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.directory-card-top span{font-size:.7rem;font-weight:900;color:var(--jade)}.directory-card-top em{font-style:normal;font-size:.66rem;padding:4px 8px;border-radius:999px;background:var(--mint);color:#315d58;font-weight:800}.directory-card h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.18;margin:23px 0 10px}.directory-card p{font-size:.86rem;color:var(--muted);margin:0}.directory-card b{margin-top:auto;padding-top:18px;color:var(--jade);font-size:.8rem}.directory-empty{width:var(--shell);margin:0 auto 70px;padding:30px;border:1px dashed var(--line);border-radius:18px;text-align:center;background:#fff}.directory-empty p{margin:5px 0 0;color:var(--muted)}
@media(max-width:1120px){.nav-group{width:100%}.nav-group>summary{padding:9px 11px;border-radius:10px}.nav-group>summary:hover,.nav-group.is-active>summary{background:var(--mint)}.nav-menu,.nav-menu--mega,.nav-menu--advisory{position:static;width:auto;transform:none;margin:6px 0 4px;padding:17px;border-radius:12px;box-shadow:none;background:#f6faf8}.nav-menu:before{display:none}.nav-menu-grid{grid-template-columns:1fr;gap:17px}.nav-menu-head{align-items:center}.nav-menu-head small{display:none}.nav-menu--advisory{gap:0}.site-nav>a{padding:9px 11px}.pathway-grid,.route-grid{grid-template-columns:repeat(2,1fr)}.footer-grid--expanded{grid-template-columns:repeat(3,1fr)}.directory-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.pathway-section,.directory-routes{padding:62px 0}.pathway-grid,.route-grid,.directory-grid{grid-template-columns:1fr}.pathway-grid>a,.route-grid>a,.directory-card{min-height:0}.directory-heading{grid-template-columns:1fr;gap:25px}.directory-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.footer-top-actions{justify-content:flex-start}.footer-grid--expanded{grid-template-columns:1fr 1fr}.related-heading{align-items:flex-start;flex-direction:column;gap:5px}.nav-menu-head{flex-direction:column;align-items:flex-start}.nav-menu-grid a{padding:8px 0}.directory-card-top em{max-width:60%;text-align:right}}
@media(max-width:1120px){
  .site-nav{max-height:calc(100vh - 105px);overflow-y:auto;overscroll-behavior:contain}
}


/* v6 — larger menus, clearer external-advisory label and visible contact CTA */
.site-nav .nav-cta,
.site-nav .nav-cta.is-active,
.site-nav>a.nav-cta.is-active{
  color:#fff;
}
.site-nav .nav-cta.is-active{
  background:var(--jade);
  box-shadow:0 8px 22px rgba(15,118,110,.22);
}

/* A wider reading area and larger type for desktop dropdown navigation. */
@media(min-width:1281px){
  .header-inner{
    width:min(1360px,calc(100% - 36px));
  }
  .site-nav{
    gap:22px;
  }
  .site-nav>a,
  .nav-group>summary{
    font-size:1rem;
    font-weight:760;
    letter-spacing:-.01em;
  }
  .nav-menu{
    padding:32px 34px;
    border-radius:22px;
    box-shadow:0 30px 80px rgba(8,42,52,.23);
  }
  .nav-menu--mega{
    width:1040px;
    left:50%;
    transform:translateX(-55%);
  }
  .nav-menu--mega:before{
    left:54%;
  }
  .nav-menu--advisory{
    width:440px;
    right:-112px;
    gap:4px;
  }
  .nav-menu--advisory:before{
    right:156px;
  }
  .nav-menu-head{
    padding-bottom:22px;
    margin-bottom:23px;
  }
  .nav-menu-head b,
  .nav-menu>strong,
  .nav-menu-grid strong{
    font-size:.85rem;
  }
  .nav-menu-head small{
    font-size:.84rem;
  }
  .nav-menu-head>a{
    font-size:.9rem;
  }
  .nav-menu-grid{
    gap:42px;
  }
  .nav-menu a:not(.nav-menu-head>a){
    padding:8px 0;
    font-size:.94rem;
    line-height:1.42;
  }
}

/* A more visible, labelled and animated menu control. */
.nav-toggle{
  width:106px;
  height:46px;
  position:relative;
  flex:0 0 auto;
  padding:0 44px 0 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:linear-gradient(135deg,var(--jade),var(--navy));
  color:#fff;
  box-shadow:0 10px 25px rgba(8,42,52,.2);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.nav-toggle::before{
  content:"Menu";
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#fff;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.035em;
}
.nav-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 13px 30px rgba(8,42,52,.27);
}
.nav-toggle:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}
.nav-toggle span:not(.sr-only){
  position:absolute;
  right:15px;
  width:22px;
  height:2px;
  margin:0;
  border-radius:99px;
  background:#fff;
  transform-origin:center;
  transition:top .22s ease,transform .22s ease,opacity .16s ease;
}
.nav-toggle span:nth-child(1){top:14px}
.nav-toggle span:nth-child(2){top:22px}
.nav-toggle span:nth-child(3){top:30px}
.nav-toggle[aria-expanded="true"]{
  background:var(--deep);
}
.nav-toggle[aria-expanded="true"]::before{
  content:"Close";
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}

@media(max-width:1280px){
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .site-nav{
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    width:min(540px,calc(100vw - 32px));
    max-height:calc(100vh - 105px);
    overflow-y:auto;
    overscroll-behavior:contain;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:22px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
    gap:7px;
  }
  .site-nav.is-open{display:flex}
  .nav-group{width:100%}
  .nav-group>summary{border-radius:10px}
  .nav-group>summary:hover,.nav-group.is-active>summary{background:var(--mint)}
  .nav-menu,.nav-menu--mega,.nav-menu--advisory{
    position:static;
    width:auto;
    transform:none;
    margin:6px 0 4px;
    box-shadow:none;
    background:#f6faf8;
  }
  .nav-menu:before{display:none}
  .nav-menu-grid{grid-template-columns:1fr;gap:17px}
  .nav-menu-head{align-items:center}
  .nav-menu-head small{display:none}
  .nav-menu--advisory{gap:0}

  .site-nav>a,
  .nav-group>summary{
    font-size:1rem;
    font-weight:760;
    padding:11px 13px;
  }
  .nav-menu,
  .nav-menu--mega,
  .nav-menu--advisory{
    padding:20px;
  }
  .nav-menu a:not(.nav-menu-head>a){
    padding:8px 0;
    font-size:.92rem;
  }
  .nav-menu>strong,
  .nav-menu-grid strong,
  .nav-menu-head b{
    font-size:.82rem;
  }
}

@media(max-width:650px){
  .site-nav{
    width:calc(100vw - 28px);
    padding:17px;
    border-radius:18px;
  }
}

@media(max-width:350px){
  .nav-toggle{
    width:48px;
    padding:0;
  }
  .nav-toggle::before{
    content:"";
  }
  .nav-toggle[aria-expanded="true"]::before{
    content:"";
  }
  .nav-toggle span:not(.sr-only){right:13px}
}


/* v7 — mobile containment and responsive data tables */
html,body{max-width:100%;overflow-x:clip}
.article-grid,.article-grid>* ,.prose,.content-section{min-width:0}
.prose{width:100%;max-width:100%}
.table-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
.table-wrap table{max-width:none}

@media(max-width:650px){
  :root{--shell:min(1180px,calc(100% - 28px))}
  .article-grid{width:100%}
  .toc{max-width:100%;overflow-wrap:anywhere}
  .content-section h2{font-size:clamp(1.75rem,8.4vw,2.35rem)}
  .content-section p,.content-section li{overflow-wrap:anywhere}

  /* Convert wide comparison tables into readable stacked cards. */
  .table-wrap:has(.responsive-table){
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .responsive-table{
    display:block;
    width:100%;
    min-width:0;
    border-collapse:separate;
    font-size:.88rem;
  }
  .responsive-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .responsive-table tbody,
  .responsive-table tr,
  .responsive-table td{display:block;width:100%}
  .responsive-table tbody{display:grid;gap:15px}
  .responsive-table tr{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(8,42,52,.06);
  }
  .responsive-table td{
    display:grid;
    grid-template-columns:minmax(108px,.85fr) minmax(0,1.15fr);
    gap:14px;
    align-items:start;
    padding:13px 14px;
    border-bottom:1px solid var(--line);
    overflow-wrap:anywhere;
  }
  .responsive-table td:last-child{border-bottom:0}
  .responsive-table td::before{
    content:attr(data-label);
    color:var(--deep);
    font-size:.67rem;
    font-weight:850;
    line-height:1.35;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .responsive-table td:first-child{
    display:block;
    padding:16px 14px;
    background:#edf6f2;
    color:var(--deep);
  }
  .responsive-table td:first-child::before{
    display:block;
    margin-bottom:5px;
    color:var(--jade);
  }
}

@media(max-width:360px){
  .responsive-table td{grid-template-columns:1fr;gap:5px}
  .update-bar{font-size:.76rem}
  .hero h1,.home .hero h1{font-size:clamp(1.95rem,10.2vw,2.35rem)}
}

/* v8 — restore mobile gutters and constrain article navigation/content */
@media(max-width:650px){
  /* Keep the shared shell gutters on article pages. The earlier 100% width
     override removed the 14px mobile inset and made content touch both edges. */
  .shell.article-grid{
    width:var(--shell);
    max-width:calc(100% - 28px);
    margin-inline:auto;
  }

  .article-grid,
  .article-grid > *,
  .prose,
  .content-section,
  .content-section > *{
    min-width:0;
    max-width:100%;
  }

  /* A compact, wrapping contents index that cannot create a wide flex row. */
  .toc{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:0;
    width:100%;
    padding:0 0 22px;
  }
  .toc strong{
    grid-column:1 / -1;
    width:100%;
  }
  .toc a{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    padding:7px 0;
    line-height:1.45;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .content-section h1,
  .content-section h2,
  .content-section h3,
  .content-section p,
  .content-section li,
  .card,
  .callout,
  .source-list a{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .table-wrap,
  .responsive-table,
  .responsive-table tbody,
  .responsive-table tr,
  .responsive-table td{
    max-width:100%;
  }

  .source-list a{
    flex-wrap:wrap;
  }
  .source-list a b{
    flex:0 0 auto;
  }
}

@media(max-width:480px){
  .toc{grid-template-columns:1fr}
  .toc strong{grid-column:auto}
}

/* v9 — richer dropdown navigation and larger article typography */
.content-section p,
.content-section li{
  font-size:1.12rem;
  line-height:1.78;
}
.content-section h3{
  font-size:1.18rem;
  line-height:1.35;
}
.content-section .card p{
  font-size:.98rem;
  line-height:1.65;
}
.content-section .callout p{
  font-size:1.02rem;
  line-height:1.68;
}
.content-section table{
  font-size:.92rem;
}
.toc strong{
  font-size:.86rem;
  letter-spacing:.13em;
  margin-bottom:15px;
}
.toc a{
  font-size:.94rem;
  line-height:1.48;
  padding:7px 0;
  transition:color .18s ease,transform .18s ease;
}
.toc a:hover,
.toc a:focus-visible{
  color:var(--jade);
  transform:translateX(3px);
}

@media(min-width:1121px){
  .article-grid{
    grid-template-columns:260px minmax(0,800px);
    gap:60px;
  }
}

@media(min-width:1281px){
  .nav-group>summary{
    position:relative;
    padding:15px 7px;
  }
  .nav-group>summary::after{
    content:"";
    position:absolute;
    left:7px;
    right:7px;
    bottom:7px;
    height:3px;
    border-radius:99px;
    background:linear-gradient(90deg,var(--gold),var(--jade));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .2s ease;
  }
  .nav-group:hover>summary::after,
  .nav-group:focus-within>summary::after,
  .nav-group[open]>summary::after{
    transform:scaleX(1);
  }
  .nav-group>summary span{
    margin-left:7px;
    color:var(--jade);
  }

  .nav-menu{
    top:calc(100% + 12px);
    overflow:hidden;
    border:1px solid rgba(18,59,74,.14);
    border-top:4px solid var(--gold);
    background:
      radial-gradient(circle at 100% 0,rgba(223,243,237,.72),transparent 34%),
      linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
    box-shadow:0 34px 90px rgba(8,42,52,.25),0 8px 24px rgba(8,42,52,.09);
    animation:nav-menu-reveal .2s ease-out both;
  }
  .nav-menu::after{
    content:"";
    position:absolute;
    right:-85px;
    bottom:-110px;
    width:250px;
    height:250px;
    border-radius:50%;
    background:rgba(230,184,95,.08);
    pointer-events:none;
  }
  .nav-menu>*,
  .nav-menu-grid>*{
    position:relative;
    z-index:1;
  }
  .nav-menu:before{
    top:-10px;
    border-left-color:rgba(18,59,74,.14);
    border-top-color:rgba(18,59,74,.14);
  }
  .nav-menu-head{
    align-items:center;
  }
  .nav-menu-head b{
    font-size:.9rem;
    color:var(--deep);
  }
  .nav-menu-head small{
    max-width:520px;
    font-size:.87rem;
    line-height:1.45;
  }
  .nav-menu-head>a{
    padding:9px 14px;
    border-radius:999px;
    background:var(--deep);
    color:#fff;
    text-decoration:none;
    transition:background .18s ease,transform .18s ease;
  }
  .nav-menu-head>a:hover,
  .nav-menu-head>a:focus-visible{
    background:var(--jade);
    transform:translateY(-1px);
  }
  .nav-menu-grid{
    gap:20px;
  }
  .nav-menu-grid>div{
    padding:19px;
    border:1px solid rgba(18,59,74,.09);
    border-radius:17px;
    background:rgba(255,255,255,.77);
    box-shadow:0 10px 30px rgba(8,42,52,.045);
  }
  .nav-menu-grid strong,
  .nav-menu--advisory>strong{
    margin-bottom:11px;
    color:var(--jade);
  }
  .nav-menu a:not(.nav-menu-head>a){
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:2px -10px;
    padding:9px 10px;
    border-radius:10px;
    color:#29474f;
    text-decoration:none;
    transition:background .18s ease,color .18s ease,transform .18s ease;
  }
  .nav-menu a:not(.nav-menu-head>a)::after{
    content:"→";
    flex:0 0 auto;
    color:var(--jade);
    opacity:0;
    transform:translateX(-5px);
    transition:opacity .18s ease,transform .18s ease;
  }
  .nav-menu a:not(.nav-menu-head>a):hover,
  .nav-menu a:not(.nav-menu-head>a):focus-visible,
  .nav-menu a[aria-current="page"]{
    background:var(--mint);
    color:var(--deep);
    text-decoration:none;
    transform:translateX(3px);
  }
  .nav-menu a:not(.nav-menu-head>a):hover::after,
  .nav-menu a:not(.nav-menu-head>a):focus-visible::after,
  .nav-menu a[aria-current="page"]::after{
    opacity:1;
    transform:translateX(0);
  }
  .nav-menu--advisory{
    padding:25px 27px 27px;
  }
  .nav-menu--advisory>strong{
    padding:0 0 13px;
    border-bottom:1px solid var(--line);
    font-size:.88rem;
  }
}

@keyframes nav-menu-reveal{
  from{opacity:0;clip-path:inset(0 0 9% 0 round 22px)}
  to{opacity:1;clip-path:inset(0 0 0 0 round 22px)}
}

@media(max-width:1120px){
  .toc strong{font-size:.84rem}
  .toc a{font-size:.98rem;line-height:1.5}
}

@media(max-width:650px){
  .content-section p,
  .content-section li{
    font-size:1.06rem;
    line-height:1.72;
  }
  .content-section h3{font-size:1.12rem}
  .content-section .card p{font-size:1rem}
  .content-section .callout p{font-size:1rem}
  .toc a{
    font-size:1rem;
    padding:8px 0;
  }
  .toc a:hover,
  .toc a:focus-visible{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .nav-menu{animation:none}
  .nav-menu a,
  .nav-group>summary::after,
  .toc a{transition:none}
}

/* v10 — substantially larger reading typography */
.prose .content-section > p,
.prose .content-section > ul > li,
.prose .content-section > ol > li,
.prose .content-section > .check-list > li,
.prose .content-section > .number-list > li{
  font-size:1.25rem;
  line-height:1.78;
}
.prose .content-section > p{
  margin-top:0;
  margin-bottom:1.25em;
}
.content-section h3{
  font-size:1.3rem;
  line-height:1.4;
}
.content-section .card p,
.content-section .callout p,
.content-section .brief-item p{
  font-size:1.1rem;
  line-height:1.72;
}
.content-section table,
.responsive-table{
  font-size:1rem;
  line-height:1.55;
}
.content-section .small,
.source-list a{
  font-size:1rem;
  line-height:1.6;
}
.toc strong{
  font-size:.94rem;
}
.toc a{
  font-size:1.06rem;
  line-height:1.55;
  padding:8px 0;
}
.faq-intro p,
.faq-list details > div p{
  font-size:1.2rem;
  line-height:1.75;
}
.faq-list summary{
  font-size:1.48rem;
  line-height:1.35;
}

@media(max-width:1120px){
  .prose .content-section > p,
  .prose .content-section > ul > li,
  .prose .content-section > ol > li,
  .prose .content-section > .check-list > li,
  .prose .content-section > .number-list > li{
    font-size:1.2rem;
  }
  .toc a{font-size:1.05rem}
}

@media(max-width:650px){
  .prose .content-section > p,
  .prose .content-section > ul > li,
  .prose .content-section > ol > li,
  .prose .content-section > .check-list > li,
  .prose .content-section > .number-list > li{
    font-size:1.16rem;
    line-height:1.72;
  }
  .content-section h3{font-size:1.2rem}
  .content-section .card p,
  .content-section .callout p,
  .content-section .brief-item p{
    font-size:1.08rem;
  }
  .content-section table,
  .responsive-table{
    font-size:.98rem;
  }
  .toc strong{font-size:.9rem}
  .toc a{
    font-size:1.06rem;
    line-height:1.5;
  }
  .faq-intro p,
  .faq-list details > div p{
    font-size:1.12rem;
    line-height:1.7;
  }
  .faq-list summary{
    font-size:1.3rem;
  }
}

@media(max-width:360px){
  .prose .content-section > p,
  .prose .content-section > ul > li,
  .prose .content-section > ol > li,
  .prose .content-section > .check-list > li,
  .prose .content-section > .number-list > li{
    font-size:1.12rem;
  }
}
