:root{--ink:#353e38;--sage:#c5cfbe;--cream:#f2f1e6;--sand:#e7e4d4;--orange:#ad5339}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}.topbar{height:72px;padding:0 clamp(24px,6vw,100px);display:flex;align-items:center;gap:50px;position:absolute;z-index:5;top:0;width:100%;color:#fff}.brand{font-family:'Fraunces',Georgia,serif;font-size:32px;font-weight:800;white-space:nowrap}.brand span{color:#d7744a}.topbar nav{display:flex;gap:28px}.topbar nav a,.header-note{font-size:10px;font-weight:700;letter-spacing:.18em}.topbar nav a:hover{color:#e9aa77}.header-note{margin-left:auto}.menu-toggle{display:none}.hero{height:min(760px,90vh);min-height:580px;position:relative;overflow:hidden;background:linear-gradient(180deg,#9eaf9e,#ced7c5 65%,#dedbc7)}.hero-wash{position:absolute;inset:0;background:radial-gradient(circle at 75% 22%,#f2e8d050,transparent 55%)}.hero-landscape{position:absolute;bottom:0;left:0;width:100%;height:67%;object-fit:cover}.hero-inner{max-width:1430px;margin:auto;height:100%;position:relative;display:flex;align-items:center;padding:80px clamp(24px,8vw,130px) 50px}.hero-copy{position:relative;z-index:2;width:58%}.overline,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em}.overline{color:#f3efe2;margin:0 0 26px}.hero h1{font:800 clamp(75px,9.1vw,150px)/.89 'Fraunces',Georgia,serif;letter-spacing:-.06em;color:#fff;margin:0 0 32px}.hero h1 em{font-weight:600;white-space:nowrap}.hero-lead{max-width:355px;font-size:17px;line-height:1.65;color:#f9f6ed}.pill{display:inline-flex;gap:35px;align-items:center;margin-top:20px;background:#f6efdf;padding:17px 22px;border-radius:1px;font-size:11px;font-weight:700;letter-spacing:.09em;color:#415247;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-3px);background:#fff}.octo{position:absolute;width:min(52vw,610px);height:auto;right:2%;bottom:9%;filter:drop-shadow(12px 22px 4px #58412f20);transform:rotate(8deg)}.hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:25px;left:8%;right:8%;font-size:10px;letter-spacing:.15em;font-weight:700;color:#536555}.intro-strip{background:#e4e4d6;min-height:240px;padding:75px 10%;text-align:center;position:relative;display:grid;place-items:center}.intro-strip p{font-size:clamp(21px,2.5vw,35px);line-height:1.4;max-width:870px;margin:0;color:#646b5d}.intro-strip em,.section-head em,.about-copy em,.contact em{font-family:'Fraunces',Georgia,serif;color:var(--orange);font-weight:600}.scribble{position:absolute;bottom:-30px;z-index:2;color:var(--orange);background:var(--cream);border-radius:100%;width:65px;height:65px;display:grid;place-items:center;font-size:36px}.work-section{padding:110px clamp(22px,7vw,115px) 135px}.section-head{text-align:center;max-width:720px;margin:0 auto 60px}.section-head h2,.about-copy h2,.contact h2{font:800 clamp(50px,5.8vw,92px)/1.02 'Fraunces',Georgia,serif;letter-spacing:-.055em;margin:20px 0}.section-head p{font-size:16px;color:#727a70}.filters{display:flex;gap:8px;justify-content:center;margin-top:35px;flex-wrap:wrap}.filters button{border:1px solid #bfc6b9;background:transparent;padding:13px 18px;color:#657367;font-size:10px;letter-spacing:.08em;font-weight:700}.filters button.active,.filters button:hover{background:#435b4d;color:#fff}.project-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 30px}.project-card{cursor:pointer;min-width:0}.cover{height:auto;aspect-ratio:1.55;position:relative;overflow:hidden;background:linear-gradient(135deg,#9eaf9f,#65796d);display:grid;place-items:center}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.cover .badge-arrow{position:absolute;top:15px;right:15px;background:#f0eee2;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.cover-placeholder{font:600 46px 'Fraunces',serif;opacity:.75;color:#efe9d4;text-align:center;padding:30px}.project-info{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:17px}.project-info h3{font:700 clamp(26px,3vw,39px) 'Fraunces',serif;letter-spacing:-.045em;margin:0}.project-info span{font-size:10px;letter-spacing:.08em;color:#758074;text-align:right}.project-card:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.about-section{min-height:540px;background:#fff;display:grid;grid-template-columns:1fr 1fr}.about-visual{background:#c9d3bf;position:relative;overflow:hidden;min-height:520px;display:grid;place-items:center}.shape-disk{width:380px;height:380px;border-radius:50%;background:#b75b3b;box-shadow:inset -35px -20px 0 #783d36,22px 32px 0 #ebe1c3;transform:rotate(-20deg)}.about-decor{position:absolute;font-size:170px;top:5%;left:7%;color:#f5edcf}.about-visual>span{position:absolute;font:800 clamp(50px,6vw,100px)/1 'Fraunces',serif;color:#f7f2dd;text-align:center;transform:rotate(-9deg);text-shadow:3px 4px 0 #85462c}.about-copy{padding:80px clamp(30px,6vw,110px);align-self:center}.about-copy h2{font-size:clamp(50px,5vw,76px)}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#697168}.pill-light{background:#dfe6d9;margin-top:17px}.services{background:#f0f0e5;text-align:center;padding:95px clamp(24px,7vw,115px)}.services-grid{max-width:1250px;margin:55px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.services-grid>div>span{font-size:55px;color:var(--orange)}.services h3{font-size:14px;letter-spacing:.12em}.services p{font-size:13px;line-height:1.7;color:#7b8175}.contact{text-align:center;background:#e0e5d8;padding:110px 20px 120px}.contact h2{font-size:clamp(66px,8vw,118px)}.contact p{color:#657365}.contact-link{display:inline-block;border-bottom:2px solid var(--orange);padding:15px 25px;color:var(--orange);font-size:14px;letter-spacing:.12em;font-weight:700;margin-top:12px}#socialLinks{margin-top:30px;display:flex;justify-content:center;gap:20px;font-size:12px}footer{display:flex;justify-content:space-between;gap:15px;background:#425748;padding:25px 7%;color:#e9e9dc;font-size:10px;letter-spacing:.13em}#viewer{padding:0;border:0;background:#f6f4e9;max-width:min(1040px,94vw);width:100%;max-height:94vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 25px 100px #151a15aa}#viewer::backdrop{background:rgba(13,19,16,.86)}#viewerImages{line-height:0}#viewerImages img{display:block;width:100%;height:auto}.viewer-close{position:fixed;right:max(4vw,12px);top:max(4vh,12px);z-index:10;background:#f3efe4;border:0;width:48px;height:48px;font-size:22px;color:#24352d}.viewer-close:hover{background:#d9b09a}body:has(#viewer[open]){overflow:hidden}@media(max-width:850px){.header-note{display:none}.hero-copy{width:70%}.octo{opacity:.68;right:-16%;width:70vw;bottom:9%}.hero h1{font-size:clamp(65px,12vw,105px)}.project-grid{gap:42px 20px}.about-section{grid-template-columns:1fr}.about-visual{min-height:350px}.about-copy{padding:75px 8%}.services-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.topbar{height:62px;padding:0 21px}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;color:white;font-size:24px}.topbar nav{display:none;position:absolute;top:62px;left:0;right:0;background:#829584;padding:24px;flex-direction:column}.topbar nav.open{display:flex}.hero{min-height:650px;height:94vh}.hero-inner{padding:100px 25px 120px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:clamp(61px,15vw,90px)}.hero h1 em{white-space:normal}.hero-lead{max-width:280px;font-size:15px}.octo{width:370px;right:-55px;bottom:2%;opacity:.78}.hero-bottom{font-size:8px;left:25px;right:25px;gap:10px}.hero-bottom span:last-child{display:none}.intro-strip{padding:65px 24px;min-height:220px}.work-section{padding:80px 20px}.project-grid{grid-template-columns:1fr;gap:35px}.cover{aspect-ratio:1.45}.project-info h3{font-size:29px}.section-head h2{font-size:54px}.services-grid{gap:25px 13px}.services{padding:70px 24px}.services-grid>div>span{font-size:39px}.services p{font-size:12px}.shape-disk{width:270px;height:270px}.about-visual>span{font-size:60px}footer{flex-direction:column;text-align:center}.viewer-close{right:12px;top:12px}}
