/* 1.3 layout repairs: modal navigation lives outside the sticky header. */
.nav-dialog{inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:24px;color:var(--ink);background:var(--bg);border:0;overflow:auto;overscroll-behavior:contain}
.nav-dialog::backdrop{background:rgb(0 0 0 / .65)}
.nav-dismiss{display:block;margin-left:auto;min-height:48px;padding:8px 18px;border:1px solid var(--line);border-radius:30px;color:var(--ink);background:transparent;font-size:16px}
.nav-dialog #primary-nav{position:static!important;display:flex!important;width:100%;max-height:none;height:auto;min-height:0;padding:28px 0 0!important;transform:none!important;opacity:1!important;visibility:visible!important;box-shadow:none;background:transparent!important;overflow:visible;gap:24px;transition:none}
.nav-dialog #primary-nav>.menu{display:block!important;width:100%;flex:none}
.nav-dialog #primary-nav a{overflow-wrap:anywhere}
.nav-dialog .mobile-menu-contact{margin-top:12px}
.nav-dialog #primary-nav .mobile-menu-contact a{font-size:16px;line-height:1.5}
.nav-dialog #primary-nav .mobile-menu-contact .button{color:#141611}
.editorial-widget input{width:100%;min-width:0;max-width:100%;padding:10px;font-size:16px}.editorial-widget .search-form{display:grid;gap:10px}.editorial-widget button,.editorial-widget input[type=submit]{min-height:44px}
.comparison-row>div:first-child:before,.comparison-row>div:last-child:before{content:attr(data-column-label)}
.journal-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:48px;align-items:end}.journal-search input{max-width:100%;width:100%;padding:12px}.journal-search .search-form{display:grid;gap:10px}.journal-topics{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--line);padding:12px 0;margin:35px 0}.journal-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:50px;align-items:center;padding-bottom:70px;margin-bottom:60px;border-bottom:1px solid var(--line)}.journal-feature-image img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:14px}.journal-feature h2{font-size:clamp(30px,3.5vw,52px)}
@media(max-width:768px){.journal-heading,.journal-feature{grid-template-columns:minmax(0,1fr);gap:28px}.journal-feature{padding-bottom:45px;margin-bottom:45px}.journal-search{max-width:450px}}
.hero-layout>*,.split-layout>*,.faq-layout>*,.contact-layout>*,.inline-form-layout>*,.narrative-layout>*,.article-layout>*,.footer-grid>*{min-width:0}
.hero-copy h1{overflow-wrap:normal;word-break:normal;font-size:clamp(36px,5vw,76px)}
.button,.text-link{max-width:100%;overflow-wrap:anywhere}
.article-shell.article{width:min(1320px,calc(100% - var(--gutter)*2));max-width:none}
.article-layout{grid-template-columns:minmax(140px,.65fr) minmax(0,2.7fr) minmax(180px,.85fr);gap:32px}
.article-layout .prose{width:100%;max-width:none}
.article-layout .zg-section .shell{width:100%}
.article-layout .zg-section{padding-block:32px}
.article-layout .features-grid,.article-layout .pricing-grid{grid-template-columns:1fr}
.article-side{overflow-wrap:anywhere}.article-side a,.article-share button{min-height:44px}
.article-header h1{line-height:1.08;overflow-wrap:anywhere}
.prose table{display:block;max-width:100%;overflow:auto}.prose pre{overflow:auto;max-width:100%}
.pricing-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.pricing-detail{width:100%;border-collapse:collapse;min-width:660px;font-size:16px;line-height:1.6}
.pricing-detail caption{text-align:left;padding:20px 24px;font-size:14px;color:var(--muted)}
.pricing-detail th,.pricing-detail td{vertical-align:top;text-align:left;padding:22px 24px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:150px}
.pricing-detail th{font-weight:600}.pricing-detail td:last-child,.pricing-detail th:last-child{border-right:0}
.pricing-detail thead{background:var(--surface)}.pricing-detail th p{margin:12px 0 0;font-size:26px;letter-spacing:-.04em}.pricing-detail small{display:block;color:var(--muted);font-weight:400;font-size:14px;margin-top:6px}
.pricing-note{margin:20px 0 0;font-size:14px;color:var(--muted)}
.pricing-mobile{display:none}.scope-list{list-style:none;padding:0;margin:0}.scope-list li{padding:20px 0;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.hero-layout,.split-layout,.faq-layout,.contact-layout{gap:36px}.header-inner{gap:14px}#primary-nav>.menu{gap:14px}.header-cta{display:none}.article-layout{grid-template-columns:minmax(0,1fr) 230px}.article-toc{grid-column:1/-1;position:static}.article-toc ol{columns:2}.article-side{display:block}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hero-layout,.split-layout,.faq-layout,.contact-layout,.inline-form-layout{grid-template-columns:minmax(0,1fr)}.hero-media{max-width:650px}.hero-copy h1{font-size:clamp(36px,7vw,64px)}.article-layout{grid-template-columns:minmax(0,1fr)}.article-toc:not([hidden]){display:block}.article-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;position:static}.has-js .site-header #primary-nav{display:none!important}html:not(.has-js) .header-inner{flex-wrap:wrap}html:not(.has-js) #primary-nav{position:static;width:100%;visibility:visible;opacity:1;transform:none;padding:20px;max-height:none}html:not(.has-js) .menu-toggle{display:none}.nav-dialog .mobile-menu-intro,.nav-dialog .mobile-menu-contact{display:block}}
@media(max-width:620px){.hero-layout{gap:28px}.hero-copy h1{font-size:clamp(34px,9.5vw,52px)}.features-grid,.pricing-grid,.process-grid{grid-template-columns:minmax(0,1fr)}.process-grid .module-card{padding:24px 0;border-bottom:1px solid var(--line)}.hero-bottom{flex-wrap:wrap}.article-side{grid-template-columns:minmax(0,1fr);gap:0}.article-toc ol{columns:1}.article-header h1{font-size:clamp(34px,10vw,56px)}.article-related h2{font-size:32px}.form-panel{padding:24px 18px}.pricing-scroll{display:none}.pricing-mobile{display:grid;gap:22px}.pricing-mobile article{border:1px solid var(--line);border-radius:14px;padding:24px}.pricing-mobile h3{font-size:26px}.pricing-mobile .price{font-size:30px;line-height:1.3;margin-bottom:8px}.pricing-mobile dl{margin:24px 0}.pricing-mobile dt{font-weight:600;font-size:14px;margin:18px 0 4px}.pricing-mobile dd{margin:0;color:var(--muted);font-size:16px}.pricing-mobile small{color:var(--muted)}.footer-cta h2{overflow-wrap:anywhere}.nav-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){.nav-dialog *{transition:none!important}}
