@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap";:root{--forest: #123126;--deep: #0b2118;--green: #1b4635;--sage: #9ab195;--cream: #f5f2e9;--paper: #ece8dc;--ink: #14231d;--line: #14231d2e;--font-sans: "DM Sans", sans-serif;--font-serif: "Playfair Display", Georgia, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--cream);font-family:var(--font-sans);line-height:1.5;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent;color:inherit;font-family:inherit}button{background:none;border:none;cursor:pointer}a{text-decoration:none}img{display:block;max-width:100%;height:auto}::selection{color:var(--cream);background:#7d9b7c}main{overflow:hidden}.eyebrow{color:var(--green);letter-spacing:.23em;text-transform:uppercase;align-items:center;gap:16px;margin-bottom:24px;font-size:10px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:38px;height:1px;display:inline-block}.eyebrow.light{color:#c3d2bd}h1,h2{letter-spacing:-.05em;font-size:clamp(54px,7vw,104px);font-weight:300;line-height:.94}h1 em,h2 em{color:var(--sage);font-family:var(--font-serif);font-weight:500;font-style:italic}.section{padding:130px 6vw}.section-dark{color:var(--cream);background:var(--deep);padding:130px 6vw}.section-label{color:var(--green);align-self:flex-start;align-items:center;gap:12px;display:flex}.section-label span{border:1px solid;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;display:grid}.section-label p{letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:600}.section-label.light{color:var(--sage)}.button{letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;gap:28px;padding:18px 23px;font-size:11px;font-weight:600;text-decoration:none;transition:background .25s,color .25s,transform .2s;display:inline-flex}.button svg,.text-link svg,.footer-email svg{width:17px;height:17px;transition:transform .25s}.button:hover svg,.text-link:hover svg,.footer-email:hover svg{transform:translate(4px)}.button-light{color:var(--forest);background:var(--cream)}.button-light:hover{color:var(--cream);background:var(--green)}.text-link{letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:24px;padding:10px 0;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.text-link.light{color:var(--cream)}.site-header{z-index:20;width:100%;color:var(--cream);border-bottom:1px solid rgba(255,255,255,.2);justify-content:space-between;align-items:center;padding:24px 4.5vw;display:flex;position:absolute;top:0;left:0}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid;border-radius:50%;place-items:center;width:39px;height:39px;font-family:var(--font-serif);font-size:23px;font-style:italic;display:grid}.brand-copy{flex-direction:column;line-height:1;display:flex}.brand-copy strong{letter-spacing:.24em;font-size:14px;font-weight:700}.brand-copy small{letter-spacing:.18em;margin-top:5px;font-family:var(--font-serif);font-size:12px;font-style:italic}.nav{align-items:center;gap:clamp(20px,2.4vw,42px);display:flex}.nav>a{color:inherit;letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:500;text-decoration:none;transition:opacity .2s}.nav>a:hover{opacity:.65}.nav .nav-cta{border:1px solid rgba(255,255,255,.5);align-items:center;gap:16px;padding:14px 18px;display:flex;transition:background .25s,color .25s,border-color .25s}.nav .nav-cta:hover{background:var(--cream);color:var(--deep);border-color:var(--cream);opacity:1}.nav-cta svg{width:16px;height:16px}.menu-button{color:inherit;display:none;background:none;border:none;padding:4px}.menu-button svg{width:27px;height:27px}.hero{height:100svh;min-height:760px;color:var(--cream);position:relative}.hero-image{background-image:url(/images/hero.webp);background-position:50% 35%;background-size:cover;position:absolute;top:0;right:0;bottom:0;left:0}.hero-overlay{background:linear-gradient(90deg,#061811de,#06181185 51%,#0618111a),linear-gradient(#0000 50%,#05140e80);position:absolute;top:0;right:0;bottom:0;left:0}.hero-content{z-index:2;flex-direction:column;justify-content:center;width:min(820px,89vw);height:100%;padding:104px 0 45px 8vw;display:flex;position:relative}.hero-copy{color:#f5f2e9bf;width:min(520px,90%);margin-top:32px;font-size:16px;font-weight:300;line-height:1.7}.hero-actions{align-items:center;gap:36px;margin-top:38px;display:flex}.hero-note{z-index:2;color:#f5f2e9ad;letter-spacing:.16em;text-transform:uppercase;flex-direction:column;align-items:flex-end;font-size:10px;line-height:2;display:flex;position:absolute;bottom:42px;right:4.5vw}.scroll-cue{z-index:2;color:#f5f2e9b3;letter-spacing:.2em;text-transform:uppercase;flex-direction:column;align-items:center;font-size:9px;text-decoration:none;display:flex;position:absolute;bottom:0;left:3vw}.scroll-cue span{transform:rotate(-90deg) translate(30px)}.scroll-cue i{background:#fff9;width:1px;height:52px}.about{background:var(--cream);grid-template-columns:140px minmax(460px,1fr) minmax(320px,.72fr);gap:5vw;display:grid}.about-content h2,.portfolio h2{color:var(--ink);font-size:clamp(50px,6vw,84px)}.about-text-grid{grid-template-columns:1.05fr .95fr;gap:4vw;margin-top:52px;display:grid}.about-text-grid p{color:#53615b;font-size:14px;font-weight:300;line-height:1.85}.about-text-grid .lead{color:var(--ink);font-size:19px;line-height:1.65}.about-text-grid div p+p{margin-top:20px}.about-figure{align-self:center;margin-top:70px}.about-figure img{object-fit:cover;filter:saturate(.68);width:100%;height:520px}.about-figure figcaption{border-top:1px solid var(--line);color:var(--green);justify-content:space-between;padding-top:14px;display:flex}.about-figure figcaption span{font-family:var(--font-serif);font-style:italic}.about-figure figcaption small{letter-spacing:.16em;text-transform:uppercase;font-size:9px}.section-heading{grid-template-columns:140px 1fr .62fr;align-items:end;gap:5vw;margin-bottom:70px;display:grid}.section-heading h2{font-size:clamp(50px,6vw,84px)}.section-heading>p{color:#f5f2e994;max-width:390px;font-size:14px;font-weight:300;line-height:1.8}.service-grid{border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-bottom:1px solid rgba(255,255,255,.16);border-right:1px solid rgba(255,255,255,.16);min-height:520px;padding:34px 28px;transition:color .3s,background .3s,transform .3s}.service-card:hover{color:var(--deep);background:var(--sage);transform:translateY(-6px)}.service-card-top{justify-content:space-between;align-items:center;margin-bottom:80px;display:flex}.service-card-top svg{width:32px;height:32px}.service-card-top span{opacity:.5;font-family:var(--font-serif);font-size:15px;font-style:italic}.service-card h3{max-width:250px;font-size:21px;font-weight:400;line-height:1.3}.service-card>p{color:#f5f2e98c;min-height:100px;margin-top:18px;font-size:13px;font-weight:300;line-height:1.7;transition:color .3s}.service-card:hover>p{color:#0b2118b8}.service-card ul{margin-top:18px;list-style:none}.service-card li{letter-spacing:.05em;opacity:.72;border-top:1px solid rgba(255,255,255,.12);padding:7px 0;font-size:10px}.service-card:hover li{border-color:#0b211829}.portfolio{background:var(--paper)}.portfolio-heading{grid-template-columns:140px 1fr .7fr;align-items:end;gap:5vw;display:grid}.portfolio-heading>p{color:#53615b;max-width:390px;font-size:14px;font-weight:300;line-height:1.8}.filter-row{flex-wrap:wrap;gap:8px;margin:62px 0 34px 14vw;display:flex}.filter{color:#53615b;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(20,35,29,.24);padding:10px 15px;font-size:9px;font-weight:500;transition:all .2s;cursor:pointer;background:transparent}.filter:hover,.filter.active{color:var(--cream);background:var(--forest);border-color:var(--forest)}.portfolio-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:14px;display:grid}.portfolio-item{background:var(--forest);min-height:310px;position:relative;overflow:hidden}.portfolio-item.portfolio-tall{grid-row:span 2}.portfolio-item.portfolio-wide{grid-column:span 2}.portfolio-item img{object-fit:cover;filter:saturate(.72);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.portfolio-item:after{content:"";background:linear-gradient(#0000 40%,#051911cc);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.portfolio-item:hover img{filter:saturate(1);transform:scale(1.04)}.portfolio-item figcaption{z-index:2;color:#fff;grid-template-columns:1fr auto;display:grid;position:absolute;bottom:20px;left:22px;right:22px}.portfolio-item figcaption small{letter-spacing:.15em;text-transform:uppercase;opacity:.7;grid-column:1;font-size:8px}.portfolio-item figcaption strong{grid-column:1;margin-top:7px;font-family:var(--font-serif);font-size:22px;font-style:italic;font-weight:500}.portfolio-item figcaption span{border:1px solid rgba(255,255,255,.55);border-radius:50%;grid-area:1 / 2 / 3;align-self:end;place-items:center;width:38px;height:38px;display:grid;transition:background .25s,border-color .25s}.portfolio-item:hover figcaption span{background:#fff3;border-color:#fff}.portfolio-item figcaption svg{width:16px;height:16px}.approach{color:var(--cream);background:var(--forest);grid-template-columns:.85fr 1.15fr;padding:0;display:grid}.approach-intro{background:var(--green);padding:110px 7vw}.approach-intro .section-label{margin-bottom:100px}.approach-intro h2{font-size:clamp(48px,5vw,74px)}.approach-intro>p:last-child{color:#f5f2e99e;max-width:400px;margin-top:38px;font-size:14px;line-height:1.8}.approach-list{padding:45px 6vw}.approach-list article{border-bottom:1px solid rgba(255,255,255,.16);grid-template-columns:65px 180px 1fr;align-items:center;min-height:150px;display:grid}.approach-list article>span{color:var(--sage);font-family:var(--font-serif);font-style:italic;font-size:18px}.approach-list h3{font-size:24px;font-weight:400}.approach-list p{color:#f5f2e98c;font-size:13px;font-weight:300;line-height:1.7}.contact{min-height:700px;color:var(--cream);text-align:center;place-items:center;display:grid;position:relative}.contact-image{background:url(/images/fam.jpg) 50% / cover;position:absolute;top:0;right:0;bottom:0;left:0}.contact-overlay{background:#051b1280;position:absolute;top:0;right:0;bottom:0;left:0}.contact-content{z-index:2;flex-direction:column;align-items:center;max-width:990px;padding:90px 5vw;display:flex;position:relative}.contact-content h2{font-size:clamp(50px,6vw,84px)}.contact-content p:not(.eyebrow){color:#f5f2e9b3;max-width:610px;margin:30px 0 35px;font-size:15px;line-height:1.8}footer{color:var(--cream);background:var(--deep);padding:70px 6vw 24px}.footer-top{grid-template-columns:1fr .8fr 1.1fr;align-items:center;gap:5vw;padding-bottom:65px;display:grid}.footer-top>p{color:#f5f2e97a;max-width:300px;font-size:12px;line-height:1.7}.footer-email{color:var(--cream);border-bottom:1px solid rgba(255,255,255,.3);justify-content:space-between;align-items:center;padding-bottom:15px;font-family:var(--font-serif);font-size:clamp(17px,2vw,26px);font-style:italic;text-decoration:none;display:flex;transition:border-color .25s,opacity .2s}.footer-email:hover{border-color:#fff;opacity:.9}.footer-bottom{color:#f5f2e961;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.12);justify-content:space-between;padding-top:22px;font-size:8px;display:flex}.footer-bottom a{color:inherit;text-decoration:none;transition:color .2s}.footer-bottom a:hover{color:var(--cream)}@media(max-width:1024px){.about{grid-template-columns:100px 1fr}.about-figure{grid-column:2;margin-top:0}.about-figure img{height:430px}.section-heading,.portfolio-heading{grid-template-columns:100px 1fr}.section-heading>p,.portfolio-heading>p{grid-column:2}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:450px}.approach{grid-template-columns:1fr}.approach-intro .section-label{margin-bottom:55px}}@media(max-width:760px){.site-header{padding:18px 20px}.brand-mark{width:35px;height:35px}.nav{z-index:100;visibility:hidden;opacity:0;background:var(--deep);flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 10vw;transition:opacity .25s,visibility .25s;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.nav.open{visibility:visible;opacity:1}.nav>a{letter-spacing:0;text-transform:none;font-family:var(--font-serif);font-size:30px;font-style:italic;font-weight:500}.nav .nav-cta{letter-spacing:.15em;text-transform:uppercase;margin-top:15px;font-family:var(--font-sans);font-size:11px;font-style:normal}.menu-button{z-index:102;display:block}.hero{min-height:720px}.hero-image{background-position:58%}.hero-overlay{background:linear-gradient(90deg,#061811e0,#0618114d),linear-gradient(#0000,#05140e99)}.hero-content{justify-content:flex-end;width:100%;padding:90px 22px 40px}h1{font-size:clamp(48px,14vw,68px)}.hero-copy{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}.hero-note{display:none}.scroll-cue{left:auto;right:24px}.section,.section-dark{padding:90px 22px}.about,.section-heading,.portfolio-heading{grid-template-columns:1fr;gap:42px}.about-content h2,.portfolio h2,.section-heading h2{font-size:50px}.about-text-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.about-figure,.section-heading>p,.portfolio-heading>p{grid-column:1}.about-figure img{height:420px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:30px 25px 35px}.service-card-top{margin-bottom:45px}.service-card>p{min-height:auto}.filter-row{flex-wrap:nowrap;margin:45px -22px 28px;padding:0 22px 6px;overflow-x:auto}.filter{flex:none}.portfolio-grid{scroll-snap-type:x mandatory;margin:0 -22px;padding:0 22px 10px;display:flex;overflow-x:auto}.portfolio-item,.portfolio-item.portfolio-wide,.portfolio-item.portfolio-tall{scroll-snap-align:center;flex:0 0 84vw;height:500px}.approach-intro{padding:90px 22px}.approach-list{padding:25px 22px 60px}.approach-list article{grid-template-columns:50px 1fr;padding:32px 0}.approach-list p{grid-column:2;margin-top:10px}.contact{min-height:650px}.footer-top{grid-template-columns:1fr;gap:40px}.footer-bottom{flex-direction:column;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
