:root{--forest:#0e2a24;--sage:#6b7f67;--cream:#f6f3eb;--sand:#dbcbb8;--ink:#1e1e1e;--line:#0e2a2426}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--forest);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b2924f;outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:500}p{line-height:1.5}h2{font-size:clamp(2.8rem,4.7vw,5rem);letter-spacing:-.055em;line-height:1.03;margin-bottom:30px}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.15em;font-weight:500}p.eyebrow{margin-bottom:26px}.announcement{text-align:center;background:var(--forest);color:var(--cream);padding:10px 20px;font-size:.8125rem}header{height:98px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.wordmark{font-size:3.3rem;letter-spacing:-.075em;font-weight:600;line-height:1}header nav{display:flex;gap:32px;font-size:.875rem}header nav a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:center;align-items:center;padding:18px 30px;min-height:52px;background:var(--forest);color:var(--cream);border:1px solid transparent;border-radius:4px;font-weight:500;font-size:.9375rem;transition:background .2s}.button:hover{background:#29493c}.button.light{background:var(--cream);color:var(--forest)}.button.light:hover{background:var(--sand)}.button.small{padding:14px 22px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:680px;background:var(--forest);color:var(--cream)}.hero-copy{padding:65px 9.2% 48px}.hero .eyebrow{font-size:.6875rem;max-width:330px}.hero h1{font-size:clamp(4rem,6.7vw,7.2rem);line-height:.99;letter-spacing:-.06em;margin-bottom:28px}.hero h1 span{color:#bdc8ab}.intro{font-size:1.18rem;max-width:370px;line-height:1.4;margin-bottom:28px}.hero-foot{font-size:.8125rem;color:#ccd3c7;margin:35px 0 0}.hero-image{position:relative;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:57% center}.image-label{position:absolute;bottom:30px;left:30px;right:30px;border-top:1px solid #ffffff80;padding-top:15px;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;text-shadow:0 1px 8px #000}.ritual-strip{display:flex;justify-content:space-around;gap:20px;padding:30px 4%;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:.75rem;letter-spacing:.17em}.section{padding:100px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:350px;font-size:1.0625rem;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service{padding:30px 24px;min-height:340px;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.service:last-child{border:0}.service:hover{background:#e6e9dc}.service .number{font-size:.6875rem;letter-spacing:.13em;margin-bottom:35px}.service h3{font-size:2rem;line-height:1.05;letter-spacing:-.045em;margin-bottom:22px}.service p{font-size:.9375rem;line-height:1.45}.service-detail{font-size:.75rem;line-height:1.6;color:#516056;margin-top:auto;padding-top:22px}.assets{background:#d7decd}.assets .section-heading{align-items:center}.asset-list{display:grid;grid-template-columns:repeat(5,1fr);margin-top:54px}.asset-list span{border-top:1px solid #0e2a2440;padding:22px 5px;font-size:1.15rem}.asset-list .and-more{font-style:italic}.management{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.management-copy>p:not(.eyebrow){font-size:1.0625rem;max-width:410px}.management ul{padding-left:20px;margin:30px 0;line-height:2;font-size:.9375rem}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-weight:500;font-size:.9375rem}.demo{background:#fffdf7;border:1px solid #c7ccbc;border-radius:10px;box-shadow:0 25px 50px #0e2a2410;overflow:hidden;transform:rotate(-1deg)}.demo-top{display:flex;align-items:center;justify-content:space-between;background:var(--forest);color:var(--cream);padding:22px 26px}.demo-top .wordmark{font-size:2rem}.demo-label{font-size:.6875rem;color:#d5ddcf}.demo-title{display:flex;justify-content:space-between;align-items:center;padding:30px 26px 20px;gap:12px}.demo-title .eyebrow{font-size:.625rem}.demo h3{font-size:1.5rem;letter-spacing:-.035em;margin:8px 0 0}.asset-count{font-size:.75rem;background:#e7ebdf;border-radius:20px;padding:7px 10px;white-space:nowrap}.demo-tabs{display:flex;gap:5px;margin:0 26px;border-bottom:1px solid var(--line)}.demo-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 9px;font-size:.8125rem;color:#68716a}.demo-tabs button[aria-selected=true]{color:var(--forest);border-color:var(--forest);font-weight:600}#asset-panel{padding:26px}.asset-summary{display:flex;justify-content:space-between;align-items:center}.asset-summary .eyebrow{font-size:.6875rem;letter-spacing:.06em}.asset-summary h4{font-size:1.375rem;margin:8px 0 14px}.status{font-size:.75rem;border:1px solid #cad8be;color:#3c5532;border-radius:4px;padding:6px 9px}.qr{width:78px;height:78px}.demo-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:23px 0;margin-top:15px;border-bottom:1px solid var(--line)}.demo-stats span{display:block;font-size:.75rem;color:#657064;margin-bottom:8px}.demo-stats strong{font-size:.9375rem;font-weight:500}.history-label{font-size:.625rem;letter-spacing:.12em;margin:24px 0 17px}.history{display:flex;align-items:flex-start;gap:17px}.history-date{font-size:.625rem;line-height:1.5;border:1px solid var(--line);padding:10px;white-space:nowrap}.history strong{font-size:.8125rem;font-weight:500}.history p{font-size:.75rem;color:#647060;margin:7px 0 0}.done{margin-left:auto;font-size:1.2rem}.demo-bottom{padding:16px 26px;background:#e9ecdf;font-size:.6875rem;letter-spacing:.05em}.why{background:var(--forest);color:var(--cream)}.why h2{max-width:550px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:55px;margin-top:60px}.why-grid>div{border-top:1px solid #f6f3eb40;padding:25px 0 32px}.why-grid span{font-size:.6875rem;color:#b8c5b0}.why-grid h3{font-size:1.3rem;letter-spacing:-.03em;margin:18px 0 10px}.why-grid p{color:#c7d0c0;font-size:.9375rem;max-width:310px;margin-bottom:0}.industries{background:var(--sand)}.industries h2{max-width:750px}.industry-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}.industry-list span{border:1px solid #0e2a2440;border-radius:100px;padding:15px 24px;font-size:1rem}.audit{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--sage);color:var(--cream)}.audit>div>p:not(.eyebrow){max-width:400px;font-size:1.0625rem}.audit-steps{display:flex;flex-direction:column;gap:19px;font-size:.875rem;margin-top:40px}.audit form{background:var(--forest);padding:34px;border-radius:6px}.audit form h3{font-size:1.65rem;letter-spacing:-.035em;margin-bottom:12px}.form-note{font-size:.8125rem;color:#c6d1c4;margin-bottom:25px}.audit label{display:flex;flex-direction:column;font-size:.75rem;gap:9px;margin-bottom:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.audit input,.audit select,.audit textarea{width:100%;min-width:0;background:#ffffff08;color:var(--cream);border:1px solid #ffffff50;border-radius:3px;padding:12px;font-size:1rem}.audit option{color:var(--forest);background:var(--cream)}.audit input::placeholder,.audit textarea::placeholder{color:#abb9ae}.audit textarea{resize:vertical}.audit .button{width:100%;margin-top:3px}.form-result{margin:18px 0 0;font-size:.875rem}.form-result a{text-decoration:underline;font-weight:bold}footer{padding:58px 6%;display:flex;justify-content:space-between;gap:40px}footer .wordmark{font-size:4rem}footer p{font-size:.875rem;line-height:1.4;margin:18px 0 0}.footer-line{font-size:1.3rem}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:.8125rem}.footer-links span{color:#647164;margin-top:14px}.skip{position:fixed;left:15px;top:-100px;z-index:10;background:white;padding:15px}.skip:focus{top:15px}
@media(min-width:1600px){body{max-width:1900px;margin:auto}.hero{min-height:800px}}
@media(max-width:1000px){header{height:85px;gap:20px}header nav{gap:18px;font-size:.75rem}.wordmark{font-size:2.8rem}.button.small{padding:13px 15px;font-size:.8125rem}.hero{min-height:590px}.hero-copy{padding:48px 9% 35px}.hero h1{font-size:5rem}.image-label{flex-direction:column}.section{padding:75px 5%}.service-grid{grid-template-columns:repeat(2,1fr)}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.service{min-height:300px}.asset-list{grid-template-columns:repeat(3,1fr)}.management{gap:5%;grid-template-columns:1fr 1.2fr}.why-grid{gap:25px}.audit{gap:6%}.audit form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){html{scroll-padding-top:20px}.announcement{font-size:.6875rem;padding:10px 8px}header{height:80px;padding:0 6%}header nav,header>.button{display:none}.menu-toggle{display:block;border:1px solid var(--line);background:none;border-radius:4px;padding:10px 15px;color:var(--forest);font-size:.875rem}.mobile-nav{display:flex;flex-direction:column;padding:15px 6% 25px;gap:22px;border-bottom:1px solid var(--line);font-size:.9375rem}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 7% 38px}.hero .eyebrow{max-width:280px;font-size:.625rem;margin-bottom:25px}.hero h1{font-size:clamp(4.3rem,16vw,6rem)}.intro{font-size:1.0625rem;max-width:340px}.hero-foot{margin-top:25px}.hero-image{height:380px}.image-label{flex-direction:row;left:23px;right:23px;bottom:23px;font-size:.625rem}.ritual-strip{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;row-gap:18px;font-size:.625rem;padding:25px 5%}.section{padding:62px 7%}h2{font-size:2.8rem;line-height:1.06}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px;font-size:1rem}.service-grid{grid-template-columns:1fr 1fr}.service{padding:23px 16px;min-height:355px}.service .number{font-size:.625rem;letter-spacing:.08em;margin-bottom:30px}.service h3{font-size:1.6rem}.service p{font-size:.875rem}.service-detail{font-size:.6875rem}.asset-list{grid-template-columns:repeat(2,1fr);margin-top:35px}.asset-list span{font-size:1rem;padding:18px 4px}.management{display:block}.demo{margin-top:40px;transform:none}.demo-top{padding:18px}.demo-label{font-size:.625rem}.demo-title{padding:24px 18px 15px}.demo-title h3{font-size:1.25rem}.demo-tabs{margin:0 18px}.demo-tabs button{font-size:.75rem;padding:12px 7px}#asset-panel{padding:22px 18px}.asset-summary h4{font-size:1.25rem}.qr{width:66px;height:66px}.history{gap:10px}.why-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}.why-grid h3{font-size:1.1rem;line-height:1.2}.why-grid p{font-size:.875rem}.why-grid>div{padding-bottom:16px}.industry-list{gap:9px;margin-top:30px}.industry-list span{padding:12px 17px;font-size:.875rem}.audit{display:block}.audit form{margin-top:40px;padding:25px 20px}.form-row{grid-template-columns:1fr}.audit-steps{gap:14px;margin-top:28px}footer{padding:45px 7%;flex-wrap:wrap;gap:35px}footer>div:first-child{width:100%}footer .wordmark{font-size:4rem}.footer-line{font-size:1.1rem;margin:0}.footer-links{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* WAMMO refinements: precise type, rounded actions, a brighter booking accent. */
:root{--citron:#d7f56a;--citron-hover:#e4ff90}
.button,.button.light{background:var(--citron);color:var(--forest);border-radius:3px;font-weight:600;min-height:50px;padding:17px 30px;transition:background .18s,box-shadow .18s,transform .18s}
.button:hover,.button.light:hover{background:var(--citron-hover);box-shadow:0 5px 18px #0e2a2420;transform:translateY(-1px)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#7ba323}
header{height:90px;position:relative;z-index:5;padding:0 4.3%;gap:24px}
.header-actions{display:flex;align-items:center;gap:24px}
header .button.small{font-size:.9375rem;padding:14px 25px;min-height:48px}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 0 10px 12px;border:0;background:none;color:var(--forest);font-size:.875rem}
.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:7px;width:25px;height:25px}
.menu-icon i{display:block;width:25px;height:2px;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.site-menu[hidden]{display:none}
header .site-menu{display:flex;position:absolute;top:100%;right:4.3%;width:min(540px,91.4vw);padding:32px;background:var(--cream);border:1px solid var(--line);box-shadow:0 20px 45px #0e2a242b;flex-direction:column;gap:0;border-radius:0 0 12px 12px}
.menu-heading{font-size:.75rem;letter-spacing:.12em;padding-bottom:20px;color:#516056}
header .site-menu>a{display:flex;align-items:center;gap:22px;padding:16px 0;border-top:1px solid var(--line);font-size:1.4rem;letter-spacing:-.035em}
header .site-menu>a span{font-size:.75rem;letter-spacing:0;color:#657064}
header .site-menu>a:hover{text-decoration:none;color:#547522}
header .site-menu>.menu-book{background:var(--citron);border-radius:3px;justify-content:center;font-size:1rem;font-weight:600;margin-top:18px;border:0;letter-spacing:0;padding:16px}
.brand-strip{display:flex;align-items:center;background:#fffdf7;border-bottom:1px solid var(--line);height:88px;padding:0 4.3%;gap:30px;overflow:hidden}
.brand-caption{flex:0 0 180px;font-size:.6875rem;letter-spacing:.11em;line-height:1.7;display:flex;flex-direction:column}
.brand-caption span:first-child{font-weight:700}
.brand-window{flex:1;overflow:hidden;min-width:0;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.brand-track{display:flex;width:max-content;animation:brands-scroll 42s linear infinite}
.brand-group{display:flex;align-items:center;gap:58px;padding-right:58px}
.brand-logo{display:flex;justify-content:center;align-items:center;width:120px;flex:0 0 120px;height:44px}
.brand-logo img{max-width:120px;max-height:34px;width:auto;height:auto;object-fit:contain;filter:brightness(0);opacity:.72}
.brand-logo span{font-size:1.4rem;font-weight:700;letter-spacing:-.035em;white-space:nowrap}
.brand-pause{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--forest);font-size:.875rem}
.brand-track.paused,.brand-strip:hover .brand-track,.brand-strip:focus-within .brand-track{animation-play-state:paused}
@keyframes brands-scroll{to{transform:translateX(-50%)}}
.hero .eyebrow{font-size:.75rem;letter-spacing:.13em}.hero h1{letter-spacing:-.055em}.hero h1 span{color:#d3ddc2}
.hero-foot{font-size:.875rem}.ritual-strip{font-size:.8125rem}.service .number{font-size:.75rem}.service{border-radius:0}.service:hover{background:#e5ead9}.service-detail{font-size:.8125rem}
.audit{padding-top:70px;padding-bottom:70px;background:var(--forest);gap:8%;align-items:center}
.audit h2{font-size:clamp(2.8rem,4.4vw,4.8rem);margin-bottom:22px}
.audit>div>p:not(.eyebrow){font-size:1rem;margin-bottom:0;color:#d7dfd1}
.audit-steps{flex-direction:row;flex-wrap:wrap;gap:12px 22px;margin-top:28px;font-size:.8125rem;color:#d7dfd1}
.audit form{border:1px solid #ffffff35;padding:28px;background:#ffffff05;border-radius:12px}
.audit form h3{margin-bottom:8px}.form-note{font-size:.875rem;margin-bottom:20px}
.audit label{font-size:.875rem;position:relative;margin-bottom:16px;gap:8px}
.audit label .optional{position:absolute;top:0;left:79px;font-size:.8125rem;color:#b7c4b7}
.audit input,.audit textarea{padding:12px 14px;border-radius:6px;background:#ffffff08;border-color:#ffffff40}
.audit textarea{min-height:78px}.form-row{grid-template-columns:1fr 1fr;gap:14px}.form-disclosure{font-size:.75rem;line-height:1.4;color:#bdcbbd;margin:12px 0 0;text-align:center}
@media(max-width:1000px){header{height:84px}.brand-strip{gap:20px}.brand-caption{flex-basis:155px}.audit{gap:5%}.audit form{padding:24px}.form-row{grid-template-columns:1fr}}
@media(max-width:700px){header{height:78px;padding:0 6%;gap:12px}header>.header-actions .button{display:inline-flex;min-height:42px;font-size:.8125rem;padding:12px 17px}.header-actions{gap:14px}.menu-toggle{padding:8px 0;border:0;border-radius:0}.menu-label{display:none}.wordmark{font-size:2.6rem}header .site-menu{right:0;width:100%;padding:24px 7%;border-radius:0}.brand-strip{height:73px;padding:0 6%;gap:16px}.brand-caption{flex-basis:108px;font-size:.5625rem;letter-spacing:.06em}.brand-group{gap:32px;padding-right:32px}.brand-logo{width:100px;flex-basis:100px}.brand-logo img{max-width:100px;max-height:29px}.brand-logo span{font-size:1.2rem}.brand-pause{width:28px;height:28px;flex-basis:28px}.hero .eyebrow{font-size:.75rem}.image-label{font-size:.75rem}.ritual-strip{font-size:.75rem;letter-spacing:.1em}.service .number{font-size:.75rem;letter-spacing:.03em}.service-detail{font-size:.8125rem}.audit{padding:52px 7%}.audit form{margin-top:28px;padding:24px 20px}.audit-steps{flex-direction:row;font-size:.75rem;gap:12px 16px}.form-row{grid-template-columns:1fr}.audit form h3{font-size:1.5rem}}
@media(max-width:360px){header .button.small{font-size:.75rem;padding:11px 13px}.header-actions{gap:10px}.wordmark{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-window{overflow-x:auto;mask-image:none}.brand-group[aria-hidden=true]{display:none}.brand-pause{display:none}}

/* A quieter, open contact layout with crisp fields and actions. */
.audit form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.audit form h3{font-size:1.5rem;letter-spacing:-.035em;margin-bottom:8px}
.audit .form-note{margin-bottom:24px}
.audit label{gap:4px;margin-bottom:20px;font-size:.8125rem}
.audit input:not([type=hidden]),.audit textarea{background:transparent;border:0;border-bottom:1px solid #ffffff55;border-radius:0;padding:10px 0 12px;box-shadow:none;transition:border-color .18s}
.audit input:focus,.audit textarea:focus{outline:0;border-bottom-color:var(--citron);box-shadow:0 1px 0 var(--citron)}
.audit input{min-height:44px}.audit textarea{min-height:68px}
.audit .button{min-height:48px;border-radius:3px;margin-top:2px;padding:13px 22px}
.audit .button:hover{transform:none;box-shadow:none}
.audit .form-disclosure{font-size:.75rem;text-align:left;max-width:390px;margin-top:12px}
.audit label .optional{font-size:.75rem;left:74px}
@media(max-width:700px){.audit form{margin-top:32px;padding:0}.audit form h3{font-size:1.4rem}.audit .form-note{font-size:.875rem;margin-bottom:24px}.audit label{margin-bottom:18px}.audit .form-disclosure{line-height:1.5}}
@media(prefers-reduced-motion:reduce){.audit input,.audit textarea{transition:none}}

/* Trade-led visual direction: photography, tool details and purposeful movement. */
.hero{position:relative;display:block;isolation:isolate;min-height:700px;overflow:hidden}
.hero-image{position:absolute;inset:0;height:auto;z-index:-2}
.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transform:scale(1.035);animation:hero-settle 1.4s ease-out both}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071e1bee 0%,#071e1bcc 36%,#071e1b66 66%,#071e1b1a 100%)}
.hero-copy{position:relative;padding:65px 6% 68px;max-width:820px}
.hero .eyebrow{max-width:none;font-size:.75rem;letter-spacing:.14em;color:#d7f56a}
.hero h1{font-size:clamp(4.8rem,7.2vw,7.2rem);line-height:.95;margin-bottom:26px}
.hero h1 span{color:var(--cream)}
.hero .intro{max-width:420px;font-size:1.125rem;line-height:1.5}
.hero-foot{font-size:.8125rem;line-height:1.7;letter-spacing:.015em;color:#e0e6d9;margin-top:28px}
.image-label{left:auto;width:34%;right:6%;bottom:36px;display:flex;flex-direction:column;font-size:.75rem;line-height:1.5;color:#fff;letter-spacing:.04em}
.tool-icon{width:19px;height:19px;flex:0 0 19px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.button{gap:12px;position:relative;overflow:hidden;isolation:isolate;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.button::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff44,#ffffff08);opacity:0;transition:opacity .65s ease;z-index:-1}
.button:hover::before,.button:focus-visible::before{opacity:1}
.button:hover .tool-icon,.button:focus-visible .tool-icon{transform:rotate(-20deg)}
.button:active{transform:scale(.98)}
.menu-book{gap:12px}.menu-book:hover .tool-icon{transform:rotate(-20deg)}
.service-grid{grid-template-columns:repeat(2,1fr);border:0;gap:0 32px}
.service{position:relative;isolation:isolate;overflow:hidden;min-height:310px;padding:28px 26px;border:0;border-top:1px solid #0e2a2440!important;transition:background .85s ease;--tile-accent:var(--citron)}
.service::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,rgba(255,255,255,.58),rgba(255,255,255,.16));border:1px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(12px) saturate(115%);backdrop-filter:blur(12px) saturate(115%);opacity:0;transition:opacity .85s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.service-tool{position:absolute;right:26px;top:26px;width:38px;height:38px;border:1px solid #0e2a2433;display:grid;place-items:center;transition:background .3s,border-color .3s,color .3s}
.service-tool .tool-icon{width:20px;height:20px}
.service .number{font-size:.75rem;letter-spacing:.08em;margin-bottom:22px;padding-right:48px}
.service h3{font-size:2.7rem;line-height:1.05;margin-bottom:16px;transition:transform .3s;letter-spacing:-.04em}
.service-brand{display:block;font-size:.75rem;letter-spacing:.11em;line-height:1.5;margin-bottom:4px;font-weight:500}
.service p{font-size:1rem;line-height:1.5;max-width:400px;margin-bottom:20px}
.service-detail{font-size:.8125rem;padding-top:0;margin-top:auto;transition:color .3s}
.service-action{font-size:.8125rem;font-weight:600;align-self:flex-start;margin-top:22px;padding-bottom:5px;border-bottom:1px solid currentColor;transition:color .3s}
.service:hover,.service:focus-visible{color:var(--forest);background:rgba(107,127,103,.055)}
.service:hover::before,.service:focus-visible::before{opacity:1}
.service:hover .service-detail,.service:focus-visible .service-detail{color:#516056}
.service:hover .service-action,.service:focus-visible .service-action{color:var(--forest)}
.service:hover .service-tool,.service:focus-visible .service-tool{background:var(--citron);border-color:var(--citron);color:var(--forest)}
.service:hover .tool-icon,.service:focus-visible .tool-icon{transform:rotate(-25deg)}
.service:hover h3,.service:focus-visible h3{transform:none}
.service:active{background:#dce8c6}
.motion-ready .service,.motion-ready .management-copy,.motion-ready .demo{opacity:0;translate:0 20px;transition:opacity .6s ease,translate .6s ease,background .85s ease}
.motion-ready .in-view{opacity:1!important;translate:0 0!important}
.service:nth-child(2),.service:nth-child(4){transition-delay:0s}
.demo-tabs button{transition:background .2s,color .2s}.demo-tabs button:hover{background:#e9efda;color:var(--forest)}
.asset-list span{transition:background .2s,padding-left .2s}.asset-list span:hover{background:#c5d1b8;padding-left:12px}
@keyframes hero-settle{from{transform:scale(1.075)}to{transform:scale(1)}}
@media(max-width:1000px){.hero{min-height:660px}.hero-copy{max-width:650px}.hero h1{font-size:5.7rem}.image-label{width:27%}.service-grid{gap:0 22px}}
@media(max-width:700px){.hero{min-height:620px}.hero-copy{padding:40px 7% 90px;max-width:none}.hero h1{font-size:clamp(3.65rem,15vw,5.5rem);line-height:.98;margin-bottom:22px}.hero .eyebrow{font-size:.6875rem;max-width:270px;margin-bottom:20px}.hero .intro{font-size:1rem;max-width:310px;margin-bottom:24px}.hero::after{background:linear-gradient(90deg,#071e1bcc,#071e1b77),linear-gradient(0deg,#071e1b66,transparent 55%)}.hero-image{height:auto}.hero-image>img{object-position:63% center}.hero-foot{font-size:.8125rem;margin-top:22px}.image-label{bottom:22px;left:7%;right:7%;width:auto;flex-direction:row;font-size:.6875rem;gap:15px}.service-grid{grid-template-columns:1fr;gap:0}.service{min-height:0;padding:24px 16px 26px}.service .number{font-size:.75rem;letter-spacing:.06em;margin-bottom:17px}.service h3{font-size:2.25rem;margin-bottom:14px}.service-brand{font-size:.6875rem;letter-spacing:.12em}.service p{font-size:1rem;max-width:none;margin-bottom:16px}.service-detail{font-size:.8125rem}.service-action{margin-top:18px}.service-tool{right:16px;top:23px}.service:nth-child(2),.service:nth-child(4){transition-delay:0s}.button.small{gap:8px}header .button.small{font-size:.75rem;padding:12px 13px}.button.small .tool-icon{width:16px;height:16px;flex-basis:16px}.header-actions{gap:12px}.audit .button{gap:12px}}
@media(max-width:360px){header .wordmark{font-size:2.15rem}header .button.small{font-size:.6875rem;padding:11px 10px}.header-actions{gap:9px}.hero{min-height:610px}.hero h1{font-size:3.65rem}}
@media(hover:none){.service:hover::before{opacity:0}.service:active::before{opacity:1}.service:active{background:rgba(107,127,103,.055);color:var(--forest)}}
@media(prefers-reduced-motion:reduce){.hero-image>img{animation:none;transform:none}.motion-ready .service,.motion-ready .management-copy,.motion-ready .demo{opacity:1;translate:none}.service::before,.button::before{transition:none}.service:hover h3,.tool-icon{transform:none!important}}

/* Editorial rhythm: open layouts, working detail and large architectural frames. */
.services .section-heading>p{max-width:410px}.services .eyebrow{letter-spacing:.08em}
.assets{display:grid;grid-template-columns:1fr 1.25fr;gap:16px 8%;background:#d7decd}
.assets>.eyebrow{grid-column:1/-1;margin-bottom:10px}.assets .section-heading{display:block;margin:0}.assets h2{font-size:clamp(2.8rem,4.4vw,4.8rem);max-width:360px}.assets .section-heading>p{margin-top:24px;max-width:330px}
.asset-list{grid-template-columns:repeat(2,1fr);margin-top:0;gap:0 28px;align-content:start}
.asset-list span{font-size:1.05rem;padding:18px 0;transition:none}.asset-list span:hover{background:none;padding-left:0}
.why{background:var(--forest);padding:86px 6%}
.why-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:start}
.field-photo{position:sticky;top:38px;margin:0;height:640px;overflow:hidden}
.field-photo img{width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform}
.field-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 24px;font-size:.75rem;letter-spacing:.09em;color:var(--cream);background:linear-gradient(transparent,#071e1bd9);padding-top:70px}
.why-content h2{font-size:clamp(2.8rem,4.3vw,4.8rem);max-width:none}
.why-grid{display:block;margin-top:36px}
.why-grid>div{display:grid;grid-template-columns:30px 1fr;gap:0 15px;border-top:1px solid #f6f3eb35;padding:20px 0}
.why-grid span{grid-row:1/3;padding-top:3px;font-size:.75rem;color:var(--citron)}
.why-grid h3{font-size:1.15rem;margin:0 0 7px;letter-spacing:-.015em}
.why-grid p{max-width:none;font-size:.9375rem;margin:0;color:#ccd6c7}
.industries{position:relative;isolation:isolate;padding:76px 6%;min-height:740px;background:var(--forest);overflow:hidden}
.industry-photo{position:absolute;inset:0;z-index:-1;margin:0;overflow:hidden}
.industry-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;will-change:transform}
.industries-copy{background:var(--cream);padding:40px;width:44%;max-width:550px}
.industries h2{font-size:clamp(2.5rem,3.7vw,4.2rem);margin-bottom:30px;max-width:none}
.industry-list{display:block;margin-top:0}.industry-list span{display:block;border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0;font-size:.9375rem}
.demo{transform:none;border-radius:3px;box-shadow:0 20px 55px #0e2a2412}.status{border-radius:2px}.asset-count{border-radius:2px}
.motion-ready .image-reveal{clip-path:inset(9% 0 9% 0);opacity:.5;transition:clip-path 1s cubic-bezier(.2,.7,.2,1),opacity 1s ease}
.motion-ready .image-reveal.in-view{clip-path:inset(0);opacity:1}
.motion-ready .section-heading,.motion-ready .management-copy,.motion-ready .demo,.motion-ready .why-content>h2,.motion-ready .why-content>.eyebrow,.motion-ready .why-grid>div,.motion-ready .industries-copy,.motion-ready .audit>div,.motion-ready #audit-form,.motion-ready .asset-list span{opacity:0;translate:0 24px;transition:opacity .75s ease,translate .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .in-view{opacity:1!important;translate:0 0!important}
.site-menu{transform-origin:top right;animation:menu-enter .24s ease-out}
.text-link{position:relative}.text-link::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#78982a;transform:scaleX(0);transform-origin:left;transition:transform .3s}.text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1)}
@keyframes menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.why-layout{gap:5%}.field-photo{height:600px}.industries-copy{width:50%;padding:30px}.industries{min-height:680px}.assets{gap:16px 5%}}
@media(max-width:700px){.assets{display:block}.assets>.eyebrow{margin-bottom:22px}.assets .section-heading{margin-bottom:32px}.assets .section-heading>p{max-width:none}.asset-list{gap:0 20px}.asset-list span{font-size:.9375rem;padding:15px 0}.why{padding:0}.why-layout{display:block}.field-photo{position:relative;top:auto;height:400px}.field-photo figcaption{padding:70px 7% 24px}.why-content{padding:52px 7%}.why-grid{margin-top:30px}.why-grid>div{padding:20px 0}.why-grid h3{font-size:1.1rem}.why-grid p{font-size:.9375rem}.industries{padding:0;min-height:0;display:flex;flex-direction:column;background:var(--cream)}.industry-photo{position:relative;inset:auto;height:380px;z-index:auto;order:0}.industry-photo img{object-position:65% center}.industries-copy{width:100%;max-width:none;padding:44px 7% 52px;order:1}.industries h2{font-size:2.8rem;margin-bottom:28px}.industry-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.industry-list span{font-size:.875rem;padding:14px 0}.motion-ready .image-reveal{clip-path:inset(6% 0);transition-duration:.8s}.service-grid{gap:0}.services .eyebrow{font-size:.6875rem;max-width:300px}}
@media(prefers-reduced-motion:reduce){.motion-ready .image-reveal{clip-path:none;opacity:1}.motion-ready .section-heading,.motion-ready .why-content>h2,.motion-ready .why-content>.eyebrow,.motion-ready .why-grid>div,.motion-ready .industries-copy,.motion-ready .audit>div,.motion-ready #audit-form,.motion-ready .asset-list span{opacity:1;translate:none}.field-photo img,.industry-photo img{transform:none!important}.site-menu{animation:none}}

/* Streamlined services and a glass header that follows scroll direction. */
html{scroll-padding-top:110px}
header{position:sticky;top:0;z-index:30;background:rgba(246,243,235,.68);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid rgba(14,42,36,.12);transform:translateY(0);transition:transform .32s cubic-bezier(.2,.7,.2,1),background .25s,box-shadow .25s;will-change:transform}
header.is-scrolled{background:rgba(246,243,235,.75);box-shadow:0 3px 20px #0e2a2408}
header.is-hidden{transform:translateY(calc(-100% - 2px));pointer-events:none}
header.keyboard-focus:focus-within{transform:translateY(0);pointer-events:auto}
header .site-menu{background:rgba(246,243,235,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:0;box-shadow:0 20px 45px #0e2a241a;max-height:calc(100dvh - 110px);overflow-y:auto}
.service{padding:30px 26px;min-height:280px}.service h3{margin-top:0;margin-bottom:20px}.service p{max-width:410px}.service-action{margin-top:20px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header,header.is-scrolled,header .site-menu{background:var(--cream)}}
@media(max-width:700px){html{scroll-padding-top:94px}.service{padding:26px 16px;min-height:0}.service h3{font-size:2.25rem;margin-bottom:16px}header .site-menu{max-height:calc(100dvh - 94px)}}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Logos below the hero and an uninterrupted architectural image between sections. */
.brand-strip{padding:0;gap:0;height:100px}
.brand-window{padding:0 4.3%}
.project-photo{position:relative;margin:0;height:clamp(380px,45vw,680px);overflow:hidden;background:var(--forest)}
.project-photo img{width:100%;height:100%;object-fit:cover;object-position:center 57%;will-change:transform}
@media(max-width:700px){.brand-strip{height:84px}.brand-window{padding:0 6%}.project-photo{height:390px}.project-photo img{object-position:61% center}.hero-copy{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.project-photo img{transform:none!important}}

/* Quiet glass interactions and a typographic capability band. */
.button{transition:background .65s ease,box-shadow .65s ease}
.button:hover,.button.light:hover{transform:none;box-shadow:none}
.tool-icon{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.button:hover .tool-icon,.button:focus-visible .tool-icon{transform:rotate(-20deg)}
.ritual-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:#d7decd;border-top:1px solid #0e2a241a;border-bottom:1px solid #0e2a241a;padding:36px 6%;text-transform:none;letter-spacing:-.045em;font-size:clamp(1rem,2.2vw,2.25rem);font-weight:500;text-align:left;align-items:center}
.ritual-strip span{display:flex;align-items:center;gap:18px;white-space:nowrap}
.ritual-strip span::before{content:"/";font-size:.8em;font-weight:300;color:#65785e;letter-spacing:0}
.ritual-strip span:first-child::before{display:none}
.audit form h3{margin-bottom:24px}
@media(max-width:1000px){.ritual-strip{padding:30px 5%}.ritual-strip span{gap:12px}}
@media(max-width:700px){.ritual-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;padding:28px 7%;font-size:clamp(1rem,4.5vw,1.4rem)}.ritual-strip span{gap:10px}.ritual-strip span:nth-child(4)::before{display:none}}
@media(prefers-reduced-motion:reduce){.service::before,.button,.button::before{transition:none}}

/* Steam is an original transparent photographic texture, anchored to the stones. */
.sauna-scene .sauna-photo{transform:none;will-change:auto}
.steam-layer{position:absolute;pointer-events:none;left:0;top:0;width:0;height:0;opacity:0;transition:opacity 1s ease}
.sauna-scene.steam-ready .steam-layer{opacity:1}
.sauna-scene .steam-wisp{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transform-origin:50% 100%;animation:steam-rise 11s linear infinite;animation-play-state:paused;will-change:transform,opacity}
.sauna-scene .steam-two{animation-delay:-5.5s}
.sauna-scene.steam-visible:not(.steam-paused) .steam-wisp{animation-play-state:running}
@keyframes steam-rise{0%{opacity:0;transform:translate(0,3%) scale(.75,.78)}20%{opacity:.3}50%{opacity:.24;transform:translate(-2%,-9%) scale(.95,1)}80%{opacity:.1}100%{opacity:0;transform:translate(3%,-24%) scale(1.13,1.16)}}
.steam-toggle{position:absolute;bottom:22px;right:24px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;color:var(--cream);background:#0e2a2440;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .6s ease}
.steam-toggle:hover{background:#0e2a2470}.play-symbol{display:none}.steam-paused .play-symbol{display:block}.steam-paused .pause-symbol{display:none}
@media(prefers-reduced-motion:reduce){.steam-layer,.steam-toggle{display:none}.sauna-scene .steam-wisp{animation:none}}

/* Localised equipment faults, with slow dimming rather than rapid flashes. */
.water-leak{position:absolute;inset:0;pointer-events:none}
.sauna-scene .water-drop{position:absolute;width:8px;height:14px;object-fit:contain;opacity:0;animation:heater-drip 4.8s cubic-bezier(.42,0,.9,.65) infinite;animation-play-state:paused;will-change:transform,opacity}
.sauna-scene .drop-two{animation-delay:-2.1s}
@keyframes heater-drip{0%,18%{opacity:0;transform:translateY(0) scale(.65)}25%{opacity:.72;transform:translateY(0) scale(1)}56%{opacity:.6}68%,100%{opacity:0;transform:translateY(var(--drop-distance,130px)) scale(.9,1.25)}}
.sauna-scene.steam-visible:not(.steam-paused) .water-drop{animation-play-state:running}
.fault-reading{position:absolute;top:30px;right:30px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:20px 24px;color:var(--cream);background:#0e2a2466;border:1px solid #ffffff40;border-radius:6px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.fault-demo-label{font-size:.625rem;letter-spacing:.1em;color:#d9ded0}.fault-reading strong{font-size:3.6rem;letter-spacing:-.055em;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums}.fault-reading strong span{font-size:1.6rem;vertical-align:top;letter-spacing:-.02em;margin-left:4px}.fault-reading-label{font-size:.8125rem;color:#f0c889}
.fault-caption{position:absolute;left:30px;bottom:30px;color:var(--cream);font-size:.8125rem;background:#0e2a2455;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff25;border-radius:4px;padding:10px 14px}.fault-caption span{padding:0 8px;color:#f0c889}
@media(max-width:700px){.fault-reading{top:18px;right:18px;padding:13px 16px;gap:5px}.fault-reading strong{font-size:2.6rem}.fault-reading strong span{font-size:1.2rem}.fault-reading-label{font-size:.75rem}.fault-demo-label{font-size:.625rem;letter-spacing:.05em}.fault-caption{left:18px;bottom:22px;font-size:.75rem;padding:9px 11px}.steam-toggle{right:18px}}
@media(prefers-reduced-motion:reduce){.sauna-scene .water-drop{animation:none;opacity:0}}

/* All lighting circuits fail together, with irregular holds and partial recovery. */
.sauna-scene .sauna-photo{animation:sauna-light-failure 16s linear infinite;animation-play-state:paused;will-change:filter}
.sauna-scene.steam-visible:not(.steam-paused) .sauna-photo{animation-play-state:running}
@keyframes sauna-light-failure{
 0%,17%{filter:brightness(1) saturate(1)}
 21%,29%{filter:brightness(.07) saturate(.4)}
 33%{filter:brightness(.45) saturate(.7)}
 37%{filter:brightness(1) saturate(1)}
 42%,47%{filter:brightness(.09) saturate(.4)}
 52%,66%{filter:brightness(1) saturate(1)}
 70%{filter:brightness(.38) saturate(.65)}
 75%,81%{filter:brightness(.06) saturate(.4)}
 86%,92%{filter:brightness(1) saturate(1)}
 96%{filter:brightness(.48) saturate(.75)}
 100%{filter:brightness(1) saturate(1)}
}
@media(prefers-reduced-motion:reduce){.sauna-scene .sauna-photo{animation:none;filter:none;will-change:auto}}

/* A short ratchet action stays separate from the slow glass rollover. */
.tool-icon{transform-box:fill-box;transform-origin:50% 75%;animation:spanner-arrive 1.4s ease-in-out 1}
.button:hover .tool-icon,.button:focus-visible .tool-icon,.menu-book:hover .tool-icon,.menu-book:focus-visible .tool-icon,.service:hover .tool-icon,.service:focus-visible .tool-icon{animation:spanner-ratchet 1.2s ease-in-out 2;transform:rotate(0)}
@keyframes spanner-arrive{0%,100%{transform:rotate(0)}25%{transform:rotate(-22deg)}45%{transform:rotate(-6deg)}65%{transform:rotate(-22deg)}85%{transform:rotate(-6deg)}}
@keyframes spanner-ratchet{0%,100%{transform:rotate(0)}25%{transform:rotate(-26deg)}45%{transform:rotate(-5deg)}65%{transform:rotate(-26deg)}85%{transform:rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.tool-icon,.button:hover .tool-icon,.button:focus-visible .tool-icon,.menu-book:hover .tool-icon,.menu-book:focus-visible .tool-icon,.service:hover .tool-icon,.service:focus-visible .tool-icon{animation:none;transform:none!important}}
