/* PRIORITETINFO design system — approved responsive edition 2.0 */
:root{
  --max:1280px;
  --gutter:clamp(16px,4vw,56px);
  --radius-card:22px;
  --radius-panel:24px;
  --radius-field:16px;
  --radius-pill:999px;
  --header-h:80px;
  --shadow-action:0 16px 42px rgba(36,201,138,.20);
}

html{background:var(--navy);scroll-padding-top:calc(var(--header-h) + 72px)}
body{overflow-x:visible;min-width:320px}
body.drawer-locked{overflow:hidden}
main,header,footer,section,article,aside,nav,div,form,fieldset{min-width:0}
p,li,a,span,strong,h1,h2,h3,td,th{overflow-wrap:anywhere}
img,svg,video{display:block;max-width:100%;height:auto}
.section-pad{width:min(calc(100% - 2 * var(--gutter)),var(--max));padding:clamp(56px,7vw,112px) 0}
.narrow{max-width:min(920px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
h1{font-size:clamp(3.4rem,7vw,6.9rem);max-width:14ch;text-wrap:balance}
h2{font-size:clamp(2.35rem,4.4vw,4.4rem);text-wrap:balance}
.home-hero h1{font-size:clamp(4rem,7.2vw,7.2rem)}
.home-hero h1 em{display:block;color:var(--blue);font-weight:400}
.lead{max-width:760px}

.cta,.button-outline{border-radius:var(--radius-pill);transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.cta{box-shadow:var(--shadow-action);padding:.82rem 1.4rem}
.button-outline{padding:.82rem 1.4rem}
.text-link{border-radius:0;transition:color .18s ease,border-color .18s ease}

.site-header{height:var(--header-h)}
.header-inner{height:var(--header-h);max-width:var(--max);padding-inline:var(--gutter);gap:1.1rem}
.desktop-nav{gap:clamp(.45rem,1.15vw,1.15rem)}
.desktop-nav>a,.practices-direct{font-size:.66rem;letter-spacing:.065em}
.header-actions{flex:0 0 auto}
.cta-small{white-space:nowrap;border-radius:var(--radius-pill)}
.drawer-open,.drawer-close{border-radius:14px}
.drawer-open,.mega-toggle{min-width:44px;min-height:44px}
.language-link{display:grid;place-items:center;min-width:44px;min-height:44px}
.mobile-drawer{width:min(440px,100%);border-radius:22px 0 0 22px}
.mega-panel{left:50%;right:auto;top:calc(var(--header-h) + 10px);width:min(1120px,calc(100% - 32px));transform:translateX(-50%);border:1px solid var(--line);border-radius:var(--radius-card);max-height:calc(100dvh - 104px);overflow:auto}
.mega-grid{padding:2rem}

.home-hero,.geo-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,4vw,72px);min-height:auto;padding-top:clamp(72px,8vw,118px);padding-bottom:clamp(64px,8vw,112px)}
.route-visual{width:min(100%,560px);justify-self:end;padding:0;border:1px solid var(--line);border-radius:var(--radius-panel);overflow:hidden;background:#0b1d37}
.route-visual img{width:100%;height:auto}
.route-visual-geo .motion-toggle{border-radius:var(--radius-pill)}

.trust-strip{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;max-width:720px;margin-top:1.5rem;padding:.8rem 1rem;border:1px solid rgba(36,201,138,.38);border-radius:18px;background:rgba(36,201,138,.07);font-size:.86rem}
.trust-strip strong{color:var(--ink)}
.trust-strip a{display:inline-flex;align-items:center;gap:.45rem;color:var(--green2);text-decoration:none;border-bottom:1px solid rgba(135,241,199,.45)}
.trust-badge{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--green);color:#03140e;font-weight:900}

.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:none;border:0}
.card{min-height:250px;padding:clamp(1.4rem,2vw,1.8rem);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--navy2);transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.card:hover,.card:focus-visible{background:var(--panel);border-color:rgba(111,143,255,.55);transform:translateY(-2px)}
.card-priority{box-shadow:inset 0 3px 0 var(--green)}
.related-card,.profile-grid article,.contact-cards>a,.contact-cards>div,.check-list li,.doc-list li,.diagnostic-links a{border-radius:18px;background:var(--navy2)}
.related-grid,.profile-grid,.contact-cards{gap:18px}
.split-cta{gap:18px;background:none}
.split-cta>div,.expert-band,.expert-mini,.geo-inline,.notice-band,.diagnostic,.digest-feature{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--navy2)}
.contact-band{border:1px solid rgba(7,23,44,.12);border-radius:var(--radius-panel)}

