@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#0b0d0a;--dark:#080a07;--dark2:#121711;--green:#8bcf60;--line:#30382f;--paper:#f2f2ec;--white:#f9faf6;--muted:#b7beb1;--body:#454b43}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:#fff;color:#000;padding:.75rem 1rem}.skip-link:focus{top:1rem}.wrap{width:min(100% - 64px,1400px);margin-inline:auto}.section-pad{padding:clamp(88px,11vw,172px) 0}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff}.header-inner{height:105px;display:flex;align-items:center;gap:3vw;border-bottom:1px solid rgba(255,255,255,.17)}.wordmark{display:inline-flex;flex-direction:column;line-height:1.15;letter-spacing:-.045em;white-space:nowrap}.wordmark span{font-size:clamp(20px,1.8vw,27px);font-weight:400}.wordmark small{font-size:9px;letter-spacing:.025em;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,2.8vw,46px);margin-left:auto}.desktop-nav a,.header-cta,.footer-links a{font-size:12px;font-weight:600;letter-spacing:.045em}.desktop-nav a:hover,.footer-links a:hover{color:var(--green)}.header-cta{border:1px solid rgba(255,255,255,.55);padding:12px 16px;margin-left:1vw}.header-cta span{margin-left:15px}.header-cta:hover{background:#fff;color:#000}.menu-toggle,.mobile-nav{display:none}.hero{background:var(--dark);color:#fff;min-height:790px;position:relative;overflow:hidden;padding-top:105px}.hero-glow{position:absolute;inset:auto auto -480px 34%;width:920px;height:920px;border-radius:50%;background:radial-gradient(circle,rgba(62,130,22,.56) 0%,rgba(38,90,13,.27) 31%,transparent 65%);filter:blur(18px);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(210px,.6fr);min-height:620px}.hero-content{padding:clamp(95px,10vw,155px) 0 90px;max-width:990px}.eyebrow,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:600}.eyebrow{display:flex;align-items:center;gap:16px;color:#d9dfd5}.eyebrow-line{display:block;width:32px;height:1px;background:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.067em;line-height:1.05}h1{font-size:clamp(60px,6.8vw,108px);max-width:1050px;margin:38px 0 47px}h1 em,h2 em{font-style:normal;color:var(--green)}.hero-bottom{display:flex;align-items:flex-end;gap:60px}.hero-bottom p{max-width:355px;color:#d2d7cf;font-size:17px;line-height:1.65;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 19px;min-height:55px;font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-light{background:#f6f8f1;color:#0b0e09}.button-light:hover{background:var(--green)}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid;padding-bottom:6px;font-size:13px;font-weight:600;white-space:nowrap}.light-link{color:#fff;border-color:rgba(255,255,255,.55)}.text-link:hover{color:var(--green)}.hero-aside{position:relative;min-width:0;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid rgba(172,224,133,.32);border-radius:50%;width:min(28vw,380px);aspect-ratio:1}.orbit-two{transform:rotate(58deg) scaleX(.62);border-color:rgba(238,255,228,.23)}.orbit-label{position:relative;font-size:clamp(28px,3vw,46px);letter-spacing:-.1em;font-weight:400;color:#d6edca}.aside-caption{position:absolute;bottom:55px;right:0;text-align:right;font-size:12px;color:#abb4a7;line-height:1.7}.hero-index{position:relative;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.17);padding:19px 0 27px;color:#b6bfb0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-index span:last-child span{color:var(--green);padding-left:12px}.section-label{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.label-rule{display:block;width:55px;height:1px;background:#7b8774}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 2.1fr;gap:50px}.intro-copy h2{font-size:clamp(44px,5.2vw,78px);max-width:900px}.intro-copy h2 em,.work h2 em,.services h2 em,.process h2 em{color:#56872f}.intro-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:840px;margin-top:55px}.intro-detail p{color:var(--body);line-height:1.8}.work{background:#e9ebe4}.work-head{display:grid;grid-template-columns:1.5fr .65fr;gap:60px;align-items:end;margin-bottom:78px}.work h2,.services h2,.process h2{font-size:clamp(44px,5vw,76px);margin:25px 0 0}.work-head>p{max-width:340px;margin-bottom:7px;color:var(--body);line-height:1.8}.kicker{margin:0}.project-list{display:flex;flex-direction:column;gap:100px}.project{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(30px,5vw,90px);align-items:center}.project-hartwell{grid-template-columns:.65fr 1.35fr}.project-images{position:relative;min-width:0}.project-main-image{aspect-ratio:1.42;overflow:hidden;background:#d5d9d2}.project-main-image img{height:100%;object-fit:cover;transition:transform .8s ease}.project:hover .project-main-image img{transform:scale(1.035)}.project-vale .project-main-image{aspect-ratio:1.42}.project-hartwell .project-main-image{aspect-ratio:1.35}.project-hartwell .project-main-image img{object-position:45% center}.project-asterline .project-main-image{aspect-ratio:1.42}.project-asterline .project-main-image img{object-position:60% center}.project-type-overlay{position:absolute;left:30px;bottom:30px;color:#fff;font-size:clamp(32px,4vw,62px);line-height:1;letter-spacing:-.08em;text-shadow:0 2px 20px #15171550}.project-type-overlay span{display:block;font-size:11px;letter-spacing:.3em;margin-top:9px;font-weight:600}.hartwell-type{font-family:Georgia,serif;letter-spacing:-.06em}.project-info{align-self:center}.project-meta{display:flex;gap:15px;justify-content:space-between;border-top:1px solid #aab0a6;padding-top:15px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#53604f}.project-info h3{font-size:clamp(38px,3.4vw,56px);font-weight:400;letter-spacing:-.07em;line-height:1.1;margin:35px 0 21px}.project-info p{max-width:410px;color:#4b534a;line-height:1.8}.project-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.project-tags span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #9ba79a;padding:9px 11px}.asterline-images .project-inset-image{position:absolute;right:-20px;bottom:-55px;width:31%;box-shadow:0 20px 50px #10170b2d;transform:rotate(3deg)}.asterline-images .project-inset-image img{aspect-ratio:1;object-fit:cover}.work-note{font-size:12px;color:#6c7569;margin:100px 0 0;border-top:1px solid #b8beb4;padding-top:16px}.statement{background:#111811;color:#fff;padding:115px 0}.statement-grid{display:grid;grid-template-columns:.4fr 1.4fr .7fr;gap:45px;align-items:start}.statement .kicker{color:#9ed376}.statement h2{font-size:clamp(43px,4vw,67px);margin:0}.statement p:last-child{color:#bec7b9;line-height:1.85;max-width:270px;margin:5px 0}.services{background:#f5f5f0}.services-heading{max-width:850px;margin-bottom:85px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a6afa3}.service{display:grid;grid-template-columns:60px 1fr;gap:28px;padding:38px 45px 60px 0;border-bottom:1px solid #a6afa3}.service+.service{border-left:1px solid #a6afa3;padding-left:45px}.service-number{font-size:12px;color:#4b693c}.service h3{font-weight:400;letter-spacing:-.055em;font-size:clamp(32px,3vw,47px);line-height:1.15;margin-bottom:24px}.service p{color:var(--body);max-width:480px;line-height:1.8}.service ul{padding:0;margin:34px 0 0;list-style:none}.service li{border-top:1px solid #d5dbd1;padding:11px 0;font-size:13px;color:#323a30}.services-footer{max-width:620px;margin:37px 0 0 auto;color:#586052;font-size:14px}.services-footer strong{color:#222b1f}.process{background:#dfe5d9}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.process-lead{max-width:570px}.process-lead p:last-child{max-width:390px;margin-top:34px;color:#475142;line-height:1.8}.process-steps{list-style:none;padding:0;margin:0}.process-steps li{display:grid;grid-template-columns:80px 1fr;border-top:1px solid #a4b19e;padding:20px 0 27px}.process-steps li:last-child{border-bottom:1px solid #a4b19e}.process-steps span{color:#4d733a;font-size:12px}.process-steps h3{font-weight:400;letter-spacing:-.045em;font-size:25px;margin:0 0 5px}.process-steps p{color:#4b5548;font-size:14px;margin:0}.contact{background:#080b08;color:#fff;position:relative;overflow:hidden}.contact-glow{position:absolute;width:1000px;height:1000px;border-radius:50%;right:-300px;top:-290px;background:radial-gradient(circle,rgba(57,123,22,.55),rgba(33,79,17,.27) 36%,transparent 68%);filter:blur(25px);pointer-events:none}.contact-inner{position:relative;max-width:1000px}.contact .kicker{color:#b9dbaa}.contact h2{font-size:clamp(55px,7vw,106px);margin:40px 0 38px}.contact-inner>p:not(.kicker):not(.booking-note){color:#c3ccc0;font-size:19px}.contact-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:43px}.booking-preview{cursor:not-allowed;opacity:.82}.booking-note{font-size:12px;color:#aab8a4;margin:27px 0 0}.site-footer{background:#080b08;color:#e8eee6;border-top:1px solid #273226}.footer-top{display:flex;justify-content:space-between;gap:40px;padding:53px 0 90px}.footer-links{display:flex;gap:25px;align-items:flex-start}.footer-bottom{border-top:1px solid #273226;padding:18px 0 30px;display:flex;justify-content:space-between;color:#8e9b89;font-size:11px}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){html.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}html.motion-ready .reveal.is-visible{opacity:1;transform:none}}
@media(max-width:1150px){.desktop-nav{gap:20px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr .3fr}.hero-aside{opacity:.5}.hero-bottom{align-items:flex-start;flex-direction:column;gap:25px}.statement-grid{grid-template-columns:1fr 2fr}.statement-grid p:last-child{grid-column:2}}
@media(max-width:760px){.wrap{width:min(100% - 36px,1400px)}.section-pad{padding:85px 0}.header-inner{height:78px}.wordmark span{font-size:21px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;margin-left:auto;background:none;border:0;color:#fff}.menu-toggle span{display:block;width:26px;height:1px;background:currentColor}.mobile-nav{display:flex;flex-direction:column;background:#0d120c;padding:10px 18px 25px;border-bottom:1px solid #374032}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;color:#fff;border-bottom:1px solid #364032;padding:13px 0;font-size:15px}.hero{min-height:unset;padding-top:78px}.hero-grid{display:block;min-height:unset}.hero-content{padding:87px 0 95px}.hero h1{font-size:clamp(51px,10vw,76px);margin:27px 0 34px}.hero-bottom p{font-size:16px}.hero-aside{display:none}.hero-index{font-size:9px;gap:20px}.hero-index span:first-child{max-width:200px}.hero-glow{width:660px;height:660px;left:15%;bottom:-320px}.intro-grid{display:block}.section-label{margin-bottom:32px}.intro-copy h2,.work h2,.services h2,.process h2,.statement h2{font-size:clamp(40px,9vw,58px)}.intro-detail{grid-template-columns:1fr;gap:0;margin-top:30px}.work-head{display:block;margin-bottom:44px}.work-head>p{margin-top:25px}.project-list{gap:80px}.project,.project-hartwell{display:flex;flex-direction:column;gap:30px;align-items:stretch}.project-hartwell .project-images{order:-1}.project-main-image,.project-vale .project-main-image,.project-hartwell .project-main-image,.project-asterline .project-main-image{aspect-ratio:1.15}.project-info h3{font-size:42px;margin:22px 0 14px}.project-tags{margin-top:22px}.project-type-overlay{left:16px;bottom:18px;font-size:40px}.asterline-images .project-inset-image{width:30%;right:-4px;bottom:-25px}.work-note{margin-top:70px}.statement{padding:85px 0}.statement-grid{display:block}.statement h2{margin:27px 0}.statement p:last-child{max-width:400px}.services-heading{margin-bottom:45px}.service-grid{display:block}.service,.service+.service{padding:28px 0 35px;border-left:0}.service{grid-template-columns:45px 1fr;gap:12px}.service h3{font-size:36px}.services-footer{margin-top:25px}.process-grid{display:block}.process-lead{margin-bottom:42px}.process-steps li{grid-template-columns:55px 1fr}.contact h2{font-size:clamp(47px,10vw,72px)}.footer-top,.footer-bottom{display:block}.footer-top{padding-bottom:55px}.footer-links{margin-top:35px;flex-wrap:wrap}.footer-bottom span{display:block;margin:8px 0}.contact-glow{right:-550px}}
@media(max-width:430px){.hero-actions,.contact-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:49px}.button{width:100%}.project-main-image,.project-vale .project-main-image,.project-hartwell .project-main-image,.project-asterline .project-main-image{aspect-ratio:1}.project-type-overlay{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Portfolio media: original website hero captures inside a restrained desktop display. */
.project .project-main-image{display:grid;place-items:center;overflow:visible;background:transparent;aspect-ratio:1.42;padding:0 2% 5%}
.project-hartwell .project-main-image{aspect-ratio:1.35}
.desktop-mockup{position:relative;width:96%;border:6px solid #232925;border-radius:12px 12px 5px 5px;background:#232925;box-shadow:0 26px 55px rgba(16,29,15,.22)}
.mockup-toolbar{height:20px;display:flex;align-items:center;gap:5px;padding:0 10px;background:#232925}
.mockup-toolbar span{width:5px;height:5px;border-radius:50%;background:#9da69c}
.desktop-mockup img{display:block;width:100%;height:auto;object-fit:contain;transition:none!important}
.project:hover .desktop-mockup img{transform:none}
@media(max-width:760px){.project .project-main-image,.project-hartwell .project-main-image{aspect-ratio:1.15;padding:0 0 5%}.desktop-mockup{width:96%;border-width:4px;border-radius:8px 8px 4px 4px}.mockup-toolbar{height:14px;padding:0 7px;gap:4px}.mockup-toolbar span{width:4px;height:4px}}
@media(max-width:430px){.project .project-main-image,.project-hartwell .project-main-image{aspect-ratio:1.05}}
