/* Water Garden identity — typography, rules and the approved LH mark. */
:root{--cypress:#263f35;--lily:#eeece3;--willow:#a7b29b;--iris:#b8a8be;--ochre:#b79a61;--rule:rgba(38,63,53,.23);--serif:'Times New Roman',Times,serif;--sans:Arial,Helvetica,sans-serif;--body-size:14px;--gutter:5.5vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:var(--lily);color:var(--cypress);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--cypress);color:var(--lily)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;border-radius:0;cursor:pointer;background:none}button:disabled{cursor:default}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ochre);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}
.skip-link{position:fixed;top:-80px;left:20px;z-index:200;background:var(--cypress);color:var(--lily);padding:14px}.skip-link:focus{top:20px}
.site-header{height:108px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:20}.site-header:after{content:'';position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--rule)}
.brand{display:flex;gap:17px;align-items:center}.lh-mark{display:block;width:70px;height:39px;overflow:visible}.brand>span{font-family:var(--serif);font-size:16px;line-height:1.2;letter-spacing:.025em}.brand-sub{font-family:var(--sans);font-size:9px;letter-spacing:.23em}.desktop-nav{display:flex;gap:34px;margin-left:auto;margin-right:6%;font-size:12px}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.desktop-nav a:hover:after{width:100%}.header-contact{font-size:12px;border-bottom:1px solid var(--cypress);padding:10px 0}.header-contact span{margin-left:27px;font-size:17px}.menu-toggle,.mobile-menu{display:none}
.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;line-height:1.7}.hero{min-height:710px;height:100svh;max-height:1080px;padding:155px var(--gutter) 32px;display:flex;flex-direction:column;position:relative;overflow:hidden}.hero-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 28%;align-items:center;gap:7%;padding:45px 0 58px}.hero-copy{padding-bottom:15px}h1{font-size:clamp(70px,8.2vw,130px);letter-spacing:-.055em;line-height:.92}/* Extend the reveal mask around italic overhangs and descenders; matched margins preserve alignment. */
.line{display:block;overflow:hidden;padding:.07em .12em .22em .16em;margin:-.07em -.12em -.16em -.16em}.line>span{display:block;animation:headline-in 1.2s cubic-bezier(.16,1,.3,1) both}.line:nth-child(2)>span{animation-delay:.15s}h1 em{font-size:.94em}.hero-note{padding-top:25px;align-self:center}.note-rule{display:block;width:45px;height:2px;background:var(--ochre);margin-bottom:28px}.hero-description{font-family:var(--serif);font-size:clamp(23px,2.15vw,32px);line-height:1.25;letter-spacing:-.02em}.hero-detail{font-size:var(--body-size);line-height:1.85;color:#58665d;margin-top:22px;max-width:310px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;border-bottom:1px solid var(--cypress);padding:15px 0;margin-top:20px;min-width:190px}.text-link span{font-size:19px;transition:transform .3s}.text-link:hover span{transform:translateY(3px)}
.section-pad{padding:112px var(--gutter)}.section-index{display:flex;align-items:center;gap:28px;font-size:10px;letter-spacing:.16em;margin-bottom:66px}.index-rule{flex:1;height:1px;background:var(--rule)}h2{font-size:clamp(42px,4.7vw,76px);line-height:1.06;letter-spacing:-.04em}
.approach{background:var(--cypress);color:var(--lily)}.approach .index-rule,.contact .index-rule{background:rgba(238,236,227,.25)}.contact{background:var(--cypress);color:var(--lily);padding-bottom:28px}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10%}.contact h2{font-size:clamp(48px,5.7vw,90px)}.contact-details{padding-top:8px}.contact-details .eyebrow{color:var(--willow);margin-bottom:25px;font-size:10px}.contact address{font-style:normal;font-family:var(--serif);font-size:29px;line-height:1.3}.contact-actions{display:flex;flex-wrap:wrap;gap:26px;margin-top:25px;font-size:11px}.contact-actions a,.contact-actions button{border-bottom:1px solid #798a79;padding:8px 0}.contact-actions span{margin-left:15px}.copy-status{font-size:10px;display:block;min-height:18px;margin-top:14px;color:var(--willow)}footer{border-top:1px solid rgba(238,236,227,.22);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#bdc8b9}footer button{font-size:9px;padding:0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.1,1)}.reveal.visible{opacity:1;transform:none}.entrance{animation:fade-up 1.2s both}.e1{animation-delay:.12s}.e3{animation-delay:.3s}.e4{animation-delay:.5s}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes headline-in{from{transform:translateY(110%)}to{transform:none}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-paused .reveal{opacity:1;transform:none}
@media(min-width:1700px){:root{--gutter:max(6vw,calc((100vw - 1560px)/2))}.hero-main{grid-template-columns:minmax(0,1fr) 29%;gap:10%}}
@media(max-width:1000px){:root{--gutter:5vw}.site-header{height:96px}.desktop-nav{gap:24px;margin-right:5%}.hero{min-height:670px;padding-top:140px}.hero-main{grid-template-columns:1fr 31%;gap:6%}h1{font-size:8.2vw}.hero-description{font-size:25px}.hero-detail{font-size:var(--body-size)}.section-pad{padding-top:85px;padding-bottom:85px}.contact{padding-bottom:28px}.contact h2{font-size:58px}footer{flex-wrap:wrap}}
@media(max-width:680px){:root{--gutter:6vw;--body-size:13px}.site-header{height:86px}.brand{gap:11px}.brand .lh-mark{width:55px;height:31px}.brand>span{font-size:13px}.brand-sub{font-size:8px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;align-items:center;gap:13px;font-size:11px;padding:12px 0}.menu-toggle span{font-size:18px}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:86px;left:0;right:0;padding:24px var(--gutter) 34px;gap:24px;background:var(--lily);color:var(--cypress);border-bottom:1px solid var(--rule);z-index:15;font-family:var(--serif);font-size:27px}.hero{height:auto;min-height:100svh;max-height:none;padding-top:121px;padding-bottom:23px}.hero-main{display:block;padding:48px 0 40px}.hero-copy{padding:0}h1{font-size:clamp(46px,12.4vw,78px);line-height:.96}.hero-note{margin-top:33px;padding:0;max-width:360px}.note-rule{width:30px;height:1px;margin-bottom:20px}.hero-description{font-size:26px;max-width:310px}.hero-detail{font-size:var(--body-size);line-height:1.85;margin-top:14px;max-width:330px}.text-link{font-size:11px;min-width:180px;margin-top:10px;padding:13px 0}.section-pad{padding:66px var(--gutter)}.section-index{font-size:8px;margin-bottom:38px;gap:20px}h2{font-size:43px}.contact{padding-bottom:26px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact h2{font-size:45px}.contact address{font-size:26px}.contact-details .eyebrow{font-size:9px;margin-bottom:16px}.contact-actions{font-size:10px}footer{flex-wrap:wrap;font-size:8px;row-gap:20px}footer>span{width:100%}footer button,footer a{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* The strategy expresses decision principles without publishing portfolio details. */
.strategy-intro{margin-bottom:55px}.strategy-principles{border-top:1px solid #eeece340}.strategy-principle{display:grid;grid-template-columns:8% 42% 1fr;gap:0;padding:43px 0 45px;border-bottom:1px solid #eeece340}.principle-number{font-family:var(--serif);font-size:23px;color:var(--ochre);padding-top:5px}.strategy-principle h3{font-size:clamp(32px,3vw,46px);line-height:1.08;letter-spacing:-.025em}.strategy-principle>div{max-width:455px;padding-top:3px}.strategy-principle p{font-size:var(--body-size);line-height:1.85;color:#d3d8ce}
@media(max-width:1000px){.strategy-principle{grid-template-columns:8% 38% 1fr}.strategy-principle h3{font-size:34px}}
@media(max-width:680px){.strategy-intro{margin-bottom:37px}.strategy-principle{grid-template-columns:12% 1fr;padding:29px 0 32px;row-gap:20px}.strategy-principle h3{font-size:32px}.strategy-principle h3 br{display:none}.strategy-principle>div{grid-column:2;padding:0}.strategy-principle p{font-size:var(--body-size)}.principle-number{font-size:20px}}

/* A single LH mark carries the visitor from the opening into the header. */
.intro{display:none;position:fixed;inset:0;z-index:150;isolation:isolate}.intro-running .intro{display:block}.intro-running body{overflow:hidden}.intro-curtain{position:absolute;inset:0;background:var(--cypress)}.intro-mark{position:absolute;left:0;top:0;width:70px;height:39px;transform-origin:0 0;color:var(--lily);overflow:visible;will-change:transform}.intro-mark .logo-part{transform-box:fill-box;transform-origin:bottom;animation:intro-logo 1050ms cubic-bezier(.2,.8,.2,1) both}.intro-mark .p1{animation-delay:130ms}.intro-mark .p2{animation-delay:350ms}#skip-intro{position:absolute;right:5%;bottom:32px;color:var(--lily);font-size:10px;padding:10px 0;border-bottom:1px solid currentColor}#skip-intro span{margin-left:18px}.intro-running .brand .lh-mark{visibility:hidden}.brand .logo-part{animation:none}.intro-running .hero .line>span,.intro-running .hero .entrance,.intro-running .hero-copy:before{animation:none;opacity:0}.intro-running .hero .line>span{transform:translateY(110%)}@keyframes intro-logo{from{clip-path:inset(100% 0 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}

.contact{background:var(--lily);color:var(--cypress);padding-top:90px;padding-bottom:28px}.contact .index-rule{background:var(--rule)}.contact h2{font-size:clamp(46px,5.7vw,82px)}.contact-details .eyebrow{color:#536159}.contact-actions a,.contact-actions button{border-color:var(--rule)}.copy-status{color:#536159}.contact footer{margin-top:90px;border-color:var(--rule);color:#536159;align-items:end}.legal-details{display:flex;flex-direction:column;gap:9px;font-size:9px;line-height:1.5}.legal-details>span:last-child{font-size:8px}
@media(max-width:680px){.hero{min-height:680px;height:88svh;padding-bottom:35px}.hero-main{padding-bottom:25px}.hero-note{margin-top:36px}.contact{padding-top:65px;padding-bottom:27px}.contact h2{font-size:44px}.contact footer{margin-top:60px}.legal-details{width:100%}.intro-mark{width:55px;height:31px}#skip-intro{right:6%;bottom:26px}}
@media(prefers-reduced-motion:reduce){.intro{display:none!important}}

.contact-email{display:inline-flex;align-items:center;gap:14px;max-width:100%;font-size:var(--body-size);line-height:1.85;border-bottom:1px solid var(--rule);padding-bottom:7px;margin-bottom:24px}.contact-email span{font-size:17px}
