:root{--paper:#f3f0e8;--paper2:#e9e5da;--ink:#1b2a26;--muted:#53615b;--line:#cfcfc3;--forest:#20372e;--forest2:#2c483b;--clay:#c76745;--sage:#c7d6c6;--white:#fffdf8;--font:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--font)}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.042em}h1 em,h2 em{font-weight:400;color:var(--clay)}p{color:var(--muted)}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.skip-link{position:absolute;top:-60px;left:1rem;background:var(--white);padding:.6rem 1rem;z-index:100}.skip-link:focus{top:1rem}.eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.18em;font-weight:700;color:var(--forest);text-transform:uppercase}.orange-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--clay);margin-right:.45rem}.topline{height:30px;background:var(--forest);color:#cbd6ca;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,68px);font-size:.58rem;letter-spacing:.15em}.site-header{position:relative;z-index:20;height:88px;padding:0 clamp(18px,4vw,68px);display:flex;align-items:center;gap:3rem;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:.96rem;font-weight:800;letter-spacing:-.08em;white-space:nowrap}.brand-light{font-weight:400;letter-spacing:-.075em}.brand-symbol{width:28px;height:28px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;transform:skew(-13deg)}.brand-symbol i{display:block;background:var(--clay);height:65%}.brand-symbol i:nth-child(2){height:100%;background:var(--forest)}.brand-symbol i:nth-child(3){height:48%}.primary-nav{display:flex;gap:2rem;margin-left:auto}.primary-nav a{font-size:.78rem;font-weight:700;transition:color .2s}.primary-nav a:hover,.footer-grid a:hover{color:var(--clay)}.header-cta{border:1px solid var(--ink);padding:.72rem 1rem;font-size:.75rem;font-weight:700;white-space:nowrap}.header-cta span,.button span{margin-left:1.2rem}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--clay);border:1px solid var(--clay);padding:1rem 1.2rem;color:white;font-size:.76rem;font-weight:700;letter-spacing:.02em;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:#a94d30;transform:translateY(-2px)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:white}.button-outline{background:transparent;border-color:var(--paper);color:var(--paper)}.button-outline:hover{background:rgba(255,255,255,.1)}.quiet-link,.underlined{font-size:.8rem;font-weight:700}.quiet-link span,.underlined span{margin-left:.8rem}.underlined{display:inline-block;padding-bottom:.25rem;border-bottom:1px solid var(--clay)}.hero{display:grid;grid-template-columns:52% 48%;min-height:610px}.home-hero .hero-copy{padding:clamp(50px,7vw,110px) clamp(20px,5.7vw,92px) 55px clamp(20px,6.5vw,108px);display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(3.5rem,5.9vw,6.2rem);max-width:760px;margin:2.1rem 0 1.4rem}.hero-copy>p{font-size:1.09rem;max-width:530px;color:#45554d}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:1.6rem;flex-wrap:wrap}.hero-audience{margin-top:auto;padding-top:3.5rem;display:flex;flex-wrap:wrap;gap:1.4rem;color:#777e74;font-size:.58rem;font-weight:700;letter-spacing:.15em}.hero-audience span+span:before{content:'•';color:var(--clay);padding-right:1.3rem}.hero-art{position:relative;overflow:hidden;background:var(--forest);color:#e3eadf;min-height:600px}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#adc2ab21 1px,transparent 1px),linear-gradient(90deg,#adc2ab21 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,transparent,#000)}.art-index{position:absolute;top:38px;left:45px;font-size:.65rem;letter-spacing:.15em;z-index:3}.art-building{position:absolute;bottom:11%;left:19%;height:66%;width:59%;z-index:2;transform:skewY(-3deg)}.art-roof{height:15%;width:102%;border:2px solid #9eb7a7;background:#476352;transform:skewX(-17deg);box-shadow:14px 13px 0 #172a22}.art-storey{height:38%;width:95%;margin-left:3%;border:2px solid #acc5b0;border-top:0;background:#375a46;display:flex;gap:5%;padding:5% 8%;box-shadow:14px 8px 0 #172a22}.art-storey i{display:block;flex:1;border:2px solid #d3dcc8;background:linear-gradient(130deg,#d0d7bd 0 45%,#90a892 45% 47%,#b9c7af 47%)}.art-storey.art-two{background:#426c53}.art-base{height:5%;background:#ba7353;width:113%;margin-left:-4%;transform:skewX(-15deg)}.art-tag{position:absolute;z-index:4;background:var(--paper);color:var(--forest);padding:.75rem 1rem;font-size:.64rem;font-weight:800;letter-spacing:.12em;box-shadow:8px 8px 0 #10251c}.art-tag span{color:var(--clay);margin-right:1rem}.art-tag-a{top:24%;right:8%}.art-tag-b{bottom:26%;left:6%}.art-tag-c{bottom:11%;right:4%}.ticker{background:var(--sage);padding:.85rem 0;overflow:hidden;white-space:nowrap;color:var(--forest);font-size:.64rem;font-weight:800;letter-spacing:.28em}.ticker div{width:max-content;animation:marquee 45s linear infinite}.ticker span{color:var(--clay);padding:0 2rem}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:clamp(60px,7vw,120px) clamp(20px,6.5vw,108px)}.intro-section{display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;border-bottom:1px solid var(--line)}.intro-section h2,.section-heading h2,.distinction h2{font-size:clamp(2.7rem,4.4vw,4.6rem);margin:1.2rem 0 0}.intro-text{align-self:end;max-width:460px}.intro-text p{font-size:1.15rem;line-height:1.7}.services-section{background:var(--paper2)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading p{max-width:350px;margin-bottom:.4rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{position:relative;min-height:410px;background:var(--paper);padding:1.4rem;display:flex;flex-direction:column;overflow:hidden;transition:background .2s}.service-card:hover{background:#fffdf6}.service-card.featured{grid-column:span 2;min-height:410px}.card-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.62rem;text-transform:uppercase;font-weight:700;letter-spacing:.16em}.card-arrow{color:var(--clay);font-size:1.3rem}.card-visual{flex:1;display:flex;align-items:center;justify-content:center;min-height:130px}.card-visual img{height:160px;width:220px;object-fit:contain}.featured .card-visual img{height:175px;width:300px}.card-copy h3{font:400 clamp(1.45rem,2vw,2.1rem)/1.13 var(--serif);letter-spacing:-.03em;margin:.7rem 0}.card-copy h3 a:after{content:'';position:absolute;inset:0}.card-copy p{font-size:.84rem;max-width:440px}.card-link{font-size:.7rem;font-weight:700;border-bottom:1px solid var(--clay);padding-bottom:.3rem}.process-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:var(--forest);color:var(--paper)}.process-section .eyebrow,.process-section p{color:#bdcdc0}.process-lead h2{font-size:clamp(3rem,5vw,5rem);margin:1.2rem 0}.process-lead p{max-width:320px}.process-lead .button{margin-top:1.5rem}.process-list{border-top:1px solid #718b75}.process-list>div{display:grid;grid-template-columns:70px 1fr;column-gap:1rem;padding:1.55rem 0;border-bottom:1px solid #718b75}.process-list span{color:#e39a78;font-size:.76rem;font-weight:700}.process-list h3{font:400 1.65rem var(--serif);margin:0}.process-list p{grid-column:2;margin:.35rem 0 0;font-size:.82rem}.distinction{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.distinction-art{min-height:390px;background:#dcc7b8;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #c7ac9c}.distinction-art:before,.distinction-art:after{content:'';position:absolute;border:1px solid #a57963;inset:35px}.distinction-art:after{inset:70px;transform:rotate(14deg)}.distinction-mark{font:italic 5.5rem var(--serif);position:relative;z-index:1;color:var(--forest)}.distinction-art>span:last-child{position:absolute;bottom:22px;left:25px;font-size:.58rem;letter-spacing:.18em;font-weight:800;z-index:2}.distinction p{max-width:480px;font-size:1.05rem;line-height:1.8}.site-footer{background:#15271f;color:var(--paper)}.footer-lead{padding:clamp(60px,6vw,100px) clamp(20px,6.5vw,108px);display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid #486052}.footer-lead .eyebrow{color:#a9c2ac;position:absolute;align-self:flex-start}.footer-lead h2{font-size:clamp(2.8rem,4.6vw,5.2rem);margin:2rem 0 0}.footer-grid{padding:65px clamp(20px,6.5vw,108px);display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-grid p{max-width:310px;color:#b0bfb1;font-size:.8rem;margin:.7rem 0}.footer-grid h3{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:#b0bfb1;margin:0 0 .8rem}.footer-grid a,.text-button{font-size:.77rem;color:var(--paper)}.text-button{padding:0;border:0;background:none;text-align:left}.footer-bottom{padding:1.4rem clamp(20px,6.5vw,108px);border-top:1px solid #486052;color:#a9b5a8;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.07em}.page-hero{padding:70px clamp(20px,6.5vw,108px) 90px}.page-hero.compact{background:var(--paper);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3.2rem,5.7vw,6.6rem);max-width:960px;margin:1rem 0 1.4rem}.page-hero p{max-width:720px;font-size:1.12rem}.note-band{display:flex;gap:2rem;align-items:center;justify-content:space-between;background:var(--sage)}.note-band h2{font-size:2.8rem;margin:.7rem 0}.note-band p{max-width:490px;margin:0}.service-rail{background:var(--forest);color:#bed0bf;display:flex;justify-content:space-between;padding:.7rem clamp(20px,6.5vw,108px);font-size:.62rem;letter-spacing:.16em}.service-hero{display:grid;grid-template-columns:1fr .82fr;min-height:620px}.service-hero>div:first-child{padding:36px 6vw 90px 6.5vw;display:flex;align-items:flex-start;flex-direction:column}.breadcrumbs ol{display:flex;gap:.7rem;list-style:none;padding:0;margin:0 0 4rem;color:#6b7770;font-size:.66rem}.breadcrumbs li+li:before{content:'/';margin-right:.7rem;color:var(--clay)}.breadcrumbs a:hover{text-decoration:underline}.service-hero h1{font-size:clamp(3rem,4.9vw,5.7rem);margin:1.2rem 0 1.4rem;max-width:780px}.service-hero .lead{font:400 clamp(1.25rem,1.8vw,1.9rem)/1.4 var(--serif);color:var(--ink);max-width:620px}.service-hero .sublead{font-size:.95rem;max-width:570px}.service-visual{background:var(--sage);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:40px 30px}.service-visual>img{height:410px;width:100%;max-width:500px;object-fit:contain}.visual-caption{align-self:flex-end;font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.service-page-grid{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding:90px clamp(20px,6.5vw,108px)}.service-sidebar{position:sticky;top:25px;align-self:start;display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:1.3rem}.service-sidebar .eyebrow{margin-bottom:1.2rem}.service-sidebar a{border-bottom:1px solid var(--line);padding:.8rem 0;font-size:.78rem}.service-sidebar a:hover{color:var(--clay)}.service-introduction h2{font-size:3.3rem;margin:1rem 0 3rem}.detail-block{display:grid;grid-template-columns:50px 1fr;gap:1.5rem;border-top:1px solid var(--line);padding:2rem 0}.detail-number{font-size:.65rem;color:var(--clay);font-weight:700}.detail-block h3{font:400 1.7rem var(--serif);margin:0 0 .7rem}.detail-block p{max-width:680px;margin:0}.source-note{border-left:3px solid var(--clay);padding:1rem 1.5rem;background:var(--paper2)}.source-note span{font-size:.65rem;font-weight:700;letter-spacing:.16em}.source-note p{margin:.5rem 0 0}.source-note a{text-decoration:underline}.service-order-strip{background:var(--forest);color:var(--paper);padding:65px clamp(20px,6.5vw,108px);display:flex;align-items:end;justify-content:space-between;gap:2rem}.service-order-strip .eyebrow,.service-order-strip p{color:#c4d5c6}.service-order-strip h2{font-size:clamp(2.5rem,4vw,4rem);margin:.6rem 0}.faq-list{max-width:820px;margin-left:auto;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:1.2rem 0;font:400 1.25rem var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:400 1.2rem var(--font);color:var(--clay)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:640px}.related-section{background:var(--paper2)}.related-section h2{font-size:3.3rem;margin:1rem 0 2rem}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.related-grid .service-card{min-height:370px}.editorial-body{max-width:840px;margin:0 auto;padding:70px 20px 110px}.editorial-body h2{font-size:2rem;margin:2.2rem 0 1rem}.editorial-body p{font-size:1.08rem;line-height:1.85}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.article-card{background:var(--paper);padding:2.5rem}.article-card h2{font-size:2rem;margin:1rem 0}.article-meta{font-size:.7rem;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%}.contact-layout h2,.order-aside h2{font-size:2.8rem;margin:1rem 0}.form-panel{background:var(--white);border:1px solid var(--line);padding:clamp(22px,3vw,46px);box-shadow:9px 9px 0 #e0ded4}.form-panel label{display:block;color:var(--ink);font-size:.76rem;font-weight:700;margin-bottom:1.3rem}.form-panel input,.form-panel select,.form-panel textarea{display:block;width:100%;margin-top:.5rem;padding:.8rem;border:1px solid #aab5a9;border-radius:0;background:#fff;color:var(--ink);min-height:48px;outline-offset:1px}.form-panel textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-hint{font-size:.72rem}.form-hint a{text-decoration:underline}.notice{padding:1rem;margin:1rem 0;font-size:.84rem}.notice.success{background:#d6ead6}.notice.error{background:#fbe3dc;color:#8c3929}.honeypot{position:absolute;left:-10000px}.order-hero{padding-bottom:55px}.order-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:7%;align-items:start}.order-form fieldset{border:0;padding:0;margin:0 0 2.5rem}.order-form legend{font:400 1.7rem var(--serif);padding:0 0 1rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line);width:100%}.order-aside{padding:2rem;background:var(--sage);position:sticky;top:2rem}.aside-rule{border-bottom:1px solid #94ae96;margin:2rem 0}.review-layout{max-width:950px;margin:auto}.review-card{background:var(--white);padding:clamp(25px,5vw,60px);border:1px solid var(--line)}.review-card h2{font-size:2.8rem}.review-card dl{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.review-card dt{font-size:.75rem;font-weight:700}.review-card dd{margin:0}.review-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:1.5rem 0;font-size:1.1rem}.review-card .quiet-link{display:inline-block;margin:1rem 0 0 2rem}.confirmation{min-height:65vh}.confirmation-details{display:grid;grid-template-columns:100px 1fr;gap:.7rem;padding:2rem;margin:2rem 0;background:var(--white);max-width:490px}.confirmation-details span{font-size:.65rem;letter-spacing:.1em}.consent{position:fixed;z-index:100;bottom:16px;left:16px;right:16px;max-width:800px;background:var(--white);border:1px solid var(--ink);padding:1rem 1.2rem;box-shadow:7px 7px 0 #15271f66;display:flex;align-items:center;justify-content:space-between;gap:1rem}.consent[hidden]{display:none}.consent p{font-size:.75rem;margin:.2rem 0 0}.consent-actions{display:flex;gap:.5rem;flex-shrink:0}.consent button{border:1px solid var(--ink);background:transparent;padding:.55rem .75rem;font-size:.72rem}.consent button[data-consent=accept]{background:var(--forest);color:white}.small{font-size:.7rem!important}
@media(max-width:1050px){.site-header{gap:1.4rem}.primary-nav{gap:1rem}.hero h1{font-size:4.5rem}.hero-art{min-height:550px}.service-hero h1{font-size:4.2rem}}
@media(max-width:780px){.topline span:last-child,.header-cta{display:none}.site-header{height:72px}.menu-toggle{display:flex;align-items:center;gap:.5rem;margin-left:auto;background:none;border:0;font-size:.8rem;font-weight:700}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:1.5rem 20px;border-bottom:1px solid var(--line);flex-direction:column;gap:1.2rem;box-shadow:0 12px 20px #0002}.primary-nav.open{display:flex}.hero,.intro-section,.process-section,.distinction,.service-hero,.service-page-grid,.contact-layout,.order-layout{grid-template-columns:1fr}.home-hero .hero-copy{min-height:500px}.hero-art{min-height:460px}.hero-audience{padding-top:2rem}.section-heading{display:block}.section-heading p{margin:1.5rem 0 0}.service-grid,.related-grid{grid-template-columns:repeat(2,1fr)}.service-card.featured{grid-column:span 2}.process-section{gap:3rem}.distinction{gap:3rem}.service-hero>div:first-child{padding:30px 20px 65px}.service-visual{min-height:420px}.service-visual>img{height:310px}.service-sidebar{display:none}.service-page-grid{padding:70px 20px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-lead,.service-order-strip,.note-band{align-items:flex-start;flex-direction:column}.consent{align-items:flex-start;flex-direction:column}.order-aside{position:static}}
@media(max-width:520px){.topline{font-size:.5rem}.brand{font-size:.81rem}.brand-symbol{width:23px;height:23px}.home-hero .hero-copy{padding:55px 20px 40px;min-height:520px}.hero h1{font-size:3.65rem;margin:1.5rem 0}.hero-copy>p{font-size:1rem}.hero-actions{gap:1.25rem}.hero-audience{gap:.6rem}.hero-audience span+span:before{padding-right:.6rem}.hero-art{min-height:360px}.art-building{left:19%;width:66%;bottom:10%}.art-tag{font-size:.52rem}.art-tag-a{right:3%}.art-tag-b{left:3%}.art-tag-c{right:3%;bottom:5%}.section{padding:60px 20px}.intro-section{gap:1.5rem}.intro-section h2,.section-heading h2,.distinction h2{font-size:2.8rem}.service-grid,.related-grid,.article-grid{grid-template-columns:1fr}.service-card,.service-card.featured{grid-column:auto;min-height:355px}.featured .card-visual img{height:140px}.card-visual img{height:130px}.process-list>div{grid-template-columns:40px 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid>div:first-child{grid-column:span 2}.footer-lead h2{font-size:3rem}.page-hero{padding:60px 20px}.page-hero h1,.service-hero h1{font-size:3.4rem}.service-rail{font-size:.5rem}.service-visual{min-height:340px}.service-visual>img{height:250px}.service-introduction h2,.related-section h2{font-size:2.7rem}.detail-block{grid-template-columns:28px 1fr;gap:.5rem}.faq-list summary{font-size:1.1rem}.form-row{grid-template-columns:1fr;gap:0}.review-card dl{grid-template-columns:1fr;gap:.3rem}.review-card dd{margin-bottom:1rem}.consent-actions{flex-wrap:wrap}.distinction-art{min-height:300px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.article-card h3{font:400 2rem/1.16 var(--serif);letter-spacing:-.04em;margin:1rem 0}.reading-title{font-size:3rem;margin:1rem 0 2rem}.editorial-body a{text-decoration:underline;text-decoration-color:var(--clay);text-underline-offset:3px}
@media(min-width:781px) and (max-width:960px){.header-cta{display:none}.primary-nav{margin-left:auto}}
.price-section{background:var(--paper2)}.price-section h2{font-size:clamp(2rem,3vw,3.5rem);margin:1rem 0 2rem}.price-table-wrap{overflow-x:auto;max-width:780px}.price-table{width:100%;border-collapse:collapse;background:var(--white)}.price-table th,.price-table td{padding:1rem 1.3rem;text-align:left;border-bottom:1px solid var(--line)}.price-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.price-table td:last-child{font-weight:700}.price-section>p{margin:1rem 0 0;font-size:.85rem}.payment-choices{border:0;border-top:1px solid var(--line);padding:1.4rem 0;margin:0 0 1.3rem}.payment-choices legend{font-family:var(--serif);font-size:1.45rem;padding:0 0 .5rem}.payment-choices label{display:block;padding:.65rem 0;font-size:.9rem}.payment-choices input{width:1.1rem;height:1.1rem;vertical-align:middle;margin-right:.55rem}

/* Order experience and brand refresh */
.topline{height:auto;min-height:36px;font-size:.7rem;letter-spacing:.11em;gap:1rem}
.site-header{min-height:94px;height:auto;gap:2rem}
.brand{gap:.8rem;font-size:clamp(1.2rem,1.4vw,1.55rem);letter-spacing:-.045em;font-weight:800;line-height:1.06}
.brand-mark{display:block;width:48px;height:48px;flex:none}
.brand-wordmark{white-space:nowrap}
.brand-light{font-weight:400;letter-spacing:-.045em}
.primary-nav{gap:clamp(.9rem,1.6vw,1.8rem)}
.primary-nav a{font-size:.94rem}
.header-cta{font-size:.9rem;padding:.78rem 1rem}
.button{font-size:.96rem;min-height:54px;letter-spacing:0;padding:1rem 1.35rem}
.button:not(.button-light):not(.button-outline):not(.button-restart){background:#a94d30;border-color:#a94d30}
.button:not(.button-light):not(.button-outline):not(.button-restart):hover{background:#914026}
.hero-audience{color:var(--muted)}
.art-tag span{color:#a94d30}
.menu-toggle{font-size:1rem}
.form-panel label{font-size:.92rem}
.form-panel input,.form-panel select,.form-panel textarea{font-size:1rem;min-height:52px}
.form-hint,.notice{font-size:.88rem}
.footer-brand{color:var(--paper);font-size:1.25rem}
.footer-grid a,.text-button{font-size:.88rem}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:.94rem;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.form-actions,.review-actions{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.review-service-strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:22px clamp(20px,6.5vw,108px);background:#18372b;color:#f8f6ef}
.review-service-strip .eyebrow{color:#dba587}
.review-service-strip strong{font:400 clamp(1.4rem,2.1vw,2.25rem)/1.12 var(--serif)}
.review-service-strip>span:last-child{font-size:.84rem;color:#d3e0d1}
.review-layout{max-width:1280px;margin:0 auto;padding-top:56px}
.review-shell{background:#fffdf9;border:1px solid #d1d9ce;box-shadow:14px 14px 0 #e4e9df;padding:clamp(22px,4vw,58px)}
.review-intro{max-width:790px;margin-bottom:2.6rem}
.review-intro h1{font:400 clamp(3rem,5vw,5.1rem)/1.06 var(--serif);letter-spacing:-.04em;margin:.7rem 0 1rem}
.review-intro h1 em{color:var(--clay)}
.review-intro p{font-size:1.08rem;line-height:1.7}
.review-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.review-panel{padding:clamp(22px,2.6vw,34px);background:#f6f7f1;border:1px solid #dce4d9;min-width:0}
.review-panel h2{font:400 clamp(1.6rem,2.3vw,2.1rem)/1.18 var(--serif);margin:.45rem 0 1.4rem}
.review-step{display:block;font-size:.71rem;font-weight:800;letter-spacing:.16em;color:#a65539}
.review-contact{grid-column:1/-1}
.review-list{margin:0;display:grid;gap:0}
.review-list>div{display:grid;grid-template-columns:minmax(125px,.37fr) 1fr;gap:1.2rem;padding:.75rem 0;border-top:1px solid #dce4d9}
.review-list dt{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#526458}
.review-list dd{margin:0;font-size:1rem;color:#1c3328;overflow-wrap:anywhere}
.review-price-strip{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:28px 34px;background:#244b39;color:white;border-left:8px solid #cf7854}
.review-price-strip .review-step{color:#d8b098;margin-bottom:.45rem}
.review-price-strip strong{display:block;font:400 clamp(2.45rem,4vw,4.1rem)/1.05 var(--serif)}
.review-price-strip p{color:#d9e7d9;margin:0;max-width:310px;font-size:.94rem}
.review-checkout{padding-top:34px}
.payment-choice-cards{border:0;padding:0;margin:0 0 1rem}
.payment-choice-cards legend{font:400 clamp(1.7rem,2.5vw,2.25rem)/1.2 var(--serif);padding:0 0 1rem}
.payment-choice-cards .payment-card{display:flex;align-items:flex-start;gap:16px;margin:0 0 13px;padding:20px 22px;border:2px solid #d8e0d6;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.payment-choice-cards .payment-card:hover,.payment-choice-cards .payment-card:has(input:checked){border-color:#2d6448;box-shadow:0 4px 0 #d9e8d9}
.payment-choice-cards .payment-card input{appearance:auto;display:block;width:22px;height:22px;flex:none;margin:3px 0 0;accent-color:#24583c}
.payment-card-content{display:block;min-width:0;width:100%}
.payment-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#18372b}
.payment-card-title strong{font-size:1.08rem}
.payment-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e3ede2;color:#24583c;font-size:1.1rem}
.payment-provider{margin-left:auto;font-size:.73rem;color:#576b5d}
.payment-provider b{font-size:1.03rem;color:#635bff;letter-spacing:-.04em}
.payment-card-description{display:block;color:#536558;font-size:.92rem;font-weight:400;margin:.38rem 0 .6rem}
.payment-brands{display:flex;flex-wrap:wrap;gap:.42rem;margin:.7rem 0 .35rem}
.payment-brands span{display:inline-block;padding:.34rem .55rem;border:1px solid #ced8cc;background:#f9faf7;font-size:.67rem;font-weight:800;letter-spacing:.02em;color:#253a2f}
.payment-brands span:first-child{font-style:italic;color:#1b3f91}
.payment-footnote{display:block;font-size:.71rem;font-weight:400;color:#64766a}
.bank-detail-card{margin:-2px 0 18px 39px;padding:17px 20px;background:#ebf2e9;border:1px solid #c8d7c4;color:#244332}
.bank-detail-card strong{font-size:.88rem;letter-spacing:.03em}
.bank-detail-card dl{display:grid;grid-template-columns:130px 1fr;gap:.35rem 1rem;margin:.8rem 0}
.bank-detail-card dt{font-size:.78rem;color:#516759}.bank-detail-card dd{margin:0;font-size:.87rem;font-weight:700}
.bank-detail-card p{margin:0;font-size:.76rem;line-height:1.5}
.bank-detail-test{background:#fff3e8;border:1px dashed #be6b45;color:#713f2b}
.bank-detail-test p{color:#713f2b}
.sandbox-notice{background:#fff3e8;border-left:4px solid #be6b45;color:#713f2b}
.review-assurance{font-size:.82rem;color:#506455;padding:8px 0 18px}
.review-actions{border-top:1px solid #dce4d9;padding:24px 0 0}
.button-restart{margin-top:18px;background:#52665c;border-color:#52665c;font-size:.85rem;min-height:44px}
.button-restart:hover{background:#3d5246}
@media(max-width:1200px){.site-header{gap:1.3rem}.primary-nav{gap:.9rem}.header-cta{display:none}}
@media(max-width:780px){.site-header{min-height:78px}.brand{font-size:1.2rem}.brand-mark{width:42px;height:42px}.primary-nav{top:78px}.primary-nav a{font-size:1.03rem}.review-service-strip{align-items:flex-start;flex-direction:column;gap:.45rem}.review-detail-grid{grid-template-columns:1fr}.review-contact{grid-column:auto}.review-price-strip{align-items:flex-start;flex-direction:column}.payment-provider{margin-left:0}}
@media(max-width:520px){.brand{font-size:1.05rem}.brand-mark{width:38px;height:38px}.review-layout{padding:28px 15px 60px}.review-shell{padding:22px;box-shadow:7px 7px 0 #e4e9df}.review-intro h1{font-size:3rem}.review-list>div{grid-template-columns:1fr;gap:.18rem}.review-list dd{font-size:.95rem}.review-price-strip{padding:22px}.payment-choice-cards .payment-card{padding:16px;gap:12px}.bank-detail-card{margin-left:0}.bank-detail-card dl{grid-template-columns:1fr 1fr}.review-actions .button{width:100%}.form-actions .button{width:100%}}

/* Service discovery, booking and payment refinements */
.service-grid{gap:20px;background:transparent;border:0}
.service-card{background:#eaf0e8;border:1px solid #cad7c9;border-bottom:5px solid #315740;min-height:420px}
.service-card:nth-child(2n){background:#f1ece3;border-color:#d9cec0;border-bottom-color:#97543a}
.service-card:hover{background:#fffdf8}
.card-copy h3{font-weight:700}
.card-copy h3 a:after{content:none}
.card-copy p{font-size:calc(.84rem + 2pt);line-height:1.55}
.card-link{display:inline-flex;align-items:center;gap:.65rem;font-size:1rem;font-weight:800;border-bottom:2px solid var(--clay);padding:.25rem 0 .35rem}
.card-link span{font-size:1.35em;line-height:1}
.service-hero .quiet-link{font-size:1rem;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.service-hero .quiet-link span{font-size:.8rem}
.form-panel textarea[data-autogrow]{min-height:80px;height:auto;resize:vertical;overflow-y:hidden}
.field-optional{color:#5d6f62;font-size:.77em;font-weight:500}
.human-check{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:13px 16px;margin:1rem 0;background:#eef3eb;border:1px solid #cddbcc}
.human-check label{font-weight:800;color:#1e3b2a;font-size:.9rem}
.human-check input{width:76px;min-height:42px;padding:.4rem .6rem;border:1px solid #839e88;background:white}
.human-check small{color:#536b57;font-size:.75rem}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.review-actions{flex-direction:column;align-items:flex-start;gap:.8rem}
.review-actions .button{min-width:230px}
.review-assurance a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.payment-trust-strip{background:#e8f0ed;border:1px solid #c5d9cf;border-left:6px solid #2c7351;padding:18px 20px;margin:0 0 25px}
.payment-trust-heading{display:flex;align-items:center;gap:.6rem;color:#17462d;font-size:1.05rem}
.payment-trust-heading span{display:inline-grid;place-items:center;background:#176d42;color:white;border-radius:50%;width:27px;height:27px;font-size:1rem}
.payment-trust-logos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:.8rem 0}
.payment-brand{display:inline-flex;align-items:center;gap:.4rem;min-height:42px;background:white;border:1px solid #c8d8d0;padding:4px 9px;color:#243b30;font-size:.72rem;font-weight:700}
.payment-brand img{display:block;width:auto;max-width:55px;max-height:27px}
.payment-trust-strip small{display:block;color:#496455;font-size:.77rem}
.payment-provider{display:inline-flex;align-items:center;gap:.25rem}
.payment-provider img{display:inline-block;width:55px;height:auto;vertical-align:middle}
@media(max-width:780px){.service-grid{gap:16px}.service-card{min-height:380px}.card-copy p{font-size:1rem}}
@media(max-width:520px){.service-grid{gap:19px}.service-card,.service-card.featured{min-height:365px}.card-copy h3{font-size:1.9rem}.card-copy p{font-size:1.02rem}.card-link{font-size:1.02rem}.payment-trust-strip{padding:14px}.payment-brand{font-size:.65rem}.human-check{align-items:flex-start}.review-actions .button{width:100%}}

/* Editorial refresh */
.topline{padding-block:7px;gap:12px}
.top-contact{display:flex;align-items:center;gap:clamp(12px,2vw,28px);letter-spacing:0}
.top-contact a{display:inline-flex;align-items:center;gap:7px;color:#e6eee5;font-size:.77rem;font-weight:700;white-space:nowrap}
.top-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.top-contact img{filter:brightness(0) invert(1);opacity:.88}
.home-hero .hero-copy{padding-top:clamp(36px,4.5vw,70px)}
.home-hero .hero-copy h1{margin-top:1.3rem}
.art-building{left:13%;width:74%;height:68%}
.art-storey{gap:3%;padding:4% 5%;background:#375a46}
.art-window{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;border:2px solid #e7ecd8;background:linear-gradient(135deg,#ecf3df,#aec6b4);box-shadow:inset 5px 5px 0 #ffffff42;overflow:hidden;transform:skewY(3deg)}
.art-upper{align-items:center;justify-content:center}
.art-upper span{position:absolute;top:0;left:0;right:0;padding:5px 2px;background:#e8cbb2;color:#173a2b;font-size:clamp(.4rem,.66vw,.62rem);font-weight:900;letter-spacing:.01em;text-align:center;white-space:nowrap}
.art-upper:nth-child(2) span{background:#dfe6ca}
.art-upper:nth-child(3) span{background:#c4d9d3}
.art-upper svg{width:58%;height:58%;max-width:72px;max-height:72px;margin-top:9px;filter:drop-shadow(1px 3px 1px #17342933)}
.art-lower:nth-child(2){background:linear-gradient(135deg,#fbecce,#b8d0b3)}
.art-lower:nth-child(3){background:linear-gradient(135deg,#cfdfde,#a1bdb1)}
.art-tag{display:none}
.field-error{display:block;color:#9c2f23;font-size:.82rem;font-weight:750;line-height:1.4;margin:.35rem 0 0}
[aria-invalid="true"]{border-color:#b33f31!important;box-shadow:0 0 0 3px #b33f311f!important}
.form-panel label:has([aria-invalid="true"]),.human-check:has([aria-invalid="true"]){color:#8c2b21}
.payment-trust-strip{display:none}
.payment-choice-cards .payment-card:first-of-type{border-color:#b9d2c3;background:linear-gradient(145deg,#f6faf6,#edf4ed);padding:24px}
.payment-choice-cards .payment-card:first-of-type:has(input:checked){border-color:#1b7044;box-shadow:0 5px 0 #b9d7c2}
.payment-choice-cards .payment-card:first-of-type .payment-card-title strong{font-size:1.28rem}
.payment-choice-cards .payment-card:first-of-type .payment-card-description{margin-bottom:.8rem}
.payment-card-trust{display:flex;align-items:center;gap:.55rem;color:#1f6340;font-size:.78rem;font-weight:800;margin:.25rem 0 .7rem}
.payment-card-logos{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid #c7dacb;padding-top:13px}
.payment-card-logos img{width:auto;height:24px;max-width:55px;object-fit:contain}
.payment-card-logos .wallet-logo{height:22px}
.payment-card-wallet-note{display:block;color:#516657;font-size:.73rem;margin-top:.65rem;line-height:1.45}
.review-ribbon{background:#193a2c;color:#f8f5ed;border-bottom:1px solid #476b53;overflow:hidden}
.review-ribbon-head{display:flex;align-items:center;gap:18px;padding:9px clamp(20px,4vw,68px) 3px}
.review-ribbon-head>span{font-size:.57rem;font-weight:900;letter-spacing:.18em;color:#e0a17e}
.review-ribbon-head strong{font:600 .9rem var(--serif)}
.review-pause{margin-left:auto;background:transparent;border:1px solid #7b9c85;color:#e8f0e5;padding:4px 10px;font-size:.68rem}
.review-window{overflow:hidden;padding:4px 0 11px}
.review-track{display:flex;gap:12px;width:max-content;animation:reviews-glide 55s linear infinite}
.review-static .review-window{overflow-x:auto}
.review-static .review-track{animation:none;margin-inline:auto}
.review-ribbon:hover .review-track,.review-ribbon:focus-within .review-track,.review-ribbon.paused .review-track,.review-ribbon:has(details[open]) .review-track{animation-play-state:paused}
.review-group{display:flex;gap:12px;padding-left:12px}
.review-card{width:290px;max-height:250px;min-height:0;padding:0;background:#f5f4ed;color:#1b3829;border:1px solid #cedfce;flex:none}
.review-card summary{display:block;list-style:none;cursor:pointer;padding:11px 14px}
.review-card summary::-webkit-details-marker{display:none}
.review-stars{display:block;color:#bd6537;letter-spacing:2px;font-size:.83rem;line-height:1}
.review-stars span{color:#b6c3b4}
.review-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:7px 0 5px;font:400 .8rem/1.32 var(--serif)}
.review-card[open] .review-excerpt{display:none}
.review-card[open]{max-height:none}
.review-byline{display:flex;gap:8px;align-items:center;font-size:.68rem}
.review-byline span{color:#536a59}
.review-expand{display:block;margin-top:4px;color:#9d4f2e;font-size:.62rem;font-weight:800}
.review-less,.review-card[open] .review-more{display:none}
.review-card[open] .review-less{display:block}
.review-card>p{margin:0;padding:0 14px 13px;color:#344e3b;font-size:.77rem;line-height:1.45}
@keyframes reviews-glide{to{transform:translateX(-50%)}}
.editorial-special{background:#f4f2ea}
.editorial-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:520px;background:#e8eee6}
.editorial-hero>div:first-child{padding:clamp(35px,5vw,72px) clamp(20px,6.5vw,108px)}
.editorial-hero .breadcrumbs ol{margin-bottom:2rem}
.editorial-hero h1{font-size:clamp(3.1rem,5.4vw,6.1rem);max-width:780px;margin:1rem 0 1.2rem}
.editorial-hero p{font-size:1.16rem;max-width:580px;line-height:1.7}
.editorial-hero .button{margin-top:1.1rem}
.editorial-art{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:clamp(20px,3vw,45px);background:#17392b;color:#f1e9d7}
.editorial-art span{display:grid;place-items:center;border:1px solid #6e9076;font:500 clamp(3rem,7vw,7rem)/1 var(--serif);color:#d7a986}
.editorial-art span:nth-child(2){color:#e4e4c9}.editorial-art span:nth-child(3){color:#accdb8}.editorial-art span:nth-child(4){color:#e1bea7}
.editorial-art strong{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:.65rem;letter-spacing:.25em;line-height:1.7;background:#17392bd9;padding:8px}
.process-feature{display:grid;grid-template-columns:.7fr 1.3fr;gap:6%;padding:clamp(65px,7vw,110px) clamp(20px,6.5vw,108px)}
.process-feature-heading h2{font-size:clamp(2.5rem,4vw,4.5rem);margin:1rem 0;position:sticky;top:30px}
.process-card-list{display:grid;gap:12px}
.process-feature-card{display:grid;grid-template-columns:55px 1fr 22px;gap:1.3rem;background:#fffdf8;border:1px solid #d4ded2;border-left:5px solid #bf7655;padding:23px;min-height:150px}
.process-feature-number{font:400 2.4rem/1 var(--serif);color:#b65f3e}
.process-feature-card h3{font:600 1.65rem/1.2 var(--serif);margin:0 0 .6rem}
.process-feature-copy p{font-size:.95rem;line-height:1.65;margin:0}
.process-feature-arrow{color:#b65f3e;font-size:1.25rem}
.about-hero{background:#eee8dc}
.about-emblem{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#214533;min-height:410px;overflow:hidden}
.about-emblem-roof{width:48%;height:25px;border-top:14px solid #db936b;transform:skew(-36deg);margin-bottom:2px}
.about-emblem-building{display:flex;gap:14px;align-items:end;width:45%;height:40%;background:#e6e9d4;border:12px solid #bcd0b6;padding:12px}
.about-emblem-building i{flex:1;height:55%;background:#a1bdb4;border:6px solid #244e38}
.about-emblem-building i:nth-child(2){height:80%}
.about-emblem strong{color:#d9e4d7;text-align:center;letter-spacing:.2em;font-size:.75rem;margin-top:26px;line-height:1.6}
.about-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;padding:clamp(60px,6vw,95px) clamp(20px,6.5vw,108px)}
.about-story h2{font-size:clamp(2.3rem,3.6vw,4rem);margin:1rem 0}
.about-story article{max-width:680px;border-top:4px solid #a95837;padding-top:1.7rem}
.about-story article p{font-size:1.08rem;line-height:1.8;color:#3c5043}
.service-carousel-section{background:#dce8dc;padding:clamp(55px,6vw,90px) clamp(20px,6.5vw,108px)}
.service-carousel-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.service-carousel-head h2{font-size:clamp(2.3rem,4vw,4rem);margin:.5rem 0}
.service-carousel-head p{margin:0}
.carousel-controls{display:flex;gap:8px}
.carousel-controls button{width:48px;height:48px;border:1px solid #526d59;background:#214533;color:white;font-size:1.5rem}
.carousel-controls button:hover{background:#a75234}
.service-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 18px;scrollbar-color:#68876d transparent}
.service-carousel .service-card,.service-carousel .service-card.featured{flex:0 0 clamp(250px,28vw,330px);min-height:365px;scroll-snap-align:start}
.service-carousel .card-visual{min-height:100px}.service-carousel .card-visual img{height:105px;width:170px}
.service-carousel .card-copy h3{font-size:1.6rem}
.service-carousel .card-copy p{font-size:.92rem}
.contact-hero{padding:clamp(42px,4.5vw,70px) clamp(20px,6.5vw,108px) 36px;background:#e9eee6;border-bottom:1px solid #d0ddd1}
.contact-hero h1{font-size:clamp(3rem,5vw,5.7rem);max-width:930px;margin:.7rem 0 1rem}
.contact-hero p{font-size:1.12rem;max-width:680px;margin:0}
.contact-stage{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,68px);padding:clamp(35px,4vw,65px) clamp(20px,6.5vw,108px) clamp(65px,7vw,105px)}
.contact-intro-card{background:#214633;color:white;padding:clamp(25px,3vw,45px)}
.contact-intro-card .eyebrow{color:#dfab8a}
.contact-intro-card h2{font-size:clamp(2rem,3vw,3.5rem);margin:.8rem 0 1rem}
.contact-intro-card p{color:#d6e3d5;font-size:.96rem}
.contact-card-rule{height:1px;background:#78937d;margin:2rem 0 1rem}
.contact-mini-label{display:block;color:#c7d8c5;font-size:.67rem;letter-spacing:.16em;margin:.6rem 0}
.contact-methods{padding-top:24px}
.contact-method{display:flex;align-items:center;gap:14px;border:1px solid #cad8cc;background:#f8faf6;padding:14px 18px;margin-top:10px;min-height:78px;overflow-wrap:anywhere}
.contact-method:hover{border-color:#668d6e;box-shadow:4px 4px 0 #d3e4d3;text-decoration:none}
.contact-method-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;background:#244d38}
.contact-method-icon img{filter:brightness(0) invert(1)}
.contact-method span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}
.contact-method small{font-size:.62rem;letter-spacing:.13em;color:#627368}
.contact-method strong{font-size:.98rem;color:#1b3b2a}
.contact-method>span:last-child{margin-left:auto;color:#ad5b3b;font-size:1.3rem}
.contact-form-head h2{font-size:clamp(2rem,3vw,3.1rem);margin:.5rem 0}
.contact-form-head p{font-size:.96rem;max-width:520px;margin-bottom:1.3rem}
.contact-form-panel{box-shadow:10px 10px 0 #dce6d9}
.contact-form-panel .form-row{gap:16px}
.contact-form-panel label{font-size:.9rem}
.contact-form-panel .human-check label{margin:0}
@media(max-width:1050px){.topline{flex-wrap:wrap}.top-contact{flex-wrap:wrap}.editorial-hero{grid-template-columns:1fr .75fr}.art-upper span{font-size:.48rem}}
@media(max-width:780px){.review-ribbon-head{padding-inline:20px}.review-ribbon-head strong{font-size:.82rem}.editorial-hero,.process-feature,.about-story,.contact-stage{grid-template-columns:1fr}.editorial-art{min-height:260px}.about-emblem{min-height:270px}.process-feature{gap:2rem}.contact-form-column{order:-1}.contact-hero{padding-bottom:25px}.contact-stage{gap:24px}.top-contact a{font-size:.72rem}.art-building{left:17%;width:66%}}
@media(max-width:520px){.topline{padding:8px 17px}.topline>span{font-size:.53rem}.top-contact{gap:6px 16px}.top-contact a{font-size:.69rem}.top-contact img{width:13px;height:13px}.home-hero .hero-copy{padding-top:38px}.art-building{left:11%;width:78%;height:69%}.art-upper span{font-size:.39rem;padding:4px 0}.art-upper svg{width:63%;height:63%;margin-top:7px}.review-card{width:245px}.review-ribbon-head>span{display:none}.editorial-hero>div:first-child{padding:34px 20px 45px}.editorial-hero h1{font-size:3.25rem}.editorial-art{min-height:220px}.about-emblem{min-height:230px}.process-feature-card{grid-template-columns:40px 1fr;padding:18px;gap:.7rem}.process-feature-arrow{display:none}.process-feature-card h3{font-size:1.4rem}.service-carousel-head{align-items:flex-start;flex-direction:column}.service-carousel .service-card{flex-basis:85vw}.contact-hero h1{font-size:3.1rem}.contact-form-head h2{font-size:2.2rem}.contact-method strong{font-size:.86rem}.payment-card-logos{gap:6px}.payment-card-logos img{height:20px}}
@media(prefers-reduced-motion:reduce){.review-track{animation:none}.service-carousel{scroll-behavior:auto}}

/* Legal operator is visible with the brand on every public page. */
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.brand-operator{display:block;margin-top:.22rem;color:#52655a;font-family:var(--font);font-size:clamp(.62rem,.7vw,.75rem);font-style:normal;font-weight:700;letter-spacing:.01em;line-height:1.15;white-space:nowrap}
@media(max-width:520px){.brand-operator{font-size:clamp(.51rem,2.05vw,.64rem);margin-top:.12rem}.site-header>.brand{gap:.4rem}}

/* Header, service directory and contact refinements */
.site-header{gap:clamp(1rem,2vw,2rem)}
.brand{gap:.9rem;font-size:clamp(1.4rem,1.9vw,1.8rem);letter-spacing:-.05em}
.brand-mark{width:58px;height:58px}
.topline{min-height:44px;padding-block:7px}
.top-contact{width:100%;min-width:0;flex-wrap:nowrap;gap:clamp(12px,2vw,28px)}
.top-contact a{min-width:0;font-size:clamp(.82rem,1vw,.98rem);gap:9px}
.top-contact a:first-child:not(:last-child){flex:none}
.top-contact a:last-child{flex:1 1 auto}
.top-contact img{flex:none;width:17px;height:17px}
.topline .contact-value:last-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.services-directory-hero{padding-top:38px;padding-bottom:32px}
.services-directory-hero h1{font-size:clamp(2.8rem,4.3vw,4.9rem);margin:.55rem 0 .75rem;max-width:880px}
.services-directory-hero p{font-size:1.05rem;line-height:1.5;margin:0}
.services-directory-grid{padding-top:26px;padding-bottom:clamp(60px,7vw,105px)}
.art-lower svg{width:52%;height:54%;max-width:68px;max-height:68px;filter:drop-shadow(1px 3px 1px #17342924)}
@media(max-width:980px){
  .site-header{min-height:84px;padding-inline:18px;gap:.7rem}
  .header-cta{display:none}
  .menu-toggle{display:flex;align-items:center;gap:.45rem;margin-left:auto;background:none;border:0;font-size:.9rem;font-weight:700;white-space:nowrap}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1.5rem 20px;border-bottom:1px solid var(--line);flex-direction:column;gap:1.2rem;box-shadow:0 12px 20px #0002}
  .primary-nav.open{display:flex}
}
@media(max-width:780px){
  .brand{font-size:1.38rem;gap:.65rem}
  .brand-mark{width:50px;height:50px}
  .contact-hero{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}
  .contact-stage{padding-top:16px;gap:22px}
  .contact-form-column{order:-1}
  .contact-form-head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .contact-intro-card{display:none}
  .contact-methods{padding-top:0}
  .services-directory-hero{padding-top:26px;padding-bottom:24px}
  .services-directory-hero h1{font-size:clamp(2.65rem,6vw,3.55rem)}
  .services-directory-grid{padding-top:18px}
}
@media(max-width:520px){
  .topline{padding:7px 14px;min-height:40px}
  .top-contact{gap:8px}
  .top-contact a{font-size:.78rem;gap:5px}
  .top-contact img{width:15px;height:15px}
  .site-header{min-height:78px;padding-inline:14px;gap:.5rem}
  .brand{font-size:1.27rem;gap:.55rem;line-height:1.04}
  .brand-mark{width:46px;height:46px}
  .brand-wordmark{display:flex;flex-direction:column;white-space:normal}
  .brand-light{margin:0}
  .menu-toggle{font-size:.86rem}
  .services-directory-hero{padding:21px 20px 19px}
  .services-directory-hero h1{font-size:clamp(2.25rem,8vw,2.7rem);line-height:1.05;margin:.45rem 0 .6rem}
  .services-directory-hero p{font-size:.97rem;line-height:1.42}
  .services-directory-grid{padding:14px 20px 60px}
  .contact-stage{padding:10px 20px 55px}
  .contact-form-panel{padding:18px;box-shadow:5px 5px 0 #dce6d9}
  .contact-method strong{font-size:.96rem}
  .art-lower svg{width:61%;height:61%}
}
@media(max-width:360px){.topline{padding-inline:8px}.top-contact{gap:4px}}

/* Journal article experience: a service-aware cover, readable editorial column and clear onward paths. */
.journal-article{--journal-accent:#e4a17d;--journal-ink:#143225;background:#f6f4ed;color:var(--journal-ink)}
.journal-article[data-topic="commercial-epc-certificate"],.journal-article[data-topic="sbem-calculations"]{--journal-accent:#e9bc83}
.journal-article[data-topic="gas-safety-certificate"]{--journal-accent:#f4b285}
.journal-article[data-topic="eicr-reports"]{--journal-accent:#a9d6bc}
.journal-article[data-topic="display-energy-certificate"]{--journal-accent:#d5b5e7}
.journal-cover{background:#173a2d;color:#fcf9f1;overflow:hidden}
.journal-breadcrumbs{padding:22px clamp(20px,5vw,82px) 0}
.journal-breadcrumbs ol{display:flex;align-items:center;gap:.7rem;max-width:1400px;margin:0 auto;color:#cfdfd2;font-size:.75rem;line-height:1.4}
.journal-breadcrumbs li:last-child{max-width:min(55vw,650px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journal-breadcrumbs li+li:before{color:var(--journal-accent)}
.journal-breadcrumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.journal-cover-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);max-width:1500px;margin:0 auto;min-height:580px}
.journal-cover-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(42px,5.7vw,85px) clamp(25px,5vw,78px) clamp(42px,4.5vw,65px) clamp(20px,5.6vw,90px)}
.journal-kicker{display:flex;align-items:center;gap:11px;flex-wrap:wrap;color:#e7c8ab;font-size:.66rem;font-weight:800;letter-spacing:.13em;line-height:1.35}
.journal-kicker-mark{font-size:1.05rem;color:var(--journal-accent);line-height:1}
.journal-kicker-divider{display:block;width:24px;height:1px;background:#88a395}
.journal-cover h1{max-width:820px;margin:clamp(22px,3vw,42px) 0 20px;color:#fffaf1;font-size:clamp(3rem,5vw,5.45rem);line-height:1.08;letter-spacing:-.048em;text-wrap:balance}
.journal-deck{max-width:670px;margin:0;color:#d9e5d8;font-size:clamp(1.03rem,1.25vw,1.26rem);line-height:1.65}
.journal-byline{width:100%;display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:clamp(35px,5vw,72px)}
.journal-byline-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #85aa91;border-radius:50%;color:#f6ead9;font-size:.69rem;font-weight:800;letter-spacing:-.08em}
.journal-byline-icon span{color:var(--journal-accent)}
.journal-byline-copy{display:flex;flex-direction:column;gap:1px;color:#d9e8da;font-size:.78rem;line-height:1.3}
.journal-byline-copy strong{color:#fffaf1;font-weight:700}
.journal-byline-copy time{color:#bdcfc0}
.journal-begin{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;margin-left:auto;padding:11px 0 11px 18px;border-bottom:1px solid var(--journal-accent);color:#fff3e7;font-size:.79rem;font-weight:800;white-space:nowrap}
.journal-begin span{color:var(--journal-accent);font-size:1.12rem}
.journal-begin:hover,.journal-begin:focus-visible{color:var(--journal-accent)}
.journal-cover-art{position:relative;display:grid;place-items:center;min-height:580px;padding:42px;overflow:hidden;background:#d8e2d5;border-left:1px solid #b9cdb8}
.journal-art-grid{position:absolute;inset:0;background-image:linear-gradient(#668a6f2e 1px,transparent 1px),linear-gradient(90deg,#668a6f2e 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,#0009)}
.journal-art-disc{position:absolute;width:min(76%,430px);aspect-ratio:1;border-radius:50%;border:1px solid #799985;box-shadow:0 0 0 28px #ffffff32,0 0 0 29px #79998580,0 0 0 74px #ffffff22,0 0 0 75px #79998555;background:#f0d4b785;transform:translate(7%,1%)}
.journal-art-sheet{position:relative;z-index:1;display:flex;flex-direction:column;width:min(76%,340px);min-height:390px;padding:20px 22px 18px;background:#fffdf6;border:1px solid #264b38;box-shadow:18px 22px 0 #2753402b,24px 29px 36px #12362525;transform:rotate(-5deg);transition:transform .4s ease,box-shadow .4s ease}
.journal-cover-art:hover .journal-art-sheet{transform:rotate(-2deg) translateY(-6px);box-shadow:20px 28px 0 #2753402b,24px 34px 40px #12362532}
.journal-art-sheet-top,.journal-art-sheet-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#25523a;font-size:.63rem;font-weight:900;letter-spacing:.14em}
.journal-art-sheet-top{padding-bottom:11px;border-bottom:2px solid #204f37}
.journal-art-sheet-top span:first-child{font-size:1.12rem;letter-spacing:-.08em}
.journal-art-sheet img{display:block;width:100%;height:305px;object-fit:contain;object-position:center;flex:1;padding:14px 0}
.journal-art-sheet-bottom{padding-top:13px;border-top:1px solid #a1b9a7}
.journal-art-arrow{font-size:1.6rem;line-height:.6;color:#b55b39}
.journal-art-vertical{position:absolute;right:20px;bottom:30px;writing-mode:vertical-rl;color:#41684b;font-size:.63rem;font-weight:800;letter-spacing:.2em}
.journal-layout{display:grid;grid-template-columns:minmax(155px,190px) minmax(0,710px) minmax(190px,255px);justify-content:center;align-items:start;gap:clamp(24px,3.2vw,55px);max-width:1530px;margin:0 auto;padding:clamp(56px,6vw,94px) clamp(20px,5vw,82px) clamp(70px,8vw,120px)}
.journal-side-label{display:block;color:#427056;font-size:.64rem;font-weight:900;letter-spacing:.18em;line-height:1.4}
.journal-toc{position:sticky;top:24px;padding-top:6px}
.journal-toc ol{display:grid;gap:0;list-style:none;margin:22px 0 26px;padding:0;border-top:1px solid #d4ded2}
.journal-toc li{border-bottom:1px solid #d4ded2}
.journal-toc a{display:block;padding:12px 0;color:#42614d;font-size:.84rem;line-height:1.4;transition:color .2s,padding-left .2s}
.journal-toc a:hover{color:#a24c30;padding-left:4px}
.journal-toc .journal-all-guides{display:inline-block;border-bottom:1px solid #b26042;padding:5px 0;color:#9d452a;font-weight:800}
.journal-reading-column{min-width:0}
.journal-reading-rule{display:flex;justify-content:space-between;gap:16px;padding:0 0 13px;border-bottom:2px solid #1f553a;color:#42684d;font-size:.64rem;font-weight:900;letter-spacing:.16em}
.journal-prose{padding-top:13px}
.journal-prose h2{scroll-margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:clamp(42px,4.2vw,64px) 0 18px;color:#173728;font-size:clamp(2rem,2.65vw,3rem);line-height:1.17;letter-spacing:-.04em;text-wrap:balance}
.journal-prose h2:first-child{margin-top:24px}
.journal-prose h2 span{font:800 .72rem/1 var(--font);letter-spacing:.17em;color:#af5537}
.journal-prose p{max-width:69ch;margin:0 0 24px;color:#30453b;font-size:clamp(1.04rem,1.15vw,1.16rem);line-height:1.82}
.journal-prose a{color:#995033;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.journal-prose a:hover{color:#1e5d3c;text-decoration-thickness:2px}
.journal-close{display:flex;align-items:center;gap:15px;margin-top:60px;padding-top:26px;border-top:1px solid #cad9cd}
.journal-close-mark{color:#b86748;font-size:1.5rem}
.journal-close a{color:#17422c;font-size:.86rem;font-weight:800}
.journal-close a span{margin-left:10px;color:#b05b3d}
.journal-service-card{position:sticky;top:24px;padding:20px;background:#e3ebe0;border:1px solid #bbcfbe;border-top:5px solid #b86442}
.journal-service-icon{display:grid;place-items:center;min-height:150px;margin:17px 0;background:#f8f8f0;border:1px solid #cbd7c7}
.journal-service-icon img{display:block;width:78%;height:145px;object-fit:contain}
.journal-service-card h2{margin:0 0 8px;color:#183b29;font-size:1.56rem;line-height:1.18}
.journal-service-card p{color:#4b6051;font-size:.86rem;line-height:1.55}
.journal-service-card>a{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding:12px 0 3px;border-top:1px solid #92aa98;color:#245238;font-size:.83rem;font-weight:800}
.journal-service-card>a span{font-size:1.2rem;color:#ae5437}
.journal-service-card>a:hover{color:#a24b2f}
.journal-more{padding:clamp(55px,6vw,88px) clamp(20px,5vw,82px) clamp(68px,7vw,110px);background:#e1e9de;border-top:1px solid #c3d2bf}
.journal-more-head{display:flex;align-items:end;justify-content:space-between;gap:18px;max-width:1370px;margin:0 auto 27px}
.journal-more-head h2{margin:8px 0 0;color:#1c3b2a;font-size:clamp(2.2rem,3.5vw,3.9rem)}
.journal-more-head>a{flex:none;border-bottom:1px solid #aa5739;padding:7px 0;color:#245038;font-size:.83rem;font-weight:800}
.journal-more-head>a span{margin-left:12px;color:#ad5739}
.journal-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-width:1370px;margin:auto}
.journal-more-grid article{position:relative;display:flex;flex-direction:column;min-height:245px;padding:26px 26px 23px;background:#fffdf6;border:1px solid #c4d1c2;border-bottom:5px solid #ad6448;transition:transform .22s,box-shadow .22s}
.journal-more-grid article:hover{transform:translateY(-4px);box-shadow:0 12px 24px #1a3c2220}
.journal-more-grid article>span{color:#456d50;font-size:.65rem;font-weight:900;letter-spacing:.14em}
.journal-more-grid h3{margin:20px 0 25px;color:#1f402e;font:400 clamp(1.35rem,1.65vw,1.75rem)/1.2 var(--serif);letter-spacing:-.03em}
.journal-more-grid h3 a:hover{text-decoration:underline;text-decoration-color:#ad6448;text-underline-offset:4px}
.journal-more-arrow{display:grid;place-items:center;align-self:flex-end;width:37px;height:37px;margin-top:auto;border:1px solid #8fa996;border-radius:50%;color:#a55034;font-size:1.3rem}
@media(max-width:1150px){.journal-layout{grid-template-columns:minmax(150px,190px) minmax(0,710px);max-width:1060px}.journal-service-card{position:static;grid-column:2;display:grid;grid-template-columns:1fr auto;gap:0 22px}.journal-service-icon{grid-column:2;grid-row:1/4;width:155px;margin:0}.journal-service-icon img{width:95%;height:145px}.journal-service-card>a{grid-column:1;margin-top:8px}.journal-cover-grid{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr)}.journal-cover-art{padding:25px}}
@media(max-width:780px){.journal-cover-grid{grid-template-columns:1fr;min-height:0}.journal-cover-copy{padding:42px 25px 35px}.journal-cover h1{font-size:clamp(2.55rem,7.3vw,4rem)}.journal-byline{padding-top:30px}.journal-cover-art{min-height:240px;padding:20px}.journal-art-disc{width:240px}.journal-art-sheet{width:185px;min-height:0;height:210px;padding:10px 13px;transform:rotate(-5deg)}.journal-art-sheet img{height:140px;min-height:0;padding:4px 0}.journal-art-sheet-top,.journal-art-sheet-bottom{font-size:.4rem}.journal-art-sheet-top span:first-child{font-size:.7rem}.journal-art-sheet-bottom{padding-top:5px}.journal-art-sheet-top{padding-bottom:4px;border-width:1px}.journal-art-arrow{font-size:1rem}.journal-art-vertical{font-size:.5rem;right:12px;bottom:15px}.journal-layout{grid-template-columns:1fr;gap:30px;padding:50px 25px 75px}.journal-toc{position:static;padding:17px 18px;background:#e5ece3;border-left:4px solid #b76747}.journal-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:11px 0 5px}.journal-toc li{border-bottom:1px solid #c4d1c2}.journal-toc .journal-all-guides{margin-top:8px}.journal-service-card{grid-column:1;grid-template-columns:1fr auto}.journal-more-grid{grid-template-columns:1fr 1fr}.journal-more-grid article:last-child{grid-column:1/-1;min-height:170px}}
@media(max-width:540px){.journal-breadcrumbs{padding:16px 20px 0}.journal-breadcrumbs ol{gap:.45rem;font-size:.7rem}.journal-breadcrumbs li:last-child{max-width:34vw}.journal-cover-copy{padding:31px 20px 32px}.journal-kicker{gap:8px;font-size:.55rem;letter-spacing:.11em}.journal-kicker-divider{width:13px}.journal-cover h1{font-size:clamp(2.35rem,9vw,3.1rem);margin:22px 0 14px}.journal-deck{font-size:1.02rem;line-height:1.55}.journal-byline{gap:10px;padding-top:25px}.journal-byline-icon{width:36px;height:36px;font-size:.59rem}.journal-byline-copy{font-size:.69rem}.journal-begin{gap:7px;padding-left:5px;font-size:.7rem}.journal-cover-art{min-height:185px}.journal-art-sheet{width:155px;height:175px}.journal-art-sheet img{height:105px}.journal-art-disc{width:180px}.journal-layout{padding:35px 20px 65px;gap:25px}.journal-toc{padding:14px}.journal-toc ol{grid-template-columns:1fr}.journal-toc a{padding:9px 0;font-size:.82rem}.journal-prose h2{font-size:clamp(1.9rem,7.2vw,2.35rem);margin-top:37px}.journal-prose p{font-size:1.045rem;line-height:1.76}.journal-service-card{display:block}.journal-service-icon{display:none}.journal-service-card h2{margin-top:13px}.journal-more{padding:55px 20px 68px}.journal-more-head{display:block}.journal-more-head>a{display:inline-block;margin-top:15px}.journal-more-grid{grid-template-columns:1fr}.journal-more-grid article,.journal-more-grid article:last-child{grid-column:auto;min-height:175px;padding:22px}.journal-more-grid h3{margin:13px 0 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journal-cover-art .journal-art-sheet,.journal-more-grid article{transition:none}}

/* Guides index: an editorial library that stays fully crawlable and readable without scripts. */
.guide-index{background:#f6f4ed;color:#18392a}
.guide-index-hero{overflow:hidden;background:#173a2d;color:#fffaf1}
.guide-index-breadcrumbs{padding:18px clamp(20px,5vw,82px) 0}
.guide-index-breadcrumbs ol{max-width:1400px;margin:0 auto;color:#c8dacb;font-size:.75rem}
.guide-index-breadcrumbs li+li:before{color:#e6a582}
.guide-index-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.guide-index-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);max-width:1500px;min-height:490px;margin:auto}
.guide-index-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px clamp(24px,5vw,80px) 58px clamp(20px,5.6vw,90px)}
.guide-index-eyebrow,.guide-index-section-label{color:#d8b79d;font-size:.67rem;font-weight:800;letter-spacing:.16em;line-height:1.5}
.guide-index-eyebrow span{color:#e9a17d;font-size:1rem;margin-right:10px}
.guide-index-hero h1{margin:22px 0 21px;color:#fffaf1;font-size:clamp(3.2rem,5.4vw,5.85rem);line-height:1.08;letter-spacing:-.05em;text-wrap:balance}
.guide-index-hero h1 em{color:#e6a582}
.guide-index-hero-copy>p{max-width:640px;margin:0;color:#d8e7da;font-size:clamp(1.04rem,1.25vw,1.18rem);line-height:1.68}
.guide-index-hero-link{display:inline-flex;align-items:center;gap:38px;margin-top:35px;padding:10px 0;border-bottom:1px solid #e6a582;color:#fffaf1;font-size:.87rem;font-weight:800}
.guide-index-hero-link span{color:#e6a582;font-size:1.4rem;line-height:1}
.guide-index-hero-link:hover{color:#e6a582}
.guide-index-hero-art{position:relative;display:grid;place-items:center;min-height:490px;overflow:hidden;border-left:1px solid #66846c;background:radial-gradient(circle at 56% 44%,#b9d3ba44,transparent 42%),linear-gradient(135deg,#4c755a,#79977c)}
.guide-index-hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#d8e5d325 1px,transparent 1px),linear-gradient(90deg,#d8e5d325 1px,transparent 1px);background-size:39px 39px}
.guide-index-art-orbit{position:absolute;width:min(73%,400px);aspect-ratio:1;border:1px solid #e9eee1a8;border-radius:50%;box-shadow:0 0 0 34px #e5f0de18,0 0 0 35px #edf5e35e,0 0 0 83px #e5f0de11;transform:translate(8%,-3%)}
.guide-index-art-sheet{position:absolute;display:flex;flex-direction:column;border:1px solid #1c4632;box-shadow:14px 18px 27px #17382740}
.guide-index-art-sheet-back{width:min(52%,250px);height:310px;padding:20px;background:#d59a72;transform:translate(-31px,-8px) rotate(-15deg)}
.guide-index-art-sheet-back>span{color:#573e2f;font-size:.57rem;font-weight:900;letter-spacing:.16em}
.guide-index-art-sheet-back strong{margin:auto 0;color:#3d4735;font:400 2.25rem/1.05 var(--serif);letter-spacing:-.04em}
.guide-index-art-sheet-back i{display:block;width:75%;height:2px;margin-bottom:17px;background:#5c6248}
.guide-index-art-sheet-front{width:min(56%,270px);height:335px;padding:19px 20px 17px;background:#fffdf4;transform:translate(54px,8px) rotate(5deg)}
.guide-index-art-top,.guide-index-art-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#245237;font-size:.58rem;font-weight:900;letter-spacing:.11em;line-height:1.3}
.guide-index-art-top{padding-bottom:11px;border-bottom:2px solid #2d5a3f}
.guide-index-art-top b{color:#a34f34;font-size:.78rem}
.guide-index-art-title{margin:auto 0;color:#1b4430;font:400 2.65rem/1.05 var(--serif);letter-spacing:-.065em}
.guide-index-art-title span{color:#bd6343}
.guide-index-art-lines{display:grid;gap:7px;margin-bottom:auto}
.guide-index-art-lines i{display:block;height:2px;background:#abc3ac}
.guide-index-art-lines i:nth-child(2){width:81%}.guide-index-art-lines i:nth-child(3){width:62%}
.guide-index-art-bottom{padding-top:11px;border-top:1px solid #a6beab;font-size:.47rem}
.guide-index-art-bottom b{color:#b25436;font-size:1.4rem;line-height:.5}
.guide-index-art-caption{position:absolute;right:25px;bottom:21px;color:#f1f8ec;font-size:.62rem;font-weight:700;letter-spacing:.13em}
.guide-index-featured,.guide-index-library,.guide-index-services{max-width:1500px;margin:auto;padding-left:clamp(20px,5vw,82px);padding-right:clamp(20px,5vw,82px)}
.guide-index-featured{padding-top:clamp(48px,5vw,76px);padding-bottom:clamp(55px,6vw,90px)}
.guide-index-section-top{display:flex;justify-content:space-between;gap:15px;padding:0 0 16px;border-bottom:2px solid #28583d;color:#315b41;font-size:.64rem;font-weight:900;letter-spacing:.17em}
.guide-index-section-top span:last-child{color:#a85b3f}
.guide-index-feature-card{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:370px;margin-top:20px;border:1px solid #c0d0c2;background:#fffdf6;box-shadow:13px 13px 0 #dbe7d9;transition:transform .22s,box-shadow .22s}
.guide-index-feature-card:hover,.guide-index-feature-card:focus-within{transform:translateY(-3px);box-shadow:13px 16px 0 #dbe7d9}
.guide-index-feature-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:370px;padding:21px;background:#d8e5d7;border-right:1px solid #b6cab9;overflow:hidden}
.guide-index-feature-visual:before{content:'';position:absolute;width:290px;height:290px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #90ad91;box-shadow:0 0 0 26px #ffffff55,0 0 0 27px #90ad9170}
.guide-index-visual-rule,.guide-index-visual-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;color:#315d43;font-size:.59rem;font-weight:900;letter-spacing:.17em}
.guide-index-visual-rule{border-bottom:1px solid #8bab90;padding-bottom:12px}
.guide-index-visual-bottom{border-top:1px solid #8bab90;padding-top:12px}
.guide-index-visual-bottom span{color:#b15a38;font-size:1.3rem;line-height:.6}
.guide-index-feature-visual img{position:relative;z-index:1;align-self:center;display:block;width:min(72%,330px);height:235px;object-fit:contain;filter:drop-shadow(8px 15px 12px #2c55302b)}
.guide-index-feature-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(31px,4.5vw,68px)}
.guide-index-meta{display:flex;justify-content:space-between;gap:15px;width:100%;color:#4b6b52;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.guide-index-meta time{color:#60766a;white-space:nowrap}
.guide-index-feature-copy h2{margin:27px 0 19px;color:#153b29;font-size:clamp(2.2rem,3.3vw,3.75rem);line-height:1.13;text-wrap:balance}
.guide-index-feature-copy h2 a:after,.guide-index-card h3 a:after{content:'';position:absolute;inset:0}
.guide-index-feature-copy p{max-width:54ch;color:#476051;font-size:1.06rem;line-height:1.68}
.guide-index-read{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:180px;margin-top:auto;padding-top:16px;border-top:1px solid #bd6847;color:#285638;font-size:.84rem;font-weight:800}
.guide-index-read span{color:#b45a3c;font-size:1.35rem;line-height:1}
.guide-index-library{padding-top:clamp(55px,6vw,90px);padding-bottom:clamp(65px,7vw,105px);border-top:1px solid #d4dfd2}
.guide-index-library-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}
.guide-index-library .guide-index-section-label,.guide-index-services .guide-index-section-label{color:#9a4e32}
.guide-index-library h2{margin:11px 0 0;font-size:clamp(2.7rem,4.4vw,4.7rem);line-height:1.08}
.guide-index-library h2 em{color:#ae6144}
.guide-index-library-head p{max-width:340px;margin:0 0 5px;color:#4b6154;font-size:.96rem;line-height:1.58}
.guide-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-index-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #c8d7c7;border-bottom:5px solid #b46849;background:#fffdf6;transition:transform .22s,box-shadow .22s}
.guide-index-card:hover,.guide-index-card:focus-within{transform:translateY(-4px);box-shadow:0 13px 25px #25492c1b}
.guide-index-card-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:190px;padding:25px;background:#e0eadf;overflow:hidden}
.guide-index-card-visual:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #a8c1a9;border-radius:50%;box-shadow:0 0 0 17px #ffffff6b}
.guide-index-card-visual>span{position:absolute;top:15px;left:19px;z-index:1;color:#315d42;font-size:.59rem;font-weight:900;letter-spacing:.12em}
.guide-index-card-visual img{position:relative;z-index:1;display:block;width:205px;height:135px;object-fit:contain;filter:drop-shadow(5px 8px 7px #3f654429)}
.guide-index-card-copy{display:flex;flex-direction:column;flex:1;padding:25px 25px 21px}
.guide-index-card .guide-index-meta{font-size:.59rem}
.guide-index-card h3{margin:18px 0 13px;color:#183e2c;font:400 clamp(1.55rem,1.9vw,2rem)/1.19 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.guide-index-card p{margin:0 0 25px;color:#526659;font-size:.92rem;line-height:1.62}
.guide-index-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:13px;border-top:1px solid #cbd6c7;color:#28583c;font-size:.81rem;font-weight:800}
.guide-index-card-bottom span{color:#b45b3d;font-size:1.25rem;line-height:1}
.guide-index-card[data-topic="gas-safety-certificate"] .guide-index-card-visual,.guide-index-feature-card[data-topic="gas-safety-certificate"] .guide-index-feature-visual{background:#f0dfd0}
.guide-index-card[data-topic="eicr-reports"] .guide-index-card-visual,.guide-index-feature-card[data-topic="eicr-reports"] .guide-index-feature-visual{background:#d6e8df}
.guide-index-card[data-topic="commercial-epc-certificate"] .guide-index-card-visual,.guide-index-feature-card[data-topic="commercial-epc-certificate"] .guide-index-feature-visual{background:#e9e4d2}
.guide-index-card[data-topic="sbem-calculations"] .guide-index-card-visual,.guide-index-feature-card[data-topic="sbem-calculations"] .guide-index-feature-visual{background:#e8e2d6}
.guide-index-card[data-topic="display-energy-certificate"] .guide-index-card-visual,.guide-index-feature-card[data-topic="display-energy-certificate"] .guide-index-feature-visual{background:#e8deec}
.guide-index-empty{padding:35px;border:1px solid #c7d3c4;background:#fffdf6}.guide-index-empty p{margin:0}.guide-index-empty a{text-decoration:underline}
.guide-index-services{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;padding-top:clamp(50px,6vw,85px);padding-bottom:clamp(65px,7vw,100px);background:#e2eade;max-width:none}
.guide-index-services>div{max-width:650px}.guide-index-services>div:first-child{justify-self:end;width:100%}.guide-index-services>div:last-child{justify-self:start;width:100%}
.guide-index-services h2{margin:14px 0 16px;font-size:clamp(2.25rem,3.6vw,3.8rem);text-wrap:balance}
.guide-index-services p{max-width:420px;color:#4b6452;font-size:1rem}
.guide-index-service-links{border-top:2px solid #416b4d}
.guide-index-service-links a{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #a7baa8;color:#234b34;font-size:1.05rem;font-weight:800;line-height:1.4}
.guide-index-service-links a span:last-child{color:#a85939;font-size:1.25rem;line-height:1}
.guide-index-service-links a:hover{color:#a54d31}
@media(max-width:1060px){.guide-index-hero-grid{grid-template-columns:minmax(0,1fr) minmax(310px,.8fr)}.guide-index-hero-art{min-height:450px}.guide-index-art-sheet-back{width:225px;height:290px}.guide-index-art-sheet-front{width:238px;height:308px}.guide-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-index-services{gap:5%}}
@media(max-width:780px){.guide-index-hero-grid{grid-template-columns:1fr;min-height:0}.guide-index-hero-copy{padding:39px 25px 42px}.guide-index-hero h1{font-size:clamp(2.9rem,7vw,4.3rem)}.guide-index-hero-art{min-height:250px;border-left:0;border-top:1px solid #66846c}.guide-index-art-orbit{width:220px}.guide-index-art-sheet-back{width:160px;height:190px;padding:12px;transform:translate(-26px,-5px) rotate(-14deg)}.guide-index-art-sheet-back strong{font-size:1.5rem}.guide-index-art-sheet-front{width:174px;height:205px;padding:12px;transform:translate(36px,5px) rotate(5deg)}.guide-index-art-title{font-size:1.85rem}.guide-index-art-top,.guide-index-art-bottom{font-size:.42rem}.guide-index-art-lines{gap:4px}.guide-index-art-caption{font-size:.51rem}.guide-index-feature-card{grid-template-columns:1fr}.guide-index-feature-visual{min-height:235px}.guide-index-feature-visual img{height:155px}.guide-index-feature-visual:before{width:190px;height:190px}.guide-index-feature-copy{min-height:280px;padding:29px}.guide-index-feature-copy h2{font-size:clamp(2rem,5vw,3rem)}.guide-index-services{grid-template-columns:1fr;gap:22px}.guide-index-services>div:first-child,.guide-index-services>div:last-child{justify-self:stretch;max-width:none}}
@media(max-width:540px){.guide-index-breadcrumbs{padding:15px 20px 0}.guide-index-hero-copy{padding:30px 20px 35px}.guide-index-eyebrow{font-size:.58rem}.guide-index-hero h1{margin:18px 0 16px;font-size:clamp(2.65rem,10vw,3.55rem)}.guide-index-hero-copy>p{font-size:1rem;line-height:1.58}.guide-index-hero-link{margin-top:22px}.guide-index-hero-art{min-height:205px}.guide-index-art-sheet-back{width:134px;height:163px}.guide-index-art-sheet-front{width:150px;height:178px}.guide-index-art-title{font-size:1.54rem}.guide-index-art-sheet-back strong{font-size:1.22rem}.guide-index-art-caption{right:10px;bottom:10px;font-size:.43rem}.guide-index-featured{padding-top:42px;padding-bottom:58px}.guide-index-section-top{font-size:.54rem}.guide-index-feature-card{margin-top:14px;box-shadow:8px 8px 0 #dbe7d9}.guide-index-feature-visual{min-height:200px;padding:15px}.guide-index-feature-visual img{height:125px}.guide-index-feature-copy{min-height:0;padding:24px 22px 27px}.guide-index-feature-copy h2{margin:18px 0 13px;font-size:clamp(1.85rem,8vw,2.55rem)}.guide-index-feature-copy p{font-size:.96rem}.guide-index-read{margin-top:17px}.guide-index-library{padding-top:53px;padding-bottom:68px}.guide-index-library-head{display:block;margin-bottom:25px}.guide-index-library h2{font-size:clamp(2.55rem,9vw,3.4rem)}.guide-index-library-head p{margin-top:14px;font-size:.94rem}.guide-index-grid{grid-template-columns:1fr;gap:15px}.guide-index-card-visual{min-height:150px}.guide-index-card-visual img{height:105px}.guide-index-card-visual:before{width:130px;height:130px}.guide-index-card-copy{padding:22px}.guide-index-card h3{font-size:1.8rem}.guide-index-services{padding-top:54px;padding-bottom:66px}.guide-index-services h2{font-size:2.5rem}.guide-index-service-links a{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.guide-index-feature-card,.guide-index-card{transition:none}}

/* Prominent house labels and a direct Home route */
.primary-nav .nav-home{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:40px;min-height:40px}
.nav-home svg{display:block;width:23px;height:23px;flex:none}
.nav-home span{display:none}
.nav-home[aria-current="page"]{color:var(--clay)}
.art-upper span{font-family:"Arial Narrow","Liberation Sans Narrow",Arial,sans-serif;font-size:.95rem;font-weight:900;letter-spacing:-.055em;line-height:1.1;padding:6px 1px;white-space:nowrap}
.art-upper span b{font-weight:inherit}
.art-upper:nth-child(3) span b{display:block;width:125%;margin-left:-12.5%;transform:scaleX(.8)}
.art-upper svg{margin-top:17px}
@media(max-width:980px){.primary-nav .nav-home{justify-content:flex-start;min-width:0}.nav-home span{display:inline}}
@media(max-width:520px){.art-building{left:6%;width:88%}.art-upper span{font-size:clamp(.72rem,2.55vw,.84rem);padding:5px 0;letter-spacing:-.065em}.art-upper svg{margin-top:15px}}

/* Customer review invitation and submission */
.review-ribbon-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.review-ribbon-actions .review-pause{margin-left:0}
.review-write-link{display:inline-flex;align-items:center;gap:.7rem;min-height:34px;padding:6px 11px;background:#efc7ac;color:#183a2a;font-size:.76rem;font-weight:900;white-space:nowrap}
.review-write-link:hover{background:#fff0dc;text-decoration:underline;text-underline-offset:3px}
.review-write-link span{font-size:1rem;line-height:1}
.review-empty{margin:0;padding:8px clamp(20px,4vw,68px) 16px;color:#e3eee1;font-size:.9rem}
.review-submit-page{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,75px);padding:clamp(36px,5vw,75px) clamp(20px,6.5vw,108px) clamp(70px,7vw,110px);background:#e8eee7}
.review-submit-intro{align-self:start;position:sticky;top:28px;padding:clamp(25px,3vw,48px);background:#1c3d2d;color:#f7f2e8;border-top:7px solid #d68a61}
.review-submit-intro .eyebrow{color:#efb18b}
.review-submit-intro h1{font-size:clamp(3rem,4.4vw,5rem);margin:.8rem 0 1.1rem}
.review-submit-intro p{color:#d6e4d4;font-size:1.03rem;line-height:1.65}
.review-submit-intro .back-link{color:#f3dfcf;margin-top:1.5rem}
.review-submit-panel{min-width:0}
.review-form-head h2,.review-thanks h2{font-size:clamp(2rem,3vw,3.25rem);margin:.4rem 0 .5rem}
.review-form-head p{margin-bottom:1.3rem}
.review-submit-panel .form-panel{box-shadow:9px 9px 0 #d2e0d2}
.review-submit-panel .form-panel label{font-size:.93rem}
.review-submit-panel .form-panel textarea{min-height:135px}
.review-submit-panel .review-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:1.3rem 0 .8rem}
.review-submit-panel .review-consent input{flex:none;width:20px;height:20px;min-height:0;margin:2px 0 0;accent-color:#286a43}
.review-thanks{padding:clamp(30px,5vw,60px);background:#fffdf8;border:1px solid #cddccd;box-shadow:9px 9px 0 #d2e0d2}
.review-thanks p{font-size:1.1rem;max-width:580px}
@media(max-width:780px){.review-submit-page{grid-template-columns:1fr;gap:22px}.review-submit-intro{position:static}.review-ribbon-head{flex-wrap:wrap;gap:8px}.review-ribbon-actions{margin-left:auto}}
@media(max-width:520px){.review-ribbon-head{padding:10px 18px 6px}.review-ribbon-head strong{font-size:.9rem}.review-ribbon-actions{width:100%;justify-content:flex-start;margin-left:0}.review-write-link{font-size:.8rem}.review-submit-page{padding:20px 18px 70px}.review-submit-intro{padding:23px}.review-submit-intro h1{font-size:2.8rem}.review-submit-panel .form-panel{padding:20px;box-shadow:5px 5px 0 #d2e0d2}}

/* Focused booking journey */
.order-intro-strip{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:22px clamp(20px,6.5vw,108px);background:#18372b;color:#fffdf8}
.order-intro-strip .eyebrow{color:#e6ad8e;font-size:.62rem}
.order-intro-strip h1{font-size:clamp(1.5rem,2.8vw,2.65rem);margin:.25rem 0 0;line-height:1.08}
.order-intro-strip h1 em{color:#e8b092}
.order-intro-strip p{color:#d2e1d2;font-size:.78rem;margin:0;white-space:nowrap}
.order-workspace{max-width:1220px;margin:0 auto;padding:18px clamp(16px,4vw,55px) 75px}
.order-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.order-progress>span{display:flex;align-items:center;gap:9px;min-height:39px;padding:7px 12px;background:#e5eae1;border-top:3px solid #a9bca9;color:#586c5e;font-size:.7rem;font-weight:800}
.order-progress strong{font-size:.71rem;font-weight:700}
.order-progress [aria-current="step"]{background:#d9e9d9;border-top-color:#bc6a4a;color:#173e2b}
.order-wizard{padding:clamp(16px,2.1vw,28px);box-shadow:8px 8px 0 #e0e7dc}
.order-stage[hidden]{display:none!important}
.order-stage-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 16px;margin-bottom:13px}
.order-stage-number{color:#b35d3e;font-size:.66rem;font-weight:900;letter-spacing:.16em}
.order-stage-heading h2{font:400 clamp(1.45rem,2.2vw,2.1rem)/1.15 var(--serif);margin:0}
.order-stage-heading p{flex-basis:100%;margin:0;color:#617265;font-size:.8rem}
.order-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,38px)}
.order-wizard .order-stage-grid fieldset{border:0;padding:0;margin:0;min-width:0}
.order-wizard .order-stage-grid legend{font:700 .86rem var(--font);color:#1f4a33;letter-spacing:.03em;border-bottom:2px solid #bed1bd;padding:0 0 7px;margin:0 0 11px;width:100%}
.order-wizard label{font-size:.79rem;line-height:1.3;margin-bottom:9px}
.order-wizard input,.order-wizard select,.order-wizard textarea{margin-top:4px;min-height:42px;padding:8px 10px;font-size:1rem}
.order-wizard textarea[data-autogrow]{min-height:58px}
.order-wizard .form-row{gap:10px}
.order-field-note{font-size:.75rem;line-height:1.4;margin:-3px 0 12px;color:#5c705e}
.order-wizard .form-hint{font-size:.74rem;margin:12px 0 0}
.order-optional-details{border:1px solid #d6e2d5;background:#f6f9f5;margin-top:3px}
.order-optional-details+label{margin-top:9px}
.order-optional-details summary{cursor:pointer;padding:7px 10px;color:#31513b;font-size:.76rem;font-weight:800;list-style:none}
.order-optional-details summary::-webkit-details-marker{display:none}
.order-optional-details summary:after{content:'＋';float:right;color:#ae6248}
.order-optional-details[open] summary:after{content:'−'}
.order-optional-details summary span{font-size:.68rem;font-weight:400;color:#68796b}
.order-optional-details label{padding:0 10px 9px}
.order-stage-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #d8e0d4;background:#fffdf9;padding:13px 0 0;margin-top:12px}
.order-stage-actions .button{min-height:46px;padding:10px 15px;font-size:.83rem}
.order-stage-actions .back-link{min-height:42px}
.order-back-button{background:transparent;border:0;padding:0;font:inherit;cursor:pointer}
.order-final-strip{padding-block:8px}
.order-final-strip strong{font-size:1.55rem}
.order-final-strip>span:last-child{font-size:.75rem}
.order-final-layout{max-width:1050px;padding-top:12px}
.order-final-shell{padding:clamp(13px,1.7vw,20px)}
.order-final-intro{margin-bottom:9px}
.order-final-intro h1{font-size:clamp(1.5rem,2.4vw,2rem);margin:3px 0 4px}
.order-final-intro p{font-size:.84rem;line-height:1.4;margin:0}
.order-final-shell .review-price-strip{align-items:center;padding:15px 20px;gap:15px}
.order-final-shell .review-price-strip strong{font-size:clamp(2rem,3vw,2.8rem)}
.order-final-shell .review-price-strip p{font-size:.82rem}
.order-summary-details{border:1px solid #d8e4d8;margin-top:11px;background:#f7f9f4}
.order-summary-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:10px 15px;cursor:pointer;color:#234733}
.order-summary-details summary::-webkit-details-marker{display:none}
.order-summary-details summary strong{display:block;font-size:.84rem}
.order-summary-details summary small{display:block;color:#607363;font-size:.69rem}
.order-summary-details summary>span:last-child{font-size:1.3rem;color:#ae6248}
.order-summary-details[open] summary>span:last-child{transform:rotate(45deg)}
.order-final-shell .review-detail-grid{padding:8px 12px 0;gap:9px;margin:0}
.order-final-shell .review-panel{padding:14px}
.order-final-shell .review-panel h2{font-size:1.35rem;margin:4px 0 9px}
.order-final-shell .review-list>div{padding:6px 0}
.order-final-shell .review-list dt{font-size:.68rem}
.order-final-shell .review-list dd{font-size:.85rem}
.order-summary-edit{display:flex;flex-wrap:wrap;gap:12px;padding:8px 14px 14px}
.order-summary-edit a{color:#a04a2e;font-size:.76rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.order-final-shell .review-checkout{padding-top:13px}
.order-final-shell .payment-choice-cards legend{font-size:1.45rem;padding-bottom:8px}
.order-final-shell .payment-choice-cards .payment-card{padding:10px 14px;margin-bottom:7px;gap:12px}
.order-final-shell .payment-card-title strong{font-size:.98rem}
.order-final-shell .payment-card-description{font-size:.78rem;margin:2px 0 4px}
.order-final-shell .payment-card-wallet-note{font-size:.66rem}
.order-final-shell .review-assurance{font-size:.75rem;padding:7px 0}
.order-final-shell .review-actions{background:#fffdf9;padding:10px 0}
.order-final-shell .review-actions .button{min-height:46px}
.order-final-shell .button-restart{margin-top:10px}
@media(max-width:780px){.order-intro-strip p{display:none}.order-stage-grid{grid-template-columns:1fr;gap:12px}.order-final-strip{flex-direction:row;align-items:center;flex-wrap:wrap}.order-final-shell .review-price-strip{flex-direction:row}}
@media(max-width:520px){.order-intro-strip{padding:10px 17px}.order-intro-strip .eyebrow{font-size:.53rem}.order-intro-strip h1{font-size:1.12rem;margin:2px 0 0}.order-workspace{padding:10px 12px 50px}.order-progress{gap:3px;margin-bottom:7px}.order-progress>span{display:block;min-height:42px;padding:5px 6px;font-size:.61rem;line-height:1.1}.order-progress strong{display:block;font-size:.59rem;line-height:1.13}.order-wizard{padding:12px;box-shadow:4px 4px 0 #e0e7dc}.order-stage-heading{margin-bottom:8px;gap:3px 8px}.order-stage-heading h2{font-size:1.26rem}.order-stage-heading p{font-size:.69rem}.order-wizard .order-stage-grid legend{font-size:.77rem;margin-bottom:7px;padding-bottom:4px}.order-wizard label{font-size:.73rem;margin-bottom:6px}.order-wizard input,.order-wizard select,.order-wizard textarea{min-height:40px;padding:6px 8px}.order-stage-grid{gap:9px}.order-stage-actions{margin-top:7px;padding:8px 0 0}.order-stage-actions .button{font-size:.7rem;min-height:42px;padding:7px 9px;gap:4px}.order-stage-actions .button span{margin-left:3px}.order-stage-actions .back-link{font-size:.75rem;white-space:nowrap}.order-field-note{font-size:.69rem;margin-bottom:7px}.order-wizard .order-stage-grid fieldset:last-child .form-row{grid-template-columns:1fr 1fr;gap:8px}.order-final-strip{padding:8px 14px;gap:3px 10px}.order-final-strip strong{font-size:1.05rem}.order-final-strip>span:last-child{display:none}.order-final-layout{padding:12px 12px 50px}.order-final-shell{padding:13px;box-shadow:4px 4px 0 #e4e9df}.order-final-intro{margin-bottom:9px}.order-final-intro h1{font-size:1.45rem}.order-final-intro p{font-size:.74rem}.order-final-shell .review-price-strip{padding:10px 12px;gap:6px}.order-final-shell .review-price-strip strong{font-size:1.75rem}.order-final-shell .review-price-strip p{font-size:.69rem}.order-summary-details{margin-top:7px}.order-summary-details summary{padding:7px 10px}.order-final-shell .review-checkout{padding-top:9px}.order-final-shell .payment-choice-cards legend{font-size:1.2rem;padding-bottom:5px}.order-final-shell .payment-choice-cards .payment-card{padding:8px 10px}.order-final-shell .payment-card-description{font-size:.71rem}.order-final-shell .review-actions{gap:4px}.order-final-shell .review-actions .button{min-height:43px}.order-final-shell .review-assurance{font-size:.7rem}}
@media(max-width:520px){.order-final-shell .payment-card-trust{font-size:.64rem;margin:0 0 3px;gap:4px}.order-final-shell .payment-card-title{gap:5px;flex-wrap:nowrap}.order-final-shell .payment-card-title strong{font-size:.84rem}.order-final-shell .payment-provider{margin-left:auto;white-space:nowrap;font-size:.6rem}.order-final-shell .payment-provider img{width:23px;height:23px}.order-final-shell .payment-card-description{line-height:1.27;margin:1px 0 3px}.order-final-shell .payment-card-logos{gap:4px;padding-top:4px}.order-final-shell .payment-card-logos img{height:17px;max-width:38px}.order-final-shell .payment-card-wallet-note{font-size:.58rem;line-height:1.2;margin-top:3px}.order-final-shell .human-check{display:grid;grid-template-columns:1fr 65px;align-items:center;gap:5px;padding:8px;margin:7px 0}.order-final-shell .human-check label{font-size:.75rem}.order-final-shell .human-check input{width:65px;min-height:38px}.order-final-shell .human-check small{display:none}.order-final-shell .review-assurance{line-height:1.3;padding:3px 0;margin:0}.order-final-shell .review-actions{display:flex;flex-direction:row;align-items:center;gap:9px;padding-top:6px}.order-final-shell .review-actions .button{width:auto;flex:1;min-width:0}.order-final-shell .review-actions .back-link{font-size:.68rem;white-space:nowrap}.order-final-shell .button-restart{min-height:35px;padding:7px 10px;font-size:.7rem}}
@media(max-width:520px){.order-final-intro{margin-bottom:6px}.order-final-intro h1{font-size:1.3rem}.order-final-intro p{font-size:.69rem}.order-final-shell .review-price-strip{padding:8px 10px}.order-final-shell .review-price-strip strong{font-size:1.55rem}.order-summary-details summary{padding:6px 9px}.order-summary-details summary small{display:none}.order-final-shell .payment-choice-cards legend{font-size:1.08rem}.order-final-shell .payment-choice-cards .payment-card{padding:6px 8px}.order-final-shell .payment-card-wallet-note{font-size:.57rem}.order-final-shell .review-actions{padding:5px 0}.order-final-shell .review-actions .button{min-height:42px;height:42px;padding:6px 11px}}
@media(min-width:781px){.order-final-shell{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);column-gap:25px;align-items:start}.order-final-intro{grid-column:1/-1}.order-final-shell>.review-price-strip{grid-column:1;grid-row:2;display:block;align-self:start}.order-final-shell>.review-price-strip p{margin-top:10px}.order-final-shell>.order-summary-details{grid-column:1;grid-row:3;margin-top:11px}.order-final-shell>.notice{grid-column:1;grid-row:4}.order-final-shell>.review-checkout{grid-column:2;grid-row:2/span 3;padding-top:0}.order-final-shell>.button-restart{grid-column:1;grid-row:5;justify-self:start}.order-final-shell .payment-provider img{width:28px;height:28px}.order-final-shell .payment-card-trust{margin:0 0 4px}.order-final-shell .payment-card-logos{padding-top:6px}.order-final-shell .payment-card-wallet-note{margin-top:4px;font-size:.66rem}.order-final-shell .human-check{margin:8px 0;padding:9px}.order-final-shell .review-assurance{padding:5px 0}.order-final-shell .review-actions{display:flex;flex-direction:row;align-items:center;gap:10px}.order-final-shell .review-actions .button{min-width:0}.order-final-shell .review-actions .back-link{font-size:.78rem;white-space:nowrap}}
@media(min-width:781px){.order-final-shell .payment-choice-cards .payment-card{display:inline-flex;vertical-align:top;width:calc(50% - 13px);min-height:166px;margin:0 6px 6px 0;padding:9px 10px;gap:7px}.order-final-shell .payment-choice-cards .payment-card:last-of-type{margin-right:0}.order-final-shell .payment-choice-cards .payment-card:only-of-type{width:100%;min-height:72px}.order-final-shell .payment-card-title{gap:5px}.order-final-shell .payment-card-title strong{font-size:.9rem}.order-final-shell .payment-provider{font-size:0}.order-final-shell .payment-provider img{width:22px;height:22px}.order-final-shell .payment-card-description{font-size:.74rem;line-height:1.35}.order-final-shell .payment-card-logos{gap:4px}.order-final-shell .payment-card-logos img{height:18px;max-width:40px}.order-final-shell .payment-card-wallet-note{font-size:.6rem;line-height:1.2}}
@media(max-width:780px){.order-final-shell .review-actions{position:static;background:#fffdf9}}
@media(max-width:520px){.order-final-intro{margin-bottom:3px}.order-summary-details{margin-top:4px}.order-final-shell .review-checkout{padding-top:6px}.order-final-shell .payment-choice-cards .payment-card{margin-bottom:4px}.order-final-shell .human-check{margin:5px 0}.order-final-shell .review-actions{padding-top:3px}}
/* Booking refinement: put the task ahead of site chrome and keep the final step ordered. */
.order-progress>span{min-height:53px;padding:9px 14px;border-top-width:4px;font-size:.82rem;letter-spacing:.02em}
.order-progress strong{font-size:.84rem;line-height:1.2}
.order-progress [aria-current="step"]{background:#e3eee2;box-shadow:inset 0 0 0 1px #91b094}
.order-stage-heading h2{font-size:clamp(1.75rem,2.5vw,2.35rem);font-weight:700}
.order-wizard .order-stage-grid legend{font-size:1.02rem;font-weight:900;border-bottom-color:#6f9872;border-bottom-width:3px}
.payment-card-grid{display:grid;grid-auto-rows:1fr;gap:10px}
.payment-card-grid .payment-card{box-sizing:border-box;min-height:126px;margin:0!important;align-items:flex-start}
.payment-card-grid .payment-card:has(input[value="pay_on_visit"]){align-items:center}
.payment-card-grid .payment-card:has(input[value="pay_on_visit"]) .payment-card-content{display:flex;flex-direction:column;justify-content:center;align-self:stretch}
.order-final-shell .payment-card-title strong{font-size:1.02rem;font-weight:800;line-height:1.2}
.order-final-shell .payment-card-logos .stripe-brand{height:22px;max-width:60px;margin-right:6px}
.order-final-shell .payment-choice-cards legend{font-weight:700;font-size:clamp(1.55rem,2.3vw,1.9rem)}
.order-final-intro h1{font-weight:700}
.order-summary-details summary strong{font-size:1rem}
@media(min-width:781px){
  .order-final-layout{max-width:1200px;padding:22px 28px 70px}
  .order-final-shell{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);column-gap:30px;row-gap:15px;padding:28px 32px;background:#fffdf9;border:1px solid #d7e0d5;box-shadow:10px 10px 0 #e4e9df}
  .order-final-intro{padding-bottom:13px;border-bottom:2px solid #dce7da;margin:0}
  .order-final-intro h1{font-size:2.35rem}
  .order-final-intro p{font-size:.93rem}
  .order-final-shell>.review-price-strip{grid-column:1;grid-row:2;margin:0;padding:21px 24px}
  .order-final-shell>.order-summary-details{grid-column:1;grid-row:3;margin:0;align-self:start;background:#f8faf6}
  .order-final-shell>.review-checkout{grid-column:2;grid-row:2/span 3;padding:0 0 0 8px;border-left:1px solid #dce6d9}
  .order-final-shell>.notice{grid-column:1;grid-row:4}
  .order-final-shell>.button-restart{grid-column:1;grid-row:5;margin:0;justify-self:start}
  .order-final-shell .order-summary-details summary{padding:13px 16px}
  .order-final-shell .review-detail-grid{display:block;padding:1px 17px 0}
  .order-final-shell .review-panel{padding:9px 0 10px;background:transparent;border:0;border-top:1px solid #dce6d9}
  .order-final-shell .review-panel:first-child{border-top:0}
  .order-final-shell .review-panel h2{font-size:1.2rem;font-weight:700;margin:2px 0 7px}
  .order-final-shell .review-step{font-size:.64rem}
  .order-final-shell .review-list>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:4px 0;border:0}
  .order-final-shell .review-list dt{font-size:.66rem;line-height:1.35}
  .order-final-shell .review-list dd{font-size:.78rem;line-height:1.35}
  .order-final-shell .order-summary-edit{border-top:1px solid #dce6d9;padding:10px 17px 13px}
  .order-final-shell .payment-card-grid{grid-template-columns:1fr;gap:12px}
  .order-final-shell .payment-card-grid .payment-card{display:flex;width:100%;min-height:126px;padding:14px 16px;gap:12px}
  .order-final-shell .payment-card-trust{font-size:.72rem;margin-bottom:5px}
  .order-final-shell .payment-card-title strong{font-size:1.04rem}
  .order-final-shell .payment-card-description{font-size:.8rem;margin:5px 0}
  .order-final-shell .payment-card-logos{padding-top:7px;gap:9px}
  .order-final-shell .payment-card-logos img{height:22px;max-width:50px}
  .order-final-shell .payment-card-wallet-note{font-size:.67rem}
  .order-final-shell .review-actions{padding-top:12px}
}
@media(max-width:780px){
  .booking-page .topline,.booking-page .site-header,.booking-page .order-intro-strip{display:none}
  .booking-page .order-workspace{padding-top:10px}
  .order-progress>span{min-height:55px;padding:8px 9px;font-size:.72rem}
  .order-progress strong{font-size:.75rem}
  .order-stage-heading h2{font-size:1.55rem}
  .order-wizard .order-stage-grid legend{font-size:.99rem}
  .order-final-shell .payment-card-grid .payment-card{min-height:105px}
  .order-final-shell .payment-card-title strong{font-size:.91rem;white-space:nowrap}
  .order-final-shell .payment-card-logos .stripe-brand{height:18px;max-width:46px;margin-right:3px}
  .order-final-shell .payment-choice-cards legend{font-size:1.34rem}
}
@media(max-width:520px){
  .order-progress>span{min-height:62px;padding:8px 8px;font-size:.76rem}
  .order-progress strong{font-size:.86rem;line-height:1.13}
  .order-wizard{padding:13px}
  .order-stage-heading h2{font-size:1.42rem}
  .order-wizard .order-stage-grid legend{font-size:.95rem;margin-bottom:7px}
  .order-wizard .form-hint{font-size:.66rem;margin-top:5px}
  .order-final-shell .payment-card-grid .payment-card{min-height:91px;margin:0!important}
  .order-final-shell .payment-card-wallet-note{display:none}
  .order-final-shell .payment-card-title strong{font-size:.83rem}
  .order-final-shell .payment-card-description{font-size:.67rem}
  .order-final-shell .payment-card-logos{gap:5px}
  .order-final-shell .payment-card-logos img{height:17px;max-width:36px}
  .order-final-shell .payment-card-logos .stripe-brand{height:17px;max-width:42px}
  .order-final-shell .payment-choice-cards legend{font-size:1.22rem}
  .order-summary-details summary strong{font-size:.83rem}
}
@media(max-width:360px){.order-final-shell .payment-card-title strong{white-space:normal}}

/* Mobile booking and service discovery refinements, October 2026. */
.service-jump-nav{padding:18px clamp(20px,6.5vw,108px) 2px;background:var(--paper2)}
.service-jump-nav>span{display:block;margin-bottom:8px;color:var(--forest);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.service-jump-nav>div{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 2px 12px}
.service-jump-nav a{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 13px;border:1px solid #8ca792;background:#fffdf9;color:#234532;font-size:.84rem;font-weight:700}
.service-jump-nav a:hover,.service-jump-nav a:focus-visible{background:#e3eee2}
.service-jump-nav a span{color:#965037}
.services-directory-grid .service-card{scroll-margin-top:16px}
.card-copy h2{font:400 clamp(1.45rem,2vw,2.1rem)/1.13 var(--serif);letter-spacing:-.03em;margin:.7rem 0}
.card-copy h2 a:after{content:'';position:absolute;inset:0}
.note-band p{color:#254635}
.order-optional-details summary span{color:#375342;font-size:.82rem}
.order-quick-summary{display:none}

@media(max-width:780px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-copy,.hero-art{min-width:0}
  .order-quick-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:10px 0 0;padding:11px 12px;border:1px solid #c7dac9;background:#f2f7f0}
  .order-quick-summary div:nth-child(2){grid-column:1/-1;grid-row:2;border-top:1px solid #d6e4d7;padding-top:7px}
  .order-quick-summary dt{color:#31533b;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .order-quick-summary dd{margin:1px 0 0;color:#183a2a;font-size:.88rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
  .order-final-shell,.order-final-shell .review-checkout,.order-final-shell .payment-choice-cards,.order-final-shell .payment-card-grid,.order-final-shell .payment-card,.order-final-shell .payment-card-content{min-width:0;max-width:100%}
  .order-final-shell .payment-card-title strong{white-space:normal;overflow-wrap:normal;font-size:1rem;line-height:1.25}
  .order-final-shell .payment-card-grid .payment-card{min-height:112px}
  .order-wizard label,.order-form label,.order-wizard .form-hint,.order-field-note,.order-final-shell .payment-card-description,.order-final-shell .payment-card-wallet-note,.order-final-shell .review-assurance,.order-optional-details summary span{font-size:.875rem;line-height:1.4}
  .order-stage-heading p,.order-final-intro p{font-size:.875rem;line-height:1.42}
  .order-progress>span{font-size:.82rem}
  .order-progress strong{font-size:.875rem}
  .order-final-shell .payment-card-trust{font-size:.8rem}
  .order-wizard input,.order-wizard select,.order-wizard textarea,.order-form input,.order-form select,.order-form textarea{min-height:46px}
  .order-wizard .form-hint{margin-top:5px}
  .order-final-shell .payment-card-wallet-note{display:block}
}
@media(max-width:520px){
  .home-hero .hero-copy{min-height:0;padding:25px 20px 27px}
  .home-hero h1{font-size:clamp(2.62rem,10.8vw,3.15rem);line-height:1.04;margin:12px 0 13px}
  .home-hero .hero-copy>p{font-size:.96rem;line-height:1.48;margin:0}
  .home-hero .hero-actions{margin-top:18px;gap:12px}
  .home-hero .hero-audience{margin-top:15px;padding-top:0;gap:5px 10px}
  .services-directory-hero{padding-bottom:14px}
  .services-directory-hero h1{font-size:clamp(2rem,8vw,2.5rem)}
  .service-jump-nav{padding:12px 20px 0}
  .services-directory-grid{padding-top:10px}
  .service-hero>div:first-child{padding-bottom:32px}
  .service-hero h1{font-size:clamp(2.6rem,10vw,3.2rem);margin:.75rem 0}
  .service-hero .breadcrumbs ol{margin-bottom:2rem}
  .order-final-shell .payment-card-title strong{font-size:.98rem}
  .order-final-shell .payment-card-description{font-size:.875rem}
  .order-final-shell .payment-card-wallet-note{font-size:.8rem}
  .order-final-shell .payment-card-grid .payment-card{min-height:120px;padding:10px 11px}
  .order-optional-details summary{min-height:44px;display:flex;align-items:center;gap:6px;font-size:.875rem}
  .order-optional-details summary:after{margin-left:auto}
}
@media(max-width:520px){
  .topline{height:40px;min-height:40px;padding:0 10px}
  .top-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;min-width:0;overflow:hidden}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{display:inline-flex;align-items:center;width:auto;max-width:none;min-width:0;min-height:40px;font-size:.75rem;line-height:1;gap:4px;white-space:nowrap;flex:0 1 auto}
  .top-contact a:first-child:not(:last-child){flex:0 0 auto}
  .top-contact a:last-child{margin-left:auto}
  .top-contact img{width:12px;height:12px}
  .topline .contact-value:last-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .menu-toggle{min-height:44px;min-width:64px;justify-content:center}
}
@media(max-width:360px){
  .topline{padding-inline:6px}
  .top-contact{gap:3px}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{font-size:.73rem;gap:2px}
  .top-contact img{width:10px;height:10px}
  .home-hero h1{font-size:2.52rem}
  .order-wizard .order-stage-grid fieldset:last-child .form-row{grid-template-columns:1fr}
}

/* A restrained, site-owned type system with compact Latin WOFF2 files. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/IBMPlexSans-Regular-Latin1.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/IBMPlexSans-Bold-Latin1.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/IBMPlexSerif-Regular-Latin1.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/IBMPlexSerif-Bold-Latin1.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/IBMPlexSerif-Italic-Latin1.woff2') format('woff2')}
:root{--font:'IBM Plex Sans','Segoe UI',Arial,sans-serif;--serif:'IBM Plex Serif',Georgia,serif}
h1,h2{letter-spacing:-.028em}
.art-upper span{font-family:var(--font);letter-spacing:-.035em}
@media(max-width:520px){.art-upper span{letter-spacing:-.08em}}

/* Home: bring the service choice and artwork forward, with crawlable service links. */
.home-hero{position:relative}
.home-hero .hero-copy{padding-top:clamp(28px,3.4vw,52px)}
.home-hero .hero-copy h1{font-size:clamp(3rem,4.5vw,4.7rem);margin-top:.85rem}
.home-hero .art-building{bottom:23%;height:64%}
.hero-service-caption{position:absolute;z-index:5;right:0;bottom:0;width:48%;padding:13px clamp(16px,3vw,42px) 17px;background:#183b2e;color:#f4f3e8;border-top:1px solid #72947b}
.hero-service-caption>span{display:block;margin-bottom:8px;color:#b8d7bd;font-size:.67rem;font-weight:800;letter-spacing:.14em}
.hero-service-caption>div{display:flex;flex-wrap:wrap;gap:6px 8px}
.hero-service-caption a{display:inline-flex;align-items:center;min-height:27px;padding:3px 8px;border:1px solid #82a48d;color:#f4f3e8;font-size:.77rem;font-weight:700;line-height:1.2}
.hero-service-caption a:hover,.hero-service-caption a:focus-visible{background:#e4eee2;color:#183b2e}
.ticker{padding:.72rem 0;letter-spacing:.09em}
.ticker .ticker-track{display:flex;width:max-content;animation:marquee 48s linear infinite}
.ticker .ticker-line{display:flex;flex:none;align-items:center;gap:0;animation:none}
.ticker .ticker-line span{display:inline-flex;align-items:center;padding:0 1.2rem;color:var(--forest);font-size:.75rem;white-space:nowrap}
.ticker .ticker-line span:before{content:'◆';color:var(--clay);font-size:.46rem;margin-right:1.2rem}
.home-page .section{padding-top:clamp(44px,5vw,80px);padding-bottom:clamp(44px,5vw,80px)}
.home-page .section-heading{margin-bottom:clamp(22px,2.5vw,36px)}
.home-page .intro-section{gap:clamp(22px,3vw,48px)}
@media(max-width:780px){
  .home-hero .art-building{bottom:29%;height:60%}
  .hero-service-caption{width:100%;padding:12px 20px 15px}
}
@media(max-width:520px){
  .topline{padding-inline:8px}
  .top-contact{justify-content:flex-start;gap:3px;overflow:hidden}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{font-size:clamp(.74rem,3.6vw,.9rem);gap:3px}
  .top-contact a:last-child{margin-left:0}
  .top-contact img{width:11px;height:11px}
  .home-hero .hero-copy{padding:15px 20px 21px}
  .home-hero .hero-copy h1{font-size:clamp(2.22rem,9vw,2.76rem);line-height:1.04;margin:7px 0 11px}
  .home-hero .hero-actions{margin-top:14px}
  .home-hero .hero-audience{margin-top:12px}
  .home-hero .hero-art{min-height:345px}
  .home-hero .art-building{bottom:32%;height:59%}
  .hero-service-caption>span{font-size:.6rem}
  .hero-service-caption a{font-size:.69rem;min-height:25px;padding:2px 6px}
  .home-page .section{padding-top:38px;padding-bottom:38px}
  .home-page .section-heading{margin-bottom:24px}
  .home-page .intro-section{gap:18px}
}
@media(max-width:360px){
  .topline{padding-inline:4px}
  .top-contact{gap:1px}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{font-size:.74rem;gap:2px}
  .top-contact img{width:10px;height:10px}
  .home-hero .hero-copy h1{font-size:2.22rem}
  .home-hero .art-building{bottom:43%;height:50%}
}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none}}

/* Keep both mobile contacts readable, with a visible word-sized separation. */
@media(max-width:520px){
  .topline{padding-inline:4px}
  .top-contact{gap:8px}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{font-size:clamp(.77rem,3.8vw,.96rem);letter-spacing:-.025em}
}
@media(max-width:360px){
  .top-contact{gap:5px}
  .top-contact a,.top-contact a:first-child:not(:last-child),.top-contact a:last-child{font-size:clamp(.77rem,3.9vw,.88rem)}
}

/* Service pages: bring the action and artwork into the initial desktop view. */
@media(min-width:981px){
  .service-page .service-hero{min-height:570px}
  .service-page .service-hero>div:first-child{padding-top:27px;padding-bottom:48px}
  .service-page .service-hero .breadcrumbs ol{margin-bottom:2rem}
  .service-page .service-hero h1{font-size:clamp(2.7rem,4.2vw,4.3rem);line-height:1.08;margin:.8rem 0 1rem}
  .service-page .service-hero .lead{font-size:clamp(1.16rem,1.55vw,1.65rem);line-height:1.34;margin-bottom:1rem}
  .service-page .service-hero .sublead{margin-bottom:0}
  .service-page .service-hero .hero-actions{margin-top:1.3rem}
  .service-page .service-visual{padding-top:30px}
  .service-page .service-visual>img{position:relative;top:-24px}
  .service-page .service-page-grid{padding-top:64px;padding-bottom:32px}
  .service-page .service-introduction h2{margin-bottom:2rem}
  .service-page .detail-block{padding:1.2rem 0}
  .service-page .section{padding-top:clamp(48px,5vw,76px);padding-bottom:clamp(28px,3vw,44px)}
  .service-page .section-heading{margin-bottom:2rem}
  .service-page .service-order-strip{padding-top:50px;padding-bottom:34px}
  .service-page .related-section h2{margin-bottom:1.5rem}
}

/* The service directory leads on mobile; script also matches DOM and focus order. */
@media(max-width:780px){
  .home-page main{display:flex;flex-direction:column}
  .home-page main>.home-hero,.home-page main>.ticker{order:0}
  .home-page main>.services-section{order:1}
  .home-page main>.intro-section{order:2}
  .home-page main>:not(.home-hero):not(.ticker):not(.services-section):not(.intro-section){order:3}
}

/* On phones, give every service link readable type and a comfortable tap area. */
@media(max-width:520px){
  .home-hero .hero-art{min-height:310px}
  .home-hero .art-building{bottom:9%;height:79%}
  .hero-service-caption{position:static;grid-column:1/-1;width:100%;padding:15px 20px 18px;border-top:2px solid #91ae98}
  .hero-service-caption>span{margin-bottom:11px;font-size:.9rem;line-height:1.3;letter-spacing:.085em}
  .hero-service-caption>div{gap:8px 6px}
  .hero-service-caption a{min-height:44px;padding:8px 9px;font-size:.94rem;line-height:1.2}
}

/* FAQ library: compact editorial introduction and native accessible disclosures. */
.faq-page{background:#f5f6f2;color:#193b2a;padding-bottom:clamp(52px,7vw,100px)}
.faq-hero{max-width:1400px;margin:auto;padding:clamp(26px,4vw,56px) clamp(20px,5vw,76px) clamp(22px,3vw,40px)}
.faq-hero .breadcrumbs ol{margin:0 0 clamp(25px,4vw,48px)}
.faq-hero .eyebrow{color:#6b795d;letter-spacing:.13em}
.faq-hero h1{max-width:800px;margin:10px 0 14px;font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.13;letter-spacing:-.035em}
.faq-hero>p{max-width:710px;margin:0;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55;color:#526258}
.faq-jump{max-width:1400px;margin:0 auto clamp(22px,4vw,56px);padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:22px}
.faq-jump>strong{flex:none;font-size:.79rem;letter-spacing:.08em;text-transform:uppercase}
.faq-jump>div{display:flex;flex-wrap:wrap;gap:8px;padding:4px 2px 10px}
.faq-jump a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;white-space:nowrap;min-height:42px;padding:8px 15px;border:1px solid #c7d4c8;border-radius:2px;background:#fff;color:#214b35;text-decoration:none;font-size:.86rem;font-weight:700}
.faq-jump a:hover,.faq-jump a:focus-visible{background:#234b36;color:#fff}
.faq-groups{max-width:1400px;margin:auto;padding:0 clamp(20px,5vw,76px)}
.faq-group{display:grid;grid-template-columns:minmax(220px,.68fr) minmax(0,1.32fr);gap:clamp(24px,4vw,72px);padding:clamp(30px,5vw,70px) 0;border-top:2px solid #bccdc0;scroll-margin-top:32px}
.faq-group-number{display:block;color:#6c7c68;font-size:.75rem;font-weight:700;letter-spacing:.13em}
.faq-group-head h2{margin:13px 0 12px;font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(1.55rem,2.2vw,2.3rem);line-height:1.17;letter-spacing:-.025em}
.faq-group-head p{max-width:330px;margin:0 0 18px;color:#5a6960;font-size:.96rem;line-height:1.55}
.faq-group-head>a{display:inline-block;color:#205d40;text-decoration:underline;text-underline-offset:4px;font-weight:700;font-size:.91rem}
.faq-list-pro{border-top:1px solid #ccd8cc}
.faq-list-pro details{background:#fff;border-bottom:1px solid #ccd8cc}
.faq-list-pro summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:16px 19px;cursor:pointer;list-style:none;font-size:clamp(.98rem,1.15vw,1.13rem);font-weight:700;line-height:1.4}
.faq-list-pro summary::-webkit-details-marker{display:none}
.faq-list-pro summary:hover,.faq-list-pro summary:focus-visible{background:#edf4eb}
.faq-list-pro details[open] summary{background:#eaf0e9;color:#205339}
.faq-toggle{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid #6b977b;border-radius:50%;font-family:Arial,sans-serif;font-size:1.3rem;font-weight:400;line-height:1}
.faq-list-pro details[open] .faq-toggle{transform:rotate(45deg)}
.faq-answer{padding:2px 19px 22px;background:#fff}
.faq-answer p{max-width:780px;margin:0;color:#43594a;font-size:.99rem;line-height:1.64}
.faq-source{margin:14px 0 0;text-align:right;font-size:.82rem}
.faq-source a{color:#2a6a49;text-decoration:underline;text-underline-offset:3px}
.faq-empty{padding:20px;background:#fff}
.faq-service-directory{max-width:1400px;margin:clamp(20px,3vw,40px) auto 0;padding:clamp(30px,5vw,68px) clamp(20px,5vw,76px) 0;border-top:2px solid #bccdc0}
.faq-directory-head h2{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(1.6rem,2.4vw,2.5rem);margin:9px 0}
.faq-directory-head p{margin:0 0 24px;color:#5b6b60}
.faq-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.faq-service-card{position:relative;display:flex;flex-direction:column;gap:8px;min-height:124px;padding:20px 48px 18px 20px;border:1px solid #bed0bf;border-bottom:4px solid #2a6846;background:#fff;color:#214732;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.faq-service-card:hover,.faq-service-card:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px #193b2a18}
.faq-service-card>span:first-child{color:#6b7969;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}
.faq-service-card strong{font-family:'IBM Plex Serif',Georgia,serif;font-size:1.17rem;line-height:1.2}
.faq-card-arrow{position:absolute;right:18px;bottom:17px;font-size:1.25rem}
@media(max-width:800px){.faq-group{grid-template-columns:1fr;gap:20px}.faq-group-head p{max-width:650px}.faq-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.faq-hero{padding-top:20px}.faq-hero .breadcrumbs ol{margin-bottom:20px}.faq-hero h1{font-size:1.95rem}.faq-jump{display:block}.faq-jump>strong{display:block;margin-bottom:9px}.faq-jump>div{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.faq-jump>div::-webkit-scrollbar{display:none}.faq-group{padding:30px 0}.faq-list-pro summary{min-height:60px;padding:14px;font-size:1rem}.faq-answer{padding:0 14px 18px}.faq-service-cards{grid-template-columns:1fr 1fr;gap:7px}.faq-service-card{min-height:118px;padding:14px 25px 14px 13px}.faq-service-card strong{font-size:1rem}.faq-card-arrow{right:10px;bottom:11px}}
@media(prefers-reduced-motion:reduce){.faq-service-card{transition:none}}

/* Editorial policy pages: clear hierarchy, short reading lines and native links. */
.policy-page{background:#f8f8f4;color:#1d3b2a}
.policy-hero{background:#eeeae0;border-bottom:1px solid #d6d8cf}
.policy-hero-wrap{max-width:1440px;margin:auto;padding:clamp(22px,3.8vw,50px) clamp(20px,5.5vw,82px) clamp(35px,5vw,70px)}
.policy-hero .breadcrumbs ol{margin:0 0 clamp(24px,4vw,48px)}
.policy-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(200px,.7fr);align-items:center;gap:clamp(28px,6vw,90px)}
.policy-hero .eyebrow{color:#97583a;letter-spacing:.14em}
.policy-hero h1{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(2.4rem,4.4vw,4.7rem);line-height:1.08;letter-spacing:-.04em;margin:12px 0 18px}
.policy-hero-grid>div:first-child>p{max-width:710px;font-size:clamp(1.04rem,1.4vw,1.28rem);line-height:1.55;color:#435848;margin:0}
.policy-meta{display:flex;flex-wrap:wrap;gap:7px 24px;margin-top:32px;padding-top:17px;border-top:1px solid #bccabd;color:#607262;font-size:.77rem;font-weight:700}
.policy-document-art{position:relative;display:grid;place-items:center;min-height:260px}
.policy-document-sheet{position:relative;z-index:1;width:min(220px,85%);height:260px;padding:35px 30px;border:2px solid #174c31;background:#fdfdf8;box-shadow:13px 13px 0 #bdcbb6;transform:rotate(-3deg)}
.policy-document-sheet::before{content:'';position:absolute;right:0;top:0;width:36px;height:36px;border-left:2px solid #174c31;border-bottom:2px solid #174c31;background:#eeeae0}
.policy-document-mark{display:block;width:54px;height:54px;margin-bottom:27px;border:3px solid #a75d3c;border-radius:50%;background:radial-gradient(circle at center,#a75d3c 0 10px,transparent 11px)}
.policy-document-sheet i{display:block;height:5px;margin:11px 0;background:#c8d4c6}
.policy-document-sheet i:nth-of-type(2){width:78%}.policy-document-sheet i:nth-of-type(3){width:90%}.policy-document-sheet i:nth-of-type(4){width:60%}
.policy-document-sheet b{position:absolute;bottom:23px;left:30px;font-size:.68rem;letter-spacing:.12em}
.policy-document-shadow{position:absolute;width:220px;height:220px;border-radius:50%;background:#c8d4c1;transform:translate(35px,-22px)}
.policy-highlights{max-width:1440px;margin:auto;padding:0 clamp(20px,5.5vw,82px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #c8d3c8}
.policy-highlights>div{min-height:122px;padding:25px 22px 24px 0;display:grid;grid-template-columns:36px 1fr;align-content:start;gap:5px 12px}
.policy-highlights>div+div{border-left:1px solid #c8d3c8;padding-left:22px}
.policy-highlights span{grid-row:1/3;color:#ae6240;font-size:.73rem;font-weight:800;letter-spacing:.08em;padding-top:3px}
.policy-highlights strong{font-size:.97rem;line-height:1.35}
.policy-highlights p{grid-column:2;margin:0;color:#617066;font-size:.82rem;line-height:1.45}
.policy-main{max-width:1440px;margin:auto;padding:clamp(35px,5vw,74px) clamp(20px,5.5vw,82px) clamp(35px,6vw,80px);display:grid;grid-template-columns:minmax(190px,.46fr) minmax(0,1.54fr);gap:clamp(38px,6vw,94px);align-items:start}
.policy-sidebar{position:sticky;top:22px;padding-top:9px;min-width:0}
.policy-sidebar-label{display:block;margin-bottom:18px;color:#a25d3c;font-size:.68rem;font-weight:800;letter-spacing:.15em}
.policy-sidebar nav{display:flex;flex-direction:column;border-top:1px solid #c8d3c8}
.policy-sidebar nav a{padding:11px 0;border-bottom:1px solid #c8d3c8;color:#315641;text-decoration:none;font-size:.84rem;font-weight:700;line-height:1.35}
.policy-sidebar nav a:hover,.policy-sidebar nav a:focus-visible{color:#a24f30;text-decoration:underline}
.policy-sidebar-contact{margin-top:26px;padding:19px;background:#e6eee5;border-left:3px solid #376a49;display:flex;flex-direction:column;gap:8px;font-size:.82rem}
.policy-sidebar-contact a{color:#23533a;text-decoration:underline;text-underline-offset:3px}
.policy-content{min-width:0}
.policy-section{display:grid;grid-template-columns:50px minmax(0,1fr);gap:clamp(14px,2vw,30px);padding:clamp(25px,3vw,40px) 0;border-top:2px solid #bbcebd;scroll-margin-top:20px}
.policy-section:first-child{padding-top:0;border-top:0}
.policy-section-number{padding-top:7px;color:#a96442;font-size:.72rem;font-weight:800;letter-spacing:.12em}
.policy-section h2{margin:0 0 15px;font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(1.45rem,2.3vw,2.25rem);line-height:1.18;letter-spacing:-.025em}
.policy-section-copy{max-width:760px;color:#44594a}
.policy-section-copy p{margin:0 0 15px;font-size:clamp(.97rem,1.08vw,1.04rem);line-height:1.68}
.policy-section-copy p:last-child{margin-bottom:0}
.policy-section-copy a{color:#276344;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.policy-contact-card{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;padding:clamp(25px,4vw,45px);margin-top:22px;background:#1b3a2a;color:#f7f7f0}
.policy-contact-card .eyebrow{color:#dda282}
.policy-contact-card h2{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.55rem);line-height:1.15;margin:11px 0}
.policy-contact-card p{max-width:490px;color:#c9d7cc;font-size:.95rem;line-height:1.6;margin:0 0 23px}
.policy-contact-card .button{display:inline-flex;background:#f5f6ec;color:#183d2b;border-color:#f5f6ec}
.policy-contact-card address{display:flex;flex-direction:column;justify-content:center;gap:10px;padding-left:24px;border-left:1px solid #5e7e67;font-size:.87rem;line-height:1.5;font-style:normal;color:#dce8dd}
.policy-contact-card address strong{font-size:1.1rem;color:#fff}
.policy-contact-card address a{color:#fff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.policy-switcher{max-width:1440px;margin:auto;padding:0 clamp(20px,5.5vw,82px) clamp(55px,7vw,95px);display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.policy-switcher>span{margin-right:14px;color:#a25d3c;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.policy-switcher>a,.policy-switcher>button{min-height:43px;padding:10px 15px;border:1px solid #bfcfbf;background:#fff;color:#244e36;text-decoration:none;font:700 .84rem 'IBM Plex Sans','Segoe UI',sans-serif;cursor:pointer}
.policy-switcher>button{background:#244e36;color:#fff;border-color:#244e36}
.policy-switcher>a[aria-current="page"]{background:#e6eee5;border-color:#91b396}
.policy-switcher>a:hover,.policy-switcher>button:hover,.policy-switcher>a:focus-visible,.policy-switcher>button:focus-visible{outline:2px solid #af6c48;outline-offset:2px}
@media(max-width:850px){.policy-hero-grid{grid-template-columns:1fr 180px;gap:15px}.policy-document-art{min-height:190px}.policy-document-sheet{width:145px;height:180px;padding:22px 19px}.policy-document-mark{width:38px;height:38px;margin-bottom:15px}.policy-document-sheet b{font-size:.5rem;bottom:15px;left:19px}.policy-document-shadow{width:150px;height:150px}.policy-main{grid-template-columns:minmax(0,1fr);gap:28px}.policy-sidebar{position:static}.policy-sidebar nav{flex-direction:row;max-width:100%;overflow-x:auto;gap:8px;border:0;scrollbar-width:none}.policy-sidebar nav::-webkit-scrollbar{display:none}.policy-sidebar nav a{flex:none;max-width:230px;padding:8px 12px;border:1px solid #c8d3c8;background:#fff}.policy-sidebar-contact{display:none}}
@media(max-width:600px){.policy-hero-wrap{padding-top:20px;padding-bottom:30px}.policy-hero .breadcrumbs ol{margin-bottom:23px}.policy-hero-grid{display:block}.policy-hero h1{font-size:clamp(2.15rem,9vw,2.85rem);margin-bottom:11px}.policy-hero-grid>div:first-child>p{font-size:1.04rem}.policy-document-art{display:none}.policy-meta{margin-top:20px}.policy-highlights{grid-template-columns:1fr}.policy-highlights>div{min-height:0;padding:13px 0;grid-template-columns:28px 1fr;gap:3px 10px}.policy-highlights>div+div{padding-left:0;border-left:0;border-top:1px solid #c8d3c8}.policy-highlights p{font-size:.78rem}.policy-main{padding-top:28px}.policy-section{grid-template-columns:35px minmax(0,1fr);gap:12px;padding:25px 0}.policy-section h2{font-size:1.5rem}.policy-section-copy p{font-size:.98rem;line-height:1.65}.policy-contact-card{grid-template-columns:1fr;gap:15px}.policy-contact-card address{border-left:0;border-top:1px solid #5e7e67;padding:17px 0 0}.policy-switcher>span{width:100%;margin:0}}
