@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url(/assets/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--navy:#002c76;--red:#b10123;--ink:#07234d;--muted:#5d6c7e;--line:#dce3eb;--pale:#f2f5fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.12;letter-spacing:-.055em;font-weight:800}h2{font-size:clamp(1.85rem,3.1vw,2.6rem);line-height:1.22;letter-spacing:-.04em}h3{font-size:1.2rem;line-height:1.4;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #387bd3}button{cursor:pointer}p{color:var(--muted)}[hidden]{display:none!important}.preview-bar{background:var(--navy);color:#fff;padding:8px 5%;font-size:.875rem;display:flex;gap:18px}.preview-bar span{color:#cad3df}header{display:flex;align-items:center;gap:30px;padding:24px 5%;border-bottom:1px solid var(--line);background:white}header .brand{margin-right:auto}.brand{display:inline-flex;align-items:center;gap:12px;line-height:1.15}.brand b{display:block;font-size:.9rem;letter-spacing:.04em}.brand strong{display:block;font-size:1.28rem;letter-spacing:.13em}.brand-icon{background:var(--navy);color:white;position:relative;width:46px;height:48px;display:grid;place-items:center;font-size:2rem;font-weight:800;border-bottom:4px solid var(--red);border-radius:5px}.brand-icon span{font-size:16px;position:absolute;right:4px;top:0;color:#bd0027}nav{display:flex;gap:26px;font-size:.9rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:24px}.login-link{font-size:.9rem;font-weight:700}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:white;padding:15px 25px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:.95rem;transition:background .15s}.button:hover{background:#96001f}.button.small{padding:11px 18px}.button.outline{background:white;border-color:var(--line);color:var(--navy)}.button.outline:hover{background:var(--pale)}.button.white{background:white;color:var(--navy)}.button.full{width:100%}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}.menu-toggle{display:none;background:white;border:1px solid var(--line);font-size:22px}.hero{padding:80px 6% 70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1500px;margin:auto}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;color:var(--red);margin-bottom:20px}.hero h1 em,.login-story em{font-style:normal;color:var(--red)}.lead{font-size:1.1rem;line-height:1.75;max-width:530px}.actions{display:flex;align-items:center;gap:28px;margin:32px 0}.hero-notes{display:flex;gap:25px;font-size:.875rem;color:var(--muted);margin-top:34px}.hero-notes span{border-left:2px solid var(--red);padding-left:10px}.hero-right{padding-top:16px}.portal-card{background:var(--navy);color:white;padding:30px 34px 26px;border-radius:12px;box-shadow:0 24px 70px #1427461a;position:relative}.card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #ffffff29;padding-bottom:22px;margin-bottom:28px}.mini-brand{font-size:.85rem;font-weight:700;letter-spacing:.08em}.tag{font-size:.75rem;padding:5px 9px;background:#eaf0f6;color:#34516f;border-radius:4px;letter-spacing:.04em;font-weight:700}.portal-card .tag{color:#cddbea;background:#ffffff12}.portal-card .eyebrow{color:#bdcce0;font-size:.75rem}.portal-card h2{font-size:2.15rem;margin-bottom:30px}.sample-mark{display:flex;align-items:center;gap:12px;border-block:1px solid #ffffff26;padding:18px 0}.mark-square{height:45px;width:45px;background:#f1f4f8;color:var(--navy);display:grid;place-items:center;border-radius:5px;font-weight:800;font-size:1.4rem;flex-shrink:0}.sample-mark b{font-size:.8rem;letter-spacing:.035em}.sample-mark p{color:#becbda;font-size:.75rem;margin:3px 0 0}.status{display:inline-block;background:#e7effa;color:#315887;padding:5px 10px;border-radius:4px;font-size:.8rem;font-weight:600}.sample-mark .status{font-size:.7rem;background:#ffffff14;color:#d0dff2;margin-left:auto}.mini-timeline{list-style:none;padding:23px 0 4px;margin:0}.mini-timeline li{display:flex;gap:16px;padding-bottom:24px;position:relative}.mini-timeline li:before{content:'';position:absolute;left:6px;top:14px;width:1px;height:calc(100% - 7px);background:#45566c}.mini-timeline li:last-child:before{display:none}.mini-timeline li>span{width:13px;height:13px;border:2px solid #718198;border-radius:50%;margin-top:5px;z-index:1;background:var(--navy)}.mini-timeline .complete>span{background:#b9cce2;border-color:#b9cce2}.mini-timeline .current>span{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px #bd002729}.mini-timeline b{font-size:.9rem}.mini-timeline small{display:block;color:#b6c4d5;font-size:.8rem;margin-top:3px}.portal-preview-link{display:block;text-align:center;border-top:1px solid #ffffff26;padding-top:17px;font-size:.875rem}.hero-caption{display:flex;justify-content:space-between;padding:22px 5px}.hero-caption>span{color:var(--red);font-size:.7rem;letter-spacing:.1em;font-weight:700}.hero-caption p{font-size:.8rem;line-height:1.5}.path-section,.pricing-section,.process-section,.resources-section,.faq-section{padding:70px 6%}.path-section{background:var(--pale)}.section-intro{text-align:center;margin-bottom:42px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1250px;margin:auto}.path-grid>a{padding:15px 36px;border-right:1px solid #d3dce8}.path-grid>a:last-child{border:0}.number{font-size:.875rem;font-weight:700;color:var(--red)}.path-grid h3{margin-top:25px;font-size:1.4rem}.path-grid p{font-size:.95rem;max-width:300px}.path-label{font-size:.8rem;font-weight:700}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading p{font-size:.95rem}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.price-card{border:1px solid var(--line);padding:28px 24px;border-radius:8px;position:relative;display:flex;flex-direction:column}.price-card.featured{border:2px solid var(--navy);padding:27px 23px}.package-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--red);height:22px;margin-bottom:8px}.price-card h3{font-size:1.45rem;margin-bottom:6px}.price-card>p{font-size:.85rem;min-height:40px;margin-bottom:22px}.price{font-family:Manrope,sans-serif;font-size:2.7rem;font-weight:800;line-height:1.2;letter-spacing:-.05em}.price-card small{font-size:.8rem;color:var(--muted)}.price-card ul{padding:0;list-style:none;margin:25px 0 30px;flex:1}.price-card li{font-size:.875rem;padding:8px 0;border-bottom:1px solid #edf0f5}.price-card li:last-child{border:0}.price-card .button{padding:11px;font-size:.875rem}.calculator{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:30px;margin-top:30px;background:var(--pale);padding:30px;border-radius:8px;align-items:center}.calculator .eyebrow{margin-bottom:8px;font-size:.7rem}.calculator h3{margin-bottom:7px}.calculator p{font-size:.875rem;margin:0}.calculator-controls{display:flex;gap:12px}.calculator label{display:block;font-size:.8rem;font-weight:600}.calculator select,.calculator input{display:block;margin-top:7px;background:white;border:1px solid #c8d3df;border-radius:4px;height:43px;padding:6px 10px;width:100%}.calculator input{width:80px}.total{border-left:1px solid #cbd7e4;padding-left:28px}.total>span,.total small{display:block;font-size:.8rem;color:var(--muted)}.total strong{display:block;font-size:2.4rem;font-family:Manrope;font-weight:800;line-height:1.5}.fineprint{font-size:.8rem;margin:17px 0 0}.process-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--navy);color:white}.process-section .eyebrow{color:#f18b98}.process-section h2{font-size:3rem}.process-section p{color:#becbda}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;border-bottom:1px solid #ffffff26;padding:19px 0}.steps li:first-child{padding-top:0}.steps li:last-child{border:0}.steps li>span{color:#e98492;font-size:.85rem;margin-top:3px}.steps h3{margin-bottom:7px}.steps p{font-size:.9rem;margin:0}.resources-section h2{max-width:700px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:36px}.resource-grid>a{border-top:2px solid var(--navy);padding:25px 15px 10px 0}.resource-grid span{font-size:.75rem;font-weight:700;color:var(--red);letter-spacing:.1em}.resource-grid h3{margin-top:23px;font-size:1.3rem}.resource-grid p{font-size:.95rem}.faq-section{padding-top:20px;max-width:1000px;margin:auto}.faq-section h2{margin-bottom:30px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{margin-top:16px;margin-bottom:0;font-size:.95rem}.closing{background:var(--red);padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;color:white}.closing .eyebrow{color:#ffdee3}.closing h2{margin:0}footer{padding:55px 6% 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}footer>div>p{font-size:.9rem;margin-top:20px}footer>div>b{display:block;margin-bottom:15px;font-size:.9rem}footer>div>a:not(.brand){display:block;font-size:.875rem;color:var(--muted);margin-bottom:7px}.footer-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;font-size:.75rem;margin-bottom:0}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding:90px 8%;background:var(--pale);min-height:720px}.login-story h1{font-size:3.4rem}.login-benefits{margin-top:35px}.login-benefits h3{font-size:1rem;margin-bottom:4px}.login-benefits p{font-size:.9rem;margin-bottom:25px}.login-panel{background:white;border:1px solid var(--line);padding:45px;border-radius:12px;align-self:center}.login-panel h2{font-size:2rem}.login-panel p{font-size:.95rem}.login-panel .button{margin:12px 0}.login-panel .account-note{font-size:.8rem}.account-note a{text-decoration:underline}.divider{border-top:1px solid var(--line);margin:28px 0}.dashboard-shell{display:grid;grid-template-columns:235px 1fr;min-height:850px;background:var(--pale)}.sidebar{padding:35px 22px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar .eyebrow{font-size:.7rem}.sidebar>a{font-size:.9rem;padding:12px;border-radius:5px;margin-bottom:7px}.sidebar .side-active{background:#eaf0f7;color:var(--navy);font-weight:700;display:flex;justify-content:space-between}.sidebar-bottom{margin-top:auto;font-size:.85rem}.sidebar-bottom p{font-size:.8rem}.sidebar-bottom a{font-weight:700}.dashboard-main{padding:38px 4%}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.dashboard-heading h1{font-size:2.3rem;margin-bottom:8px}.dashboard-heading .eyebrow{font-size:.7rem;margin-bottom:10px}.dashboard-heading p{font-size:.9rem}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.dashboard-stats>div{padding:20px 24px;background:white;border:1px solid var(--line);border-radius:7px}.dashboard-stats span{font-size:.85rem;color:var(--muted)}.dashboard-stats strong{display:block;font-size:1.8rem;font-family:Manrope}.record-picker{display:flex;gap:12px;margin:25px 0}.record-picker button{padding:13px 20px;border:1px solid var(--line);background:white;border-radius:6px;text-align:left;font-size:.95rem;font-weight:700;color:var(--navy)}.record-picker button span{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:3px}.record-picker button.selected{border-color:var(--navy);box-shadow:inset 0 -3px var(--navy)}.case-layout{display:grid;grid-template-columns:1fr 265px;gap:22px}.case-card{padding:25px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.case-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.case-title .eyebrow{font-size:.65rem;margin-bottom:5px}.case-title h2{font-size:1.35rem;margin:0}.case-title .status{margin-left:auto}.case-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-top:25px}.case-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;color:var(--muted);font-size:.875rem}.case-tabs button[aria-selected=true]{border-color:var(--red);color:var(--navy);font-weight:700}.case-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px;margin:25px 0}.case-fields dt,.case-secondary dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}.case-fields dd,.case-secondary dd{margin:0;font-size:.9rem;font-weight:500}.official-note{background:var(--pale);border-left:3px solid #8ca3bf;padding:16px 18px;font-size:.85rem}.official-note p{margin:7px 0 0;font-size:.85rem}.action-card{border-left:3px solid var(--red)}.action-card .eyebrow,.case-secondary .eyebrow{font-size:.7rem;margin-bottom:12px}.action-card p,.case-secondary p{font-size:.9rem}.subtle{color:var(--muted);font-size:.8rem}.case-secondary h3{font-size:1.1rem}.case-secondary .button{font-size:.8rem;padding:10px}.case-secondary dt{margin-top:20px}.case-timeline{padding:10px 0 0 20px}.case-timeline li{padding:12px 0 12px 7px}.case-timeline strong{display:block;font-size:.95rem}.case-timeline p{font-size:.85rem;margin:4px 0}.empty-docs{padding:30px 0}.empty-docs p{font-size:.9rem}
@media(max-width:1100px){header{gap:18px}nav{gap:15px}.header-actions{gap:15px}.hero{gap:35px;padding-top:55px}.portal-card{padding:25px}.sample-mark{flex-wrap:wrap}.sample-mark .status{margin-left:57px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.calculator{grid-template-columns:1fr 1fr}.total{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.case-layout{grid-template-columns:1fr}.case-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-layout{gap:40px;padding:70px 6%}.login-story h1{font-size:2.7rem}.login-panel{padding:30px}.process-section{gap:40px}}@media(max-width:800px){nav{display:none}header{padding:18px 5%;flex-wrap:wrap}.menu-toggle{display:block}.header-actions{margin-left:auto}.menu-open nav{display:flex;order:4;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}.hero{grid-template-columns:1fr;padding:50px 6% 30px}.hero h1{font-size:3.7rem}.hero-right{max-width:600px;width:100%}.hero-caption{padding-bottom:0}.sample-mark .status{margin-left:auto}.path-grid{grid-template-columns:1fr}.path-grid>a{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.path-grid h3{margin-top:12px}.path-grid p{max-width:none}.path-section,.pricing-section,.process-section,.resources-section,.faq-section{padding:45px 6%}.section-heading{display:block}.pricing-grid{gap:12px}.process-section{grid-template-columns:1fr}.process-section h2{font-size:2.5rem}.resource-grid{grid-template-columns:1fr;gap:12px}.closing{align-items:start;flex-direction:column}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}.login-layout{grid-template-columns:1fr;gap:20px;padding:45px 6%}.login-benefits{display:none}.login-story h1{font-size:2.8rem}.dashboard-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-main{padding:28px 5%}.dashboard-stats{gap:9px}.dashboard-stats>div{padding:14px}.dashboard-stats span{font-size:.8rem}.case-fields{gap:18px}.preview-bar{font-size:.75rem;display:block}.preview-bar span{display:block;font-size:.7rem}.case-title .status{margin:6px 0 0}}@media(max-width:480px){header .brand b{font-size:.67rem}header .brand strong{font-size:1rem}.brand-icon{width:35px;height:38px;font-size:1.6rem}.brand{gap:8px}.header-actions .button{display:none}.header-actions{gap:0}.login-link{font-size:.8rem}.hero h1{font-size:3rem}.actions{align-items:start;gap:18px;flex-direction:column}.hero-notes{gap:15px;flex-wrap:wrap}.portal-card{padding:23px}.portal-card h2{font-size:1.8rem}.sample-mark .status{margin-left:57px}.hero-caption>span{font-size:.65rem}.pricing-grid{grid-template-columns:1fr}.price-card>p{min-height:0}.calculator{grid-template-columns:1fr;padding:24px}.total{grid-column:auto}.section-intro{text-align:left}.record-picker{flex-direction:column}.dashboard-stats{grid-template-columns:1fr}.dashboard-stats>div{display:flex;align-items:center;justify-content:space-between}.case-fields{grid-template-columns:1fr}.case-secondary{grid-template-columns:1fr}.case-card{padding:20px}.case-title h2{font-size:1.1rem}.dashboard-heading{align-items:start}.dashboard-heading .tag{font-size:.65rem}.login-panel{padding:26px}.menu-open nav{gap:12px;flex-wrap:wrap}}
:root .cart-link{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap}

.nav-dropdown{padding:0;border:0!important;position:static}.nav-dropdown summary{list-style:none;font-size:.9rem;white-space:nowrap}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown[open]>summary{color:var(--red)}header{position:relative;z-index:10}.mega-menu{position:absolute;right:5%;top:calc(100% - 1px);width:min(680px,90vw);display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px;background:white;border:1px solid var(--line);box-shadow:0 25px 45px #0d203b15;border-radius:0 0 8px 8px}.mega-menu .eyebrow{font-size:.7rem;margin:0 0 10px}.mega-menu a{display:block;padding:8px 0;font-size:.875rem;font-weight:500}.mega-menu a:hover{color:var(--red)}.mega-menu .menu-all{border-top:1px solid var(--line);margin-top:8px;font-weight:700}.page-hero{padding:48px 6% 65px;background:var(--pale);border-bottom:1px solid var(--line);position:relative}.page-hero:after{content:'';height:4px;width:80px;background:var(--red);position:absolute;bottom:-1px;left:6%}.breadcrumb{display:flex;gap:12px;font-size:.8rem;color:var(--muted);margin-bottom:45px}.breadcrumb a{font-weight:600}.page-hero h1{max-width:900px;font-size:clamp(2.5rem,4.5vw,4rem);margin-bottom:25px}.page-hero .lead{max-width:740px}.page-hero .actions{margin-bottom:0}.directory-section,.related-section,.team-section,.brand-values{padding:65px 6%}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.directory-card{border:1px solid var(--line);padding:28px;border-radius:8px;background:white;transition:border-color .15s,transform .15s;display:flex;flex-direction:column}.directory-card:hover{border-color:#8fa3bd;transform:translateY(-2px)}.directory-card .eyebrow{font-size:.7rem;margin-bottom:22px;min-height:20px}.directory-card h3{font-size:1.35rem}.directory-card p{font-size:.95rem;line-height:1.7}.card-link{font-size:.85rem;font-weight:700;padding-top:15px;margin-top:auto;color:var(--navy)}.home-services{padding-bottom:15px}.home-services .directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-services .directory-card{padding:25px 22px}.home-services .directory-card h3{font-size:1.15rem}.home-services .directory-card p{font-size:.875rem}.home-services .card-link{font-size:.8rem}.service-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:70px;padding:70px 6%;align-items:start}.service-layout h2{max-width:650px}.scope-list>div{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.scope-list>div>span{font-size:.8rem;color:var(--red);font-weight:700;padding-top:5px}.scope-list h3{margin-bottom:10px}.scope-list p{font-size:1rem;max-width:650px;margin:0}.prep-card{padding:30px;background:var(--pale);border:1px solid var(--line);border-radius:8px}.prep-card .eyebrow{font-size:.75rem}.prep-card ul,.prep-card ol{padding-left:20px;color:var(--muted)}.prep-card li{padding:8px 0;font-size:.95rem}.prep-card .button{margin-top:20px}.page-faq{padding:25px 6% 60px;max-width:1100px}.related-section{background:var(--pale)}.related-section .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}.guide-layout{display:grid;grid-template-columns:280px minmax(0,780px);gap:65px;padding:60px 6%}.guide-nav{align-self:start;position:sticky;top:30px}.guide-nav .eyebrow{font-size:.7rem}.guide-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.guide-nav .text-link{display:inline-block;margin-top:25px}.guide-body section{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.guide-body h2{font-size:1.8rem}.guide-body p{font-size:1.05rem;line-height:1.85}.guide-body .eyebrow{font-size:.8rem}.source-note{padding:25px;background:var(--pale);border-left:3px solid var(--red)}.source-note p{font-size:.9rem;margin:10px 0}.source-note a{font-size:.9rem;font-weight:700;text-decoration:underline}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.team-grid img{width:100%;height:290px;object-fit:cover;object-position:top;border-radius:8px;background:var(--pale)}.team-grid h3{font-size:1.1rem;margin:20px 0 8px}.team-grid p{font-size:.85rem}.about-story{padding:70px 6%;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-story h2{font-size:2.7rem}.about-story>div>p:not(.eyebrow){font-size:1.05rem;line-height:1.85}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:60px 6%}.contact-grid h2{font-size:1.8rem}.contact-grid h3 a{overflow-wrap:anywhere}.quote-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:60px;padding:65px 6%;align-items:start}.quote-form{padding:35px;border:1px solid var(--line);border-radius:10px}.quote-form h2{font-size:1.9rem}.test-notice{font-size:.875rem;padding:12px 16px;background:#edf2f8;border-left:3px solid #8fa3bd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.form-grid label{font-size:.9rem;font-weight:600}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #bdcbdc;background:white;border-radius:5px;padding:11px 12px;margin-top:8px;font-size:1rem;color:var(--navy)}.form-grid textarea{resize:vertical;min-height:100px}#quote-result{margin-top:30px;border-top:1px solid var(--line);padding-top:30px}#quote-summary div{margin-bottom:15px}#quote-summary dt{font-size:.85rem;color:var(--muted)}#quote-summary dd{margin:4px 0;overflow-wrap:anywhere;white-space:pre-wrap}.spaced-link{display:inline-block;margin:15px}.policy-body{max-width:900px;padding:60px 6%;margin:auto}.brand-values{background:#f2f5f9}.brand-values h2{max-width:800px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0}.values-grid span{color:var(--red);font-size:.8rem;font-weight:700}.values-grid h3{margin-top:20px}.values-grid p{font-size:.95rem}.closing p{color:#ffdde4;margin:15px 0 0}footer{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}footer a{line-height:1.5}.footer-brand p{max-width:260px}.login-panel p{line-height:1.8}
@media(max-width:1100px){.home-services .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-layout,.quote-layout{gap:35px}.guide-layout{grid-template-columns:220px minmax(0,1fr);gap:35px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{grid-template-columns:repeat(2,1fr)}footer>div:first-child{grid-column:auto}.mega-menu{right:3%}}@media(max-width:800px){.mega-menu{position:static;width:100%;grid-template-columns:1fr;box-shadow:none;padding:15px;border-radius:5px;margin-top:12px;gap:20px}.nav-dropdown{width:100%}.menu-open nav{flex-direction:column;align-items:stretch;gap:20px}.menu-open nav>a{padding:0 0 0 4px}.page-hero{padding:30px 6% 45px}.breadcrumb{margin-bottom:30px}.page-hero h1{font-size:2.5rem}.service-layout,.quote-layout{grid-template-columns:1fr;padding:45px 6%}.directory-section,.related-section,.team-section,.brand-values{padding:45px 6%}.guide-layout{grid-template-columns:1fr;padding:40px 6%;gap:30px}.guide-nav{position:static;border:1px solid var(--line);border-radius:6px;padding:25px}.guide-nav a{padding:8px 0}.about-story{grid-template-columns:1fr;gap:25px;padding:45px 6%}.about-story h2{font-size:2.3rem}.contact-grid{grid-template-columns:1fr;padding:45px 6%}.values-grid{grid-template-columns:1fr;gap:20px}.values-grid h3{margin-top:10px}.values-grid p{margin-bottom:0}.page-faq{padding:20px 6% 45px}.quote-form{padding:25px}.policy-body{padding:45px 6%}.guide-body h2{font-size:1.65rem}}@media(max-width:480px){.directory-grid,.home-services .directory-grid,.related-section .directory-grid,.team-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.team-grid img{height:340px}.page-hero h1{font-size:2.15rem}.page-hero .lead{font-size:1rem}.scope-list>div{gap:16px}.quote-form{padding:20px}footer{grid-template-columns:1fr}.footer-note{font-size:.75rem}.directory-card .eyebrow{min-height:0}.spaced-link{margin-left:0}.contact-grid h2{font-size:1.6rem}}

/* Supplied USA Trademarks Expert identity. */
.brand-logo{display:block;width:110px;height:110px;object-fit:contain}.brand{gap:0}header{padding-top:12px;padding-bottom:12px}.footer-brand .brand-logo{width:150px;height:150px}.portal-brand-logo{display:block;width:64px;height:64px;object-fit:contain;background:white;border-radius:5px}.preview-bar,.process-section{background:var(--navy)}.brand-values{background:#f2f5fb}.button:focus-visible{outline-color:var(--navy)}@media(max-width:800px){.brand-logo{width:86px;height:86px}header{padding-top:8px;padding-bottom:8px}}@media(max-width:480px){.brand-logo{width:78px;height:78px}.footer-brand .brand-logo{width:130px;height:130px}.header-actions{margin-left:auto}.portal-brand-logo{width:52px;height:52px}}

/* Refreshed homepage banner. */
.hero{max-width:none;background:var(--navy);color:white;padding:64px 6% 52px;gap:64px;align-items:center;border-bottom:6px solid var(--red)}.hero-copy{max-width:670px}.hero-copy>.eyebrow{display:inline-block;padding:8px 13px;border:1px solid #ffffff45;border-radius:4px;color:white;letter-spacing:.12em;font-size:.75rem;margin-bottom:24px}.hero h1{font-size:clamp(2.6rem,4.8vw,4.5rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:24px}.hero h1 em{color:white;text-decoration:underline;text-decoration-color:#eb3150;text-decoration-thickness:5px;text-underline-offset:12px}.hero .lead{color:#e0e8f6;font-size:1.1rem;max-width:590px;margin-bottom:28px}.hero .actions{margin:30px 0}.hero .text-link{color:white}.hero .hero-notes{color:#e0e8f6;margin-top:34px}.hero .hero-notes span{border-left-color:#ff6e86}.hero-right{padding-top:0;max-width:560px;width:100%;justify-self:end}.hero .portal-card{background:white;color:var(--navy);border-radius:12px;padding:26px 30px;box-shadow:0 20px 65px #00000025}.hero .card-top{border-bottom-color:var(--line);margin-bottom:23px;padding-bottom:18px}.hero .portal-card .tag{color:var(--navy);background:#edf2fa;font-size:.7rem}.hero .portal-card .eyebrow{color:var(--red);margin-bottom:12px}.hero .portal-card h2{font-size:1.85rem;margin-bottom:23px}.hero .sample-mark{border-color:var(--line)}.hero .sample-mark p{color:var(--muted)}.hero .sample-mark .status{background:#edf2fa;color:var(--navy)}.hero .mini-timeline li:before{background:#cbd6e7}.hero .mini-timeline li>span{background:white;border-color:#9caec7}.hero .mini-timeline .complete>span{background:var(--navy);border-color:var(--navy)}.hero .mini-timeline .current>span{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px #b1012318}.hero .mini-timeline small{color:var(--muted)}.hero .portal-preview-link{border-color:var(--line);font-weight:700}.hero .hero-caption{padding:18px 4px 0;align-items:center}.hero .hero-caption>span{color:#fff;font-size:.7rem}.hero .hero-caption p{color:#e0e8f6;margin:0}.hero .portal-brand-logo{width:60px;height:60px}@media(max-width:1100px){.hero{gap:35px}.hero .portal-card{padding:24px}}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:46px 6% 34px;gap:34px}.hero h1{font-size:3.2rem}.hero-right{justify-self:start;max-width:600px}.hero .hero-notes{margin-top:26px}.hero .hero-caption>span{font-size:.65rem}}@media(max-width:480px){.hero h1{font-size:2.65rem;line-height:1.15}.hero h1 em{text-underline-offset:8px;text-decoration-thickness:3px}.hero .lead{font-size:1rem;margin-bottom:20px}.hero .actions{gap:22px;margin:25px 0}.hero .button{width:100%}.hero .portal-card{padding:22px}.hero .portal-card h2{font-size:1.7rem}.hero .hero-caption{gap:18px}.hero .hero-caption p{font-size:.75rem}.hero-copy>.eyebrow{font-size:.7rem}.hero .hero-notes{font-size:.8rem}}

.banner-figure{margin:0;width:100%;border-radius:12px;overflow:hidden;background:white;box-shadow:0 20px 65px #00000025}.banner-image{display:block;width:100%;height:440px;object-fit:cover;object-position:center}.banner-figure figcaption{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--navy)}.banner-figure figcaption span{font-size:.7rem;letter-spacing:.08em;font-weight:700}.banner-figure figcaption a{font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.hero-image-right{max-width:610px}@media(max-width:1100px){.banner-image{height:420px}.banner-figure figcaption{flex-direction:column;align-items:start;gap:8px}}@media(max-width:800px){.banner-image{height:340px}.hero-image-right{max-width:650px}.banner-figure figcaption{flex-direction:row;align-items:center}}@media(max-width:480px){.banner-image{height:260px}.banner-figure figcaption{padding:19px;flex-direction:column;align-items:start}}

/* Full-width photographic banner with a readable navy overlay. */
.hero.hero-background{display:block;min-height:610px;background-image:linear-gradient(90deg,rgba(0,25,70,.96) 0%,rgba(0,30,80,.89) 35%,rgba(0,30,80,.58) 65%,rgba(0,30,80,.22) 100%),url('/assets/usa-brand-banner.webp');background-size:cover;background-position:center;position:relative;padding:76px 6% 68px}.hero-background .hero-copy{max-width:700px}.hero-background h1{font-size:clamp(2.65rem,4.8vw,4.5rem)}.hero-background .lead{max-width:580px}.hero-background .hero-notes{color:white}.hero-background .text-link{color:white}@media(max-width:800px){.hero.hero-background{min-height:560px;padding:54px 6% 48px;background-image:linear-gradient(90deg,rgba(0,25,70,.94),rgba(0,30,80,.73)),url('/assets/usa-brand-banner.webp');background-position:60% center}.hero-background h1{font-size:3.2rem}}@media(max-width:480px){.hero.hero-background{min-height:auto;padding:45px 6% 44px;background-position:62% center}.hero-background h1{font-size:2.65rem}.hero-background .hero-notes{margin-top:28px}}

.table-scroll{overflow-x:auto;margin:24px 0;border:1px solid #dbe2ee;border-radius:12px}.package-comparison{border-collapse:collapse;width:100%;min-width:690px;font-size:14px}.package-comparison caption{text-align:left;padding:18px;color:#53627a}.package-comparison th,.package-comparison td{padding:18px;text-align:left;border-bottom:1px solid #dbe2ee}.package-comparison thead{background:#002c76;color:white}.package-comparison tbody tr:nth-child(even){background:#f4f7fb}.service-deliverables .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.service-deliverables .directory-grid{grid-template-columns:1fr}.hero.hero-background h1{font-size:clamp(34px,8vw,64px)}}

/* Public service catalog and report offer. */
.breadcrumb{flex-wrap:wrap;row-gap:4px}.included-research{background:var(--pale);gap:48px}.included-research>.prep-card{background:white;border-top:4px solid var(--red)}.included-research .lead{font-size:1.1rem}.section-description{max-width:760px;font-size:1rem;margin-bottom:30px}.home-services{padding-bottom:65px}.home-services .directory-card p,.directory-card p,.prep-card li{font-size:1rem}.home-services .card-link,.card-link,.directory-card .eyebrow{font-size:.875rem}.home-services .directory-card h3{font-size:1.3rem}.notice-services .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-deliverables .directory-grid{max-width:none}.service-deliverables .fineprint{margin-top:24px}.related-section p a,.fineprint a{color:var(--navy);text-decoration:underline}.package-starts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.package-starts>a{background:white;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:6px;padding:24px 18px;display:flex;flex-direction:column;gap:10px}.package-starts strong{font-size:1.25rem}.package-starts span{font-size:1rem}.resources-section>.text-link{display:inline-block;margin-top:26px}.page-hero h1{overflow-wrap:break-word}.service-layout article,.prep-card,.directory-card{min-width:0}.source-note{overflow-wrap:anywhere}.directory-section>.directory-grid{margin-top:28px}.fineprint{font-size:.875rem;line-height:1.7}.footer-brand p{max-width:300px}
@media(max-width:1100px){.notice-services .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.included-research{gap:30px}.package-starts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.included-research{gap:28px}.home-services{padding-bottom:45px}.hero h1 em{text-decoration:none}.hero-background h1{line-height:1.2}.breadcrumb{font-size:.875rem}}
@media(max-width:480px){.notice-services .directory-grid,.package-starts{grid-template-columns:1fr}.included-research .actions{margin-bottom:24px}.service-layout>.prep-card{padding:24px}.scope-list>div>span{flex:0 0 22px}}

/* Shared layout rules, loaded after the page-specific styles. */
:root {
  --site-width: 80rem;
  --page-gutter: clamp(1rem, 3.4vw, 3.5rem);
  --section-space: clamp(2.5rem, 5vw, 4.5rem);
}

body { font-size: 1rem; }
img, svg, video { max-width: 100%; }
img { vertical-align: middle; }
main, section, article, aside, form, fieldset { min-width: 0; }
p, li, dd, dt, h1, h2, h3, a, summary { overflow-wrap: anywhere; }
textarea { max-width: 100%; resize: vertical; }
input, select, textarea { min-width: 0; max-width: 100%; font: inherit; }
input:not([type="checkbox"]):not([type="radio"]), select { min-height: 3rem; }
button, .button { max-width: 100%; }
.button {
  min-height: 2.75rem;
  line-height: 1.5;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.text-button { min-height: 2.75rem; line-height: 1.6; }
:focus-visible { outline-offset: 3px; }
textarea:focus-visible { outline: 3px solid #387bd3; }

/* Align full-width sections without applying viewport padding to small panels. */
body > header, body > footer,
.hero.hero-background, .page-hero, .path-section, .pricing-section,
.process-section, .resources-section, .directory-section, .related-section,
.service-layout, .guide-layout, .about-story, .contact-grid, .team-section,
.brand-values, .closing {
  padding-inline: max(var(--page-gutter), calc((100% - var(--site-width)) / 2));
}
.path-section, .pricing-section, .process-section, .resources-section,
.directory-section, .related-section, .service-layout, .guide-layout,
.about-story, .contact-grid, .team-section, .brand-values {
  padding-block: var(--section-space);
}
.faq-section, .page-faq {
  width: min(100%, calc(var(--site-width) + 2 * var(--page-gutter)));
  max-width: none;
  margin-inline: auto;
  padding: 2rem var(--page-gutter) var(--section-space);
}
.policy-body {
  width: min(100%, 60rem);
  max-width: none;
  padding: var(--section-space) var(--page-gutter);
}
.page-hero:after { left: max(var(--page-gutter), calc((100% - var(--site-width)) / 2)); }
.page-hero h1, .hero.hero-background h1 {
  font-size: clamp(2rem, 5.2vw, 4.5rem);
  line-height: 1.16;
}
.process-section h2, .about-story h2 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); }
.hero.hero-background { min-height: 0; padding-block: clamp(3rem, 6vw, 5rem); }
.hero-copy, .section-heading > *, .closing > *, .scope-list > div > div { min-width: 0; }
.actions, .hero-notes, .section-heading, .closing { flex-wrap: wrap; }
.actions { gap: 1rem 1.5rem; }
.actions .text-link { line-height: 1.6; }
.hero-notes { gap: 1rem 1.5rem; }
.eyebrow { line-height: 1.6; }
.scope-list > div > span, .steps li > span { flex-shrink: 0; }

/* One navigation layout and one menu behavior across all routes. */
body > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding-block: .625rem;
}
body > header .brand { margin: 0; }
body > header .brand-logo {
  width: clamp(4.5rem, 7vw, 6rem);
  height: auto;
  aspect-ratio: 1;
}
body > header > nav { justify-content: center; align-items: center; min-width: 0; gap: 1.5rem; }
body > header > nav > a, .nav-dropdown > summary { min-height: 2.75rem; display: flex; align-items: center; }
.nav-dropdown > summary { gap: .5rem; line-height: 1.5; }
.nav-dropdown > summary::after { content: "+"; font-size: 1.125rem; font-weight: 400; }
.nav-dropdown[open] > summary::after { content: "−"; }
.header-actions { min-width: 0; gap: 1rem; margin: 0; }
.header-actions > a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; }
.header-actions .login-link { font-size: .875rem; line-height: 1.5; }
.header-actions .login-link {
  padding: .65rem 1rem;
  border: 1px solid var(--navy);
  border-radius: 6px;
  background: var(--navy);
  color: white;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.header-actions .login-link:hover,
.header-actions .login-link:focus-visible {
  background: var(--red);
  border-color: var(--red);
  color: white;
}
.header-actions .button { font-size: .875rem; padding: .65rem 1rem; }
.menu-toggle { width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 6px; line-height: 1; }
.mega-menu {
  right: max(var(--page-gutter), calc((100% - var(--site-width)) / 2));
  width: min(42.5rem, calc(100% - 2 * var(--page-gutter)));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  max-height: min(70vh, 38rem);
  overflow: auto;
  padding: 1.5rem;
  overscroll-behavior: contain;
}
.mega-menu > div { min-width: 0; }
.mega-menu a { font-size: .875rem; line-height: 1.5; min-height: 2.75rem; padding-block: .65rem; }
.mega-menu .eyebrow { font-size: .75rem; }

/* Shrinkable grid tracks keep long titles, emails and field values inside cards. */
.path-grid, .values-grid, .resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
.directory-grid, .service-deliverables .directory-grid, .notice-services .directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-services .directory-grid, .team-grid, .package-starts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.related-section .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.path-grid > *, .resource-grid > *, .values-grid > *, .team-grid > *, .package-starts > * { min-width: 0; }
.legal-team-section .section-heading { align-items: flex-end; gap: 1.5rem; margin-bottom: 2rem; }
.legal-team-section .section-heading h2 { margin-bottom: .75rem; }
.legal-team-section .section-heading p:not(.eyebrow) { margin-bottom: 0; max-width: 38rem; font-size: 1rem; }
.legal-team-grid { gap: 1.25rem; align-items: stretch; }
.legal-profile { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: white; }
.legal-profile-photo { width: 100%; aspect-ratio: 4 / 5; max-height: 22rem; overflow: hidden; background: var(--pale); }
.team-grid .legal-profile img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; border-radius: 0; }
.legal-profile-content { padding: 1.25rem; flex: 1; min-width: 0; }
.team-grid .legal-profile h3 { margin: 0 0 .5rem; color: var(--navy); font-size: 1.125rem; line-height: 1.4; }
.team-grid .legal-profile-role { margin-bottom: .875rem; color: var(--red); font-size: .875rem; line-height: 1.5; font-weight: 700; }
.team-grid .legal-profile-description { margin-bottom: 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.directory-card, .prep-card, .price-card { min-width: 0; padding: clamp(1.25rem, 2vw, 1.75rem); }
.price-card.featured { padding: calc(clamp(1.25rem, 2vw, 1.75rem) - 1px); }
.package-label { height: auto; min-height: 2.8em; font-size: .75rem; line-height: 1.5; }
.price-card > p { font-size: 1rem; line-height: 1.6; min-height: 3.2em; }
.price-card li, .price-card .button, .price-card small { font-size: .875rem; }
.price-card .button { margin-top: auto; }
.price-card .price { font-size: 2.7rem; }
.directory-card .eyebrow { min-height: 0; }
.directory-card p, .home-services .directory-card p, .prep-card li, .values-grid p, .path-grid p, .resource-grid p { font-size: 1rem; }
.directory-card h3, .home-services .directory-card h3 { font-size: 1.3rem; }
.service-layout { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.guide-layout { grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.guide-body { min-width: 0; max-width: 52rem; }
.about-story, .contact-grid, .process-section { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); }
.table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.package-comparison { font-size: .875rem; }
.package-comparison th, .package-comparison td { vertical-align: top; }

.calculator {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .95fr);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  gap: 1.5rem;
}
.calculator > *, .calculator-controls > * { min-width: 0; }
.calculator-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(5rem, .55fr); gap: .75rem; }
.calculator input, .calculator select { width: 100%; min-width: 0; height: auto; font-size: 1rem; }
.calculator label, .calculator p, .total > span, .total small { font-size: .875rem; }
.calculator .total { grid-column: auto; border-top: 0; border-left: 1px solid var(--line); padding: 0 0 0 1.5rem; }
.total strong { font-size: 2.25rem; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

body > footer { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 2rem; }
footer > div { min-width: 0; }
footer > div:first-child { grid-column: auto; }
footer > div > a:not(.brand) { font-size: .875rem; overflow-wrap: anywhere; padding-block: .25rem; }
.footer-note { font-size: .8125rem; }

/* Reference footer: separate brand row, four link columns and a policy row. */
.site-footer { display: block; background: #091a39; color: #b8c7dc; padding-block: 4.375rem 1.5625rem; }
.footer-container { width: min(100%, 73.75rem); margin-inline: auto; }
.site-footer .footer-brand-row { display: flex; align-items: center; flex-wrap: wrap; gap: 2.75rem; margin-bottom: 2.125rem; padding-bottom: 2.125rem; border-bottom: 1px solid #ffffff24; }
.site-footer .footer-brand { flex-shrink: 0; margin: 0; color: white; }
.site-footer .brand-logo { display: block; width: 7rem; height: 7rem; object-fit: contain; border-radius: 8px; background: white; }
.site-footer .footer-brand-row p { max-width: 37.5rem; margin: 0; font-size: 1rem; line-height: 1.7; }
.site-footer .footer-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.2fr) minmax(0, .85fr) minmax(0, 1fr); gap: 2rem; }
.site-footer .footer-column { min-width: 0; }
.site-footer h3 { margin: .25rem 0 1.25rem; color: white; font-size: 1rem; line-height: 1.5; font-weight: 800; }
.site-footer ul { margin: 0; padding: 0; list-style: none; line-height: 1.65; }
.site-footer li { margin-bottom: .625rem; }
.site-footer a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.site-footer .footer-column a { display: inline-block; padding-block: .1875rem; max-width: 100%; font-size: .9375rem; }
.site-footer a:hover, .site-footer a:focus-visible { color: white; text-decoration: underline; text-underline-offset: 3px; }
.site-footer .footer-bottom { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2fr); gap: 1.875rem; align-items: start; margin-top: 3.4375rem; padding-top: 1.5rem; border-top: 1px solid #ffffff20; font-size: .8125rem; line-height: 1.7; }
.site-footer .footer-bottom p { max-width: 85ch; margin: 0; font-size: inherit; }
.site-footer .footer-policies { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: .5rem 1rem; margin-top: .625rem; font-size: inherit; }
.site-footer .footer-policies a { text-decoration: underline; text-underline-offset: 3px; }

/* Account and order panels have their own container, even on very wide displays. */
.portal-intro, .order-shell, .request-layout {
  width: min(100%, 70rem);
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--page-gutter);
}
.portal-intro { padding-top: var(--section-space); padding-bottom: 1.5rem; }
.portal-intro h1, .portal-heading h1 { font-size: clamp(1.9rem, 4vw, 3.25rem); line-height: 1.2; letter-spacing: -.04em; }
.order-shell, .request-layout { padding-top: 0; padding-bottom: var(--section-space); }
.checkout-grid, .request-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.checkout-grid > *, .request-layout > * { min-width: 0; margin-top: 0; }
.class-calculator { margin: 0 0 2rem; padding: 0; border: 0; }
.class-calculator legend { font-family: Manrope, sans-serif; font-size: 1.5rem; font-weight: 800; margin-bottom: .75rem; }
.class-calculation { display: grid; gap: .5rem; padding: 1rem; border: 1px solid var(--line); border-left: 4px solid var(--navy); border-radius: 6px; background: var(--pale); }
.class-calculation strong { color: var(--navy); }
.selected-class-numbers { margin-block: .75rem; font-size: .875rem; }
.class-catalog { border: 1px solid var(--line); border-radius: 8px; background: white; margin-bottom: .75rem; }
.class-catalog > summary { padding: .85rem 1rem; min-height: 2.75rem; font-weight: 700; color: var(--navy); cursor: pointer; }
.class-options { max-height: 26rem; overflow-y: auto; padding: .25rem 1rem 1rem; overscroll-behavior: contain; }
.class-group { padding: 0; margin: 0; }
.class-group h3 { margin: .75rem 0; font-size: 1rem; }
.class-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.class-option { display: flex; align-items: center; gap: .5rem; padding: .625rem; min-height: 3.25rem; border: 1px solid var(--line); border-radius: 6px; font-size: .875rem; line-height: 1.5; font-weight: 500; cursor: pointer; }
.class-option:has(input:checked) { border-color: var(--navy); background: var(--pale); }
.class-option:focus-within { outline: 2px solid var(--navy); outline-offset: 2px; }
.class-option input { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; min-height: 0; margin: 0; padding: 0; accent-color: var(--navy); }
.class-number { flex-shrink: 0; font-weight: 800; color: var(--navy); }
.class-title { min-width: 0; overflow-wrap: anywhere; }
.field-error { font-size: .875rem; color: var(--red); font-weight: 700; }
.request-panel, .request-aside, .login-panel { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); }
.request-panel h2, .request-aside h2, .checkout-grid h2 { font-size: 1.5rem; }
.request-panel .form-grid { margin: 0; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.25rem; }
.form-grid > * { min-width: 0; }
.request-panel label, .login-panel label, .admin-form label { font-size: .875rem; line-height: 1.6; }
.request-panel input, .request-panel select, .request-panel textarea,
.login-panel input, .admin-form input, .admin-form select, .admin-form textarea {
  width: 100%; font-size: 1rem; line-height: 1.5; margin: .375rem 0 1.125rem;
}
.request-panel .checkbox-label, .admin-form .checkbox-label { display: flex; font-size: .875rem; }
.checkbox-label > span { min-width: 0; }
.checkbox-label input { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; margin: .25rem 0 0; }
.request-aside p, .request-aside li { font-size: 1rem; }
.request-aside .subtle, .signed-in { font-size: .875rem; }
.checkout-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; font-size: .875rem; }
.checkout-steps li { min-width: 0; }
.cart-totals > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; }
.cart-totals dt { min-width: 0; font-size: .875rem; }
.cart-totals dd { font-size: 1rem; white-space: normal; font-variant-numeric: tabular-nums; }
.cart-totals .total-row dd { font-size: 1.25rem; }
.cart-actions { gap: 1rem; align-items: center; }
.verification-code, .login-panel input#code { width: min(100%, 15rem); font-size: 2rem; letter-spacing: .5rem; line-height: 1.5; }
.notice { font-size: .9375rem; }
.login-layout {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  min-height: 0;
  padding: var(--section-space) max(var(--page-gutter), calc((100% - 72rem) / 2));
}
.login-story, .login-panel { min-width: 0; }
.login-story h1 { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.2; }
.login-panel { align-self: start; }
.login-panel h2 { font-size: clamp(1.6rem, 2.5vw, 2rem); }
.login-panel p { font-size: 1rem; }

.portal-shell { width: 100%; max-width: 86rem; grid-template-columns: 14rem minmax(0, 1fr); }
.portal-content { padding: 2rem clamp(1rem, 2.5vw, 2rem) var(--section-space); }
.team-page { width: min(100%, 86rem); max-width: none; padding-inline: var(--page-gutter); }
.portal-heading, .case-summary { flex-wrap: wrap; align-items: flex-start; }
.portal-heading > *, .case-summary > * { min-width: 0; }
.portal-stats > div { min-width: 0; padding: 1.25rem; }
.portal-stats span { font-size: .875rem; }
.portal-stats strong { font-size: 1.875rem; font-variant-numeric: tabular-nums; }
.case-grid { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
.case-grid > *, .case-grid > aside > * { min-width: 0; }
.portal-content .portal-card { padding: 1.25rem; }
.case-grid h2 { font-size: 1.5rem; }
.case-grid h3 { font-size: 1.2rem; }
.portal-card p, .message p { font-size: 1rem; }
.portal-card .subtle, .subtle { font-size: .875rem; }
.fields dt { font-size: .875rem; }
.fields dd { font-size: 1rem; }
.fields { gap: 1rem 1.25rem; }
.case-summary .tag { max-width: 100%; font-size: .875rem; }
.request-list button { min-width: 0; max-width: 100%; font-size: 1rem; overflow-wrap: anywhere; }
.request-list small, .timeline p { font-size: .875rem; }
.timeline time, .message time { font-size: .8125rem; }
.payment-amount { font-size: 1.875rem; }
.team-table { font-size: .875rem; table-layout: fixed; }
.team-table td, .team-table th { vertical-align: top; }
.team-table button { min-height: 2.75rem; text-align: left; overflow-wrap: anywhere; }
.payment-connection { max-width: 100%; }
.payment-connection pre, .payment-connection code { white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 75rem) {
  .pricing-grid, .home-services .directory-grid, .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator .total { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); padding: 1rem 0 0; }
  .case-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 64rem) {
  body > header { grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; }
  body > header .brand { order: 1; }
  body > header .header-actions { order: 2; justify-self: end; gap: .75rem; }
  body > header .menu-toggle { order: 3; }
  body > header > nav {
    display: flex; grid-column: 1 / -1; order: 4; width: 100%;
    flex-direction: column; align-items: stretch; gap: .25rem;
    border-top: 1px solid var(--line); padding-top: .75rem; justify-content: start;
  }
  html.js body > header > nav { display: none; }
  html.js body > header.menu-open > nav { display: flex; }
  body > header .menu-toggle { display: none; }
  html.js body > header .menu-toggle { display: block; }
  body > header > nav > a { padding: .625rem .25rem; font-size: 1rem; }
  .nav-dropdown { width: 100%; }
  .nav-dropdown > summary { justify-content: space-between; padding: .625rem .25rem; font-size: 1rem; }
  .mega-menu {
    position: static; width: 100%; max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem; margin: .5rem 0; gap: 1.25rem; box-shadow: none; border-radius: 6px;
  }
  .directory-grid, .notice-services .directory-grid, .service-deliverables .directory-grid, .package-starts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-layout, .guide-layout, .about-story, .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .guide-nav { position: static; padding: 1.25rem; border: 1px solid var(--line); border-radius: 8px; }
  .guide-body { max-width: none; }
  .guide-nav a { min-height: 2.75rem; font-size: .875rem; }
  .login-layout { grid-template-columns: minmax(0, 1fr); }
  .login-story .lead { max-width: 46rem; }
  .login-benefits { display: none; }
  .login-panel { width: 100%; max-width: 40rem; }
  .portal-shell { grid-template-columns: 12rem minmax(0, 1fr); }
  .portal-nav { padding: 1.5rem 1rem; }
  body > footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 60rem) {
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 2.5rem; }
  .site-footer .footer-brand-row { gap: 1.5rem; }
  .checkout-grid, .request-layout { grid-template-columns: minmax(0, 1fr); }
  .checkout-grid > .request-aside, .request-layout > .request-aside { margin-top: 0; }
}

@media (max-width: 48rem) {
  .process-section, .path-grid, .resource-grid, .values-grid { grid-template-columns: minmax(0, 1fr); }
  .path-grid > a { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .section-heading { display: flex; flex-direction: column; align-items: start; gap: .5rem; }
  .section-heading > p { margin-bottom: 0; }
  .calculator { grid-template-columns: minmax(0, 1fr); }
  .calculator .total { grid-column: auto; }
  .portal-shell { display: block; }
  .portal-nav { flex-direction: row; flex-wrap: wrap; padding: 1.25rem var(--page-gutter); border-right: 0; border-bottom: 1px solid var(--line); gap: .5rem 1rem; }
  .portal-nav > .eyebrow { width: 100%; margin: 0; }
  .portal-nav > a { min-height: 2.75rem; display: flex; align-items: center; }
  .portal-user { width: 100%; margin-top: .75rem; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
  .portal-user > span { width: 100%; order: 3; }
  .request-list { display: grid; grid-template-columns: minmax(0, 1fr); }
  .team-table { min-width: 0; display: block; table-layout: auto; }
  .team-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .team-table tbody { display: block; }
  .team-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.25rem; border-bottom: 1px solid var(--line); }
  .team-table tbody tr:last-child { border-bottom: 0; }
  .team-table tbody td { display: block; min-width: 0; padding: 0; border: 0; font-size: 1rem; }
  .team-table tbody td:nth-child(1), .team-table tbody td:nth-child(2) { grid-column: 1 / -1; }
  .team-table tbody td::before { content: attr(data-label); display: block; color: var(--muted); font-size: .875rem; font-weight: 600; margin-bottom: .25rem; }
  .team-table tbody td:empty { display: none; }
  .team-table td small { font-size: .875rem; }
  .team-table button { min-height: 0; padding-block: .375rem; font-size: 1rem; }
}

@media (max-width: 40rem) {
  .site-footer { padding-top: 3rem; }
  .site-footer .footer-brand-row { flex-direction: column; align-items: flex-start; gap: 1.375rem; }
  .site-footer .footer-grid, .site-footer .footer-bottom { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .site-footer .footer-column a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-block: .4375rem; }
  .site-footer .footer-policies a { display: inline-flex; align-items: center; min-height: 2.75rem; }
  .site-footer .footer-bottom { margin-top: 2.125rem; }
  .class-grid { grid-template-columns: minmax(0, 1fr); }
  .class-options { max-height: 24rem; padding-inline: .75rem; }
  .directory-grid, .home-services .directory-grid, .notice-services .directory-grid,
  .related-section .directory-grid, .service-deliverables .directory-grid,
  .pricing-grid, .team-grid, .package-starts, .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-grid { gap: 0; }
  .mega-menu { grid-template-columns: minmax(0, 1fr); }
  .price-card > p { min-height: 0; }
  .package-label { min-height: 0; }
  .actions { align-items: stretch; flex-direction: column; }
  .actions > .button, .cart-actions > .button, .closing > .button { width: 100%; }
  .actions > .text-link { align-self: start; }
  .closing { align-items: stretch; }
  .cart-actions { flex-direction: column; align-items: stretch; }
  .cart-actions .text-button { align-self: start; }
  .fields { grid-template-columns: minmax(0, 1fr); }
  .checkout-steps { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .checkout-steps li { padding-bottom: .5rem; }
  .portal-heading > .button { width: 100%; }
}

@media (max-width: 34rem) {
  body > header { grid-template-columns: minmax(0, 1fr) auto; }
  body > header .menu-toggle { order: 2; }
  body > header .header-actions {
    grid-column: 1 / -1; order: 3; justify-self: stretch; width: 100%;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem;
  }
  .header-actions > a { min-width: 0; padding: .5rem; text-align: center; }
  .header-actions .button { display: inline-flex; padding: .5rem; }
  .header-actions .login-link { white-space: normal; }
  .header-actions .login-link { padding: .5rem; }
  body > footer { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .portal-stats { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .portal-stats > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .portal-stats strong { margin: 0; }
  .team-table tbody tr { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* Final shared layout layer for public pages, checkout and account workspaces. */
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; min-width: 0; }
*, *::before, *::after { box-sizing: border-box; }
main, section, article, aside, form, fieldset, nav, .portal-content, .portal-card, .login-panel { min-width: 0; }
fieldset { margin-inline: 0; }
button, input, select, textarea { font: inherit; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; max-width: 100%; min-width: 0; font-size: 1rem; line-height: 1.5; }
button, .button, summary { touch-action: manipulation; }
button, .button { white-space: normal; overflow-wrap: anywhere; }
a, p, dd, h1, h2, h3, small, .tag { overflow-wrap: anywhere; }
.form-grid { align-items: start; }
.form-grid > div { min-width: 0; }
.form-grid label { line-height: 1.5; }
.form-grid input, .form-grid select, .form-grid textarea { margin-bottom: 1rem; }
.breadcrumb { flex-wrap: wrap; gap: .375rem .75rem; }
.site-footer .footer-grid > *, .footer-bottom > * { min-width: 0; }
.table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; }
.table-scroll:focus-visible { outline: 3px solid #387bd3; outline-offset: 3px; }
body[data-view] .portal-shell { width: 100%; max-width: 100rem; margin-inline: auto; grid-template-columns: 14rem minmax(0, 1fr); }
body[data-view] .portal-content { min-width: 0; padding: clamp(1.25rem, 3vw, 2.75rem); }
body[data-view] .portal-heading { display: flex; align-items: start; flex-wrap: wrap; gap: 1rem; }
body[data-view] .portal-heading > div { flex: 1 1 18rem; min-width: 0; }
body[data-view] .portal-heading h1 { line-height: 1.2; }
body[data-view] .portal-card { padding: clamp(1rem, 2vw, 1.5rem); }
body[data-view] .portal-card form { max-width: 100%; }
body[data-view] .portal-card label, body[data-view] .portal-card summary { font-size: .9375rem; line-height: 1.5; }
body[data-view] .portal-card input, body[data-view] .portal-card select, body[data-view] .portal-card textarea { margin: .375rem 0 1rem; }
body[data-view] .portal-card input[type="checkbox"], body[data-view] .portal-card input[type="radio"] { width: 1.125rem; min-height: 1.125rem; margin: .1875rem 0 0; flex: 0 0 1.125rem; }
body[data-view] .portal-stats > div { display: block; min-width: 0; }
body[data-view] .portal-stats strong { margin: .5rem 0 0; line-height: 1.2; }
body[data-view] .portal-stats span, body[data-view] .stat-detail { line-height: 1.5; }
body[data-view] .case-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
body[data-view] .case-grid > aside { min-width: 0; }
body[data-view] .case-tabs button { min-height: 2.75rem; font-size: .9375rem; }
body[data-view] .workspace-toolbar { grid-template-columns: minmax(0, 1fr) minmax(10rem, .4fr); align-items: end; }
body[data-view] .workspace-toolbar label { min-width: 0; }
body[data-view] .team-table { width: 100%; table-layout: fixed; }
body[data-view] .team-table th, body[data-view] .team-table td { overflow-wrap: anywhere; white-space: normal; }
body[data-view] .team-table td a, body[data-view] .team-table td button { max-width: 100%; white-space: normal; }
body[data-view] .team-table td small { font-size: .875rem; line-height: 1.5; }
body[data-view] .custom-invoice-panel form { max-width: 52rem; }
body[data-view] .custom-invoice-panel .form-grid { margin: 1rem 0 0; gap: 0 1.25rem; }
body[data-view] .custom-invoice-panel #custom-result:empty { display: none; }
body[data-view] #custom-invoice-history { margin-top: 2rem; }
body[data-view] .login-layout { width: min(calc(100% - 2 * var(--page-gutter)), 75rem); margin: 2rem auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body[data-view] .login-panel { max-width: none; width: 100%; align-self: stretch; }
body[data-view] .login-layout .login-story, body[data-view] .login-layout .login-panel { padding: clamp(1.25rem, 4vw, 3.5rem); }
body[data-view] .login-panel input#code { width: 100%; max-width: 100%; letter-spacing: .35em; padding-inline: .75rem; }
body[data-view] .workspace-brand { min-width: 0; }
body[data-view] .workspace-brand img { flex: 0 0 auto; }
body[data-view] .workspace-brand span { min-width: 0; }
body[data-view] .workspace-header > a:last-child { flex-shrink: 0; }
body[data-view] .workspace-footer { flex-wrap: wrap; }
body[data-view] .workspace-footer a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.invoice-heading > *, .invoice-meta > *, .invoice-total > * { min-width: 0; }
.invoice-paper h1 { overflow-wrap: anywhere; }
.invoice-lines { table-layout: fixed; }
.invoice-lines th:last-child, .invoice-lines td:last-child { width: 8rem; }
.invoice-lines td { overflow-wrap: anywhere; }
.invoice-total { flex-wrap: wrap; align-items: start; gap: .5rem 1rem; }
@media (max-width: 75rem) {
 body[data-view] .case-grid { grid-template-columns: minmax(0, 1fr); }
 body[data-view] .case-grid > aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
 body[data-view] .case-grid > aside .payment-card { grid-column: 1 / -1; }
 body[data-view] .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 60rem) {
 body[data-view] .portal-shell { display: block; }
 body[data-view] .portal-nav { position: static; min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); padding: 1rem var(--page-gutter); display: flex; flex-direction: row; flex-wrap: wrap; gap: .5rem; }
 body[data-view] .portal-nav > .eyebrow { width: 100%; margin: 0 0 .5rem; padding: 0; }
 body[data-view] .workspace-nav { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .375rem; }
 body[data-view] .workspace-nav button { width: 100%; min-height: 2.75rem; padding: .75rem; text-align: center; font-size: .875rem; }
 body[data-view] .portal-user { width: 100%; margin: .75rem 0 0; padding: .75rem 0 0; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .375rem 1rem; }
 body[data-view] .portal-user > span { width: auto; order: 0; min-width: 0; }
 body[data-view] .portal-user #signout { margin-left: auto; }
 body[data-view] .login-layout { display: grid; grid-template-columns: minmax(0, 1fr); }
 body[data-view] .login-benefits { display: none; }
 body[data-view] .login-story h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-bottom: 1rem; }
 body[data-view] .login-story .lead { margin-bottom: 0; }
 body[data-view] .workspace-toolbar { grid-template-columns: minmax(0, 1fr); }
 body[data-view] .admin-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 48rem) {
 body[data-view] .case-grid > aside { display: block; }
 body[data-view] .form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
 body[data-view] .team-table, body[data-view] .team-table tbody { display: block; min-width: 0; }
 body[data-view] .team-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
 body[data-view] .team-table tbody tr { display: block; padding: .5rem 1rem; margin-bottom: 1rem; border: 1px solid var(--line); border-radius: .625rem; }
 body[data-view] .team-table tbody td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .375rem .75rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .9375rem; }
 body[data-view] .team-table tbody td::before { content: attr(data-label); grid-column: 1; font-size: .875rem; font-weight: 700; color: var(--muted); margin: 0; }
 body[data-view] .team-table tbody td > * { min-width: 0; grid-column: 2; }
 body[data-view] .team-table tbody td:last-child { border-bottom: 0; }
 body[data-view] .team-table tbody tr:last-child { border-bottom: 1px solid var(--line); }
 body[data-view] .table-scroll { overflow-x: auto; border: 0; }
 body[data-view] .invoice-heading { flex-direction: column; }
 .invoice-meta { grid-template-columns: minmax(0, 1fr); }
 .package-comparison { min-width: 42rem; }
 .table-scroll:has(.package-comparison) { overflow-x: auto; border: 1px solid var(--line); }
}
@media (max-width: 40rem) {
 body[data-view] .workspace-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 body[data-view] .portal-heading > .button { width: 100%; }
 body[data-view] .fields { grid-template-columns: minmax(0, 1fr); }
 body[data-view] .case-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body[data-view] .case-tabs button { min-width: 0; }
 body[data-view] .attention-item { align-items: start; flex-wrap: wrap; }
 body[data-view] .invoice-main { padding: 1.25rem var(--page-gutter) 2.5rem; }
 body[data-view] .invoice-paper { padding: 1rem; }
 .invoice-lines th:last-child, .invoice-lines td:last-child { width: 6.75rem; padding-left: .75rem; }
 .invoice-total { font-size: 1.125rem; }
 .calculator-controls { grid-template-columns: minmax(0, 1fr); }
 .page-hero .lead, .hero .lead { font-size: 1rem; }
 .scope-list > div { gap: 1rem; }
 .section-heading { align-items: start; }
}
@media (max-width: 30rem) {
 body[data-view] .workspace-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body[data-view] .workspace-header { padding: .875rem 1rem; gap: .75rem; align-items: center; }
 body[data-view] .workspace-brand { font-size: .875rem; }
 body[data-view] .workspace-brand img { width: 2.5rem; height: 2.5rem; }
 body[data-view] .workspace-brand small { font-size: .75rem; letter-spacing: 0; }
 body[data-view] .workspace-header > a:last-child { font-size: .875rem; max-width: 5rem; }
 body[data-view] .portal-content { padding: 1.25rem 1rem 2.5rem; }
 body[data-view] .portal-stats { grid-template-columns: minmax(0, 1fr); }
 body[data-view] .portal-stats > div { padding: 1rem; }
 body[data-view] .team-table tbody td { display: block; }
 body[data-view] .team-table tbody td::before { margin-bottom: .375rem; }
 body[data-view] .team-table tbody td small { margin-top: .375rem; }
 body[data-view] .custom-invoice-panel form > .button { width: 100%; }
 body[data-view] .portal-user > span { width: 100%; }
 body[data-view] .login-layout { border-radius: .875rem; margin-block: 1rem; }
 body[data-view] .login-story h1 br { display: none; }
 .cart-totals > div { gap: .75rem; }
 .cart-totals dd { max-width: 8rem; }
}
@media print {
 body[data-view] .portal-nav, body[data-view] .workspace-header, body[data-view] .workspace-footer { display: none; }
 body[data-view] .invoice-main { padding: 0; }
 body[data-view] .invoice-paper { padding: 10mm; border: 0; }
}

.business-address{font:inherit;font-style:normal;line-height:1.6;overflow-wrap:anywhere;max-width:100%}.footer-column .business-address{margin:0 0 18px;color:inherit}.workspace-footer .business-address{flex-basis:100%;font-size:.8125rem}.contact-grid .business-address{font-size:1.05rem}.invoice-heading .business-address{font-size:.875rem;max-width:320px}

.invoice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.invoice-actions .text-button{margin:0;min-height:40px}#cancel-invoice-edit{margin:12px 16px}#resend-order-invoice{margin:0 0 24px}

.invoice-balance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem;background:var(--pale);border:1px solid var(--line);border-radius:8px;margin:1rem 0 1.5rem}.invoice-balance-summary div{min-width:0}.invoice-balance-summary span,.invoice-balance-summary strong{display:block;overflow-wrap:anywhere}.invoice-balance-summary span{font-size:.8125rem;color:var(--muted)}.invoice-balance-summary strong{font-size:1.125rem}.invoice-record-payment{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--line);border-radius:8px}#custom-share{margin:1rem 0 2rem}#custom-share input{width:100%;min-height:3rem;padding:.75rem;border:1px solid var(--line);border-radius:6px}#custom-invoice-form .invoice-actions{margin:1rem 0}#custom-invoice-form input[readonly]{background:#f2f5fb}@media(max-width:800px){.invoice-balance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.custom-invoice-panel>.invoice-actions,.custom-invoice-panel form>.invoice-actions{align-items:stretch;flex-direction:column}.custom-invoice-panel form>.invoice-actions .button{width:100%}}