.contextual-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:min(calc(100% - 2 * var(--gutter)),var(--max));margin:clamp(24px,4vw,56px) auto;padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(36,201,138,.42);border-radius:var(--radius-panel);background:linear-gradient(115deg,rgba(36,201,138,.11),rgba(16,39,70,.95) 58%)}
.contextual-cta>div{max-width:760px}
.contextual-cta h2{font-size:clamp(2rem,3.7vw,3.7rem)}
.contextual-cta p:not(.kicker){color:#d5e2ef}
.contextual-cta .cta{flex:0 0 auto}

.route-steps{position:relative;border:0;margin-left:0}
.route-steps li{position:relative;grid-template-columns:72px minmax(0,1fr);gap:1.25rem;padding:1.15rem 0;border:0}
.route-steps li::before{content:"";position:absolute;left:35px;top:48px;bottom:-16px;width:1px;background:var(--line)}
.route-steps li:last-child::before{display:none}
.route-steps span{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(36,201,138,.5);border-radius:50%;background:var(--navy);font-size:.78rem}
.route-steps p{padding:.6rem 0 0}

.local-toc{position:sticky;top:var(--header-h);z-index:20;display:block;border-block:1px solid var(--line);background:rgba(7,23,44,.97)}
.local-toc>summary{display:none}
.local-toc-links{display:flex;gap:.4rem;overflow:auto;padding:.75rem max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));scrollbar-width:thin}
.local-toc-links a{white-space:nowrap;text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius-pill);font-size:.82rem;color:var(--muted)}
.local-toc-links a:hover,.local-toc-links a:focus-visible{color:var(--green2);background:rgba(36,201,138,.07)}
[id]{scroll-margin-top:160px}

