/* Four-language navigation, protected contact, verified documents and enquiry flow. */
[hidden]{display:none!important}
html{scroll-padding-top:24px}
html.dialog-open{overflow:hidden}
body{overflow-wrap:break-word}
button,textarea{font-family:var(--sans)}
textarea{color:var(--ink)}
textarea:focus-visible{outline:3px solid #b98035;outline-offset:4px}
.utility-bar{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 5.1%;min-height:43px;gap:16px}
.utility-phone{font-size:15px;font-weight:600;white-space:nowrap;line-height:1.4}
.utility-phone span{font-size:11px;font-weight:400;margin-right:13px;opacity:.85}
.language-switch{display:flex;align-items:stretch;gap:1px;align-self:stretch}
.language-switch a{min-width:42px;min-height:43px;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.08em;border-bottom:2px solid transparent}
.language-switch a:hover{background:#ffffff15}
.language-switch a[aria-current]{background:#ffffff16;border-bottom-color:var(--accent);color:#f2ffdc}
.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}
.site-header nav{gap:24px;font-size:13px}
.hero{min-height:680px;padding-top:46px;padding-bottom:52px}
.hero-image{min-height:585px}
.hero-copy{padding-top:12px}
.hero h1{font-size:clamp(52px,5.4vw,84px)}
.hero .eyebrow{font-size:10px;letter-spacing:1.5px;max-width:95%}
.hero-lead{font-size:16px;line-height:1.75;max-width:440px}
.hero-actions{gap:23px;flex-wrap:wrap}
.hero-call{display:flex;flex-direction:column;font-size:20px;line-height:1.35;letter-spacing:-.02em;white-space:nowrap}
.hero-call small{font-size:11px;letter-spacing:.03em;color:var(--muted);margin-bottom:3px}
.hero-note{font-size:12px}
.button{font-size:13px;min-height:52px}
.button:focus-visible{outline-offset:4px}
.js-contact-trigger{display:none}
html.dialog-ready .js-contact-trigger{display:inline-flex}
.page-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.subpage-hero .page-actions .button{margin-top:0}
.subpage-hero .eyebrow{letter-spacing:1.4px}
.subpage-lead{max-width:780px}
.source-link{display:inline-block;font-size:13px;line-height:1.65;text-decoration:underline;text-underline-offset:4px;margin-top:18px;overflow-wrap:anywhere}
.source-link+.source-link{margin-left:22px}
.section-heading>p{max-width:470px;min-width:0;font-size:14px;line-height:1.8}
.intro-text{font-size:15px}
.service-row p{font-size:14px;max-width:460px}
.service-row h3{font-size:29px}
.process-grid p{font-size:14px}
.process-grid h3{font-size:25px;line-height:1.22}
.process-grid .step-number{font-size:36px}
.section-tail{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}
.section-tail .small{max-width:360px;color:var(--muted)}
.tone-sage{background:var(--sage)}
.online-feature{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--sage);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.online-feature h2,.coverage-teaser h2,.enquiry-cta h2,.trust-section h2{font-size:clamp(36px,3.7vw,54px)}
.online-feature p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.8}
.online-feature p.body-large{font-size:19px;color:var(--ink)}
.online-feature .button,.coverage-teaser .button{margin-top:26px}
.enquiry-cta{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:12%;background:var(--ink);color:var(--paper)}
.enquiry-cta h2 em{color:#c4d5b2}
.enquiry-cta p:not(.eyebrow){font-size:15px;color:#d5dfce;max-width:560px;margin-top:23px}
.enquiry-cta>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.enquiry-cta .button{min-width:245px}
.cta-phone{font-family:var(--serif);font-size:31px;white-space:nowrap}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 32px}
.proof-item{display:flex;gap:20px;padding:25px;border:1px solid var(--line);background:#edf0e7}
.proof-item>span{flex:none;display:flex;align-items:center;justify-content:center;border:1px solid #8ca27d;border-radius:50%;width:32px;height:32px;font-size:18px}
.proof-item h3{font-size:17px;line-height:1.45;font-weight:600;margin-bottom:8px}
.proof-item p{font-size:12px;color:var(--muted)}
.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.degree-grid,.category-degree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.document-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#fffcf7}
.document-cover{display:block;background:#e9e7df;padding:22px 25px 0;position:relative}
.document-cover>div{height:285px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:filter .2s}
.document-cover:hover>div{filter:brightness(1.025)}
.document-cover img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 9px #153d3220)}
.document-cover>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;font-size:12px}
.document-card-copy{padding:26px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.document-card-copy .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:14px}
.document-card h3{font-family:var(--serif);font-size:26px;line-height:1.23;letter-spacing:-.02em;margin-bottom:16px}
.document-card-copy p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.75}
.document-card-copy .document-issuer{font-size:11px!important;margin:15px 0 0}
.document-card-copy .source-link{margin-top:auto;padding-top:20px;font-size:12px}
.degree-grid .document-card{display:grid;grid-template-columns:.8fr 1fr}
.degree-grid .document-cover{padding:17px 16px 0}
.degree-grid .document-cover>div{height:225px}
.degree-grid .document-cover>span{font-size:10px}
.degree-grid .document-card-copy{padding:24px 22px}
.degree-grid .document-card h3{font-size:24px}
.degree-grid .document-card-copy .eyebrow{font-size:8px}
.credential-group{padding-top:65px;padding-bottom:65px}
.credential-group+.credential-group{border-top:1px solid var(--line)}
.credential-group .section-heading h2{font-size:42px}
.document-disclosure{padding-top:26px;padding-bottom:26px;background:var(--sage);font-size:13px}
.document-disclosure p+p{margin-top:5px}
.document-disclosure .source-link{margin-top:10px}
.coverage-teaser{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e9ecdf}
.coverage-teaser p{font-size:16px;color:var(--muted);line-height:1.8}
.faq-list summary{font-size:15px}
.faq-list details>div{font-size:14px}
.faq-heading .text-link{margin-top:25px;font-size:13px}
.contact-phone{font-size:clamp(31px,3.1vw,46px);white-space:nowrap}
.contact-copy>p:not(.eyebrow){font-size:15px}
.contact-copy .contact-safe{font-size:12px!important;max-width:440px}
.contact-details{gap:28px}
.contact-label{font-size:10px;letter-spacing:1px}
.contact-bottom p{font-size:14px}
.contact-bottom a,.contact-bottom .small{font-size:12px!important}
.email-control{margin-top:15px;max-width:100%}
.email-reveal,.email-copy{background:transparent;color:inherit;border:1px solid currentColor;padding:11px 15px;min-height:44px;font-size:13px;line-height:1.4;display:inline-flex;align-items:center;gap:20px;text-align:left}
.email-reveal:hover,.email-copy:hover{background:#a4b28d15}
.email-revealed{display:flex;align-items:flex-start;flex-direction:column;gap:10px}
.email-revealed a{font-size:17px!important;overflow-wrap:anywhere;line-height:1.5}
.email-copy{font-size:11px;min-height:38px;padding:8px 12px}
.email-status{display:block;font-size:11px;margin-top:7px;line-height:1.5}
.email-status:empty{display:none}
.email-hint{color:#c8d5c0;font-size:11px;line-height:1.7;max-width:360px;margin-top:10px}
.footer-phone{font-size:21px;font-weight:600;white-space:nowrap;color:var(--ink)}
.footer-top>p{font-size:12px}
.footer-top>div{align-items:flex-start;justify-self:end}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 30px;padding:10px 0 25px;font-size:13px}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{font-size:10px}
.mobile-contact{display:none}
.formal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;margin:35px 0 0}
.formal-grid>div{padding:25px 0;border-top:1px solid var(--line)}
.formal-grid dt{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:12px;color:var(--muted)}
.formal-grid dd{margin:0;font-size:16px;line-height:1.8}
.legal-content{max-width:1040px}
.legal-content article+article{margin-top:52px;padding-top:45px;border-top:1px solid var(--line)}
.legal-content h2{font-size:35px;margin-bottom:22px}
.legal-content p{font-size:15px;line-height:1.85;color:var(--muted)}
.legal-content>p{margin-top:40px}
.cost-types h2{font-size:30px;min-height:0}
.cost-types p{font-size:14px}
.cost-types .eyebrow{min-height:0}
.article-content p{font-size:15px}
.article-content p.body-large{font-size:19px}
.preparation-list p{font-size:15px}
.policy-content p{font-size:15px}
.wizard-section{background:#e3e8dc;padding-top:72px;padding-bottom:72px}
.quote-widget{max-width:920px;margin:0 auto;background:var(--white);padding:44px 52px;border:1px solid #d0d9c9;box-shadow:0 10px 45px #153d3209}
.quote-widget-heading{max-width:720px;margin-bottom:30px}
.quote-widget-heading h2{font-size:39px;line-height:1.15;margin-bottom:16px}
.quote-widget-heading p{font-size:15px;line-height:1.75;color:var(--muted)}
.quote-progress{margin:0 0 34px;border-bottom:1px solid var(--line);padding-bottom:22px}
.quote-progress>p{font-size:10px;letter-spacing:1.6px;margin:0 0 17px;font-weight:600}
.quote-progress ol{margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none}
.quote-progress li{font-size:11px;line-height:1.45;color:var(--muted);padding:11px 0 0;border-top:3px solid #e0e5d9}
.quote-progress li span{display:inline-block;margin-right:5px}
.quote-progress li[aria-current]{border-color:var(--ink);color:var(--ink);font-weight:600}
.quote-progress li.is-complete{border-color:#90a27e}
.quote-step{margin:0;padding:0;border:0;min-width:0}
.quote-step legend{font-family:var(--serif);font-size:30px;line-height:1.2;letter-spacing:-.025em;margin-bottom:17px;padding:0;max-width:100%}
.quote-step legend:focus{outline:none}
.quote-step>p.field-help{margin-bottom:22px}
.quote-widget .field-label{font-size:13px;line-height:1.5;margin-bottom:10px}
.quote-widget .field-help{font-size:12px;line-height:1.75;color:var(--muted);margin-top:9px}
.quote-widget .choice-grid{gap:10px}
.quote-widget .choice-grid label>span{font-size:15px;padding:16px 18px;min-height:55px;line-height:1.5;gap:20px;border-color:#cad5c2}
.quote-widget .choice-grid input:checked+span{background:#e3ebd8;border-color:#607d51}
.quote-widget input:not([type=radio]):not([type=checkbox]),.quote-widget select,.quote-widget textarea{display:block;width:100%;max-width:100%;border:1px solid #bac8b0;background:#fffefa;padding:13px 14px;min-height:49px;font-size:16px;color:var(--ink);line-height:1.5}
.quote-widget select{padding-right:28px}
.quote-widget textarea{resize:vertical}
.quote-grid{display:grid;gap:25px;margin-top:20px}
.quote-controls{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:30px}
.quote-controls .button{min-width:160px}
.quote-controls .back-button{margin-right:auto}
.quote-widget .back-button{font-size:13px;min-height:44px;margin-top:0;padding:10px 0}
.quote-error{padding:14px 18px;border-left:3px solid #994d31;background:#faeee6;color:#73391f;font-size:14px;line-height:1.6;margin-bottom:22px}
#quote-civil-fields>.field-label,#quote-fee-fields>.field-label{margin-top:24px}
#quote-property-fields,#quote-session-fields{margin-top:24px}
.quote-checkbox{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-size:13px;margin-top:27px;cursor:pointer}
.quote-checkbox input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--ink)}
.quote-estimate{padding:24px 26px;background:#e8eddf;border-left:3px solid #7c9565;margin-top:28px}
.quote-estimate>p:first-child{font-size:15px;font-weight:600;margin-bottom:8px}
.quote-estimate strong{font-family:var(--serif);font-size:46px;line-height:1.2;font-weight:400;display:block;margin:10px 0 15px}
.quote-estimate p{font-size:13px;line-height:1.8;color:var(--ink)}
.quote-estimate p+p{margin-top:10px}
.quote-privacy{padding-top:22px;border-top:1px solid var(--line);margin-top:30px!important}
.quote-draft-state{font-size:12px;background:#e4edda;padding:12px 16px;border-left:3px solid #708c5b;margin-bottom:22px}
.quote-result h3{font-family:var(--serif);font-size:31px;line-height:1.2;margin-bottom:25px}
.quote-result:focus{outline:none}
.quote-result textarea{font-size:14px!important;line-height:1.75!important;min-height:330px}
.quote-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.quote-actions .back-button{margin-right:15px}
#quote-status{font-size:13px;margin-top:17px;line-height:1.7}
#quote-status:empty{display:none}
.quote-recipient{margin-top:20px}
.quote-recipient .button{margin-top:15px}
#quote-recipient-details{padding:20px;background:var(--sage);margin-top:10px}
/* Dialogs open only after an explicit click; native modality handles focus and Escape. */
dialog{padding:0;border:1px solid #c9d3c1;color:var(--ink);background:var(--paper);max-height:88dvh;width:min(610px,calc(100vw - 36px));max-width:none;box-shadow:0 22px 90px #071b1755;overflow:auto}
dialog::backdrop{background:#071c15a3;backdrop-filter:blur(3px)}
.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:20px}
.dialog-top .eyebrow{margin:10px 0 0;font-size:10px}
.dialog-close{width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font:30px/1 var(--sans);background:transparent;border:1px solid #bccbb1;color:var(--ink)}
.contact-dialog{padding:30px 35px}
.contact-dialog h2{font-size:42px;line-height:1.12;margin-bottom:20px}
.contact-dialog>p{font-size:14px;line-height:1.8;color:var(--muted)}
.contact-dialog .dialog-phone{font-family:var(--serif);font-size:36px;line-height:1.2;display:block;margin:26px 0 8px;white-space:nowrap}
.contact-dialog .email-control{margin:23px 0 0}
.contact-dialog .field-help{font-size:12px;margin:12px 0 22px}
.contact-dialog>.button{margin-bottom:22px}
.document-dialog{width:min(920px,calc(100vw - 30px));padding:24px}
.document-dialog .dialog-top{position:sticky;top:-24px;background:var(--paper);padding:10px 0 14px;margin:0;z-index:1}
.document-dialog h2{font-size:25px;line-height:1.2;max-width:730px;padding-top:6px}
.document-images{background:#e5e6de;padding:20px;display:grid;gap:24px}
.document-images img{width:100%;height:auto;object-fit:contain;background:#fff}
.document-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}
.document-dialog-foot p{font-size:12px;color:var(--muted);max-width:430px}
.document-dialog-foot .button{flex:none}
@media(min-width:1600px){.hero{min-height:760px}.hero-image{min-height:660px}}
@media(max-width:1150px){
 .site-header nav{gap:16px;font-size:12px}.hero h1{font-size:62px}.hero-image{min-height:560px}.hero-call{font-size:19px}.hero-actions{gap:20px}.hero-lead{font-size:15px}.degree-grid .document-card{display:flex}.degree-grid .document-cover>div{height:265px}.document-grid{gap:20px}.document-card-copy{padding:22px}.document-card h3{font-size:24px}.document-grid.category-register{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .utility-bar{padding:0 4%;min-height:42px}.site-header nav{font-size:15px}.hero h1{font-size:53px}.hero-image{min-height:500px}.hero-lead{font-size:14px}.hero .eyebrow{font-size:9px}.hero-actions{gap:19px}.hero-call{font-size:20px}.hero-actions .button{font-size:12px}.proof-grid{gap:16px}.proof-item{padding:20px;gap:13px}.proof-item h3{font-size:15px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top>div{justify-self:start}.footer-top>p{font-size:11px}.source-link{font-size:12px}.online-feature,.coverage-teaser{gap:6%}.quote-widget{padding:35px}.contact-section{gap:6%}.contact-phone{font-size:31px}.contact-bottom{grid-template-columns:1fr}.formal-grid{gap:0 35px}.enquiry-cta{gap:7%}
}
@media(max-width:600px){
 body{padding-bottom:76px}.utility-bar{padding:0 5%;gap:8px}.utility-phone{font-size:13px}.utility-phone span{display:none}.language-switch a{min-width:34px;min-height:42px;font-size:10px}.hero{padding:30px 6% 35px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:53px;line-height:1.04}.hero .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:22px;max-width:100%}.hero-lead{font-size:15px;max-width:100%}.hero-actions{flex-direction:column;align-items:stretch;width:100%;gap:18px;margin-top:25px}.hero-actions .button{font-size:14px;width:100%;padding:17px 20px}.hero-call{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;font-size:22px;padding:6px 0}.hero-call small{font-size:12px;margin:0}.hero-note{font-size:11px;padding-top:22px}.hero-image{min-height:290px;margin-top:29px}.hero-image figcaption{font-size:9px}.principles{padding:20px 6%;gap:20px 16px}.principles div{font-size:19px;gap:15px}.intro-text{font-size:14px;gap:17px}.intro-section h2{font-size:34px}.section{padding-top:56px;padding-bottom:56px}.section-heading>p{font-size:14px;margin-top:22px}.service-row p{font-size:13px;line-height:1.75}.service-row h3{font-size:25px}.service-row{gap:11px;padding:25px 0}.online-feature,.coverage-teaser,.enquiry-cta{display:block}.online-feature h2,.coverage-teaser h2,.enquiry-cta h2,.trust-section h2{font-size:39px}.online-feature>div+div,.coverage-teaser>div{margin-top:25px}.online-feature p.body-large{font-size:17px}.online-feature p:not(.eyebrow){font-size:14px}.enquiry-cta>div:last-child{margin-top:30px;gap:20px}.enquiry-cta p:not(.eyebrow){font-size:14px}.enquiry-cta .button{width:100%;font-size:14px}.cta-phone{font-size:31px}.process-grid{gap:27px 22px}.process-grid h3{font-size:23px}.process-grid p{font-size:13px}.section-tail{gap:18px;margin-top:28px}.section-tail .button{width:100%}.proof-grid{grid-template-columns:1fr;margin-bottom:24px;gap:13px}.proof-item{padding:20px}.proof-item h3{font-size:15px}.proof-item p{font-size:12px}.degree-grid,.document-grid,.document-grid.category-register{grid-template-columns:1fr;gap:23px}.degree-grid .document-card{display:flex}.document-cover,.degree-grid .document-cover{padding:20px 25px 0}.document-cover>div,.degree-grid .document-cover>div{height:300px}.document-cover>span,.degree-grid .document-cover>span{font-size:12px}.document-card-copy,.degree-grid .document-card-copy{padding:24px}.document-card h3,.degree-grid .document-card h3{font-size:28px}.document-card-copy .eyebrow,.degree-grid .document-card-copy .eyebrow{font-size:9px}.document-card-copy p:not(.eyebrow){font-size:14px}.document-card-copy .source-link{font-size:13px}.credential-group .section-heading h2{font-size:35px}.document-disclosure{padding-top:25px;padding-bottom:25px}.coverage-teaser p{font-size:15px}.faq-list summary{font-size:15px;padding:22px 0}.faq-list details>div{font-size:14px;padding-right:15px}.contact-section{padding:55px 6%}.contact-copy h2{font-size:40px}.contact-copy>p:not(.eyebrow){font-size:15px}.contact-copy .button{font-size:14px;width:100%}.contact-phone{font-size:37px;letter-spacing:-.04em}.contact-details{margin-top:35px}.contact-label{font-size:10px}.contact-bottom{grid-template-columns:1fr 1fr;gap:20px}.contact-bottom p{font-size:13px}.contact-bottom a,.contact-bottom .small{font-size:11px!important}.email-hint{font-size:11px}.email-reveal{font-size:14px;min-height:47px}.email-revealed a{font-size:17px!important}.footer-phone{font-size:22px}.footer-top>p{font-size:12px;flex-basis:100%}.footer-top>div{min-width:0;flex-basis:100%}.footer-links{gap:13px 23px;font-size:12px;padding:0 0 22px}.footer-bottom{font-size:9px;line-height:1.6}.footer-bottom>span:last-child{margin-left:0}.mobile-contact{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.1fr;background:var(--paper);box-shadow:0 -2px 20px #123e3322;padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px;min-height:70px}.mobile-contact>a{display:flex;align-items:center;justify-content:center;gap:11px;font-size:12px;line-height:1.3;padding:8px}.mobile-contact>a:first-child{flex-direction:column;gap:3px}.mobile-contact>a:first-child span{font-size:9px;color:var(--muted)}.mobile-contact strong{font-size:17px;font-weight:600;letter-spacing:.02em}.mobile-contact>a:last-child{background:var(--ink);color:var(--paper);text-align:left;font-size:12px}.mobile-contact>a:last-child>span{font-size:20px}.subpage-hero h1{font-size:43px}.subpage-lead{font-size:15px;line-height:1.8}.subpage-hero>.eyebrow{font-size:9px;letter-spacing:1.2px}.breadcrumbs{font-size:11px;margin-bottom:32px}.page-actions{gap:12px;margin-top:26px}.page-actions .button{font-size:13px;min-height:52px;flex:1 0 100%}.subpage-hero .page-actions .button{margin:0}.article-content p{font-size:15px}.article-content p.body-large{font-size:17px}.article-content .info-note{font-size:13px!important}.preparation-list p{font-size:14px}.large-list li{font-size:14px}.formal-grid{grid-template-columns:1fr;margin-top:28px;gap:0}.formal-grid dd{font-size:15px}.formal-grid dt{font-size:11px}.formal-grid>div{padding:23px 0}.legal-content h2{font-size:32px}.legal-content p,.policy-content p{font-size:14px}.source-link+.source-link{margin-left:0;display:block}.cost-types h2{font-size:31px;max-width:none}.cost-types p{font-size:14px}.cost-types .eyebrow{font-size:10px}.wizard-section{padding:35px 4%}.quote-widget{padding:27px 20px}.quote-widget-heading h2{font-size:32px}.quote-widget-heading p{font-size:14px}.quote-progress{margin-bottom:28px}.quote-progress>p{font-size:9px;letter-spacing:1.2px}.quote-progress ol{gap:6px}.quote-progress li{font-size:9px;line-height:1.5;overflow-wrap:anywhere}.quote-progress li span{display:block;margin:0 0 3px}.quote-step legend{font-size:27px;margin-bottom:16px}.quote-widget .choice-grid label>span{font-size:14px;padding:14px;min-height:54px;gap:15px}.quote-widget .field-label{font-size:13px}.quote-widget .field-help{font-size:12px;line-height:1.7}.quote-controls{gap:14px}.quote-controls .button{min-width:140px;font-size:13px;padding:15px}.quote-estimate{padding:21px 18px}.quote-estimate strong{font-size:40px}.quote-estimate p{font-size:13px}.quote-result h3{font-size:28px}.quote-actions .button{width:100%;font-size:13px}.quote-actions{gap:12px}.quote-widget .back-button{font-size:12px}.quote-checkbox{font-size:13px}.quote-grid{gap:22px}.quote-privacy{font-size:11px!important}.quote-error{font-size:13px}.contact-dialog{padding:23px}.contact-dialog h2{font-size:34px}.contact-dialog .dialog-phone{font-size:30px;letter-spacing:-.025em}.dialog-close{width:42px;height:42px;min-width:42px}.contact-dialog>.button{font-size:13px;width:100%}.document-dialog{padding:16px}.document-dialog .dialog-top{top:-16px;gap:15px}.document-dialog h2{font-size:22px}.document-images{padding:8px;gap:15px}.document-dialog-foot{display:block}.document-dialog-foot .button{margin-top:17px;font-size:13px;width:100%}.document-dialog-foot p{font-size:11px}.not-found h1{font-size:42px}
}
@media(max-width:359px){.hero h1{font-size:47px}.contact-phone{font-size:32px}.process-grid{grid-template-columns:1fr}.quote-widget{padding:24px 16px}.language-switch a{min-width:30px}.utility-phone{font-size:12px}.hero-call{font-size:21px}.contact-bottom{grid-template-columns:1fr}.brand{font-size:21px}.brand small{font-size:6px;letter-spacing:1.1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.utility-bar,.site-header,.mobile-contact,.site-footer,.contact-section,dialog,.quote-controls,.quote-actions{display:none!important}body{padding:0;background:white}.section{padding:25px 0}.document-card{break-inside:avoid}.quote-widget{border:0;box-shadow:none}.subpage-hero{padding:25px 0;background:white}}

@media(max-width:600px){.principles{grid-template-columns:repeat(2,minmax(0,1fr))}.principles div{min-width:0;gap:9px;font-size:17px;justify-content:flex-start;overflow-wrap:anywhere}.principles span{flex:none}}

html:not(.email-ready) .email-control{display:none}
.contact-float{position:fixed;right:25px;bottom:24px;z-index:18;box-shadow:0 6px 22px #10342a25;padding:14px 19px;min-height:48px;font-size:12px}
@media(max-width:600px){html.dialog-ready .contact-float{display:none}}

.category-register{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.category-register{grid-template-columns:1fr}}
