:root{color-scheme:light;--paper:#f7f5ee;--ink:#18271f;--muted:#506156;--accent:#c9f36a;--line:#cdd4c8;--panel:#e9ede1;--dark:#192e22}
:root:has(body.pro){--paper:#f5f5fb;--ink:#181a30;--muted:#525570;--accent:#d1c7ff;--line:#d6d7e5;--panel:#e9e9f6;--dark:#262348}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.62 system-ui,sans-serif}a{color:inherit;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #735bec;outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.5rem;z-index:3}.skip:focus{top:1rem}.wrap{width:min(1170px,calc(100% - 3rem));margin-inline:auto}header{border-bottom:1px solid var(--line)}header .wrap,footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-block:1rem}.brand{font-weight:850;letter-spacing:-.06em;font-size:1.48rem;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}nav a{text-decoration:none;font-weight:650}nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.17fr 1fr;gap:3rem;align-items:center;padding-block:clamp(3rem,8vw,7rem)}h1,h2,h3,p{margin:0 0 .8rem}h1,h2,h3{line-height:1.08;letter-spacing:-.047em}h1{font-size:clamp(3rem,7vw,6.6rem);max-width:12ch}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.45rem}p{max-width:67ch;color:var(--muted)}.lede{font-size:1.22rem}.eyebrow{font:700 .76rem/1.35 ui-monospace,monospace;letter-spacing:.15em;margin-bottom:1.2rem}.button,button{display:inline-block;padding:.76rem 1.05rem;border-radius:.4rem;border:1px solid var(--ink);background:var(--accent);color:var(--ink);font:inherit;font-weight:740;text-decoration:none;cursor:pointer}.button:hover,button:hover{filter:brightness(.94)}.actions{display:flex;align-items:center;gap:.75rem 1.25rem;flex-wrap:wrap;margin-top:1.5rem}.board{background:var(--dark);color:white;padding:clamp(1.2rem,3.5vw,2.6rem);border-radius:1.1rem}.board p{color:#e4e3ed}.board ol{padding:0;list-style:none;margin:0;counter-reset:steps}.board li{counter-increment:steps;border-top:1px solid #ffffff38;padding:.95rem 0 .15rem;display:grid;grid-template-columns:3.4rem 1fr}.board li::before{content:'0' counter(steps);color:var(--accent);font:700 1rem ui-monospace,monospace}.section{padding-block:3rem;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{padding:1.4rem;background:var(--panel);border-radius:.7rem}.card a{font-weight:730}.page-head{padding-block:4rem 2rem}.page-head h1{font-size:clamp(2.75rem,6vw,5rem);max-width:19ch}.reading{max-width:760px}.reading article{padding:1.5rem 0;border-top:1px solid var(--line)}.reading article h2{font-size:1.65rem}.callout{padding:1.5rem;margin:2rem 0;background:var(--panel);border-radius:.7rem}label{display:block;font-weight:700;margin-bottom:1rem}input,textarea{display:block;width:100%;max-width:45rem;border:1px solid var(--muted);border-radius:.35rem;background:white;color:var(--ink);padding:.7rem;font:inherit;margin-top:.35rem}textarea{resize:vertical}.draft{margin-top:1rem}.floating{position:fixed;right:max(.8rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom));display:flex;gap:.5rem}.floating a{padding:.52rem .75rem;box-shadow:0 2px 12px #0002}.top{background:var(--paper)}[hidden]{display:none!important}footer{border-top:1px solid var(--line);padding-bottom:3rem}footer small{color:var(--muted)}details{border-top:1px solid var(--line);padding:.8rem 0}summary{cursor:pointer;font-weight:700}.price{font-size:2.1rem;font-weight:820;color:var(--ink);letter-spacing:-.04em}
@media(max-width:750px){.hero,.grid{grid-template-columns:1fr}.hero{gap:2rem}.wrap{width:calc(100% - 2rem)}header .wrap{align-items:flex-start}h1{max-width:14ch}.page-head{padding-top:2.5rem}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
table{border-collapse:collapse;width:100%;margin-block:1rem;font-variant-numeric:tabular-nums}caption{text-align:left;font-weight:740}th,td{padding:.55rem .35rem;border-bottom:1px solid var(--line);text-align:left}
.service-photo{margin:1rem 0}.service-photo img{display:block;width:100%;height:auto;border-radius:.5rem}.service-photo figcaption{margin-top:.45rem;color:var(--muted);font-size:.9rem}.contact-channels{margin:0 0 1rem}.contact-qr{margin-bottom:1rem}.contact-qr img{display:block;width:min(100%,240px);height:auto;margin:.65rem 0;background:white}
.task-links{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;margin:1.25rem 0 1.5rem}.task-links a{font-weight:650}select{display:block;width:100%;max-width:45rem;border:1px solid var(--muted);border-radius:.35rem;background:white;color:var(--ink);padding:.7rem;font:inherit;margin-top:.35rem}fieldset{border:0;padding:0;margin:1rem 0}legend{font-weight:700;margin-bottom:.75rem}.table-scroll{max-width:100%;overflow:auto}
.evidence-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem}.evidence-grid h2{font-size:clamp(1.9rem,3.8vw,3rem)}.page-contents{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;background:var(--panel);padding:1.3rem;border-radius:.6rem;margin:0 0 2rem;font-size:.95rem}.page-contents p{font-weight:750;margin-bottom:.3rem}.related{padding:1.5rem 0;border-top:1px solid var(--line)}.related h2{font-size:1.6rem}.service-directory{margin-bottom:2rem}.service-directory h2{font-size:1.5rem}.footer-main nav{max-width:600px}.footer-contact{padding-top:0!important;font-size:.92rem}.notice-date{font-size:.9rem}article[id]{scroll-margin-top:1.5rem}.button,button,summary,nav a{min-height:44px}summary{padding:.35rem 0}.page-contents a{padding:.2rem 0}
@media(max-width:750px){.evidence-grid{grid-template-columns:1fr;gap:1.25rem}.footer-main{align-items:flex-start!important}.footer-main nav{gap:.4rem 1.2rem}}
body:has(input:focus,textarea:focus,select:focus) .floating{visibility:hidden}
.article-copy{max-width:67ch;color:var(--muted)}.article-copy table{color:var(--ink);font-size:.94rem}.fee-line{font-size:1.05rem;font-weight:800;color:var(--ink);background:var(--panel);padding:.55rem .75rem;border-radius:.4rem;display:inline-block}.estimate-result output{display:block;color:var(--ink);font-size:2rem;font-weight:800}.reading .card{padding:1.3rem;border-radius:.6rem}.other-brand{margin-top:1rem}
.breadcrumbs{padding-top:1.25rem;font-size:.9rem;letter-spacing:0;gap:0}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;list-style:none;padding:0;margin:0;color:var(--muted)}.breadcrumbs li{display:flex;align-items:center;gap:.6rem;min-height:32px}.breadcrumbs li+li:before{content:'/';color:var(--muted)}.breadcrumbs a{min-height:32px;display:inline-flex;align-items:center}.breadcrumbs+[data-page-id] .page-head{padding-top:2rem}.faq-group{padding:2rem 0;border-top:1px solid var(--line);scroll-margin-top:1.25rem}.faq-group h2{font-size:1.65rem}.faq-group details p{margin-top:.8rem}.faq-group details>a{display:inline-block;margin-bottom:.5rem}.faq-group details:target{outline:2px solid var(--muted);outline-offset:4px}#faq-filter>p{margin-top:1rem}.reply-options{margin:1rem 0 1.5rem}.reply-options summary{margin-bottom:.8rem}.small-note{font-size:.9rem;margin-top:1rem}
.floating.avoid-controls{visibility:hidden}
.locale-switch{display:flex;flex-wrap:wrap;gap:.35rem 1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);scroll-margin-top:1rem}.locale-switch p{width:100%;font-weight:700;font-size:.9rem;margin:0}.locale-switch a{display:inline-flex;align-items:center;min-height:44px;padding:.15rem .2rem}.locale-switch [aria-current=page]{font-weight:800;text-decoration-thickness:2px}.language-menu{position:relative;border:0;padding:0;margin:0 0 0 auto}.language-menu summary{padding:.35rem .6rem;font-size:.9rem;border:1px solid var(--line);border-radius:.4rem;min-height:44px;display:flex;align-items:center}.language-menu>nav{position:absolute;right:0;top:100%;width:230px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;background:var(--paper);padding:1rem;border:1px solid var(--line);border-radius:.4rem;z-index:5;box-shadow:0 6px 18px #0002}.language-menu:not([open])>nav{display:none}.language-menu nav a{min-height:44px;display:flex;align-items:center}.language-menu nav p{font-size:.85rem;font-weight:700}.language-notice{font-size:.92rem;margin-top:1rem}.review-notice{padding:.65rem 1rem;text-align:center;background:#fbe6a6;color:#332400;font-size:.9rem;font-weight:700}.localized-guide .page-head h1{font-size:clamp(2.5rem,5.5vw,4.4rem)}.localized-guide .section[id]{scroll-margin-top:1rem}.footer-main>div p{font-size:.9rem;margin:.5rem 0}
@media(max-width:750px){header .language-menu summary{max-width:100px;line-height:1.3}.language-menu{margin-left:auto}.floating a{max-width:calc(100vw - 2rem)}.localized-guide h1{overflow-wrap:break-word}.locale-switch{gap:.2rem .7rem}}

/* Shared brand system: typography, rhythm and task hierarchy. No image assets. */
:root{--paper:#fafbf7;--ink:#19372b;--muted:#52645b;--accent:#d2ee93;--line:#dce3d9;--panel:#f0f4e9;--dark:#193b2c;--brand-solid:#285b3f;--surface:#fff}
:root:has(body.pro){--paper:#faf9fc;--ink:#28233f;--muted:#635f73;--accent:#e0d7fa;--line:#e2deeb;--panel:#f0edf6;--dark:#302846;--brand-solid:#5d477e}
body{font-family:Inter,"Helvetica Neue",Arial,"PingFang SC",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
.wrap{width:min(1200px,calc(100% - 4rem))}
h1,h2,h3{text-wrap:balance;letter-spacing:-.035em;font-weight:700}
h1{line-height:1.08}h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.16;max-width:27ch;margin-bottom:1.5rem}h3{line-height:1.3;letter-spacing:-.02em}
p{margin-bottom:1.1rem}a{ text-decoration-thickness:1px;text-underline-offset:.25em}
header{background:var(--surface);border-top:4px solid var(--brand-solid);border-bottom:1px solid var(--line)}
header .wrap{padding-block:1.1rem;gap:1rem 1.75rem}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-size:1.4rem;letter-spacing:-.055em;white-space:nowrap}
.brand::before{content:'';width:13px;height:25px;flex:none;background:var(--brand-solid);border-radius:3px 3px 8px 3px;transform:skew(-10deg)}
header nav{gap:.25rem 1.35rem;font-size:.88rem}header nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
header nav[aria-label="Main navigation"] a:last-child{padding-inline:1.05rem;background:var(--ink);color:white;border-radius:6px}
.language-menu summary{border:0;background:var(--panel);font-size:.8rem;padding:.45rem .7rem}
.eyebrow{display:flex;align-items:center;gap:.65rem;color:var(--brand-solid);font-family:inherit;font-size:.72rem;font-weight:700;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1.3rem}
.eyebrow::before{content:'';height:2px;width:24px;background:currentColor;flex:none}
.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3.5rem,7vw,6.5rem);align-items:center}
.hero h1{font-size:clamp(2.8rem,4.5vw,4.4rem);max-width:18ch;margin-bottom:1.6rem;line-height:1.08}
.hero .lede{font-size:1.13rem;line-height:1.75;max-width:49ch}
.hero>div>p:not(.lede):not(.eyebrow):not(.fee-line){font-size:.88rem;max-width:57ch}
.fee-line{background:transparent;border-left:3px solid var(--brand-solid);border-radius:0;padding:.2rem 0 .2rem .8rem;font-size:.92rem;font-weight:650;margin-bottom:1.3rem}
.actions{gap:.8rem 1.5rem;margin-top:1.8rem}.actions>a:not(.button){display:inline-flex;min-height:44px;align-items:center;font-size:.9rem;font-weight:600}
.button,button{background:var(--brand-solid);color:white;border:1px solid var(--brand-solid);padding:.85rem 1.3rem;border-radius:6px;font-size:.94rem;font-weight:650;line-height:1.5}
.button:hover,button:hover{filter:brightness(.9)}
.board{border-radius:12px;padding:2.1rem 2.2rem;background:var(--dark);box-shadow:0 16px 40px -26px var(--dark);border-top:4px solid var(--accent)}
.board .eyebrow{color:var(--accent);font-size:.68rem;letter-spacing:.12em;max-width:none;margin-bottom:1.5rem}
.board li{grid-template-columns:2.8rem minmax(0,1fr);padding:1.05rem 0 .5rem}.board li::before{font-size:.8rem;padding-top:.2rem}.board h3{font-size:1.04rem;color:white;margin-bottom:.4rem}.board p{font-size:.88rem;line-height:1.65;color:#e0e5e0}
.section{padding-block:clamp(3rem,5vw,5rem);border-color:var(--line)}
main [data-page-id]> .section:nth-of-type(even){background:var(--surface)}
.grid{gap:1.25rem;margin-top:1.65rem}.card,.reading .card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.8rem}
.card h3,.directory-group .card h3{font-size:1.24rem;line-height:1.3;margin-bottom:.85rem}.card h2{font-size:1.45rem}.card p{font-size:.95rem;line-height:1.75}.card p:last-child{margin-bottom:0}.card a{text-decoration:none}.card a:hover{text-decoration:underline}
.scenario-grid .card{border-top:3px solid var(--brand-solid);background:var(--panel)}
.task-links{gap:.6rem 1.5rem;font-size:.92rem}.task-links a{font-weight:600}
.page-head{padding-block:3.5rem 2.8rem}.page-head h1{font-size:clamp(2.5rem,4.6vw,4.1rem);max-width:22ch;line-height:1.12;margin-bottom:1.5rem}.page-head .lede{font-size:1.12rem;line-height:1.8;max-width:60ch}
.reading{max-width:820px}.reading article{padding-block:2.2rem}.reading article h2{font-size:1.65rem;line-height:1.25;margin-bottom:1.1rem}.article-copy{max-width:68ch}.reading ul,.reading ol{padding-left:1.3rem}.reading li{padding-left:.2rem;margin-bottom:.55rem}
.page-contents{background:var(--panel);border-left:3px solid var(--brand-solid);border-radius:0 6px 6px 0;padding:1.5rem 1.8rem;gap:.55rem}
.callout{background:var(--panel);border:1px solid var(--line);padding:1.8rem;border-radius:8px}
details{padding:1rem 0}summary{line-height:1.5;letter-spacing:-.01em}details[open]>summary{color:var(--brand-solid);margin-bottom:.7rem}
th,td{padding:.9rem .8rem;vertical-align:top;font-size:.92rem}thead{background:var(--panel)}
input,textarea,select{border-color:var(--line);border-radius:6px;padding:.85rem}input:focus,textarea:focus,select:focus{border-color:var(--brand-solid)}
.service-photo{margin:0}.service-photo img{border-radius:8px}.service-photo figcaption{font-size:.78rem;line-height:1.6;margin-top:.8rem}.evidence-grid{gap:3.5rem}
.breadcrumbs{font-size:.78rem;padding-top:1.5rem}.breadcrumbs+[data-page-id] .page-head{padding-top:2.8rem}
footer{background:var(--dark);color:white;margin-top:2rem;padding:2rem 0 calc(5rem + env(safe-area-inset-bottom));border:0}footer .wrap{align-items:flex-start;padding-block:1.5rem;gap:2.5rem}footer .brand::before{background:var(--accent)}footer .footer-main>div{max-width:290px}footer p,footer small{color:#d7d6de}footer nav{font-size:.82rem;gap:.7rem 1.5rem}footer nav a{font-weight:500}footer .footer-contact{border-top:1px solid #ffffff26;padding-top:1.5rem!important;font-size:.85rem}
.floating{gap:.5rem;z-index:10}.floating a{padding:.72rem 1rem;border-radius:6px;font-size:.83rem;box-shadow:0 3px 15px #0002}.floating .top{background:var(--surface);color:var(--ink);border-color:var(--line)}
@media(min-width:1000px){.section:has(.scenario-grid){padding-block:3.6rem}.scenario-grid{gap:1.3rem}}
@media(max-width:1000px){header .wrap{gap:.5rem 1rem}header nav{gap:.25rem 1rem}.hero{gap:2rem}.board{padding:1.6rem}.brand{font-size:1.25rem}}
@media(max-width:750px){
 .wrap{width:calc(100% - 2.5rem)}header .wrap{padding-block:.7rem;align-items:center}header nav[aria-label="Main navigation"]{width:100%;gap:.1rem 1.05rem;font-size:.8rem}header nav[aria-label="Main navigation"] a:last-child{padding-inline:.8rem}header .language-menu summary{max-width:145px}
 .hero{grid-template-columns:1fr;padding-block:2.8rem;gap:2.3rem}.hero h1{font-size:clamp(2.5rem,9vw,3.5rem);max-width:19ch}.hero .lede{font-size:1.04rem}.board{padding:1.5rem}.board li{padding-block:.85rem .3rem}.board .eyebrow{margin-bottom:1rem}
 .grid,.scenario-grid,.evidence-grid{grid-template-columns:1fr}.grid{gap:1rem}.card,.reading .card{padding:1.4rem}.section{padding-block:2.8rem}h2{font-size:1.9rem}.page-head{padding-block:2.5rem 2rem}.page-head h1{font-size:clamp(2.2rem,8.5vw,3rem);overflow-wrap:break-word}.page-head .lede{font-size:1.04rem}.reading article{padding-block:1.7rem}.reading article h2{font-size:1.45rem}.evidence-grid{gap:1.8rem}
 footer .wrap{flex-direction:column;gap:1.5rem}footer nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.5rem 1.2rem}footer nav a{display:flex;align-items:center;min-height:44px}.actions{gap:.6rem 1rem}.floating{right:.75rem}.floating a{min-height:44px}
}
@media(prefers-reduced-motion:no-preference){.button,button{transition:background-color .15s,filter .15s}}
@media(max-width:750px){header nav[aria-label="Main navigation"]{gap:.1rem .65rem;font-size:.78rem}header nav[aria-label="Main navigation"] a:last-child{padding-inline:.65rem}}

/* 1688 numeric badge and companion wordmark. */
.brand{gap:.65rem;letter-spacing:-.055em;font-size:1.55rem;line-height:1.1;min-height:44px}
.brand::before{content:none}.brand-mark{display:block;width:42px;height:42px;flex:none}.brand-word{font-weight:800}footer .brand-mark{width:44px;height:44px}
@media(max-width:750px){.brand{font-size:1.35rem;gap:.5rem}.brand-mark{width:36px;height:36px}}

/* Three customer starting points, shared by the English homepages. */
.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-grid h3{font-size:1.3rem;line-height:1.2}.scenario-grid p{line-height:1.55}
@media(max-width:750px){.scenario-grid{grid-template-columns:1fr}}

/* Group the service directory around the customer’s current task. */
.directory-group{scroll-margin-top:1.5rem}.directory-group>h2{font-size:clamp(1.65rem,3vw,2.25rem)}.directory-group .card h3{font-size:1.35rem;line-height:1.2}.directory-group .service-directory{margin-top:1.25rem}.directory-jumps{margin-bottom:2rem}.directory-group .card a{display:inline-flex;align-items:center;min-height:44px}
/* Resource reading paths keep each destination beside its purpose. */
.resource-group{scroll-margin-top:1.5rem}.resource-group>h2{font-size:clamp(1.7rem,3vw,2.25rem)}.resource-list{list-style:none;margin:1.25rem 0 0;padding:0}.resource-list li{padding:.8rem 0;border-top:1px solid var(--line)}.resource-list a{display:inline-flex;align-items:center;min-height:44px;font-weight:730}.resource-list p{margin:.25rem 0 0}.resource-cases>h2{font-size:clamp(1.7rem,3vw,2.25rem)}.resource-cases .grid{margin-top:1.25rem}

/* Keep quotation and illustrative list columns readable on narrow screens. */
.quote-review-table,.quote-status-table{min-width:38rem}.template-example-table{min-width:42rem}.quote-review-table th,.quote-review-table td,.quote-status-table th,.quote-status-table td,.template-example-table th,.template-example-table td{vertical-align:top}.table-scroll-hint{display:none;font-size:.9rem;margin-top:.5rem}
@media(max-width:750px){.table-scroll-hint{display:block}}
/* Keep the English home proposition and request action readable together. */
.hero{padding-block:clamp(2.5rem,5vw,4.5rem)}.hero h1{font-size:clamp(2.6rem,4.4vw,4.1rem);max-width:19ch;line-height:1.06}.hero .lede{max-width:52ch}.service-request h2{font-size:clamp(1.8rem,3.5vw,2.6rem);max-width:28ch}
@media(max-width:750px){.hero h1{font-size:clamp(2.25rem,9vw,3.3rem);max-width:18ch}}
