/* Shared visual refinements and the service-category journey. */
:root{--ink:#173f53;--green:#214f4b;--muted:#53666a;--line:#dce3dc;--paper:#fbfaf6}
body{font-size:16px}
.eyebrow{font-size:11px;letter-spacing:1.6px}
.button{min-height:48px;border-radius:10px;font-size:14px}
.text-link{font-size:14px}
.brand{flex-shrink:0}
.brand-logo{width:198px;height:auto;object-fit:contain}
.brand-logo-full{width:150px;height:auto}
.header-inner{height:100px}
.header-inner nav a{font-size:14px}
.audience-switch{font-size:12px;min-height:44px;border-radius:30px}
.site-header{background:#fbfaf6f2;backdrop-filter:blur(12px)}
.hero{position:relative;padding-block:65px 75px;gap:58px}
.hero:before{content:"";position:absolute;left:-40px;top:35px;width:180px;height:180px;background:#e5eee680;filter:blur(50px);border-radius:50%;z-index:-1;pointer-events:none}
.hero .eyebrow{font-size:10px;letter-spacing:1.3px}
.hero-description{font-size:17px;line-height:1.8}
.hero-copy h1{font-size:clamp(44px,4.7vw,68px);text-wrap:balance}
.hero-actions .button{font-size:13px}
.hero-actions .text-link{font-size:13px}
.hero-note{font-size:13px}
.hero-visual>img{border-radius:150px 24px 24px 24px}
.hero-photo-label,.floating-note{font-size:12px}
.promise-inner>span{font-size:13px}
.section-heading>p{font-size:15px;max-width:390px}
.service-grid{align-items:stretch;gap:28px}
.service-card{border:1px solid #e0e5de;border-radius:18px;transition:box-shadow .25s,transform .25s}
.service-card:hover{box-shadow:0 16px 38px #193d4610;transform:translateY(-4px)}
.category-card-link{height:100%;display:flex;flex-direction:column}
.category-card-link:focus-visible{outline-offset:-5px;border-radius:18px}
.service-photo>img,.portfolio-photo{transition:transform .5s}
.category-card-link:hover .service-photo>img,.category-card-link:hover .portfolio-photo{transform:scale(1.035)}
.service-number{width:36px;height:36px;font-size:12px;backdrop-filter:blur(8px)}
.service-card-content{padding:25px 25px 0;display:flex;flex-direction:column;flex:1}
.category-count{font-size:10px;letter-spacing:1.3px;color:#5e7366;margin-bottom:12px;font-weight:600}
.service-card h3{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2}
.service-card-content>p{font-size:14px;line-height:1.8;margin-bottom:22px;min-height:0}
.category-card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-block:17px;margin-top:auto;font-size:13px;font-weight:600}
.category-card-action .circle-arrow{height:34px;width:34px;background:#eff3e8;border:0;transition:background .2s}
.category-card-link:hover .circle-arrow{background:#dce8ce}
.section-footnote{font-size:13px;line-height:1.8}
.section-footnote a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.process-section{position:relative;overflow:hidden;background:linear-gradient(120deg,#183f4a,#255a4b)}
.process-grid p{font-size:15px;max-width:none}
.process-section .button{font-size:14px}
.body-copy{font-size:16px;line-height:1.85}
.faq-section>div>p:last-child{font-size:15px}
.faq summary{font-size:16px;line-height:1.6;padding-block:24px}
.faq>div{font-size:15px}
.faq summary .icon{flex-shrink:0}
.contact-section{background:linear-gradient(130deg,#e8efea,#f2f3e7)}
.contact-grid{grid-template-columns:.85fr 1.15fr;gap:70px}
.contact-copy>p:not(.eyebrow){font-size:16px;max-width:390px}
.contact-reassurance{font-size:13px;max-width:360px;color:#536451}
.form-card{border:1px solid #e0e6db;border-radius:22px;padding:32px;box-shadow:0 18px 55px #26463808}
.form-tabs{border-radius:12px}
.form-tabs button{font-size:14px;min-height:46px;border-radius:9px}
.form-title p{font-size:13px}
.field>label{font-size:14px}
.field>label>small{font-size:11px;color:#59685d}
.field input:not([type=checkbox]),.field select,.field textarea{font-size:16px;min-height:48px;border-radius:8px}
.field textarea{height:112px}
.field input[type=file]{font-size:13px}
.field-help,.form-note,.form-bottom,.checkbox-row label,.field-errors,.form-alert{font-size:12px;color:#55675b}
.field-errors,.form-alert{color:#983329}
.checkbox-row{gap:12px}.checkbox-row input{width:18px;height:18px}
.form-note{line-height:1.8}
.submit-button{font-size:14px}
.selection-summary{border-left:3px solid #7eaa5e;background:#f0f5ea;padding:17px 19px;margin-bottom:24px;border-radius:0 10px 10px 0}
.selection-summary span{display:block;font-size:10px;letter-spacing:1.3px;font-weight:600;color:#587548}
.selection-summary strong{display:block;font-size:17px;margin-top:6px}
.selection-summary small{display:block;font-size:12px;margin-top:6px;color:#596d5b}
.footer-main{padding-block:44px;align-items:center}
.footer-main>div>p,.footer-links,.footer-main address{font-size:13px}
.footer-links button,.footer-bottom{font-size:12px}
.footer-main .brand-logo{width:225px}
.footer-bottom{line-height:1.8}
.welcome-top .brand-logo{width:210px}
.welcome-heading{margin-top:34px}
.welcome-heading>p:last-child{font-size:16px}
.choice-description{font-size:14px;line-height:1.6;max-width:360px}
.choice-kicker,.choice-tag{font-size:10px}
.choice-content{padding:25px}
.choice-content strong{font-size:29px;line-height:1.2}
.welcome-bottom,.quiet-label{font-size:11px}
.welcome{background:radial-gradient(ellipse at top right,#e9f0e3 0,transparent 45%),var(--paper)}
/* Dedicated category pages */
.category-intro{background:linear-gradient(115deg,#f0f3eb 0%,#f7f7ef 60%,#e8f0ee 100%);overflow:hidden;border-bottom:1px solid var(--line)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#637575;padding-block:25px}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.breadcrumbs [aria-current]{color:var(--ink)}
.category-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center;padding-block:22px 67px}
.category-hero h1{font-size:clamp(42px,4.4vw,64px);line-height:1.08;text-wrap:balance}
.category-description{font-size:17px;line-height:1.8;color:var(--muted);margin-top:24px;max-width:520px}
.category-availability{font-size:12px;color:#597562}
.category-assurance{display:flex;gap:13px;align-items:center;font-size:13px;color:#5c7269;margin-top:31px}
.category-assurance strong{font-weight:500;color:#36554c}
.category-art{position:relative;padding:22px 0 25px}
.category-art:before{content:"";position:absolute;inset:0 10px 0 -20px;border:1px solid #b3c5b4;border-radius:130px 22px 100px 22px;transform:rotate(-5deg)}
.category-art .service-photo{border-radius:110px 20px 90px 20px;aspect-ratio:1.6;box-shadow:0 20px 40px #254f4310}
.category-art-note{position:absolute;bottom:5px;right:20px;display:flex;gap:15px;align-items:center;padding:15px 22px;background:#fff;border-radius:12px;font-size:13px;box-shadow:0 8px 30px #173f5312;transform:rotate(3deg)}
.category-art-note .icon{color:#6e9859;width:30px;height:30px}
.category-services{padding-top:70px}
.category-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:40px;align-items:start}
.detail-service-list{display:grid;gap:18px}
.detail-service{display:flex;gap:24px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.detail-service:hover{border-color:#b5c6aa;box-shadow:0 8px 26px #234c4607}
.detail-service-number{flex-shrink:0;background:#eff3e9;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:12px;color:#6c875a}
.detail-service-copy{min-width:0;flex:1}
.detail-service h3{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.3}
.service-description{font-size:15px;color:var(--muted);line-height:1.85;margin-top:13px}
.service-description p+p{margin-top:9px}
.detail-service-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #e9eee5}
.detail-service-bottom .price{font-size:13px;margin:0;color:#587443}
.detail-service-bottom .button{font-size:13px;padding:12px 17px;gap:20px;white-space:nowrap}
.journey-note{position:sticky;top:130px;padding:28px;background:#ecf1e5;border-radius:18px;border:1px solid #e0e6d5}
.journey-note .note-icon{background:#fff;border:0;width:46px;height:46px}
.journey-note h3{font:30px/1.2 var(--serif);letter-spacing:-.6px;margin:22px 0 16px}
.journey-note h3 em{color:#718563}
.journey-note>p{font-size:14px;color:#5e6f60;line-height:1.8}
.journey-note ol{list-style:none;padding:0;margin:26px 0;display:grid;gap:17px}
.journey-note li{font-size:12px;display:flex;gap:11px;align-items:center}
.journey-note li span{font-size:10px;border:1px solid #c1d1b7;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0}
.journey-note .journey-small{font-size:12px;border-top:1px solid #d4dfcb;padding-top:19px}
.category-explore{background:#edf2ed;padding-block:60px}
.category-explore h2{font-size:36px}
.category-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.category-pills a{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid #d9e2d5;border-radius:40px;padding:13px 20px;font-size:14px;transition:background .2s}
.category-pills a:hover{background:#dfeacd}
.category-pills a span{color:#759060}
.empty-services{padding:36px;background:#fff;border:1px solid var(--line);border-radius:16px}
.empty-services h3{margin:18px 0;font:28px var(--serif)}
.empty-services p{font-size:15px;color:var(--muted);margin-bottom:25px}
.empty-services a{margin-right:20px;margin-bottom:12px}
@media(max-width:1150px){.header-inner nav{gap:17px}.header-inner nav a{font-size:12px}.brand-logo{width:178px}.hero{gap:38px}.hero-actions{gap:15px}.category-hero{gap:45px}.contact-grid{gap:40px}.category-layout{gap:25px;grid-template-columns:minmax(0,1fr) 250px}.detail-service{padding:24px;gap:17px}.detail-service-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.header-inner{height:85px}.header-inner nav{top:85px}.hero-copy h1{font-size:46px}.hero-description{font-size:15px}.promise-inner>span{font-size:12px}.hero-note{font-size:12px}.contact-grid{grid-template-columns:1fr 1.2fr;gap:30px}.form-card{padding:24px}.category-hero{gap:30px}.category-hero h1{font-size:43px}.category-description{font-size:15px}.category-assurance{font-size:12px}.category-layout{grid-template-columns:1fr}.journey-note{position:static}.journey-note ol{display:flex;flex-wrap:wrap;gap:24px}.journey-note h3 br{display:none}.journey-note h3{margin-top:15px}.journey-note .note-icon{display:none}.detail-service-bottom{flex-direction:row;align-items:center}.choice-content strong{font-size:25px}.choice-description{font-size:13px}}
@media(max-width:640px){.container,.welcome-inner{width:calc(100% - 40px)}.header-inner{height:80px;gap:12px}.header-inner nav{top:80px}.header-inner nav a{font-size:15px;padding-block:5px}.brand-logo{width:166px}.audience-switch{width:42px;height:42px;padding:11px}.menu-toggle{width:42px;height:42px}.hero{padding-block:35px 45px;gap:30px}.hero-copy h1{font-size:47px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-description{font-size:16px}.hero-actions .button{font-size:13px;max-width:100%;gap:15px}.hero-note{font-size:12px}.hero-visual{height:335px}.hero-visual>img{border-radius:95px 18px 18px 18px}.hero-photo-label{font-size:11px;left:12px;bottom:15px}.floating-note{font-size:11px;right:-7px}.promise-inner>span{font-size:11px;line-height:1.5}.section-heading>p{font-size:15px}.service-card h3{font-size:27px}.service-card-content>p{font-size:15px}.service-card-content{padding:23px 23px 0}.service-card{border-radius:17px}.category-card-action{font-size:14px}.section-footnote{font-size:12px}.process-grid p,.body-copy{font-size:15px}.contact-grid{grid-template-columns:1fr;gap:28px}.form-card{padding:24px 18px}.form-title h3{font-size:27px}.form-title p{font-size:12px}.field>label{font-size:14px}.field input:not([type=checkbox]),.field select,.field textarea{font-size:16px}.checkbox-row label{font-size:12px}.faq summary{font-size:15px}.faq>div{font-size:14px}.footer-main .brand-logo{width:220px}.footer-links{font-size:14px;gap:17px}.footer-links button{font-size:12px;line-height:1.8}.footer-bottom{font-size:11px}.welcome-top .brand-logo{width:185px}.welcome-heading{margin:28px auto}.welcome-heading h1{font-size:34px}.welcome-heading .eyebrow{font-size:9px}.welcome-heading>p:last-child{font-size:14px}.choice-content strong{font-size:26px}.choice-content{padding:21px}.choice-description{font-size:13px}.choice-kicker,.choice-tag{font-size:9px}.choice-photo{height:160px}.welcome-bottom{font-size:10px}.category-hero{grid-template-columns:1fr;gap:28px;padding-block:15px 42px}.breadcrumbs{font-size:11px;gap:8px;padding-block:19px}.category-hero h1{font-size:44px}.category-description{font-size:16px;margin-top:20px}.category-hero .hero-actions{gap:16px}.category-assurance{margin-top:23px}.category-art{margin:0 8px 0 14px}.category-art .service-photo{border-radius:85px 20px 70px 20px}.category-art-note{right:10px;font-size:12px;padding:12px 17px}.category-services{padding-block:46px}.category-layout{gap:24px}.detail-service{padding:23px 20px;gap:12px}.detail-service-number{width:28px;height:28px;font-size:10px;margin-top:3px}.detail-service h3{font-size:25px}.detail-service-bottom{flex-direction:column;align-items:flex-start;gap:15px;margin-top:18px;padding-top:18px}.detail-service-bottom .button{width:100%;justify-content:space-between;white-space:normal;text-align:left;font-size:13px}.service-description{font-size:14px}.journey-note{padding:24px}.journey-note ol{display:grid;gap:16px}.category-explore{padding-block:42px}.category-explore h2{font-size:32px}.category-pills{gap:10px}.category-pills a{font-size:13px;padding:12px 16px;max-width:100%;gap:16px}.empty-services{padding:25px}.category-availability{font-size:11px}}
@media(prefers-reduced-motion:reduce){.service-card,.category-card-link .portfolio-photo,.service-photo>img{transition:none;transform:none!important}}

/* Customer gallery and verified impact figures */
.impact-section{background:linear-gradient(125deg,#e8efe7,#f5f5ec);padding-block:76px;margin-top:20px}.impact-intro{display:grid;grid-template-columns:.75fr 1fr;gap:28px;align-items:end;margin-bottom:35px}.impact-intro h2{font:46px/1.1 var(--serif);letter-spacing:-1px}.impact-intro>p:last-child{font-size:15px;line-height:1.8;color:var(--muted);max-width:440px}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.impact-grid article{background:#fff;border:1px solid #dce5d7;border-radius:17px;padding:27px 25px;min-height:175px}.impact-grid strong{display:block;font:52px/1 var(--serif);color:#315b4c;letter-spacing:-1.5px}.impact-grid h3{font-size:16px;margin-top:15px}.impact-grid p{font-size:13px;color:var(--muted);line-height:1.65;margin-top:8px}
.gallery-hero{padding:82px 0 86px;background:radial-gradient(circle at 84% 5%,#d9e8d2 0,transparent 26%),linear-gradient(120deg,#eff3eb,#f9f8f2);border-bottom:1px solid var(--line)}.gallery-hero .container{max-width:920px;margin-left:max(calc((100% - 1160px)/2),20px)}.gallery-hero h1{font:clamp(48px,5.2vw,72px)/1.06 var(--serif);letter-spacing:-1.8px;margin-top:16px}.gallery-hero h1 em{color:#607a52;font-style:normal}.gallery-hero p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--muted);max-width:560px;margin:24px 0 29px}.gallery-section{padding-top:64px}.gallery-grid{columns:3;column-gap:22px}.gallery-card{break-inside:avoid;margin-bottom:22px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 10px 28px #254b4010}.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}.gallery-card:nth-child(3n+2) img{aspect-ratio:.83}.gallery-card-copy{padding:19px 20px 22px}.gallery-category{display:inline-block;font-size:10px;letter-spacing:1px;font-weight:700;color:#638354;text-transform:uppercase;margin-bottom:9px}.gallery-category:hover{text-decoration:underline;text-underline-offset:4px}.gallery-card h2{font:25px/1.25 var(--serif);letter-spacing:-.4px}.gallery-card p{font-size:13px;color:var(--muted);line-height:1.75;margin-top:10px}.gallery-empty{max-width:620px;padding:55px 36px;background:#f0f4ea;border:1px solid #dce5d6;border-radius:20px;text-align:center;margin:0 auto}.gallery-empty h2{font:36px/1.2 var(--serif);margin-block:13px}.gallery-empty p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:20px}
@media(max-width:800px){.impact-section{padding-block:54px}.impact-intro{grid-template-columns:1fr;gap:14px}.impact-intro h2{font-size:39px}.impact-grid{gap:13px}.impact-grid article{padding:22px 18px;min-height:150px}.impact-grid strong{font-size:42px}.gallery-hero{padding-block:62px}.gallery-grid{columns:2;column-gap:16px}.gallery-card{margin-bottom:16px}}@media(max-width:520px){.impact-grid{grid-template-columns:1fr}.impact-grid article{min-height:0}.gallery-hero h1{font-size:46px}.gallery-hero p:not(.eyebrow){font-size:15px}.gallery-section{padding-top:42px}.gallery-grid{columns:1}.gallery-card img,.gallery-card:nth-child(3n+2) img{aspect-ratio:1.18}.gallery-empty{padding:40px 24px}.gallery-empty h2{font-size:31px}}
