:root{--paper:#f5f7fb;--white:#fff;--ink:#151924;--muted:#5b6270;--blue:#164cf5;--blue-dark:#113dc6;--line:#dce1ea;--wrap:76rem;--focus:#ffae33;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:.22em}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;hyphens:auto;line-height:1.08;letter-spacing:-.045em}h1,h2{font-weight:700}h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.3}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 6px var(--white)}.wrap{max-width:var(--wrap);width:calc(100% - 4rem);margin-inline:auto}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:.5rem;left:1rem;z-index:100;background:var(--ink);color:var(--white);padding:.75rem 1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.header{border-bottom:1px solid var(--line);background:rgba(245,247,251,.96);position:relative;z-index:10}.header-inner{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-size:1.85rem;line-height:1;text-decoration:none;font-weight:800;letter-spacing:-.07em;white-space:nowrap}.brand span{color:var(--blue)}.nav{display:flex;align-items:center;gap:2.2rem;font-size:.875rem;font-weight:600}.nav>a{text-decoration:none;padding:.6rem 0;position:relative;min-height:2.75rem;display:inline-flex;align-items:center}.nav>a:hover{color:var(--blue)}.nav .nav-contact{padding:.7rem 1.2rem;border:1px solid var(--ink);border-radius:.55rem}.nav .nav-contact:hover{background:var(--ink);color:var(--white)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:.5rem;align-items:center;gap:.65rem;min-height:44px;padding:.5rem .7rem;font-size:.875rem;font-weight:700}.menu-lines{width:16px;height:10px;display:block;border-block:2px solid currentColor}.eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.875rem;font-weight:600;letter-spacing:.005em;margin-bottom:1.65rem;line-height:1.5}.eyebrow-line{height:2px;width:1.4rem;background:var(--blue);flex-shrink:0}.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:1rem;padding-block:5.6rem 4rem}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(3.7rem,6.3vw,5.75rem);line-height:1.04;max-width:9.7em;letter-spacing:-.062em}.hero h1 span{color:var(--blue);display:block}.hero-lead{font-size:1.125rem;line-height:1.7;max-width:30rem;color:var(--muted);margin-top:1.8rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.75rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.35rem;min-width:0;max-width:100%;border:1px solid transparent;border-radius:.5rem;padding:.95rem 1.4rem;font-size:.9375rem;font-weight:700;line-height:1.3;text-decoration:none;text-align:center;transition:background-color .18s,transform .18s}@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}}.blue{background:var(--blue);color:var(--white)}.blue:hover{background:var(--blue-dark)}.white{background:var(--white);color:var(--ink)}.white:hover{background:#e9efff}.text-link{display:inline-flex;align-items:center;min-height:2.75rem;max-width:100%;font-size:.9375rem;font-weight:700;line-height:1.5;text-decoration:underline;text-decoration-color:#adb9d3;text-decoration-thickness:1px}.text-link:hover{text-decoration-color:currentColor}.hero-note{font-size:.875rem;color:var(--muted);margin-top:1.45rem}.hero-art{position:relative;padding-bottom:4rem;margin-right:-3rem;min-width:0}.hero-art>img{width:100%;mix-blend-mode:multiply}.hero-price{max-width:calc(100% - 1rem);position:absolute;bottom:0;right:3rem;padding:1.3rem 1.65rem;width:16.7rem;background:var(--white);border:1px solid var(--line);border-radius:.8rem;box-shadow:0 8px 30px #18234008;transform:rotate(-3deg)}.small-label{font-size:.75rem;letter-spacing:.08em;font-weight:700;line-height:1.5;display:block}.hero-price-value{display:block;white-space:nowrap;font-size:3.4rem;line-height:1.2;font-weight:700;letter-spacing:-.07em;margin:.25rem 0}.hero-price-tax{display:block;font-size:.875rem;color:var(--muted)}.trust-strip{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:2rem;padding:1.6rem 0 1.7rem;font-size:.875rem;font-weight:600;line-height:1.5}.trust-strip p{margin:0;display:flex;align-items:center;gap:.85rem}.strip-icon{flex:0 0 auto;font-size:.75rem;line-height:1.5;color:var(--blue);border:1px solid #c9d3f1;padding:.2rem .4rem;border-radius:.3rem;font-variant-numeric:tabular-nums}.section{padding-block:6.5rem}h2{font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.08}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.65rem}.section-top .eyebrow{margin:0}.section-index{font-size:.75rem;font-weight:600;letter-spacing:.06em;opacity:.65}.reference{background:var(--ink);color:var(--white)}.reference-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center}.reference-copy>p{color:#b6bcc8;margin-block:1.5rem 2rem;max-width:24rem;font-size:1.0625rem}.reference-panel{background:#272d38;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:22rem;padding:2rem 2.3rem;border:1px solid #3d4451;border-radius:.75rem;color:var(--white);text-decoration:none;transition:border-color .2s,background .2s}.reference-panel:hover{background:#2d3441;border-color:#829bdc}.case-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem;font-size:.75rem;letter-spacing:.06em;font-weight:600;color:#c5cbd5}.case-title{overflow-wrap:anywhere;hyphens:auto;font-size:clamp(2.6rem,4.4vw,4.1rem);line-height:1.04;font-weight:700;letter-spacing:-.06em}.case-title span{color:#779bff}.case-bottom{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;color:#c5cbd5;flex-wrap:wrap}.case-open{border-bottom:1px solid #6c7482;font-size:.875rem;color:var(--white)}.service{background:var(--white)}.service-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}.service-heading>p:not(.eyebrow){max-width:27rem;margin-top:1.5rem}.muted{color:var(--muted)}.service-list article{display:grid;grid-template-columns:2.5rem 1fr;gap:1.1rem;border-top:1px solid var(--line);padding:1.55rem 0}.service-list article:first-child{padding-top:1rem;border-top:0}.service-number{color:var(--blue);font-size:.875rem;font-weight:700;line-height:1.5;padding-top:.1rem}.service-list h3{margin-bottom:.7rem}.service-list p{color:var(--muted);max-width:34rem}.pricing{background:var(--paper)}.pricing-grid{display:grid;grid-template-columns:1fr .9fr;gap:5rem;align-items:start}.price-intro h2{font-size:clamp(2.7rem,4vw,3.7rem)}.price-intro>p{font-size:1.0625rem;margin-top:1.7rem;color:var(--muted);max-width:29rem}.price-details{margin-top:2.65rem;max-width:28rem}.price-details p{padding-block:1.25rem;border-top:1px solid var(--line);color:var(--muted)}.price-details strong{display:block;color:var(--ink);margin-bottom:.6rem;font-size:1rem}.price-card{background:var(--blue);color:var(--white);border-radius:.85rem;padding:2.25rem 2.5rem}.price{display:flex;align-items:baseline;gap:.16em;white-space:nowrap;font-size:min(6rem,22vw);font-weight:700;line-height:1.1;letter-spacing:-.07em;margin-top:1rem}.price .price-currency{font-size:.55em;letter-spacing:0}.price .price-amount{font-size:inherit}.price-tax{font-size:.875rem;color:#e0e7ff;margin-top:.5rem;line-height:1.65}.included{padding:1.4rem 0 0;margin:1.4rem 0 1.8rem;border-top:1px solid #ffffff40;list-style:none}.included li{position:relative;padding-left:1.6rem;line-height:1.55;font-size:.9375rem;margin-bottom:.7rem}.included li::before{content:'✓';position:absolute;left:0;color:#dce6ff;font-size:1rem}.full{width:100%}.price-foot{font-size:.875rem;line-height:1.65;color:#e2e8ff;margin-top:1.2rem}.aftercare{border-bottom:1px solid var(--line);display:grid;grid-template-columns:.85fr 1fr 1fr;gap:2.5rem;padding:2.65rem 0;margin-top:1.5rem}.aftercare .small-label{color:var(--muted);margin-bottom:.65rem}.aftercare h3{font-size:1.5rem}.aftercare strong{display:block;margin-bottom:.65rem;line-height:1.5}.aftercare p{font-size:1rem;color:var(--muted)}.extended{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin-top:1.8rem}.extended p{font-size:1rem;color:var(--muted);max-width:52rem}.extended strong{color:var(--ink)}.extended a{white-space:nowrap}.process{background:var(--white)}.process-intro{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:5rem}.process-intro>p{color:var(--muted);font-size:1.0625rem;margin-bottom:.4rem;max-width:28rem}.process-steps{list-style:none;padding:0;margin:3.75rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.process-steps li{border-top:1px solid var(--line);padding-top:1.35rem}.step{font-size:.875rem;color:var(--blue);font-weight:700;display:inline-block;margin-bottom:1.5rem}.process-steps h3{margin-bottom:.85rem}.process-steps p{font-size:1rem;color:var(--muted)}.delivery{margin-top:3.5rem;border-left:3px solid var(--blue);padding:.25rem 0 .25rem 1.3rem;display:grid;grid-template-columns:1fr 2fr;gap:2rem}.delivery strong{max-width:14rem;font-size:1rem;line-height:1.5}.delivery p{font-size:1rem;color:var(--muted);max-width:40rem}.about{background:#e9eef8}.about-grid{display:grid;grid-template-columns:.65fr 1fr;align-items:center;gap:7rem}.about-mark{color:#b8c8ee;font-size:clamp(5rem,12vw,10rem);font-weight:700;line-height:1;letter-spacing:-.09em;padding-block:2rem;border-block:1px solid #c7d2e7}.about-mark span{font-size:.875rem;color:var(--ink);font-weight:600;letter-spacing:.1em;display:block;margin-top:1.4rem}.about h2{font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:1.5rem}.about p:not(.eyebrow){max-width:34rem;color:#4d5668}.about .text-link{display:inline-block;margin-top:1.5rem}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.faq h2{font-size:clamp(2.5rem,4vw,3.5rem)}.faq-grid>div>p:not(.eyebrow){margin-top:1.5rem;max-width:25rem;color:var(--muted)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:1.0625rem;font-weight:600;line-height:1.5;cursor:pointer;padding:1.3rem 2.1rem 1.3rem 0;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:.2rem;top:1.15rem;font-size:1.4rem;font-weight:400;color:var(--blue)}.faq-list details[open] summary::after{content:'−'}.answer{padding:0 1.75rem 1.4rem 0;color:var(--muted);font-size:1rem}.contact{background:var(--blue);color:var(--white)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:6rem;align-items:center}.contact h2{font-size:clamp(2.7rem,4.5vw,4rem)}.contact-grid>div>p:not(.eyebrow){max-width:30rem;margin-top:1.6rem;color:#e2e8ff}.contact-prompts{padding-left:1.2rem;font-size:1rem;line-height:1.7;margin-top:1.5rem;color:#e2e8ff}.contact-prompts li{padding-left:.3rem;margin-top:.3rem}.contact-box{background:#ffffff0d;border:1px solid #ffffff40;border-radius:.7rem;padding:2rem}.contact-name{font-size:1.4rem;font-weight:700;margin-top:1.5rem}.email-address{display:block;font-size:clamp(1rem,1.6vw,1.15rem);font-weight:600;line-height:1.5;margin:1rem 0 1.8rem;overflow-wrap:anywhere;text-decoration-color:#aabffb}.copy-email{display:block;width:100%;min-height:44px;padding:.6rem;border:0;background:transparent;color:var(--white);text-decoration:underline;text-underline-offset:.2em;font-size:.875rem;margin-top:.6rem}.copy-email[hidden]{display:none}.copy-status{font-size:.875rem;min-height:1.4em;margin-top:.3rem!important;color:#fff!important}.contact-small{font-size:.875rem;color:#e2e8ff;line-height:1.6;margin-top:1rem!important}.footer{background:var(--white);padding:2.5rem 0 1.3rem}.footer-main{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;padding-bottom:1.7rem;border-bottom:1px solid var(--line)}.footer-main p{font-size:.875rem;color:var(--muted);flex:1;margin:0}.footer-main>a:last-child{font-size:.875rem}.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.3rem;flex-wrap:wrap;color:var(--muted);font-size:.875rem}.footer-bottom p{margin:0}.legal-main{padding-block:4.5rem 6rem;max-width:49rem}.legal-main h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem}.legal-main h2{font-size:1.5rem;line-height:1.4;margin-block:2.4rem .8rem;letter-spacing:-.02em}.legal-main p,.legal-main li{color:var(--muted)}.legal-main a{color:var(--blue)}.legal-updated{font-size:.875rem}.legal-back{display:inline-flex;margin-bottom:2rem;font-weight:700;font-size:.9375rem}.menu-toggle[hidden]{display:none}
@media(min-width:85rem){.hero-art{margin-right:-4rem}.hero-price{right:4rem}}
@media(max-width:67rem){.wrap{width:calc(100% - 3rem)}.nav{gap:1.25rem}.hero-grid{padding-top:4rem;gap:0}.hero h1{font-size:clamp(3.1rem,6.2vw,4.5rem)}.hero-art{margin-right:-1.5rem}.hero-price{right:1.5rem;width:14.5rem;padding:1.1rem 1.3rem}.hero-price-value{font-size:3rem}.reference-grid,.service-grid,.pricing-grid,.faq-grid{gap:3rem}.about-grid{gap:4rem}.contact-grid{gap:3rem}.price-card{padding:2rem}.trust-strip{gap:1.5rem}.process-intro{gap:3rem}.aftercare{gap:1.75rem}}
@media(max-width:50rem){html{scroll-padding-top:1rem}.header-inner{min-height:5rem;gap:1rem;flex-wrap:wrap;padding-block:1.15rem}.brand{font-size:1.65rem}.nav{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:1rem 1.5rem}.nav .nav-contact{padding:.5rem .8rem}.has-js .menu-toggle{display:inline-flex}.has-js .nav{display:none}.has-js .nav[data-open=true]{display:flex;padding-top:.7rem}.hero-grid{grid-template-columns:1fr;padding:3.25rem 0 2.5rem}.hero-copy{max-width:37rem}.hero h1{font-size:clamp(3.4rem,9.1vw,5rem);max-width:11em}.hero-lead{max-width:32rem}.hero-art{margin:1.3rem auto 0;width:min(100%,33rem);padding-bottom:1.5rem}.hero-art>img{width:100%}.hero-price{right:0;bottom:0;width:14.7rem}.trust-strip{grid-template-columns:1fr;gap:.9rem;padding:1.5rem 0 2rem}.section{padding-block:4.25rem}.reference-grid,.service-grid,.pricing-grid,.faq-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.reference-copy>p,.service-heading>p:not(.eyebrow),.price-intro>p,.price-details{max-width:38rem}.reference-panel{min-height:20rem}.reference-copy h2 br,.price-intro h2 br{display:none}.service-list article:first-child{border-top:1px solid var(--line);padding-top:1.4rem}.pricing-grid{gap:1.5rem}.price-details{margin-top:1.5rem}.price-card{max-width:37rem;width:100%}.aftercare{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem;margin-top:.5rem}.extended{display:block;margin-top:1.5rem}.extended>a{display:inline-block;margin-top:1rem}.process-intro{grid-template-columns:1fr;gap:1.5rem}.process-steps{gap:1.5rem;margin-top:2.5rem}.process-steps h3{font-size:1.125rem}.delivery{grid-template-columns:1fr;gap:.75rem;margin-top:2.5rem}.delivery strong{max-width:none}.about-mark{font-size:5.5rem;padding-block:1.4rem;max-width:15rem}.about-grid{gap:2rem}.about-mark span{margin-top:.8rem}.contact-box{max-width:36rem}.faq-grid{gap:2rem}.footer-main{gap:1.25rem}.footer-main p{flex-basis:65%}.section-top{margin-bottom:2rem}.section-index{display:none}.legal-main{padding-block:3rem 4rem}}
@media(max-width:34rem){.wrap{width:calc(100% - 2.25rem)}body{font-size:1rem}.eyebrow{margin-bottom:1.2rem}.hero h1{font-size:clamp(2.85rem,11.2vw,3.8rem);letter-spacing:-.055em;max-width:10.5em}.hero-lead{font-size:1rem;margin-top:1.4rem}.actions{gap:1.2rem;margin-top:1.5rem}.actions .button{padding-inline:1.2rem}.hero-note{font-size:.875rem}.hero-art{margin-top:1.5rem;padding-bottom:3rem}.hero-price{width:14.2rem;right:.5rem}.hero-price-value{font-size:2.8rem}.hero-price .small-label{font-size:.75rem}.trust-strip{font-size:.875rem}.section{padding-block:3.5rem}h2{font-size:2.65rem}.reference-grid{gap:2rem}.reference-panel{padding:clamp(1rem,5vw,1.5rem);min-height:19rem;gap:3rem}.case-title{overflow-wrap:anywhere;hyphens:auto;font-size:2.9rem}.case-top{font-size:.75rem}.reference-copy .button{width:100%;font-size:.875rem;padding-inline:.9rem}.service-list article{grid-template-columns:1.65rem 1fr;gap:.6rem}.price-intro h2{font-size:2.55rem}.price-card{padding:clamp(1rem,5vw,1.65rem)}.price{font-size:min(5.3rem,22vw)}.included li{font-size:.9375rem}.process-steps{grid-template-columns:1fr;gap:1.6rem}.step{margin-bottom:.6rem}.process-steps h3{font-size:1.25rem}.about h2,.faq h2{font-size:2.5rem}.contact h2{font-size:2.75rem}.contact-grid{gap:2rem}.contact-box{padding:clamp(1rem,5vw,1.5rem)}.contact-name{margin-top:1.1rem}.email-address{font-size:1rem}.footer-main{align-items:flex-start}.footer-main p{flex-basis:100%;order:3}.footer-main>a:last-child{margin-left:auto}.footer-bottom{gap:.5rem;font-size:.875rem}.legal-main h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.reference-panel{transition:none}.button:hover{transform:none}}
@media(forced-colors:active){.button,.price-card,.hero-price,.contact-box,.reference-panel{border:1px solid CanvasText}.hero h1 span{color:LinkText}}
@media print{.header,.hero-art,.contact,.footer,.actions,.skip-link{display:none}.wrap{width:100%;max-width:none}.section{padding-block:1rem;background:white!important;color:black!important}.reference-grid,.service-grid,.pricing-grid,.about-grid,.faq-grid{display:block}.reference-panel{display:none}.price-card{background:white;color:black;border:1px solid black;page-break-inside:avoid}.price-tax,.price-foot,.reference-copy>p,.answer,.included li{color:black!important}details .answer{display:block}.process-steps{gap:1rem}}

.hero-grid>*,.reference-grid>*,.service-grid>*,.pricing-grid>*,.faq-grid>*,.contact-grid>*,.about-grid>*,.aftercare>*,.process-intro>*,.process-steps>*,.delivery>*{min-width:0}

/* Keep amounts and their units together, even when text is enlarged. */
.money,.nowrap{white-space:nowrap;hyphens:none;overflow-wrap:normal;word-break:normal}
.money{font-variant-numeric:lining-nums tabular-nums}
.price{flex-wrap:nowrap}
.price-amount,.price-currency{flex:0 0 auto}
.hero-price-tax{line-height:1.6}
.hero h1{line-height:1.08}
.copy-status,.legal-main a{overflow-wrap:anywhere}
.extended a{white-space:normal}
@media(max-width:34rem){.wrap{width:calc(100% - min(2.25rem,9vw))}}
@media(max-width:22rem){.brand{white-space:normal;line-height:1.1;overflow-wrap:normal}}
@media(max-width:50rem){.nav>a{min-height:2.75rem}.header-inner>*{min-width:0}}
@media(max-width:34rem){.hero-art{padding-bottom:0}.hero-price{position:relative;right:auto;bottom:auto;margin:-2rem 0 0 auto;width:min(100%,18rem);max-width:100%;padding-inline:clamp(.75rem,4vw,1.3rem);transform:none}.hero-price-value{font-size:min(2.8rem,14vw)}.case-title{font-size:min(2.9rem,11.5vw)}}

/* Project enquiry form */
.contact-grid{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:4rem;align-items:start}
.contact-intro{position:sticky;top:2rem}
.contact-intro .contact-box{margin-top:2rem;padding:1.5rem}
.contact-intro .contact-name{margin-top:.8rem}
.contact-offer{margin-top:2rem;padding-block:1.4rem;border-block:1px solid #ffffff40}
.contact-offer>.small-label{margin-bottom:.65rem;color:#dce6ff}
.contact-offer>strong{display:inline-block;font-size:2.35rem;line-height:1.1;letter-spacing:-.04em;margin-right:.65rem}
.contact-offer>span:not(.small-label){font-size:.875rem;color:#e2e8ff}
.contact-offer>p{font-size:.9375rem;color:#e2e8ff;line-height:1.6;margin-top:.8rem;max-width:27rem}
.brief-form{background:var(--white);color:var(--ink);border:1px solid #ffffff55;border-radius:1rem;padding:clamp(1rem,3.2vw,2.5rem);width:100%;max-width:48rem}
.brief-form [hidden]{display:none!important}
.form-heading h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.04em}
.form-heading>p{font-size:.9375rem;color:var(--muted);line-height:1.6;margin-top:.75rem}
.brief-form fieldset{padding:0;margin:0;border:0;min-width:0}
.brief-form legend:not(.sr-only){font-size:1.125rem;font-weight:700;margin-bottom:1.15rem;padding:0;line-height:1.4;max-width:100%}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1rem}
.form-heading,.form-setup{margin-bottom:1.7rem}
.field{min-width:0}
.field-wide{grid-column:1/-1}
.field label{display:block;font-size:.9375rem;font-weight:700;line-height:1.5;margin-bottom:.5rem}
.field label>span[aria-hidden]{color:var(--blue)}
.optional-label{font-size:.875rem;line-height:1.5;font-weight:400;color:var(--muted);letter-spacing:0}
.field label>.optional-label{display:inline-block;margin-left:.35rem}
.field input,.field textarea,.field select{font:inherit;font-size:1rem;line-height:1.5;color:var(--ink);border:1px solid #7c889e;border-radius:.45rem;background:#f8faff;display:block;width:100%;max-width:100%;min-width:0;min-height:3.2rem;padding:.8rem .9rem;box-shadow:none}
.field textarea{resize:vertical;min-height:6rem}
.field select{padding-right:2rem;text-overflow:ellipsis}
.field input::placeholder,.field textarea::placeholder{color:#687283;opacity:1}
.field input:hover,.field textarea:hover,.field select:hover{border-color:#7789aa}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid var(--blue);outline-offset:2px;border-color:var(--blue);background:var(--white)}
.field [aria-invalid=true]{border-color:#b42318;background:#fffaf9}
.field-hint,.field-error{font-size:.875rem;line-height:1.55;margin-top:.45rem!important}
.field-hint{color:var(--muted)}
.field-error{color:#a12017;font-weight:600}
.brief-details{border:1px solid var(--line);border-radius:.6rem;margin-top:1.7rem;min-width:0}
.brief-details>summary{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .75rem;list-style:none;cursor:pointer;position:relative;min-height:3.7rem;padding:1rem 2.7rem 1rem 1.2rem;font-weight:700;font-size:1rem;line-height:1.5;border-radius:.6rem}
.brief-details>summary::-webkit-details-marker{display:none}
.brief-details>summary::after{content:'+';position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;color:var(--blue)}
.brief-details[open]>summary{border-bottom:1px solid var(--line);border-radius:.6rem .6rem 0 0}
.brief-details[open]>summary::after{content:'−'}
.brief-details-body{padding:1.3rem 1.2rem 1.5rem}
.details-intro{font-size:.9375rem;color:var(--muted);line-height:1.65;margin-bottom:1.7rem}
.brief-details fieldset+fieldset{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.form-bottom{margin-top:1.7rem}
.form-privacy,.form-small{font-size:.875rem;color:var(--muted);line-height:1.6}
.brief-form a{color:var(--blue)}
.form-submit{margin-top:1.4rem;font-size:1rem;min-height:3.4rem}
.form-submit:disabled{background:#e3e8f2;color:#647087;cursor:not-allowed;transform:none}
.form-small{text-align:center;margin-top:.7rem}
.brief-email-help{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.8rem}
.brief-email-help a{display:inline-flex;align-items:center;min-height:2.75rem;min-width:0;max-width:100%;font-weight:700;margin-top:.4rem}
.email-copy{margin-top:1rem}
.email-copy label{font-size:.9375rem}
.form-setup{font-size:.9375rem;line-height:1.6;border-left:3px solid var(--blue);padding:.9rem 1rem;background:#edf2ff;color:#34446b}
.form-errors{border:1px solid #e4b0aa;border-left:3px solid #b42318;border-radius:.45rem;background:#fff7f5;padding:1rem;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6}
.form-errors p{color:#8a2018}
.form-errors ul{padding-left:1.2rem;margin:.5rem 0 0}
.form-errors a{color:#8a2018}
.form-errors:focus,.form-status:focus,.captcha-widget:focus{outline:3px solid var(--blue);outline-offset:4px}
.form-status{margin-top:1.2rem;border-radius:.45rem;padding:1rem;font-size:1rem;line-height:1.6;background:#edf2ff;color:#244479}
.form-status[data-state=success]{background:#edf8f1;color:#225139;border:1px solid #c5e5d1}
.form-status[data-state=error]{background:#fff7f5;color:#8a2018;border:1px solid #e4b0aa}
.captcha-panel{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:1.2rem}
.captcha-title{font-size:.9375rem;font-weight:700}
.captcha-load{border:1px solid #7c889e;background:var(--white);color:var(--ink);border-radius:.45rem;font-size:.875rem;font-weight:600;line-height:1.5;padding:.7rem .9rem;min-height:2.75rem;max-width:100%;margin-top:.9rem}
.captcha-load:disabled{color:var(--muted);cursor:wait}
.captcha-widget{min-width:0;max-width:100%;margin-top:1rem}
.bot-trap{display:none}
.brief-form .contact-mode{margin-bottom:1.6rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.brief-form .contact-mode legend{font-size:1rem;margin-bottom:.75rem}
.contact-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.contact-mode-options label{display:flex;align-items:center;gap:.6rem;min-height:3.25rem;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;font-size:.9375rem;line-height:1.45;cursor:pointer}
.contact-mode-options label:has(input:checked){border-color:var(--blue);background:#edf2ff}
.contact-mode-options input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin:0;accent-color:var(--blue)}
.contact-mode-options label:focus-within{outline:3px solid var(--blue);outline-offset:3px}
.brief-form[data-kind="message"] .form-fields>.field{grid-column:1/-1}
.email-app-link{display:flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:.65rem;font-size:.9375rem;text-align:center}
.email-help-actions{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.email-help-actions>a{display:inline-flex;align-items:center;min-height:2.75rem}
.submit-diagnostic{margin-top:1rem;font-size:.875rem;line-height:1.5}
.submit-diagnostic summary{cursor:pointer;min-height:2.75rem;padding-block:.7rem;font-weight:600}
.submit-diagnostic p{margin-top:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:.4rem;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:38rem){.contact-mode-options{grid-template-columns:minmax(0,1fr)}}
@media(max-width:67rem){.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-intro{position:static;max-width:42rem}.contact-intro .contact-box{max-width:30rem}.brief-form{max-width:none}}
@media(max-width:38rem){.form-fields{grid-template-columns:minmax(0,1fr)}.brief-details-body{padding:1.1rem clamp(.7rem,3vw,1.2rem)}.brief-details>summary{padding-left:1rem}.contact-grid{gap:2rem}.contact-intro .contact-box{padding:clamp(1rem,5vw,1.5rem)}}
@media(max-width:34rem){.brief-form{padding:clamp(.75rem,4vw,1rem)}}
@media(prefers-reduced-motion:reduce){.form-submit:hover{transform:none}}
@media(forced-colors:active){.brief-form,.brief-details,.form-status,.form-errors,.form-setup,.contact-offer,.captcha-load{border:1px solid CanvasText}.field input,.field textarea,.field select{border-color:CanvasText}}