.enquiry-form{width:min(calc(100% - 2 * var(--gutter)),1100px);margin:0 auto clamp(72px,8vw,120px);padding:clamp(1.4rem,4vw,3.2rem);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--navy2)}
.enquiry-form fieldset{padding:2rem 0}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border-radius:var(--radius-field);background:#0a1d37;min-height:52px}
.enquiry-form textarea{min-height:190px}
.field-help,.sensitive-warning{color:var(--muted);font-size:.9rem}
.sensitive-warning{padding:1rem 1.1rem;border-left:3px solid var(--blue);background:rgba(111,143,255,.07)}
.check-consent{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-field);background:rgba(7,23,44,.55)}
.form-submit{min-height:56px}
.form-status{width:min(calc(100% - 2 * var(--gutter)),1100px);margin:0 auto 1rem;padding:1rem 1.2rem;border-radius:var(--radius-field)}
.success-screen{max-width:980px;margin-top:0;margin-bottom:clamp(72px,8vw,120px);padding:clamp(2rem,6vw,5rem);border:1px solid rgba(36,201,138,.48);border-radius:var(--radius-panel);background:var(--navy2)}
.success-screen h2{max-width:16ch}
.success-screen>p:not(.kicker){max-width:760px;color:#d8e2f1}
.success-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1.5rem;border-radius:50%;background:var(--green);color:#03140e;font-size:1.6rem;font-weight:900}

.builder-form select,.route-result,.region-card{border-radius:var(--radius-card)}
.region-card{background:var(--navy2)}
.route-result{background:var(--navy)}

.floating-cta{right:24px;bottom:calc(24px + env(safe-area-inset-bottom));min-height:56px;max-width:calc(100% - 48px);padding:7px 7px 7px 22px;gap:12px;border:1px solid var(--green);border-radius:var(--radius-pill);box-shadow:var(--shadow-action);transition:background-color .18s ease,transform .18s ease}
.floating-cta:hover{background:var(--green2);transform:translateY(-2px)}
.floating-cta-label{white-space:nowrap;font-size:.78rem;letter-spacing:.055em}
.floating-cta-arrow{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#061b13;color:var(--green2);font-size:1.1rem}
.site-footer{padding-bottom:92px}

table.responsive-table{width:100%;border-collapse:collapse}
table.responsive-table th,table.responsive-table td{padding:1rem;border:1px solid var(--line);text-align:left;vertical-align:top}

@media(max-width:1279px){
  .desktop-nav{display:none}
  .drawer-open{display:flex}
  .header-actions{margin-left:auto}
  .cta-small{display:none}
  .mega-panel{display:none!important}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1023px){
  .home-hero,.geo-hero{grid-template-columns:minmax(0,1fr);gap:42px}
  .geo-teaser{grid-template-columns:minmax(0,1fr);gap:clamp(32px,6vw,52px)}
  .geo-teaser>div{width:100%;min-width:0}
  .mini-globe{width:min(320px,68vw);margin-inline:auto}
  .route-visual{justify-self:start;width:min(100%,620px)}
  .content-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .footer-map{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  :root{--gutter:16px;--header-h:76px}
  .section-pad{padding:56px 0}
  h1,.home-hero h1{font-size:clamp(2.7rem,13vw,4.6rem);max-width:100%}
  h2{font-size:clamp(2.15rem,10vw,3.4rem)}
  .page-hero,.home-hero,.geo-hero{padding-top:56px;padding-bottom:56px}
  .practice-hero{min-height:auto}
  .hero-actions{align-items:stretch;flex-direction:column;margin-top:1.75rem}
  .hero-actions>*{width:100%}
  .trust-strip{align-items:flex-start;border-radius:16px}
  .trust-strip a{width:calc(100% - 44px)}
  .card-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .card{min-height:auto}
  .geo-teaser{gap:32px}
  .geo-teaser .kicker,.geo-teaser h2,.geo-teaser .lead{max-width:100%;overflow-wrap:normal;word-break:normal}
  .geo-teaser .cta{width:100%;max-width:320px}
  .mini-globe{width:min(240px,68vw)}
  .section-heading,.expert-band,.contact-band,.geo-inline,.expert-mini,.contextual-cta{align-items:flex-start;flex-direction:column}
  .contextual-cta .cta{width:100%}
  .check-list,.doc-list,.form-grid,.related-grid,.profile-grid,.contact-cards,.split-cta{grid-template-columns:minmax(0,1fr)}
  .lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .local-toc{top:var(--header-h)}
  .local-toc>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:.7rem var(--gutter);cursor:pointer;font-weight:800;color:var(--ink);list-style:none}
  .local-toc>summary::-webkit-details-marker{display:none}
  .local-toc>summary::after{content:"+";color:var(--green);font-size:1.25rem}
  .local-toc[open]>summary::after{content:"−"}
  .local-toc-links{flex-direction:column;overflow:visible;padding:0 var(--gutter) .8rem}
  .local-toc-links a{white-space:normal;border-radius:12px}
  .route-steps li{grid-template-columns:58px minmax(0,1fr);gap:.85rem}
  .route-steps li::before{left:25px}
  .route-steps span{width:46px;height:46px}
  .enquiry-form{padding:1.2rem}
  .enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}
  .enquiry-form legend{font-size:1.65rem}
  .footer-map{grid-template-columns:minmax(0,1fr)}
  .floating-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);min-height:52px;padding:6px 6px 6px 18px}
  .floating-cta-label{display:inline!important;font-size:.74rem}
  .floating-cta-arrow{display:grid!important;width:38px;height:38px;flex-basis:38px}
  .footer-contact,.footer-bottom{padding-right:var(--gutter)}
  table.responsive-table,table.responsive-table tbody,table.responsive-table tr,table.responsive-table td{display:block;width:100%}
  table.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  table.responsive-table tr{margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--navy2)}
  table.responsive-table td{display:grid;grid-template-columns:minmax(100px,.42fr) minmax(0,1fr);gap:1rem;border:0;border-bottom:1px solid var(--line)}
  table.responsive-table td:last-child{border-bottom:0}
  table.responsive-table td::before{content:attr(data-label);color:var(--blue);font-weight:800}
}

@media(max-width:420px){
  .footer-map{grid-template-columns:minmax(0,1fr)}
  .brand>span:last-child{font-size:.76rem;letter-spacing:.1em}
  .floating-cta-label{white-space:normal;line-height:1.15;text-align:left}
}

@media(max-width:620px){.route-visual .orbit{animation:none!important}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cta,.button-outline,.card,.floating-cta{transition:none}
}

@media print{
  @page{margin:18mm}
  *{box-shadow:none!important;text-shadow:none!important;animation:none!important}
  html,body{background:#fff!important;color:#111!important}
  .site-header,.mobile-drawer,.drawer-backdrop,.floating-cta,.local-toc,.object-strip,.route-visual,.motion-toggle,.hero-actions,.site-footer{display:none!important}
  main,.section-pad,.legal-page,.digest-item{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  section,article,.card,.route-result,.contact-band,.expert-band{background:#fff!important;color:#111!important;border-color:#aaa!important;break-inside:avoid}
  h1,h2,h3,p,li,a,span,strong{color:#111!important}
  h1,h2,h3{break-after:avoid-page}
  a[href^="http"]::after{content:" (" attr(href) ")";font:9pt Arial,sans-serif;overflow-wrap:anywhere}
  .legal-page section,.digest-item{break-inside:auto}
}
