:root{--navy:#24394a;--ink:#263944;--muted:#45565e;--grey:#e7e9e7;--lime:#b7db45;--line:#b9c5c3}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body{background:var(--grey);color:var(--ink)}
button,input,textarea{font:inherit}button{cursor:pointer}
.landing{position:relative;isolation:isolate;height:100svh;min-height:540px;overflow:hidden;background:#d9deda}
.hero-photo,.hero-wash,.grain{position:absolute;inset:0;pointer-events:none}
.hero-photo{z-index:-3;background:url('hero-building.png') 70% center/cover no-repeat;filter:saturate(.40) contrast(.94) brightness(1.04)}
.hero-wash{z-index:-2;background:linear-gradient(90deg,rgba(238,240,238,.99) 0%,rgba(237,239,238,.99) 31%,rgba(231,235,234,.97) 44%,rgba(222,229,229,.88) 53%,rgba(214,225,229,.35) 65%,rgba(31,50,62,.02) 78%)}
.grain{z-index:5;opacity:.09;mix-blend-mode:multiply;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}
.site-header{position:absolute;z-index:7;top:0;left:0;padding:clamp(18px,3vh,32px) clamp(26px,4.2vw,74px)}
.brand{display:flex;flex-direction:column;gap:7px;color:var(--navy);text-decoration:none;white-space:nowrap}
.brand-name{font-size:clamp(22px,2vw,29px);line-height:1;letter-spacing:.15em}.brand-light{font-weight:300}.brand-work{font-weight:500;letter-spacing:.11em}
.brand-tagline{font-size:clamp(9px,.7vw,11px);letter-spacing:.15em;color:#638a40;font-weight:700}
.hero-content{position:absolute;z-index:2;left:clamp(26px,4.2vw,74px);top:clamp(105px,15vh,155px);bottom:clamp(24px,4vh,48px);width:min(650px,calc(58vw - 4.2vw - 14px));display:flex;flex-direction:column;justify-content:center;gap:clamp(8px,1.25vh,14px)}
.eyebrow-line{display:none}
h1{margin:0 0 clamp(2px,.8vh,9px);color:#203747;font-size:clamp(32px,min(3.4vw,5.4vh),56px);font-weight:500;letter-spacing:-.045em;line-height:1.07}
.hero-content p{margin:0;color:#304650;font-size:clamp(14px,min(1.14vw,2vh),17px);line-height:1.43;max-width:610px}
.hero-content .audience{border-left:2px solid #749687;padding-left:13px;font-weight:650;color:#233c46}
.approach{padding-top:clamp(5px,.9vh,11px);border-top:1px solid rgba(116,141,144,.34)}
.hero-content h2{margin:0 0 clamp(3px,.5vh,7px);font-size:clamp(15px,min(1.28vw,2.25vh),20px);font-weight:650;line-height:1.25;letter-spacing:-.015em;color:#263d48}
.contact-copy h2{margin-bottom:clamp(3px,.5vh,7px)}
.mail-button{position:absolute;z-index:8;top:auto;bottom:clamp(120px,17vh,180px);right:clamp(26px,4.2vw,74px);display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:172px;padding:18px 27px;border:1px solid rgba(234,243,239,.9);border-radius:999px;background:rgba(35,57,67,.9);color:#f8fbfa;font-size:16px;font-weight:700;box-shadow:0 0 0 2px rgba(183,219,69,.32);transition:background .2s,transform .2s}
.mail-button svg{width:20px;height:20px;stroke:var(--lime)}.mail-button:hover{background:#172e3b;border-color:var(--lime);box-shadow:0 0 0 3px rgba(183,219,69,.32);transform:translateY(-2px)}
button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.hero-signature{position:absolute;z-index:2;right:clamp(26px,4.2vw,74px);bottom:clamp(23px,5vh,54px);display:flex;flex-direction:column;gap:6px;text-align:right;white-space:nowrap;letter-spacing:.14em;font-size:clamp(10px,.9vw,13px);padding:11px 14px;border-radius:3px;background:rgba(19,39,47,.52);backdrop-filter:blur(3px)}
.hero-signature span,.hero-signature strong{color:var(--lime);text-shadow:0 1px 5px rgba(8,25,32,.5)}.hero-signature strong{font-weight:800;letter-spacing:.1em}
.contact-dialog{width:min(92vw,520px);max-height:90vh;overflow:auto;margin:auto;padding:32px;border:1px solid #d5dfe0;border-radius:9px;background:#eef1ef;color:var(--navy);box-shadow:0 25px 90px #071b3060}
.contact-dialog::backdrop{background:rgba(8,26,35,.66);backdrop-filter:blur(4px)}
.contact-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-kicker{font-size:11px;font-weight:700;letter-spacing:.2em;color:#638575}.contact-dialog h2{font-size:29px;letter-spacing:-.03em;line-height:1.15;margin:12px 0 0}.contact-close{border:0;background:transparent;color:var(--navy);font-size:31px;line-height:1}.contact-dialog>p{font-size:14px;line-height:1.6;color:var(--muted);margin:15px 0 24px}
#contact-form{display:flex;flex-direction:column;gap:9px}#contact-form label{font-size:12px;font-weight:700;color:var(--navy)}#contact-form input,#contact-form textarea{width:100%;padding:12px;border:1px solid #bdc9c8;border-radius:3px;background:white;color:var(--navy);margin-bottom:7px}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid #79a48c;outline-offset:1px}.contact-submit{margin-top:9px;border:0;border-radius:999px;padding:15px 24px;background:var(--navy);color:white;font-weight:700}.contact-submit span{margin-left:15px;color:var(--lime)}#contact-status{font-size:13px;line-height:1.5;color:var(--navy)}.contact-dialog .email-fallback{margin:12px 0 0;font-size:13px}.email-fallback a{color:#28566a}
@media(max-height:800px) and (min-width:801px){.hero-content{top:95px;bottom:18px;gap:clamp(5px,.85vh,9px)}h1{font-size:clamp(30px,min(3vw,5.3vh),47px);margin-bottom:2px}.hero-content p{font-size:clamp(13px,min(1.05vw,1.9vh),15px);line-height:1.34}.hero-content h2{font-size:clamp(14px,min(1.2vw,2.2vh),18px)}.approach{padding-top:5px}}
@media(max-height:650px) and (min-width:801px){.hero-content{top:76px;bottom:12px;gap:4px}.site-header{padding-top:12px}.brand-name{font-size:21px}.brand-tagline{font-size:8px}h1{font-size:clamp(27px,5vh,35px)}.hero-content p{font-size:12px;line-height:1.25}.hero-content h2{font-size:13px}.eyebrow-line{display:none}.mail-button{top:auto;bottom:clamp(110px,18vh,160px)}}
@media(max-width:1000px) and (min-width:801px){.hero-content{width:54vw}.hero-content p{font-size:13.5px}.hero-content h2{font-size:15px}.hero-wash{background:linear-gradient(90deg,rgba(238,240,238,.99) 0%,rgba(237,239,238,.99) 33%,rgba(231,235,234,.97) 49%,rgba(222,229,229,.8) 59%,rgba(31,50,62,.03) 82%)}}
@media(max-width:800px){.landing{height:auto;min-height:100svh;overflow:hidden}.site-header{position:relative;padding:25px 22px 0}.brand-name{font-size:20px;letter-spacing:.08em}.brand-work{letter-spacing:.07em}.brand-tagline{font-size:7px;letter-spacing:.09em}.mail-button{top:24px;bottom:auto;right:22px;min-width:0;padding:11px 13px;gap:8px;font-size:12px;box-shadow:0 0 0 2px rgba(183,219,69,.32)}.mail-button svg{width:15px;height:15px}.hero-photo{background-position:61% center}.hero-wash{background:linear-gradient(180deg,rgba(237,240,239,.98),rgba(235,239,239,.96) 64%,rgba(225,233,233,.8) 85%,rgba(225,233,233,.45))}.hero-content{position:relative;top:auto;bottom:auto;left:auto;width:auto;max-width:590px;margin:0 22px;padding:clamp(65px,9vh,100px) 0 120px;gap:15px}.eyebrow-line{display:block}h1{font-size:clamp(36px,8vw,53px)}.hero-content p{font-size:15px;line-height:1.55}.hero-content h2{font-size:19px}.hero-signature{right:22px;bottom:19px;font-size:9px;padding:9px 11px}.contact-dialog{padding:23px}}
@media(max-width:410px){.brand-name{font-size:17px}.brand-tagline{font-size:6px;letter-spacing:.03em}.mail-button{font-size:11px;padding:10px}.hero-content{padding-top:75px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}


/* FINAL — exact approved dual-button layout */
.hero-content{gap:clamp(6px,.85vh,10px)}
.hero-content p{font-size:clamp(15px,min(1.2vw,2.1vh),18px);line-height:1.39}
.hero-content h2{font-weight:600}
.contact-copy{display:flex;flex-direction:column;align-items:flex-start}
.discuss-button{display:inline-flex;align-items:center;justify-content:center;gap:19px;margin-top:clamp(8px,1.2vh,13px);padding:13px 22px;border:0;border-radius:999px;background:#243e4a;color:white;font-size:14px;font-weight:650;transition:background .2s,transform .2s}
.discuss-button svg{width:19px;height:19px;stroke:var(--lime)}
.discuss-button:hover{background:#142e3b;transform:translateY(-2px)}
.mail-button{position:absolute;top:clamp(130px,19vh,190px);bottom:auto;right:clamp(26px,4.2vw,74px);min-width:174px;padding:17px 27px}
.hero-signature{right:clamp(26px,4.2vw,74px);background:none;backdrop-filter:none;padding:0;border:0;border-radius:0;gap:4px}
.hero-signature span{font-weight:350;letter-spacing:.16em}
.hero-signature strong{font-weight:650;letter-spacing:.11em}
.hero-signature span,.hero-signature strong{text-shadow:0 1px 5px rgba(8,25,32,.95),0 2px 13px rgba(8,25,32,.85)}
@media(max-height:800px) and (min-width:801px){.hero-content{gap:clamp(4px,.6vh,7px)}.hero-content p{font-size:clamp(13.5px,min(1.13vw,1.9vh),16px);line-height:1.32}.discuss-button{padding:10px 18px;margin-top:6px}}
@media(max-height:650px) and (min-width:801px){.hero-content{gap:3px}.hero-content p{font-size:12.5px;line-height:1.25}.discuss-button{padding:8px 15px;margin-top:4px;font-size:12px}.mail-button{top:clamp(100px,20vh,145px)}}
@media(max-width:800px){.mail-button{top:24px;bottom:auto;right:22px;min-width:0;padding:11px 13px;font-size:12px}.hero-content{gap:14px}.hero-content p{font-size:15.5px;line-height:1.5}.discuss-button{margin-top:12px;padding:13px 20px}}
