@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#17221e;--muted:#68736e;--paper:#f6f6f2;--white:#fff;--line:#dfe3dc;--orange:#de7046;--green:#2e4b3f;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1240px}*{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.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.topline{background:var(--ink);color:#e9eee9;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.topline-inner{height:36px;display:flex;justify-content:space-between;align-items:center}.topline a{color:#fff}.header{position:relative;z-index:5;background:var(--paper)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.brand img{width:126px;height:56px;object-fit:contain}.brand-divider{width:1px;height:35px;background:#cbd1ca}.byline{font-size:12px;font-weight:700;line-height:1.25;letter-spacing:.02em}.byline small{font-size:10px;font-weight:400;color:var(--muted)}.nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.nav a{transition:color .2s}.nav a:hover,.nav a.active{color:var(--orange)}.nav .nav-contact{border:1px solid var(--ink);padding:11px 17px}.menu-toggle{display:none}.hero{padding:44px 0 72px;overflow:hidden}.hero-grid{display:grid;grid-template-columns: .92fr 1.08fr;gap:7%;align-items:center}.hero-copy{padding:28px 0 24px 4.5%}.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--orange);display:flex;align-items:center;gap:9px;margin:0 0 22px}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,6.1vw,82px);margin:0 0 24px}h1 em,h2 em{font-family:var(--serif);font-weight:500;color:var(--green)}.hero-lede{color:var(--muted);max-width:445px;font-size:15px;line-height:1.85;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{min-height:50px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--green)}.button span,.arrow-link span{font-size:18px}.text-link,.arrow-link{font-size:12px;font-weight:700}.text-link{color:var(--muted)}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:42px}.proof-avatars{display:flex}.proof-avatars span{width:31px;height:31px;border:2px solid var(--paper);margin-right:-8px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-size:10px;font-weight:700}.proof-avatars span:nth-child(2){background:#dba582}.proof-avatars span:nth-child(3){background:#e6e8e1;color:var(--ink)}.hero-proof p{font-size:11px;line-height:1.5;margin:0}.hero-proof strong{font-size:11px}.hero-proof p span{color:var(--muted)}.hero-visual{position:relative;height:min(650px,58vw);min-height:450px}.hero-visual:before{content:"";position:absolute;inset:5% 7% 0 0;background:#e7e9e2}.hero-visual>img{position:absolute;width:90%;height:93%;right:0;top:0;object-fit:cover;object-position:center 55%}.image-note{position:absolute;left:-28px;bottom:8%;background:white;box-shadow:0 12px 40px #1b2b2012;display:flex;gap:12px;align-items:center;padding:15px 19px}.note-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f4e6dc;color:var(--orange);font-size:18px}.image-note strong,.image-note small{display:block}.image-note strong{font-size:11px}.image-note small{font-size:10px;color:var(--muted);margin-top:2px}.hero-index{position:absolute;right:0;bottom:0;font-size:12px;font-weight:700;letter-spacing:.12em}.hero-index span{color:#a6aea8;margin:0 5px}.trust-strip{border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0}.trust-grid p{border-right:1px solid var(--line);padding-left:24px;margin:0;font-size:9px;letter-spacing:.14em;color:var(--muted);line-height:1.8}.trust-grid p:first-child{padding-left:0}.trust-grid p:last-child{border:0}.trust-grid strong{font-size:12px;letter-spacing:0;color:var(--ink)}.section{padding:108px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end}.section h2,.quote-band h2{font-size:clamp(39px,5vw,61px);margin:0}.intro-copy{max-width:510px;padding-bottom:4px}.intro-copy p,.system-copy>p:not(.eyebrow),.muted{color:var(--muted);font-size:14px;line-height:1.9}.arrow-link{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #bfc8bf;padding:0 0 9px}.arrow-link:hover{color:var(--orange);border-color:var(--orange)}.projects-section{padding-top:28px;padding-bottom:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:16px}.project-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:250px 220px;gap:16px}.project-card{display:block;position:relative;overflow:hidden;background:#d8ddd7;min-height:220px}.project-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#101a16bd)}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.project-card:hover img{transform:scale(1.04)}.project-large{grid-row:span 2}.project-tall{grid-row:span 2}.project-caption{position:absolute;z-index:1;left:23px;bottom:20px;color:white;display:flex;flex-direction:column}.project-caption small{font-size:9px;letter-spacing:.14em;margin-bottom:5px}.project-caption strong{font-family:var(--serif);font-size:19px;font-weight:500}.project-arrow{position:absolute;z-index:1;right:17px;top:17px;background:white;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.mobile-only{display:none}.system-section{padding-top:35px;background:#eceee8}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.system-image{position:relative;padding:0 0 38px 36px}.system-image:before{content:"";position:absolute;inset:32px 0 0 0;background:#dce2da}.system-image img{position:relative;width:100%;height:480px;object-fit:cover}.system-tag{position:absolute;left:0;bottom:0;background:var(--orange);color:white;padding:14px 17px;font-size:9px;letter-spacing:.13em}.system-copy{padding:40px 4% 40px 0}.system-copy h2{margin-bottom:23px}.system-copy>p:not(.eyebrow){max-width:480px}.check-list{padding:7px 0 20px;list-style:none}.check-list li{padding:11px 0;border-bottom:1px solid #d2d9d1;font-size:12px;font-weight:600}.check-list span{color:var(--orange);font-size:9px;letter-spacing:.1em;margin-right:14px}.button-outline{border:1px solid var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:white}.quote-band{background:var(--green);color:white;padding:64px 0}.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.eyebrow-light{color:#f2aa85}.quote-band h2{font-size:clamp(34px,4.4vw,53px)}.quote-band h2 em{color:#e9b18e}.button-light{background:white;color:var(--ink);white-space:nowrap}.button-light:hover{background:#f4e2d7}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;}.faq-grid h2{margin-bottom:22px}.muted{font-size:12px;max-width:340px}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;font-weight:400;color:var(--orange);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:12px;line-height:1.8;padding:12px 28px 0 0;margin:0}.footer{background:#18231f;color:#e7ebe6;padding:42px 0 18px}.footer-main{display:grid;grid-template-columns:1.1fr 1.4fr 1fr 1fr;gap:30px;align-items:center;padding-bottom:32px}.brand-footer .brand-divider{background:#55605a}.brand-footer .byline small{color:#adb6af}.footer-main>p{font-size:11px;color:#aeb8b0;line-height:1.8;margin:0}.footer-links{display:flex;flex-direction:column;gap:7px;font-size:11px}.footer-links a:hover{color:#f2aa85}.footer-phone{font-size:17px;font-family:var(--serif)}.footer-phone span{font-family:var(--sans);color:#f2aa85}.footer-bottom{display:flex;align-items:center;gap:24px;padding-top:15px;border-top:1px solid #3a4640;font-size:9px;color:#9ea9a1}.footer-bottom a{margin-left:auto}.mobile-cta{display:none}
/* Inner pages */
.page-hero{padding:65px 0 72px;background:#eceee8}.breadcrumbs{font-size:10px;color:var(--muted);margin-bottom:24px}.breadcrumbs a:hover{color:var(--orange)}.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:center}.page-hero h1{font-size:clamp(43px,5vw,66px)}.page-hero p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:14px;line-height:1.9}.page-hero img{width:100%;height:390px;object-fit:cover}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.content-grid h2{font-size:42px}.content-copy{color:var(--muted);font-size:14px;line-height:1.9}.content-copy h3{font-size:16px;color:var(--ink);margin:26px 0 8px}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px}.feature-card{background:white;padding:25px;min-height:175px}.feature-card span{color:var(--orange);font-size:10px;letter-spacing:.15em}.feature-card h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:18px 0 7px}.feature-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.contact-card{background:white;padding:30px}.contact-card p{margin-bottom:7px}.contact-card strong{font-size:12px}.contact-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.simple-hero{padding:70px 0 78px}.simple-hero h1{font-size:clamp(45px,6vw,74px);max-width:760px}.simple-hero p:not(.eyebrow){max-width:640px;color:var(--muted);line-height:1.9}.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.info-box{padding:27px;background:white}.info-box span{color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.info-box h3{font-size:16px;margin:12px 0 5px}.info-box p{color:var(--muted);font-size:12px;margin:0}.project-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-page-grid img{width:100%;height:290px;object-fit:cover}.project-page-grid h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:15px 0 3px}.project-page-grid p{font-size:11px;color:var(--muted)}.small-note{font-size:10px;color:var(--muted);margin-top:25px}.mobile-cta{display:none}
@media(max-width:950px){.container{width:min(var(--max),calc(100% - 42px))}.nav{gap:15px}.nav a{font-size:11px}.hero-grid{gap:4%}.hero-copy{padding-left:0}.hero-visual{min-height:400px}.project-grid{grid-template-rows:210px 190px}.footer-main{grid-template-columns:1fr 1fr}.page-hero-grid{gap:5%}}
@media(max-width:720px){body{font-size:15px;padding-bottom:58px}.container{width:calc(100% - 38px)}.topline-inner{height:32px;font-size:9px;letter-spacing:.06em}.header-inner{min-height:75px}.brand{gap:9px}.brand img{width:100px;height:47px}.brand-divider{height:28px}.byline{font-size:10px}.byline small{font-size:9px}.menu-toggle{display:flex;border:0;background:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 19px 20px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 15px 24px #1a2a2012;align-items:stretch;gap:0;flex-direction:column}.nav.open{display:flex}.nav a{padding:12px 5px;border-bottom:1px solid var(--line);font-size:12px}.nav .nav-contact{border:0;padding:12px 5px}.hero{padding:22px 0 42px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:15px 0 0}.eyebrow{font-size:9px;margin-bottom:15px}.hero h1{font-size:clamp(46px,13vw,64px);margin-bottom:17px}.hero-lede{font-size:13px;line-height:1.75;margin-bottom:22px}.hero-actions{gap:15px}.button{min-height:48px;font-size:11px;padding-inline:15px}.text-link{font-size:11px}.hero-proof{margin-top:25px}.hero-visual{height:110vw;min-height:390px;max-height:520px}.hero-visual>img{width:92%;height:94%}.image-note{left:0;bottom:4%;padding:11px 13px}.hero-index{right:0;bottom:-1px}.trust-grid{grid-template-columns:1fr 1fr;padding:16px 0;row-gap:14px}.trust-grid p{padding-left:12px;font-size:8px}.trust-grid p:nth-child(odd){padding-left:0}.trust-grid p:nth-child(even){border:0}.trust-grid strong{font-size:10px}.section{padding:69px 0}.intro-grid,.system-grid,.faq-grid{grid-template-columns:1fr;gap:25px}.section h2{font-size:43px}.intro-copy p,.system-copy>p:not(.eyebrow){font-size:13px}.projects-section{padding-top:8px;padding-bottom:65px}.section-heading{align-items:end;margin-bottom:20px}.section-heading h2{font-size:40px}.desktop-only{display:none}.project-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 210px;gap:10px}.project-card{min-height:190px}.project-large{grid-row:span 2}.project-tall{grid-row:auto}.project-caption{left:12px;bottom:12px}.project-caption small{font-size:7px}.project-caption strong{font-size:15px}.project-arrow{width:29px;height:29px;right:10px;top:10px}.mobile-only{display:inline-flex;margin-top:21px}.system-section{padding-block:43px}.system-image{padding:0 0 25px 20px}.system-image img{height:310px}.system-tag{font-size:7px;padding:11px}.system-copy{padding:15px 0 0}.system-copy h2{font-size:40px}.check-list{padding-bottom:14px}.check-list li{font-size:11px}.quote-band{padding:42px 0}.quote-inner{align-items:flex-start;flex-direction:column;gap:22px}.quote-band h2{font-size:36px}.faq-grid{gap:20px}.faq-grid h2{font-size:39px}.faq-list summary{font-size:12px}.footer{padding-top:32px}.footer-main{grid-template-columns:1fr 1fr;gap:22px 15px;padding-bottom:23px}.footer-main>p{font-size:10px}.footer-links{font-size:10px}.footer-phone{font-size:15px}.footer-bottom{gap:12px;font-size:8px;flex-wrap:wrap}.footer-bottom a{margin-left:0}.mobile-cta{position:fixed;z-index:8;bottom:0;left:0;right:0;height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#1f493b;color:white;font-size:12px;font-weight:700;box-shadow:0 -8px 24px #12251f20}.mobile-cta span:last-child{font-size:19px}.page-hero{padding:35px 0 38px}.page-hero-grid{grid-template-columns:1fr;gap:20px}.page-hero h1{font-size:44px}.page-hero p:not(.eyebrow){font-size:13px}.page-hero img{height:270px}.content-grid{grid-template-columns:1fr;gap:17px}.content-grid h2{font-size:35px}.content-copy{font-size:13px}.feature-cards{grid-template-columns:1fr;gap:9px;margin-top:25px}.feature-card{padding:19px;min-height:auto}.feature-card h3{font-size:18px;margin:10px 0 3px}.simple-hero{padding:44px 0}.simple-hero h1{font-size:48px}.simple-hero p:not(.eyebrow){font-size:13px}.contact-info{grid-template-columns:1fr;gap:10px}.info-box{padding:21px}.project-page-grid{grid-template-columns:1fr;gap:22px}.project-page-grid img{height:280px}.contact-card{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
