:root{--navy:#0a2540;--green:#6fc348;--white:#fff;--muted:#69747d;--line:#dfe4e7;--soft:#f4f6f7;--gutter:clamp(24px,5vw,88px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--navy);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:white}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button{border:0}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.04}h2{font-size:clamp(38px,4.6vw,68px)}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em}h3{font-weight:500}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}input:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:16px}.skip:focus{top:10px}.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#ffffffee;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid #0a254010}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand>span{font-size:22px;font-weight:750;letter-spacing:-.05em;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:.24em;margin-top:6px;font-weight:600}.brand img{width:30px;height:43px}.desktop-nav{display:flex;gap:clamp(18px,2.4vw,40px);font-size:14px}.desktop-nav a{position:relative;padding:14px 0}.desktop-nav a:after{content:"";position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--green);transition:width .3s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:28px}.language select{border:0;background:transparent;font-size:13px;color:var(--navy);padding:10px 3px;cursor:pointer}.header-quote{padding:13px 0;background:none;border-bottom:1px solid var(--navy);font-size:14px;display:flex;gap:26px}.menu-toggle{display:none;background:none;width:40px;height:40px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--navy);margin:6px}.mobile-nav{position:fixed;top:80px;inset-inline:0;background:white;z-index:19;padding:25px}.mobile-nav a{display:block;padding:14px;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:47% 53%;min-height:690px;padding:34px var(--gutter) 42px;max-width:1800px;margin:auto}.hero-copy{padding:42px 24px 0 0;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:600;line-height:1.6;margin-bottom:32px}.green-line{display:inline-block;background:var(--green);height:2px;width:25px;vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(56px,5.95vw,96px);margin:0 0 28px;line-height:1.015;animation:rise 1s both}.hero h1 em{color:var(--green)}.hero-description{font-size:16px;color:var(--muted);margin-bottom:32px}.hero-links{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:18px 24px;border-radius:5px;font-size:14px;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s}.primary{background:var(--green);color:#0a2540}.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0a254018}.primary:hover{background:var(--green)}.button span{font-size:19px;font-weight:400}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:14px;background:none;border-bottom:1px solid var(--line);padding:10px 0;line-height:1.5}.text-link:hover{border-color:var(--navy)}.experience{display:flex;gap:20px;align-items:center;margin-top:46px}.experience strong{font-size:38px;font-weight:500;letter-spacing:-.05em;white-space:nowrap}.experience strong span{font-size:14px;font-weight:400;letter-spacing:0}.experience p{margin:0;border-left:1px solid var(--line);padding-left:20px;font-size:12px;line-height:1.5;color:var(--muted)}.hero-visual{position:relative;min-height:610px;isolation:isolate;animation:unveil 1.3s cubic-bezier(.2,.7,.2,1) both}.hero-image{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center;border-radius:3px}.image-shade{position:absolute;inset:0;background:linear-gradient(transparent 65%,#0a254080);border-radius:3px}.photo-label{position:absolute;bottom:30px;left:35px;color:white}.photo-label>span{font-size:9px;letter-spacing:.14em}.photo-label p{font-size:23px;line-height:1.2;letter-spacing:-.03em;margin:12px 0 0}.round{width:52px;height:52px;border:1px solid #ffffff70;border-radius:100%;display:grid;place-items:center;background:#ffffff20;backdrop-filter:blur(8px);font-size:23px;color:white;transition:background .25s,transform .25s}.round:hover{background:var(--green);color:var(--navy);transform:rotate(45deg)}.photo-open{position:absolute;bottom:32px;right:30px}.detail-tile{position:absolute;width:145px;left:-74px;bottom:152px;border:7px solid white;box-shadow:0 15px 40px #0a254015;transform:rotate(-5deg);animation:detail 1.5s both}.detail-tile img{width:100%;height:135px;object-fit:cover}.detail-tile span{font-size:10px;display:block;background:white;padding:9px 0 3px;text-align:center}.values{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px var(--gutter);border-block:1px solid var(--line);font-size:13px}.values>span:before{content:"+";color:var(--green);margin-right:12px}.values a{font-size:12px;color:var(--muted)}.values a span{margin-left:20px}.section{padding:110px var(--gutter);max-width:1800px;margin:auto}.section-heading{display:grid;grid-template-columns:27% 73%;margin-bottom:55px}.section-heading>.eyebrow{padding-top:12px}.section-heading>div{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.section-heading h2{margin:0}.section-heading>div>p{font-size:14px;color:var(--muted);max-width:270px;margin:0 0 5px}.service-layout{display:grid;grid-template-columns:36% 1fr;gap:9%}.service-photo{position:relative;height:545px;overflow:hidden}.service-photo img{height:100%;width:100%;object-fit:cover;transition:opacity .25s,transform .7s}.vertical-label{position:absolute;bottom:25px;left:20px;color:white;font-size:10px;letter-spacing:.14em;background:#0a254090;padding:12px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:28px 0}summary::-webkit-details-marker{display:none}.service-no{font-size:12px;color:var(--muted)}summary h3{font-size:clamp(19px,2vw,29px);letter-spacing:-.035em;margin:0}.plus{margin-left:auto;font-size:24px;font-weight:300;transition:transform .3s}details[open] .plus{transform:rotate(45deg);color:var(--green)}.service-body{padding:0 35px 30px}.service-body>p{font-size:15px;color:var(--muted);max-width:480px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tags span{border:1px solid var(--line);padding:7px 11px;border-radius:3px;font-size:12px}.work{background:var(--soft);max-width:none}.project-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7%}.project{padding:0;background:none;text-align:left;min-width:0}.project-img{position:relative;overflow:hidden;aspect-ratio:1.18}.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.3,1)}.project:hover img{transform:scale(1.04)}.project-img .round{position:absolute;bottom:22px;right:22px}.project-offset{margin-top:110px}.project-offset .project-img{aspect-ratio:1.1}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:22px}.project-meta h3{font-size:23px;letter-spacing:-.035em;margin-bottom:8px}.project-meta span{font-size:11px;color:var(--muted);text-align:right}.project>p{font-size:12px;color:var(--muted)}.cleaning{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;scroll-margin-top:90px}.cleaning-photo{overflow:hidden}.cleaning-photo img{width:100%;height:100%;min-height:650px;object-fit:cover}.cleaning-copy{padding:85px clamp(30px,6vw,100px)}.cleaning h2{font-size:clamp(39px,4.2vw,66px)}.cleaning em{color:var(--green)}.cleaning-copy>p:not(.eyebrow){font-size:15px;opacity:.7;max-width:430px}.cleaning-options{margin:28px 0 35px}.cleaning-options span{display:block;border-bottom:1px solid #ffffff25;font-size:13px;padding:12px 0}.light{background:white;color:var(--navy)}.about{display:grid;grid-template-columns:27% 73%;padding-bottom:100px}.about-main h2{margin-bottom:35px}.about-main>p{font-size:23px;line-height:1.5;letter-spacing:-.02em;max-width:600px}.signature{display:flex;align-items:center;gap:15px;margin-top:30px}.signature-mark{font-family:Georgia,serif;font-style:italic;font-size:22px;width:52px;height:52px;background:var(--soft);display:grid;place-items:center;border-radius:50%}.signature strong{display:block;font-size:14px;font-weight:600}.signature small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:80px}.principles article{border-top:1px solid var(--line);padding-top:25px}.principles article>span{font-size:12px;color:var(--green)}.principles h3{font-size:23px;letter-spacing:-.03em;margin:25px 0 10px}.principles p{font-size:14px;color:var(--muted);max-width:310px}.contact{background:var(--navy);color:white;max-width:none;padding-block:60px}.contact-top,.contact-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:25px}.contact-top>span,.contact-bottom{font-size:12px;color:#bcc7d0}.contact-title{position:relative;display:block;background:none;color:white;text-align:left;font-size:clamp(60px,8.5vw,130px);letter-spacing:-.055em;line-height:1.05;width:100%;padding:36px 0 65px}.contact-title em{color:var(--green)}.big-arrow{position:absolute;right:5%;top:25%;font-size:100px;transition:transform .4s}.contact-title:hover .big-arrow{transform:translate(10px,-10px)}.contact-bottom{border-top:1px solid #ffffff25;padding-top:22px}.contact-bottom p{margin:0}footer{display:flex;align-items:center;justify-content:space-between;padding:38px var(--gutter);gap:20px}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}dialog{border:0;border-radius:8px;color:var(--navy);padding:46px;width:min(660px,calc(100% - 32px));max-height:90dvh;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#0a2540b0;backdrop-filter:blur(7px)}dialog h2{font-size:42px;margin-bottom:22px}.close-dialog{position:absolute;right:16px;top:12px;border:0;background:var(--soft);border-radius:50%;width:36px;height:36px;font-size:26px;z-index:3}.demo-note{background:var(--soft);padding:12px;font-size:12px}form label{display:block;font-size:12px;margin:16px 0}input,textarea,form select{display:block;width:100%;border:1px solid var(--line);padding:12px;margin-top:7px;background:white;border-radius:4px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}input[type=file]{font-size:12px}#form-status{font-size:13px;margin:15px 0 0}#gallery-dialog{width:min(1120px,calc(100% - 24px));padding:12px;background:var(--navy);color:white}#gallery-image{width:100%;height:68dvh;object-fit:contain}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 14px;gap:20px}.gallery-bottom h3{font-size:19px;margin:0 0 5px}.gallery-bottom p{font-size:12px;opacity:.65;margin:0}.gallery-controls{display:flex;align-items:center;gap:16px;flex-shrink:0}.gallery-controls button{background:#ffffff20;color:white;border-radius:50%;width:42px;height:42px;font-size:20px}.gallery-controls span{font-size:12px}.reveal{transition:opacity .8s,transform .8s}.motion .reveal:not(.visible){opacity:0;transform:translateY(24px)}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes unveil{from{opacity:0;clip-path:inset(8% 0 0 0)}to{opacity:1;clip-path:inset(-20% -10% -10% -30%)}}@keyframes detail{from{opacity:0;transform:translateY(35px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}
@media(min-width:1700px){.hero{min-height:800px}.hero-visual{min-height:710px}}
@media(max-width:1150px){.desktop-nav{gap:18px}.header-actions{gap:16px}.hero h1{font-size:65px}.hero{grid-template-columns:48% 52%;min-height:650px}.hero-visual{min-height:570px}.detail-tile{width:110px;left:-48px;bottom:170px}.detail-tile img{height:108px}.hero-links{gap:15px}.section-heading>div{display:block}.section-heading>div>p{margin-top:24px}.project-meta{display:block}.project-meta span{text-align:left}.cleaning-copy{padding:65px 40px}.hero .eyebrow{font-size:9px}.experience{margin-top:32px}}
@media(max-width:850px){.header{height:80px}.desktop-nav{display:none}.menu-toggle{display:block}.header-quote{display:none}.hero{grid-template-columns:1fr 1fr;padding-top:15px;min-height:600px}.hero-copy{padding-top:25px}.hero h1{font-size:53px}.hero-description{font-size:14px}.hero .eyebrow{font-size:8px}.hero-visual{min-height:530px}.detail-tile{display:none}.hero-links{display:block}.hero-links>.text-link{margin-top:15px}.experience strong{font-size:28px}.experience p{font-size:10px}.values{font-size:11px}.values a{display:none}.section{padding-block:75px}.section-heading{grid-template-columns:1fr}.section-heading>.eyebrow{margin-bottom:24px}.service-layout{gap:5%}.service-photo{height:480px}.service-body{padding-left:0;padding-right:0}.cleaning-copy{padding:48px 28px}.cleaning-photo img{min-height:630px}.about{grid-template-columns:1fr}.principles{gap:25px}.principles h3{font-size:20px}.big-arrow{font-size:75px}.contact{padding-block:50px}}
@media(max-width:600px){:root{--gutter:22px}.header{height:74px}.brand>span{font-size:20px}.brand img{width:27px}.header-actions{gap:12px}.mobile-nav{top:74px}.hero{display:flex;flex-direction:column;padding-top:0;padding-bottom:24px}.hero-copy{padding:32px 0 28px}.hero .eyebrow{font-size:9px;margin-bottom:24px}.hero h1{font-size:clamp(55px,12.5vw,76px);line-height:1.01;margin-bottom:24px}.hero h1 br:first-of-type{display:block}.hero-description{font-size:15px;margin-bottom:24px}.hero-links{display:flex;gap:20px}.hero-links>.text-link{margin-top:0;font-size:12px}.button{padding:16px 19px;gap:24px;font-size:13px}.experience{display:none}.hero-visual{min-height:400px}.hero-image{object-position:center}.detail-tile{display:block;width:100px;left:auto;right:18px;bottom:auto;top:25px}.detail-tile img{height:90px}.detail-tile span{font-size:8px}.photo-label{left:23px;bottom:25px}.photo-label p{font-size:21px}.photo-open{right:22px;bottom:25px}.values{padding-block:21px;gap:12px;justify-content:flex-start;flex-wrap:wrap;font-size:10px}.values>span:before{margin-right:6px}.section{padding-block:65px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:43px}.service-layout{display:block}.service-photo{height:320px;margin-bottom:28px}.service-photo img{object-position:50% 45%}summary{padding:24px 0;gap:14px}summary h3{font-size:23px}.service-body{padding-left:28px;font-size:14px}.service-body p{font-size:14px}.project-grid{display:block}.project-offset{margin-top:36px}.project-meta h3{font-size:22px}.project-img,.project-offset .project-img{aspect-ratio:1.12}.cleaning{display:flex;flex-direction:column}.cleaning-photo img{height:350px;min-height:0}.cleaning-copy{padding:48px var(--gutter) 55px}.cleaning h2{font-size:46px}.about-main h2{font-size:42px}.about-main>p{font-size:21px}.principles{grid-template-columns:1fr;margin-top:45px;gap:20px}.principles article{padding-top:18px}.principles h3{margin:16px 0 10px}.principles p{max-width:none}.contact-top{display:block}.contact-top .eyebrow{margin-bottom:12px}.contact-title{font-size:57px;padding-block:36px}.big-arrow{font-size:45px;right:0;top:40%}.contact-bottom{display:block;font-size:11px}.contact-bottom>span{display:block;margin-top:8px}footer{flex-wrap:wrap;padding-block:28px}footer>span{width:100%;order:3}dialog{padding:35px 22px}dialog h2{font-size:36px}.form-grid{grid-template-columns:1fr}.form-grid label{margin:10px 0}.gallery-bottom{display:block}.gallery-controls{margin-top:18px;justify-content:center}#gallery-image{height:55dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal:not(.visible){opacity:1;transform:none}}
body:has(dialog[open]){overflow:hidden}#gallery-dialog .close-dialog{color:var(--navy)}
/* Three tactile photo cards; the active image crossfades independently. */
.photo-stack{position:absolute;left:-60px;bottom:155px;display:flex;align-items:center;isolation:isolate;z-index:3;padding:14px 0}
.photo-card{position:relative;width:136px;flex:0 0 136px;padding:6px 6px 0;background:white;box-shadow:0 9px 25px #0a254030;transform:translateY(var(--lift,0px)) rotate(var(--angle));transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s;transform-origin:50% 85%;border-radius:2px}
.photo-card+ .photo-card{margin-left:-33px}.photo-card:nth-child(1){--angle:-10deg;z-index:1}.photo-card:nth-child(2){--angle:1deg;z-index:2}.photo-card:nth-child(3){--angle:11deg;z-index:3}
.photo-card img{width:100%;height:112px;object-fit:cover;pointer-events:none}.photo-card span{display:block;font-size:10px;padding:10px 0 9px;white-space:nowrap;pointer-events:none}
.photo-card[aria-pressed=true]{box-shadow:0 0 0 2px var(--green),0 12px 30px #0a254030}
.photo-card:focus-visible{--lift:-18px;z-index:5;outline:3px solid var(--green);outline-offset:4px;box-shadow:0 18px 35px #0a254045}
@media(hover:hover){.photo-card:hover{--lift:-18px;z-index:5;box-shadow:0 0 0 2px var(--green),0 18px 35px #0a254045;filter:brightness(1.04)}}
.hero-transition{z-index:0}.image-shade{z-index:1;pointer-events:none}.photo-label,.photo-open{z-index:2}
@media(max-width:1150px){.photo-stack{left:-38px;bottom:150px}.photo-card{width:112px;flex-basis:112px}.photo-card img{height:92px}.photo-card span{font-size:8px}.photo-card+.photo-card{margin-left:-29px}}
@media(max-width:850px){.photo-stack{left:16px;bottom:155px}.photo-card{width:95px;flex-basis:95px}.photo-card img{height:80px}.photo-card span{font-size:7px}.photo-card+.photo-card{margin-left:-26px}}
@media(max-width:600px){.photo-stack{left:auto;right:22px;top:30px;bottom:auto}.photo-card{width:102px;flex-basis:102px}.photo-card img{height:88px}.photo-card span{font-size:8px}.photo-card+.photo-card{margin-left:-30px}}
/* Keep the stack towards the outer edge; selected card stays in front. */
.photo-stack{left:-145px}
.photo-card{opacity:.76;transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.photo-card[aria-pressed=true]{z-index:10;opacity:1}
.photo-card:focus-visible{opacity:1;z-index:11}
@media(hover:hover){.photo-card:hover{opacity:1;z-index:11}}
@media(max-width:1150px){.photo-stack{left:-95px}}
@media(max-width:850px){.photo-stack{left:-35px}}
@media(max-width:600px){.photo-stack{left:12px;right:auto}}
/* An open stacking context keeps the overhanging cards interactive. */
.hero-visual{z-index:3;overflow:visible;animation:none;clip-path:none}
.hero-image:not(.hero-transition){animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.photo-stack{display:block;width:335px;height:235px;padding:0;bottom:140px;pointer-events:none}
.photo-card{position:absolute;pointer-events:auto}
.photo-card+.photo-card{margin-left:0}
.photo-card:nth-child(1){left:0;top:76px;--angle:-17deg}
.photo-card:nth-child(2){left:88px;top:24px;--angle:-5deg}
.photo-card:nth-child(3){left:188px;top:0;--angle:10deg}
@media(max-width:1150px){.photo-stack{width:280px;height:215px;bottom:135px}.photo-card:nth-child(1){top:72px}.photo-card:nth-child(2){left:72px;top:25px}.photo-card:nth-child(3){left:152px}}
@media(max-width:850px){.photo-stack{width:250px;height:200px;bottom:140px}.photo-card:nth-child(1){top:65px}.photo-card:nth-child(2){left:64px;top:24px}.photo-card:nth-child(3){left:132px}}
@media(max-width:600px){.photo-stack{left:16px;top:28px;bottom:auto;width:275px;height:205px}.photo-card:nth-child(1){top:62px}.photo-card:nth-child(2){left:75px;top:20px}.photo-card:nth-child(3){left:157px}}
/* Vertical photo stack, mostly outside the main image. */
.photo-stack{left:-92px;top:96px;bottom:auto;width:150px;height:425px}
.photo-card:nth-child(1){left:0;top:0;--angle:-8deg}
.photo-card:nth-child(2){left:9px;top:129px;--angle:5deg}
.photo-card:nth-child(3){left:2px;top:258px;--angle:-5deg}
@media(max-width:1150px){.photo-stack{left:-73px;top:105px;width:130px;height:360px}.photo-card:nth-child(1){left:0;top:0}.photo-card:nth-child(2){left:8px;top:108px}.photo-card:nth-child(3){left:1px;top:216px}}
@media(max-width:850px){.photo-stack{left:-57px;top:95px;width:112px;height:330px}.photo-card:nth-child(1){left:0;top:0}.photo-card:nth-child(2){left:6px;top:97px}.photo-card:nth-child(3){left:1px;top:194px}}
@media(max-width:600px){.hero-visual{margin-left:56px;min-height:445px}.photo-stack{left:-55px;top:24px;width:112px;height:350px}.photo-card:nth-child(1){left:0;top:0}.photo-card:nth-child(2){left:6px;top:106px}.photo-card:nth-child(3){left:1px;top:212px}.photo-label{left:18px;bottom:22px}.photo-label p{font-size:18px}.photo-label>span{font-size:8px}.photo-open{right:14px;bottom:22px;width:40px;height:40px}}
@media(min-width:1151px){.photo-stack{top:200px;height:380px}.photo-card:nth-child(2){top:112px}.photo-card:nth-child(3){top:224px}}
@media(min-width:601px) and (max-width:1150px){.photo-stack{top:190px}}
/* Stronger clockwise tilt and quieter inactive cards. */
.photo-card{opacity:.52}
.photo-card:nth-child(1){--angle:12deg}
.photo-card:nth-child(2){--angle:18deg}
.photo-card:nth-child(3){--angle:10deg}
.photo-card[aria-pressed=true],.photo-card:focus-visible{opacity:1}
@media(hover:hover){.photo-card:hover{opacity:1}}
/* Tilt the arrangement, not the individual photographs. */
.photo-card:nth-child(1){left:-24px;--angle:-5deg}
.photo-card:nth-child(2){left:9px;--angle:3deg}
.photo-card:nth-child(3){left:42px;--angle:-3deg}
@media(max-width:1150px){.photo-card:nth-child(1){left:-18px}.photo-card:nth-child(2){left:8px}.photo-card:nth-child(3){left:34px}}
@media(max-width:600px){.photo-card:nth-child(1){left:-12px}.photo-card:nth-child(2){left:10px}.photo-card:nth-child(3){left:32px}}
.service[data-expanded=false] .plus{transform:rotate(0deg);color:inherit}
.service[data-expanded=true] .plus{transform:rotate(45deg);color:var(--green)}
.service-layout{align-items:start;overflow-anchor:none}
.service-list{min-width:0;overflow-anchor:none}
.service-photo .service-image-transition{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;pointer-events:none}
.service-photo .vertical-label{z-index:2}
/* Brand accent for understated text links. */
.text-link{border-bottom-color:var(--line);transition:border-color .25s}
.text-link:hover{border-bottom-color:var(--green)}
/* Selected 03E: white surface, independently rotating green square. */
.button.primary{position:relative;isolation:isolate;overflow:visible;background:white;color:var(--navy);border:1px solid #dce3e7;border-radius:6px;padding:9px 9px 9px 23px;gap:27px;min-height:58px;font-weight:500;box-shadow:none;transition:background .4s,color .4s,border-color .4s,box-shadow .4s}
.button.primary>span{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;color:var(--navy);font-size:23px;line-height:1}
.button.primary>span:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--green);border-radius:3px;transform:rotate(-5deg);transition:transform .55s cubic-bezier(.2,.8,.2,1),background .4s}
.button.primary:is(:hover,:focus-visible){background:var(--navy);color:white;border-color:var(--navy);box-shadow:0 5px 18px #0a254020;transform:none}
.button.primary:is(:hover,:focus-visible)>span:before{transform:rotate(90deg);background:var(--green)}
.button.primary:active{transform:translateY(1px)}
@media(max-width:600px){.button.primary{padding:8px 9px 8px 20px;gap:22px;min-height:54px}.button.primary>span{flex-basis:34px;width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.button.primary,.button.primary>span:before{transition:none}}
/* Full-width opening: photograph is the canvas, copy sits on a soft veil. */
.hero{position:relative;isolation:isolate;display:block;max-width:none;min-height:760px;padding:0;margin:0}
.hero-visual{position:absolute;inset:0;min-height:0;margin:0;z-index:0}
.hero-image{border-radius:0;object-position:70% 50%}
.hero .image-shade{border-radius:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 24%,rgba(255,255,255,.72) 39%,rgba(255,255,255,.12) 62%,transparent 80%),linear-gradient(0deg,#0a254050,transparent 32%)}
.hero-copy{z-index:2;position:relative;width:51%;padding:76px 0 70px var(--gutter);pointer-events:none}
.hero-copy button,.hero-copy a{pointer-events:auto}
.hero h1{font-size:clamp(60px,6.1vw,100px)}
.hero-description{color:#4d5d68}
.hero .photo-stack{left:57%;top:225px;bottom:auto}
.hero .photo-label{left:auto;right:125px;bottom:40px;text-align:right}
.hero .photo-open{right:var(--gutter);bottom:42px}
#services{max-width:none}
#services .service-layout{grid-template-columns:42% 1fr;gap:7%}
@media(min-width:1700px){.hero{min-height:850px}.hero-copy{padding-top:95px}}
@media(max-width:1150px){.hero{min-height:700px}.hero-copy{width:55%;padding-top:65px}.hero h1{font-size:65px}.hero .photo-stack{left:60%;top:200px}}
@media(max-width:850px){.hero{min-height:670px}.hero-copy{width:59%;padding-top:55px}.hero h1{font-size:55px}.hero .photo-stack{left:68%;top:170px}.hero .photo-label{right:95px}.hero .image-shade{background:linear-gradient(90deg,#fffffff5,#ffffffd9 35%,#ffffff20 80%),linear-gradient(0deg,#0a254060,transparent 30%)}}
@media(max-width:600px){.hero{min-height:920px}.hero-copy{width:100%;padding:38px var(--gutter) 0}.hero h1{font-size:clamp(55px,12.5vw,76px)}.hero-visual{min-height:0;margin:0}.hero-image{object-position:63% center}.hero .image-shade{background:linear-gradient(180deg,#fffffff5 0%,#ffffffeb 25%,#ffffffb3 43%,#ffffff00 65%),linear-gradient(0deg,#0a254080,transparent 27%)}.hero .photo-stack{left:auto;right:55px;top:510px}.hero .photo-label{left:var(--gutter);right:auto;bottom:32px;text-align:left}.hero .photo-open{bottom:34px}#services .service-layout{display:block}.hero .photo-card:nth-child(1){left:-12px;top:0}.hero .photo-card:nth-child(2){left:10px;top:97px}.hero .photo-card:nth-child(3){left:32px;top:194px}}
@media(min-width:601px){.hero .photo-label{right:calc(var(--gutter) + 78px)}}

/* Five selectable photographs along the right edge. */
.hero .photo-stack{left:auto;right:calc(var(--gutter) + 10px);top:70px;width:230px;height:560px}
.hero .photo-card:nth-child(1){left:0;top:0;--angle:-5deg}
.hero .photo-card:nth-child(2){left:20px;top:100px;--angle:3deg}
.hero .photo-card:nth-child(3){left:40px;top:200px;--angle:-3deg}
.hero .photo-card:nth-child(4){left:60px;top:300px;--angle:4deg}
.hero .photo-card:nth-child(5){left:80px;top:400px;--angle:-2deg}
@media(max-width:1150px){.hero .photo-stack{width:200px;top:65px}.hero .photo-card:nth-child(2){top:90px}.hero .photo-card:nth-child(3){top:180px}.hero .photo-card:nth-child(4){top:270px}.hero .photo-card:nth-child(5){top:360px}}
@media(max-width:600px){.hero{min-height:1040px}.hero .photo-stack{right:24px;top:490px;width:180px;height:440px}.hero .photo-card:nth-child(1){left:0;top:0}.hero .photo-card:nth-child(2){left:16px;top:78px}.hero .photo-card:nth-child(3){left:32px;top:156px}.hero .photo-card:nth-child(4){left:48px;top:234px}.hero .photo-card:nth-child(5){left:64px;top:312px}}
/* Arc follows the client's sketch: across the top, curving down right. */
.hero .photo-stack{right:var(--gutter);top:70px;width:450px;height:540px}
.hero .photo-card:nth-child(1){left:0;top:0;--angle:-5deg}
.hero .photo-card:nth-child(2){left:108px;top:12px;--angle:2deg}
.hero .photo-card:nth-child(3){left:208px;top:65px;--angle:5deg}
.hero .photo-card:nth-child(4){left:278px;top:164px;--angle:3deg}
.hero .photo-card:nth-child(5){left:308px;top:280px;--angle:-2deg}
@media(min-width:601px) and (max-width:1150px){.hero .photo-stack{width:330px;top:65px}.hero .photo-card:nth-child(1){left:0;top:0}.hero .photo-card:nth-child(2){left:78px;top:12px}.hero .photo-card:nth-child(3){left:150px;top:60px}.hero .photo-card:nth-child(4){left:196px;top:145px}.hero .photo-card:nth-child(5){left:212px;top:242px}}
@media(max-width:600px){.hero .photo-stack{right:24px;top:505px;width:290px;height:415px}.hero .photo-card:nth-child(1){left:0;top:0}.hero .photo-card:nth-child(2){left:70px;top:12px}.hero .photo-card:nth-child(3){left:132px;top:61px}.hero .photo-card:nth-child(4){left:170px;top:143px}.hero .photo-card:nth-child(5){left:184px;top:238px}}
/* Tuck the arc into the upper-right corner. */
.hero .photo-stack{right:24px;top:26px}
@media(max-width:600px){.hero .photo-stack{right:14px;top:490px}}

/* Spacious footer with room for confirmed business details and profiles. */
.site-footer{display:block;padding:76px var(--gutter) 28px;background:#f4f6f7;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1.1fr 1fr;gap:clamp(28px,4vw,70px);padding-bottom:64px}
.footer-brand>.brand{display:inline-flex}.footer-brand>p{font-size:13px;color:var(--muted);margin:24px 0 0;line-height:1.8}
.footer-column h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 26px}
.footer-column>a,.footer-column>button{display:block;font-size:13px;line-height:1.6;margin:0 0 14px;padding:0;background:none;text-align:left;transition:color .2s}
.footer-column>a:hover,.footer-column>button:hover{color:var(--green)}
.footer-column p{font-size:13px;line-height:1.9;margin-bottom:20px}
.footer-social{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 12px}.footer-social>span{font-size:11px;border:1px solid #d7dfe3;border-radius:4px;padding:9px 10px;color:#69747d}.footer-social>span>span{margin-left:8px}
.footer-pending{font-size:11px!important;color:#78838c;line-height:1.8}
.footer-bottom{border-top:1px solid #d9e0e4;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted)}.footer-bottom small{font-size:11px}.footer-legal{display:flex;gap:24px;flex-wrap:wrap;color:#78838c}.footer-bottom>a{color:var(--navy)}
@media(max-width:1000px){.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){.site-footer{padding:50px var(--gutter) 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px;padding-bottom:36px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-column h3{margin-bottom:20px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.footer-legal{gap:18px}}

.footer-social>.social-preview{display:inline-flex;align-items:center;gap:7px;transition:color .25s,border-color .25s,background .25s,box-shadow .25s}
.footer-social>.social-preview>span{margin-left:3px}
.footer-social>.social-preview svg{flex-shrink:0}
.footer-social>.social-preview:is(:hover,:focus-visible){color:var(--green);background:#6fc34816;border-color:var(--green);box-shadow:0 0 0 2px #6fc34812;outline:none}

/* Service selector: a persistent hint opens a magnifying desktop dock. */
.hero-direction{position:absolute;z-index:5;bottom:20px;left:50%;transform:translateX(-50%);padding:44px 25px 0;max-width:100%;width:max-content}
.direction-current{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;margin:auto;padding:5px;border:1px solid #ffffff70;border-radius:8px;background:#0a2540e8;color:white;box-shadow:0 8px 28px #0a254020;backdrop-filter:blur(18px)}
.direction-current>button{background:none;color:white;padding:10px 12px;border-radius:4px}.direction-current>button:hover{background:#ffffff15}.direction-toggle{display:flex;align-items:center;gap:14px}.direction-name{color:var(--green);font-size:13px}.direction-count{font-size:9px;letter-spacing:.1em;opacity:.65}.direction-chevron{color:var(--green)}
.direction-dock{display:flex;align-items:flex-end;gap:12px;position:absolute;bottom:64px;left:50%;padding:15px 18px;border:1px solid #ffffff80;background:#fffffff0;backdrop-filter:blur(22px);border-radius:12px;box-shadow:0 12px 45px #0a254025;opacity:0;visibility:hidden;transform:translate(-50%,18px) scale(.96);transform-origin:50% 100%;transition:opacity .25s,transform .35s,visibility .25s}
.hero-direction:is(:hover,:focus-within,.is-open) .direction-dock{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.direction-dock button{width:112px;min-height:78px;padding:9px 5px;background:transparent;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:8px;transform:scale(var(--dock-scale,1));transform-origin:50% 100%;transition:transform .14s,background .25s;color:var(--navy);font-size:11px;white-space:nowrap}
.direction-dock button[aria-pressed=true]{background:#6fc34820;color:var(--green)}.direction-dock button:hover{background:#6fc34825}.dock-symbol{font-size:29px;line-height:1.2}
@media(min-width:601px){.hero .photo-label{bottom:112px}.hero .photo-open{bottom:116px}}
@media(max-width:600px){.hero{min-height:1120px}.hero-direction{bottom:18px;padding:12px 0 0;width:100%}.direction-current{max-width:calc(100% - 30px)}.direction-dock{width:calc(100vw - 32px);display:grid;grid-template-columns:1fr 1fr;gap:8px;bottom:65px;padding:12px}.direction-dock button{width:100%;min-height:65px}.hero .photo-label{bottom:107px}.hero .photo-open{bottom:108px}}
@media(min-width:601px){.hero-direction{width:100%;padding-top:44px}}

/* Lightweight text dock: no pointer tracking or backdrop blur. */
.direction-dock{background:#fffffff7;backdrop-filter:none;padding:10px 14px;gap:14px;transform:translate(-50%,8px);transition:opacity .16s ease,transform .2s ease,visibility .16s}
.direction-dock button{min-height:44px;justify-content:center;font-size:12px;transform:scale(1);transition:transform .18s ease,background .18s ease;transform-origin:center}
.direction-current{backdrop-filter:none}
@media(hover:hover) and (pointer:fine){.direction-dock button:hover{transform:translateY(-3px) scale(1.1)}.direction-dock button:has(+button:hover),.direction-dock button:hover+button{transform:scale(1.035)}}
@media(max-width:600px){.direction-dock button{min-height:44px}}
/* Airier dock with more pronounced magnification. */
.direction-dock{background:rgba(255,255,255,.7);border-color:#ffffff90;gap:28px;padding:14px 24px}
@media(hover:hover) and (pointer:fine){.direction-dock button:hover{transform:translateY(-8px) scale(1.3);background:rgb(111 195 72 / 15%)}.direction-dock button:has(+button:hover),.direction-dock button:hover+button{transform:translateY(-2px) scale(1.08)}}
@media(max-width:600px){.direction-dock{gap:8px;padding:12px}}
/* Smooth the handover between neighbouring dock items. */
.direction-dock button{transition:transform .42s cubic-bezier(.22,.61,.36,1),background .3s ease}

/* Magnification follows pointer proximity continuously, not hover boundaries. */
@media(hover:hover) and (pointer:fine){
.direction-dock button,.direction-dock button:hover,.direction-dock button:has(+button:hover),.direction-dock button:hover+button{transform:translateY(calc(-8px * var(--dock-magnify,0))) scale(calc(1 + .3 * var(--dock-magnify,0)));transition:background .3s ease}
}
/* Text-only dock items; selection is conveyed through colour. */
.direction-dock button,.direction-dock button[aria-pressed=true],.direction-dock button:hover{background:transparent;border-radius:0;box-shadow:none}
.direction-dock button[aria-pressed=true],.direction-dock button:hover{color:var(--green)}
/* Lighter desktop panel; mobile uses the compact arrow selector only. */
.direction-dock{background:rgba(255,255,255,.42);border-color:#ffffff55}
@media(max-width:600px){.hero-direction .direction-dock{display:none}.direction-chevron{display:none}.direction-toggle{pointer-events:none;cursor:default}}
/* Narrower light veil leaves more of the photograph at full contrast. */
@media(min-width:851px){.hero .image-shade{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 20%,rgba(255,255,255,.65) 33%,rgba(255,255,255,.08) 53%,transparent 68%),linear-gradient(0deg,#0a254050,transparent 32%)}}
@media(min-width:601px) and (max-width:850px){.hero .image-shade{background:linear-gradient(90deg,#fffffff5,#ffffffd9 28%,#ffffff20 68%,transparent 85%),linear-gradient(0deg,#0a254060,transparent 30%)}}

/* Header enquiry follows the understated animated link style. */
.header-quote{border-bottom-color:var(--line);transition:border-color .3s ease,color .3s ease}
.header-quote-arrow{display:inline-block;transition:transform .35s cubic-bezier(.22,.61,.36,1),color .3s ease}
.header-quote:is(:hover,:focus-visible){border-bottom-color:var(--green)}
.header-quote:is(:hover,:focus-visible) .header-quote-arrow{transform:translate(3px,-3px);color:var(--green)}

/* Directional arrow motion for understated links. */
.text-link .link-arrow{display:inline-block;transition:transform .35s cubic-bezier(.22,.61,.36,1),color .3s ease}
.text-link:is(:hover,:focus-visible){border-bottom-color:var(--green)}
.text-link:is(:hover,:focus-visible) .link-arrow{color:var(--green);transform:translate(3px,-3px)}
.text-link:is(:hover,:focus-visible) .arrow-down{transform:translate(3px,3px)}

/* Concept 02 — editorial service depth, process and useful answers. */
.tile-focus{border-top:1px solid var(--line)}.tile-focus-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:6%;align-items:start}.tile-editorial{margin:0;position:sticky;top:125px;height:570px;overflow:hidden}.tile-editorial img{width:100%;height:100%;object-fit:cover}.tile-editorial:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0a2540b0)}.tile-editorial figcaption{position:absolute;z-index:1;bottom:32px;left:30px;right:20px;color:white}.tile-editorial figcaption>span{font-size:9px;letter-spacing:.12em}.tile-editorial figcaption p{font-size:34px;line-height:1.12;letter-spacing:-.04em;margin:18px 0 0}.tile-categories{display:grid;grid-template-columns:1fr 1fr;gap:30px}.tile-categories article{border-top:1px solid var(--line);padding-top:18px}.tile-number{font-size:11px;color:var(--green)}.tile-categories h3{font-size:23px;letter-spacing:-.035em;margin:13px 0}.tile-categories p{font-size:13px;color:var(--muted);line-height:1.7}.tile-categories .text-link{font-size:11px;gap:15px}.tile-foundation{margin-top:45px;padding:25px 0 0;border-top:1px solid var(--line);display:flex;gap:45px;align-items:baseline}.tile-foundation>span{font-size:10px;letter-spacing:.08em;white-space:nowrap}.tile-foundation p{font-size:12px;color:var(--muted);margin:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-grid article{border-top:1px solid var(--line);padding-top:25px}.step-number{font-size:46px;letter-spacing:-.06em;color:var(--green);font-weight:400}.process-grid h3{font-size:23px;letter-spacing:-.035em;margin:28px 0 15px}.process-grid p{font-size:14px;color:var(--muted)}.process-note{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.process-note p{font-size:16px;margin:0}.cleaning-copy>.cleaning-independent{opacity:1!important;border-left:2px solid var(--green);padding-left:17px;font-size:14px!important}
.questions{display:grid;grid-template-columns:.85fr 1.4fr;gap:6%;border-top:1px solid var(--line)}.questions-intro h2{font-size:clamp(38px,4vw,60px)}.questions-intro>p:not(.eyebrow){font-size:14px;color:var(--muted)}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item h3{margin:0}.faq-question{width:100%;padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;text-align:left;background:transparent;font-size:17px;line-height:1.4}.faq-question>span{font-size:25px;transition:transform .35s;color:var(--green)}.faq-question[aria-expanded=true]>span{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s ease,opacity .3s ease}.faq-answer>div{overflow:hidden;min-height:0}.faq-answer p{margin:0;padding:0 30px 23px 0;font-size:14px;color:var(--muted);line-height:1.8}.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}.service-area{grid-column:1/-1;border-top:1px solid var(--line);margin-top:60px;padding-top:32px}.service-area .eyebrow{display:block;margin:0 0 20px}.service-area p{font-size:clamp(26px,3vw,44px);letter-spacing:-.04em;margin:0 0 15px}.service-area>span:last-child{font-size:12px;color:var(--muted)}
@media(max-width:1000px){.tile-focus-layout{grid-template-columns:1fr}.tile-editorial{position:relative;top:auto;height:350px;margin-bottom:35px}.tile-categories{grid-template-columns:repeat(3,1fr);gap:24px}.process-grid{grid-template-columns:1fr 1fr}.questions{grid-template-columns:1fr}.questions-intro{margin-bottom:35px}.tile-foundation{display:block}.tile-foundation p{margin-top:15px}}
@media(max-width:600px){.tile-categories{grid-template-columns:1fr 1fr;gap:25px 18px}.tile-categories h3{font-size:20px}.tile-categories .text-link{font-size:10px;gap:6px}.tile-editorial{height:330px}.process-grid{grid-template-columns:1fr;gap:18px}.process-grid article{display:grid;grid-template-columns:50px 1fr;column-gap:20px;padding-top:20px}.step-number{font-size:34px;grid-row:1/3}.process-grid h3{margin:0 0 12px}.process-grid p{grid-column:2;margin-bottom:10px}.process-note{display:block}.process-note .button{margin-top:25px}.faq-question{font-size:16px}.service-area{margin-top:35px}.tile-foundation>span{white-space:normal}}

/* Type studies, chosen via the separate review page. */
:root{font-family:'Manrope',Arial,sans-serif}
h1,h2{font-weight:500;letter-spacing:-.055em}
em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.04em}
html[data-type=architectural] em{font-family:'Manrope',Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:-.055em}
html[data-type=classic] h1,html[data-type=classic] h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}
html[data-type=classic] em{font-family:Georgia,serif;font-weight:400}
.hero h1{font-size:clamp(56px,5.6vw,92px)}
@media(max-width:1150px){.hero h1{font-size:60px}}
@media(max-width:850px){.hero h1{font-size:49px}}
@media(max-width:600px){.hero h1{font-size:clamp(48px,11.5vw,68px)}}
.photo-open[hidden]{display:none}

/* Independent five-frame studies for each tiling category. */
.tile-focus-layout{display:block}.tile-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}.tile-slider{min-width:0}.tile-slide-image{position:relative;aspect-ratio:4/3;overflow:hidden;margin:22px 0;background:var(--soft)}.tile-slide-image img{width:100%;height:100%;object-fit:cover}.tile-slide-image .tile-slide-overlay{position:absolute;inset:0}.tile-test-label{position:absolute;bottom:10px;left:10px;z-index:2;background:#ffffffde;color:var(--navy);padding:5px 8px;font-size:9px;letter-spacing:.04em}.tile-slide-copy{min-height:124px}.tile-slide-copy h4{font-size:16px;font-weight:500;margin:0 0 10px}.tile-slide-copy p{margin:0}.tile-slide-controls{display:flex;align-items:center;gap:18px;margin:12px 0 16px}.tile-slide-controls button{background:transparent;border:1px solid var(--line);width:38px;height:38px;border-radius:4px;transition:background .25s,border-color .25s;font-size:19px}.tile-slide-controls button:hover{background:#6fc34820;border-color:var(--green)}.tile-slide-count{font-size:11px;color:var(--muted);min-width:45px;text-align:center}
@media(max-width:1100px){.tile-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tile-categories{grid-template-columns:1fr;gap:35px}.tile-slide-copy{min-height:100px}.tile-categories .text-link{font-size:12px}}

/* Concept-only typography selector. */
.type-preview{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:10px var(--gutter);background:#f4f6f7;border-bottom:1px solid var(--line);font:12px Manrope,Arial,sans-serif;color:var(--navy)}
.type-preview>span{margin-right:auto;font-size:10px;letter-spacing:.12em}.type-preview select{max-width:100%;padding:8px 32px 8px 12px;border:1px solid #cad2d8;border-radius:3px;background:white;color:var(--navy);cursor:pointer}
html[data-type=dmsans]{font-family:'DM Sans',Arial,sans-serif}html[data-type=outfit]{font-family:'Outfit',Arial,sans-serif}
html[data-type=dmsans] em{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-weight:400}html[data-type=outfit] em{font-family:'Outfit',Arial,sans-serif;font-style:normal;font-weight:400}
@media(max-width:600px){.type-preview{gap:8px;padding:8px 20px}.type-preview>span{display:none}.type-preview label{margin-right:auto}.type-preview select{font-size:12px;max-width:260px}}

/* White expertise section. */
#services{background:#fff}
#services + .tile-focus{border-top:0}

/* Client feedback layout, with explicitly labelled sample content. */
.testimonials{max-width:none;background:#f4f6f7}.reviews-preview{font-size:10px;letter-spacing:.06em;color:var(--muted);margin:0 0 25px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.review-card{position:relative;display:flex;flex-direction:column;background:white;padding:34px 30px;border-top:2px solid var(--green)}.review-mark{font-family:Georgia,serif;color:var(--green);font-size:72px;line-height:.85}.review-service{font-size:10px;letter-spacing:.09em;margin:20px 0 0;color:var(--muted)}.review-card blockquote{font-size:clamp(20px,1.8vw,28px);line-height:1.5;letter-spacing:-.03em;margin:20px 0 36px;flex:1}.review-author{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);padding-top:23px}.review-avatar{display:grid;place-items:center;width:38px;height:38px;background:var(--soft);border-radius:50%;font-size:11px;flex-shrink:0}.review-author strong{display:block;font-size:12px;font-weight:500}.review-author div>span{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.reviews-bottom p{margin:0;font-size:14px;color:var(--muted)}@media(max-width:900px){.reviews-grid{gap:15px}.review-card{padding:25px 20px}}@media(max-width:700px){.reviews-grid{grid-template-columns:1fr}.review-card blockquote{font-size:23px}.reviews-bottom{align-items:flex-start;flex-direction:column}}
