:root{--ink:#171827;--ink-2:#222337;--paper:#f5f3ef;--white:#fff;--lav:#9b8be4;--lav-light:#d9d2fa;--muted:#777785;--line:rgba(23,24,39,.16);--serif:Georgia,"Times New Roman",serif;--sans:Inter,"Avenir Next","Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:96px;padding:0 clamp(1.5rem,5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand,.footer-brand{display:flex;align-items:center;gap:.7rem}.brand-mark{width:64px;height:58px;position:relative;display:block;overflow:hidden;flex:0 0 auto}.brand-mark img{position:absolute;display:block;width:88px;height:auto;left:-10px;top:-8px}.brand-name{font-family:var(--serif);font-size:1.25rem;line-height:1.05}.brand-name small{display:block;font-family:var(--sans);font-size:.48rem;letter-spacing:.32em;text-transform:uppercase;margin-top:.35rem;color:#c9c7d0}.site-header nav{display:flex;align-items:center;gap:2.2rem;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}.site-header nav a:not(.nav-cta){padding:.5rem 0}.site-header nav a:not(.nav-cta):hover{color:var(--lav-light)}.nav-cta{border:1px solid rgba(255,255,255,.4);padding:.75rem 1rem}.nav-cta span,.button span{margin-left:1rem}.menu-toggle{display:none;background:none;border:0;color:white;width:42px;height:42px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:currentColor;margin:6px}
.hero{min-height:850px;background:var(--ink);color:white;padding:190px clamp(1.5rem,8vw,9rem) 105px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);gap:5vw;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.045) 50%,transparent 50.1%);background-size:22% 100%;pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;font-weight:700;color:var(--lav);margin:0 0 1.6rem;display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(4rem,6.4vw,7.4rem);max-width:820px}.hero h1 em,.section h2 em,.contact h2 em{font-weight:400;color:var(--lav);text-decoration:none}.hero-intro{font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.75;color:#c9c9d0;max-width:650px;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.7rem}.button{display:inline-flex;align-items:center;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;padding:1.15rem 1.4rem}.button-primary{background:var(--lav);color:var(--ink)}.button-primary:hover{background:var(--lav-light)}.text-link{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;border-bottom:1px solid rgba(255,255,255,.3);padding:.8rem 0}.text-link span{margin-left:.7rem;color:var(--lav)}.hero-visual{position:relative;min-height:520px;align-self:center}.hero-monogram{position:absolute;width:min(100%,620px);height:auto;left:50%;top:50%;transform:translate(-50%,-50%);display:block}.visual-card{position:absolute;background:rgba(34,35,55,.94);border:1px solid rgba(255,255,255,.12);padding:.8rem 1.2rem;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;box-shadow:0 20px 60px rgba(0,0,0,.3)}.visual-card span{color:var(--lav);margin-right:.8rem}.card-one{top:9%;right:-4%}.card-two{top:51%;left:-3%}.card-three{bottom:7%;right:10%}.hero-note{position:absolute;right:clamp(1.5rem,5vw,5.5rem);bottom:2.5rem;text-align:right;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;line-height:1.7;color:#9f9eaa}
.signal-strip{background:var(--lav);padding:1.2rem clamp(1.5rem,6vw,7rem);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:700}.signal-strip p{margin:0}.signal-strip ul{list-style:none;display:flex;gap:3rem;margin:0}.signal-strip li:before{content:"◆";font-size:.45rem;margin-right:1rem}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,9rem)}.section-heading{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:4vw;align-items:start;margin-bottom:5rem}.section-heading .eyebrow{margin-top:.7rem}.section h2{font-size:clamp(3rem,4.5vw,5rem)}.section-heading>p:last-child{color:#62616b;line-height:1.8;margin:1rem 0}.service{display:grid;grid-template-columns:90px 1fr 220px;gap:3vw;border-top:1px solid var(--line);padding:2.8rem 0;min-height:260px}.service:last-child{border-bottom:1px solid var(--line)}.service-number{font-family:var(--serif);color:var(--lav);font-size:1.1rem}.service-copy{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.service-copy h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0;grid-column:1/-1}.service-copy p{margin:0;color:#62616b;max-width:540px}.service-copy ul{margin:0;padding:0;list-style:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.service-copy li{border-top:1px solid var(--line);padding:.5rem 0}.service-icon{position:relative;width:150px;height:150px;justify-self:end}.service-icon i{position:absolute;width:66px;height:66px;border:1px solid var(--lav);left:25px;top:24px;transform:rotate(20deg)}.service-icon i:nth-child(2){left:50px;top:45px;border-color:var(--ink);transform:rotate(-8deg)}.service-icon i:nth-child(3){left:15px;top:61px;border-color:#aaa5c4;transform:rotate(40deg)}.service-icon.rings i{border-radius:50%;transform:none;left:18px}.service-icon.rings i:nth-child(2){left:50px}.service-icon.rings i:nth-child(3){left:35px;top:54px}.service-icon.arrow i{height:1px;width:110px;top:72px;left:18px;transform:rotate(-20deg);background:var(--lav)}.service-icon.arrow i:nth-child(2),.service-icon.arrow i:nth-child(3){width:45px;left:84px}.service-icon.arrow i:nth-child(2){top:52px;transform:rotate(25deg)}.service-icon.arrow i:nth-child(3){top:83px;transform:rotate(-65deg)}
.approach{background:#e7e2f2;display:grid;grid-template-columns:1fr 1.1fr;gap:10vw}.approach-intro>p:last-child{max-width:520px;color:#5f5b68;font-size:1.05rem}.approach-steps{list-style:none;margin:0;padding:0}.approach-steps li{border-top:1px solid rgba(23,24,39,.2);padding:1.8rem 0;display:grid;grid-template-columns:70px 1fr;gap:1rem}.approach-steps li:last-child{border-bottom:1px solid rgba(23,24,39,.2)}.approach-steps li>span{font-family:var(--serif);color:#675db0}.approach-steps h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:0 0 .35rem}.approach-steps p{margin:0;color:#615f69;font-size:.92rem}
.perspective{display:block;text-align:center}.perspective-copy{max-width:920px;margin:0 auto}.perspective-copy .eyebrow{justify-content:center}.perspective-copy>p:not(.eyebrow){color:#5f5e68;line-height:1.8;max-width:760px;margin-left:auto;margin-right:auto}.principles{margin-top:2.8rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:left}.principles span{min-height:132px;padding:1.35rem;background:#eeeaf7;border-top:2px solid var(--lav);display:flex;flex-direction:column;justify-content:space-between}.principles b{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--ink)}.principles small{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#6e6978}
.contact{background:var(--ink);color:white;padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact h2{font-size:clamp(3.2rem,5vw,5.5rem)}.contact-copy>p:last-child{color:#b9b8c1;max-width:500px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-content:start}.contact-form label{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;color:#a9a7b1}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.28);color:white;padding:.7rem 0;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lav)}.button-light{background:white;color:var(--ink);justify-self:start;margin-top:1rem}.button-light:hover{background:var(--lav-light)}.form-status{font-size:.82rem;color:var(--lav-light);align-self:center;margin:1rem 0 0}
footer{background:#10111c;color:white;padding:3.5rem clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:4rem;align-items:start;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#a8a7b0}footer .footer-brand p{font-family:var(--serif);font-size:1.2rem;line-height:1;margin:0;color:white}footer .footer-brand small{font-family:var(--sans);font-size:.5rem;letter-spacing:.22em;text-transform:uppercase}footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:.4rem;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;margin:1rem 0 0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

/* Project Delivery: overlapping triangular forms */
.service-icon.arrow svg{display:block;width:150px;height:150px;overflow:visible}
.service-icon.arrow polygon{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}
.service-icon.arrow .triangle-lavender{stroke:var(--lav)}
.service-icon.arrow .triangle-navy{stroke:var(--ink)}
.service-icon.arrow .triangle-soft{stroke:#aaa5c4}
.service-icon.compare i{width:72px;height:52px;left:10px;top:28px;transform:none}
.service-icon.compare i:nth-child(2){left:58px;top:51px;transform:none}
.service-icon.compare i:nth-child(3){left:32px;top:78px;transform:none}
.perspective-art:before{content:none!important;display:none!important;border:0!important}
.service-icon.arrow i{width:0;height:0;left:24px;top:28px;border:0;border-left:42px solid transparent;border-right:42px solid transparent;border-bottom:72px solid var(--lav);background:none;transform:rotate(-8deg)}
.service-icon.arrow i:after{content:"";position:absolute;width:0;height:0;left:-35px;top:8px;border-left:35px solid transparent;border-right:35px solid transparent;border-bottom:60px solid var(--paper)}
.service-icon.arrow i:nth-child(2){width:0;left:55px;top:43px;border-left:42px solid transparent;border-right:42px solid transparent;border-bottom:72px solid var(--ink);transform:rotate(18deg)}
.service-icon.arrow i:nth-child(3){width:0;left:15px;top:64px;border-left:42px solid transparent;border-right:42px solid transparent;border-bottom:72px solid #aaa5c4;transform:rotate(-28deg)}
@media (max-width:900px){.site-header{height:78px}.menu-toggle{display:block}.site-header nav{position:absolute;left:0;right:0;top:78px;background:var(--ink);flex-direction:column;align-items:stretch;padding:1.5rem;display:none}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:150px;min-height:auto}.hero-visual{min-height:420px}.hero-note{display:none}.section-heading{grid-template-columns:1fr}.section-heading h2{grid-row:2}.service{grid-template-columns:60px 1fr}.service-icon{display:none}.approach,.perspective,.contact{grid-template-columns:1fr}.perspective-art{height:450px}.contact{gap:4rem}}
@media (max-width:600px){.brand-name{font-size:1rem}.hero{padding-bottom:70px}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.7rem}.hero-visual{min-height:330px}.signal-strip{display:none}.section{padding-top:5rem;padding-bottom:5rem}.section-heading{margin-bottom:3rem}.service{grid-template-columns:38px 1fr;gap:.4rem}.service-copy{grid-template-columns:1fr}.service-copy h3{font-size:1.65rem}.approach{gap:4rem}.perspective-art{height:360px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}footer{grid-template-columns:1fr;gap:2rem}.copyright{grid-column:auto}}
@media (max-width:600px){.principles{grid-template-columns:1fr}.principles span{min-height:100px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
