@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Italiana&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#101411;--ink-soft:#3d473f;--paper:#f2f1e9;--white:#fffef8;--forest:#183f31;--moss:#2c6a4d;--lime:#d8f86b;--sun:#faab55;--line:rgba(16,20,17,.2);--ease-out:cubic-bezier(.23,1,.32,1)}*{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;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.site-shell{overflow:hidden;background:var(--paper)}.site-header{min-height:82px;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:26px;background:var(--ink);color:var(--white);border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:inline-flex;flex-direction:column;gap:4px;flex-shrink:0}.brand-name{font-family:DM Mono,monospace;font-size:18px;line-height:1;letter-spacing:.25em;font-weight:500}.brand-subtitle{font-family:DM Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#bbec94}.desktop-nav{display:flex;align-items:center;gap:31px;margin-left:auto}.desktop-nav a,.header-cta,.mobile-nav a{font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.desktop-nav a{padding:12px 0;border-bottom:1px solid transparent;transition:border-color .18s var(--ease-out),color .18s var(--ease-out)}.desktop-nav a:hover{border-color:var(--lime);color:var(--lime)}.header-cta{display:inline-flex;align-items:center;gap:8px;color:var(--ink);background:var(--lime);border:1px solid var(--lime);padding:13px 17px;margin-left:18px;transition:background .18s var(--ease-out),color .18s var(--ease-out),transform .16s var(--ease-out)}.header-cta:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}.header-cta:active,.button:active,.sticky-call:active{transform:scale(.97)}.menu-toggle{display:none;background:none;border:0;color:var(--white);min-width:44px;min-height:44px;padding:8px}.mobile-nav{padding:12px 16px 20px;display:flex;flex-direction:column;background:var(--ink);color:var(--white);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 18px 30px #10141138}.mobile-nav a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.16)}.mobile-nav .mobile-call{justify-content:center;gap:9px;margin-top:17px;border:0;background:var(--lime);color:var(--ink)}.hero{background:var(--ink);padding:clamp(16px,2vw,28px) max(16px,calc((100vw - 1360px)/2)) 0}.hero-media{width:100%;display:block;padding:0;border:0;background:var(--forest);position:relative;box-shadow:12px 14px 0 var(--moss),24px 28px #d8f86b75}.hero-media:after,.gallery-card:after,.owner-photo:after{content:"";position:absolute;pointer-events:none;inset:13px;border:1px solid rgba(255,255,255,.7)}.hero-media img{display:block;width:100%;aspect-ratio:16/8.8;object-fit:cover;object-position:52% 46%;filter:saturate(1.04) contrast(1.02)}.photo-trigger{overflow:hidden}.photo-trigger img{transition:transform .42s var(--ease-out),filter .32s var(--ease-out)}.photo-trigger:hover img{transform:scale(1.03);filter:saturate(1.12) contrast(1.04)}.hero-copy{background:var(--white);min-height:420px;padding:84px max(24px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.7fr);column-gap:74px;align-content:center;position:relative;overflow:hidden}.hero-copy:after{content:"";position:absolute;width:295px;height:295px;border-radius:50%;right:-108px;bottom:-136px;background:var(--lime);opacity:.96;z-index:0}.hero-copy>*{position:relative;z-index:1}.eyebrow{grid-column:1/-1;margin:0 0 20px;color:var(--moss);font-family:DM Mono,monospace;font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.15em}h1,h2{margin:0;font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:-.052em;line-height:.9}h1{font-size:clamp(57px,8vw,120px);max-width:820px}h2{font-size:clamp(46px,5.35vw,80px);max-width:800px}h1 em,h2 em{color:var(--moss);font-weight:400}.hero-text{max-width:370px;align-self:end;margin:8px 0 0;font-size:17px;line-height:1.65;color:var(--ink-soft)}.hero-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:43px}.button,.sticky-call{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;padding:15px 20px;min-height:48px;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.11em;transition:transform .16s var(--ease-out),background .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.button-dark{background:var(--ink);color:var(--white);box-shadow:5px 5px 0 var(--moss)}.button-dark:hover{background:var(--forest);box-shadow:8px 8px 0 var(--lime)}.text-action{display:inline-flex;align-items:center;gap:10px;padding:11px 0;background:none;border:0;color:var(--ink);font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:10px;border-bottom:1px solid var(--ink)}.introduction{padding:105px max(24px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:.43fr 1fr;gap:50px;background:var(--moss);color:var(--white);position:relative;overflow:hidden}.introduction:before{content:"";position:absolute;width:270px;height:270px;border-radius:50%;left:38%;top:-196px;border:1px solid rgba(255,255,255,.65);box-shadow:0 0 0 28px #d8f86b21,0 0 0 56px #ffffff0d}.introduction>*{position:relative;z-index:1}.introduction-kicker{font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--lime);padding-top:10px}.introduction p{margin:0;max-width:790px;font-family:Italiana,Georgia,serif;font-size:clamp(37px,4.35vw,62px);line-height:1.03;letter-spacing:-.035em}.services-section,.portfolio-section{padding:112px max(24px,calc((100vw - 1160px)/2));background:var(--white)}.section-heading{margin-bottom:52px}.split-heading{display:grid;grid-template-columns:1.2fr .65fr;gap:60px;align-items:end}.split-heading>p,.portfolio-lead{margin:0;max-width:385px;color:#526057;font-size:17px;line-height:1.64}.portfolio-lead{margin-top:21px}.service-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px}.service-item{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:76px;border-bottom:1px solid var(--line);color:var(--ink);font-family:Italiana,Georgia,serif;font-size:clamp(23px,2.5vw,34px);letter-spacing:-.025em;transition:padding .18s var(--ease-out),background .18s var(--ease-out),color .18s var(--ease-out)}.service-item:hover{padding-left:18px;background:var(--lime);color:var(--forest)}.service-item svg{flex:none;color:var(--moss)}.process-section{padding:112px max(24px,calc((100vw - 1160px)/2));background:linear-gradient(115deg,var(--forest),#0c1911 62%,#244c38);color:var(--white);position:relative;overflow:hidden}.process-section:after{content:"";width:460px;height:460px;position:absolute;border-radius:50%;border:1px solid rgba(216,248,107,.55);right:-155px;top:-230px;box-shadow:0 0 0 35px #d8f86b14,0 0 0 70px #faab5517}.process-section>*{position:relative;z-index:1}.process-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end}.process-intro .eyebrow{grid-column:auto;color:var(--lime)}.process-intro h2{grid-column:2}.process-intro h2 em{color:#c8f1a9}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:76px;border-top:1px solid rgba(255,255,255,.34)}.process-grid article{padding:39px 32px 28px 0;min-height:230px;border-right:1px solid rgba(255,255,255,.28)}.process-grid article:not(:first-child){padding-left:32px}.process-grid article:last-child{border:0}.process-grid h3{margin:0 0 13px;font-family:Italiana,Georgia,serif;font-weight:400;font-size:35px;letter-spacing:-.035em}.process-grid p{max-width:290px;margin:0;color:#e1ebdf;font-size:15px;line-height:1.67}.portfolio-section{background:#e2efcf}.portfolio-section .section-heading{max-width:900px}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-auto-flow:row dense;align-items:start;gap:22px}.gallery-card{width:100%;padding:0;border:0;background:var(--forest);display:block;box-shadow:0 0 0 1px #ffffffbf;position:relative}.gallery-card img{display:block;width:100%;height:400px;object-fit:cover;filter:saturate(1.04) contrast(1.02)}.gallery-card.gallery-tall img{height:600px}.gallery-card.gallery-wide{grid-column:span 2}.gallery-card.gallery-wide img{height:470px}.studio-section{display:grid;grid-template-columns:1fr 1fr;background:var(--lime)}.owner-photo{padding:0;border:0;background:var(--forest);min-height:660px;position:relative}.owner-photo img{width:100%;height:100%;min-height:660px;display:block;object-fit:cover;object-position:30% center;filter:saturate(1.04) contrast(1.03)}.owner-copy{padding:98px max(34px,calc((100vw - 1160px)/2));padding-left:max(34px,calc((100vw - 1160px)/2));align-self:center}.owner-copy .eyebrow{margin-bottom:18px;color:var(--forest)}.owner-copy h2{font-size:clamp(45px,4.6vw,73px);max-width:570px}.owner-copy h2 em{color:var(--forest)}.owner-copy>p:not(.eyebrow){max-width:530px;margin:26px 0 0;font-size:16px;line-height:1.7;color:#25362b}.owner-signoff{display:flex;flex-direction:column;gap:4px;margin-top:37px}.owner-signoff span{font-family:Italiana,Georgia,serif;font-style:italic;font-size:43px;color:var(--forest)}.owner-signoff small{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.social-section{padding:106px max(24px,calc((100vw - 1160px)/2));background:var(--white);position:relative;overflow:hidden}.social-section:before{content:"";position:absolute;right:7%;bottom:-130px;width:255px;height:255px;border-radius:50%;background:var(--sun);box-shadow:-40px -42px 0 var(--lime)}.social-section>*{position:relative;z-index:1}.social-section h2{margin-bottom:22px}.social-section>p:not(.eyebrow){max-width:430px;margin:0;color:#526057;font-size:17px;line-height:1.62}.instagram-link{display:inline-flex;align-items:center;gap:11px;margin-top:31px;min-height:48px;padding:14px 16px;background:var(--ink);color:var(--white);font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.11em;transition:color .18s var(--ease-out),background .18s var(--ease-out),transform .18s var(--ease-out)}.instagram-link:hover{color:var(--ink);background:var(--lime);transform:translateY(-2px)}.contact-section{min-height:480px;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;padding:95px max(24px,calc((100vw - 1160px)/2));background:var(--forest);color:var(--white);position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-300px;bottom:-295px;border:2px solid rgba(216,248,107,.82);box-shadow:0 0 0 28px #d8f86b21,0 0 0 56px #ffffff0f}.contact-section>*{position:relative;z-index:1}.contact-section .eyebrow{color:var(--lime)}.contact-section h2{max-width:750px}.contact-section h2 em{color:#c8f1a9}.contact-section p:not(.eyebrow){max-width:440px;margin:25px 0 0;font-size:17px;line-height:1.6}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:4px}.button-light{color:var(--ink);background:var(--lime);box-shadow:5px 5px 0 var(--ink)}.button-light:hover{background:var(--white);box-shadow:8px 8px 0 var(--sun)}.contact-detail{display:flex;align-items:flex-start;gap:10px;color:#e6efe7;font-size:15px;line-height:1.6}.contact-detail svg{flex:none;margin-top:3px;color:var(--lime)}.contact-detail address{font-style:normal}.hours{color:#e6efe7;font-size:15px!important;margin:0!important}.site-footer{padding:46px max(24px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;background:var(--ink);color:var(--white)}.site-footer .brand-subtitle{color:#bbec94}.site-footer address,.footer-phone{font-style:normal;justify-self:center;font-size:13px;line-height:1.6;color:#e4ece3}.footer-phone{display:inline-flex;align-items:center;gap:8px;justify-self:end;min-height:44px;border-bottom:1px solid rgba(255,255,255,.62)}.sticky-call{position:fixed;z-index:20;right:24px;bottom:max(20px,env(safe-area-inset-bottom));background:var(--lime);color:var(--ink);box-shadow:6px 6px 0 var(--forest)}.sticky-call:hover{background:var(--sun);color:var(--ink);box-shadow:8px 8px 0 var(--lime)}.lightbox{position:fixed;z-index:50;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:22px;background:#070d09f7}.lightbox-topbar{width:min(100%,1100px);display:flex;justify-content:flex-end}.lightbox-topbar button,.lightbox-controls button{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;border:1px solid rgba(255,255,255,.65);padding:10px 13px;color:var(--white);background:transparent;font-family:DM Mono,monospace;text-transform:uppercase;font-size:10px;letter-spacing:.1em;transition:background .18s var(--ease-out),color .18s var(--ease-out)}.lightbox-topbar button:hover,.lightbox-controls button:hover{color:var(--ink);background:var(--lime)}.lightbox-media{width:min(100%,1100px);max-height:calc(100vh - 158px);display:flex;justify-content:center}.lightbox-media img{display:block;max-width:100%;max-height:calc(100vh - 158px);object-fit:contain}.lightbox-controls{width:min(100%,1100px);display:flex;justify-content:space-between}@media (max-width:780px){.site-header{min-height:70px;padding:0 16px}.site-header .brand,.site-footer .brand{min-height:44px;justify-content:center}.desktop-nav,.header-cta{display:none}.menu-toggle{display:grid;place-items:center}.hero{padding:12px 12px 0}.hero-media{box-shadow:7px 8px 0 var(--moss),14px 16px #d8f86b8c}.hero-media:after{inset:7px}.hero-media img{aspect-ratio:3/2;object-position:52% 46%}.hero-copy{min-height:auto;padding:54px 20px 59px;display:block}.hero-copy:after{width:176px;height:176px;right:-86px;bottom:-86px}.hero-copy .eyebrow{margin-bottom:19px}.hero-text{margin:30px 0 0;max-width:540px;font-size:16px}.hero-actions{margin-top:31px;gap:17px}.button{width:100%}.text-action{width:max-content;min-height:44px}.introduction{padding:74px 20px;grid-template-columns:1fr;gap:19px}.introduction:before{width:150px;height:150px;left:55%;top:-120px}.introduction-kicker{padding:0}.services-section,.portfolio-section{padding:79px 20px}.split-heading,.process-intro,.contact-section{grid-template-columns:1fr;gap:26px}.split-heading>p{max-width:540px}.service-list{grid-template-columns:1fr}.service-item{min-height:65px;font-size:25px}.process-section{padding:79px 20px}.process-section:after{width:270px;height:270px;right:-160px;top:-150px}.process-intro h2{grid-column:auto}.process-grid{grid-template-columns:1fr;margin-top:48px}.process-grid article,.process-grid article:not(:first-child){min-height:auto;padding:28px 0 32px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.process-grid article:last-child{border-bottom:0}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-card:after{inset:5px}.gallery-card img{height:235px}.gallery-card.gallery-tall img{height:348px}.gallery-card.gallery-wide img{height:280px}.studio-section{grid-template-columns:1fr}.owner-photo,.owner-photo img{min-height:0;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:30% center}.owner-photo:after{inset:8px}.owner-copy{padding:79px 20px}.owner-copy>p:not(.eyebrow){font-size:16px}.social-section{padding:79px 20px}.social-section:before{width:150px;height:150px;right:-64px;bottom:-84px;box-shadow:-25px -26px 0 var(--lime)}.contact-section{min-height:auto;padding:79px 20px}.contact-actions{align-items:stretch}.contact-detail{font-size:15px}.site-footer{padding:42px 20px max(96px,calc(42px + env(safe-area-inset-bottom)));grid-template-columns:1fr;gap:22px}.site-footer address,.footer-phone{justify-self:start}.sticky-call{left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom))}.lightbox{padding:14px}.lightbox-media,.lightbox-media img{max-height:calc(100vh - 130px)}}@media (prefers-reduced-motion: no-preference){.hero-copy,.introduction,.services-section,.process-section,.portfolio-section,.studio-section,.social-section,.contact-section{animation:reveal .5s var(--ease-out) both}@keyframes reveal{0%{opacity:.76;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
