:root{--paper:#f7f5ee;--white:#fffefb;--sage:#eef4ec;--sage-2:#e3ede5;--forest:#154f43;--forest-dark:#0d2e29;--ink:#152724;--muted:#596a65;--bronze:#b47b37;--line:#d8ddd6;--max:1320px;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;background:var(--forest);color:#fff;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:76px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,238,.94);border-bottom:1px solid transparent;backdrop-filter:blur(16px);transition:.25s}.site-header.scrolled{height:66px;border-color:var(--line);box-shadow:0 8px 30px rgba(21,79,67,.06)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:var(--forest);color:white;font-size:11px}.site-nav{display:flex;align-items:center;gap:32px;font-size:14px}.site-nav>a:not(.nav-cta){color:#31443f}.site-nav>a:hover{color:var(--forest)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:8px;font-weight:700}.nav-cta,.button-primary{background:var(--forest);color:#fff}.nav-cta:hover,.button-primary:hover{background:var(--forest-dark)}.menu-button{display:none;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:9px 14px;color:var(--ink)}.hero{max-width:var(--max);min-height:760px;margin:auto;padding:140px 24px 70px;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:70px}.kicker{margin:0 0 26px;color:var(--forest);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}.hero h1,.section h2,.team h2,.studio h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}.hero h1{margin:0;font-size:clamp(4.2rem,7vw,7.4rem);line-height:.89}.hero h1 em{color:#6c907e;font-weight:500}.hero-lede{max-width:600px;margin:34px 0 0;color:#3f514c;font-size:1.14rem}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.text-link{padding:10px 0;border-bottom:1px solid var(--bronze);font-weight:600}.hero-visual{position:relative;margin:0;min-height:570px;overflow:hidden}.hero-visual:before{content:"";position:absolute;z-index:1;inset:16px;border:1px solid rgba(255,255,255,.6);pointer-events:none}.hero-visual img{width:100%;height:570px;display:block;object-fit:cover;object-position:center}.hero-visual figcaption{position:absolute;z-index:2;right:20px;bottom:16px;padding:7px 10px;background:rgba(247,245,238,.86);color:#40544e;font-size:11px}.section{max-width:var(--max);margin:auto;padding:120px 24px}.services{max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));background:var(--sage)}.section-intro{display:grid;grid-template-columns:1.6fr .65fr;gap:80px;align-items:end;margin-bottom:64px}.section-intro h2{margin:0;font-size:clamp(2.9rem,5vw,5.3rem);line-height:.98}.section-intro>p{max-width:390px;margin:0 0 8px;color:var(--muted)}.service{display:grid;grid-template-columns:60px minmax(280px,1fr) minmax(240px,380px) 78px;gap:28px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-num{align-self:start;margin-top:10px;color:var(--forest);font-weight:700}.service h3{margin:0;font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.15}.service p{max-width:600px;margin:9px 0 0;color:var(--muted)}.service img{width:100%;height:145px;object-fit:cover}.service ul{display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;margin:0;padding:0;transition:.3s}.service.open ul{grid-template-rows:1fr;opacity:1;margin-top:14px;padding-left:18px;color:var(--muted)}.service-toggle{justify-self:end;width:64px;height:42px;border:1px solid #b9c8c0;border-radius:999px;background:transparent;color:var(--forest);font-weight:600;cursor:pointer}.service-toggle:hover,.service.open .service-toggle{background:var(--forest);color:#fff;border-color:var(--forest)}.principle{background:var(--white);padding:105px max(24px,calc((100vw - var(--max))/2))}.principle-inner{display:grid;grid-template-columns:1.6fr .65fr;gap:70px}.principle .kicker{grid-column:1/-1}.principle blockquote{margin:0;font-family:var(--serif);font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em}.principle blockquote em{color:#759081}.principle-inner>p:last-child{align-self:end;margin:0;color:var(--muted);font-size:1.08rem}.process-list{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}.process-list li{min-height:240px;padding:24px 28px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.process-list li:last-child{border-right:0}.process-list span{color:var(--forest);font-weight:700}.process-list h3{margin:26px 0 9px;font-family:var(--serif);font-size:2rem}.process-list p{margin:0;color:var(--muted)}.payment-note{max-width:760px;margin:40px 0 0 auto;padding:16px 20px;border-left:2px solid var(--bronze);background:#f0eee6;color:var(--muted)}.team{background:var(--sage-2);padding:110px max(24px,calc((100vw - var(--max))/2))}.team-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}.team h2{margin:0;font-size:clamp(3rem,5vw,5.4rem);line-height:.98}.team-copy{padding-top:48px}.team-copy p{margin:0 0 18px;font-size:1.12rem}.team-copy strong{color:var(--forest)}.team-note{padding-top:20px;border-top:1px solid rgba(21,79,67,.22);color:var(--muted);font-size:.95rem!important}.studio{max-width:var(--max);margin:auto;padding:120px 24px;display:grid;grid-template-columns:1.08fr .92fr;gap:0;background:var(--paper)}.studio-visual{margin:0;min-height:590px}.studio-visual img{width:100%;height:100%;min-height:590px;object-fit:cover}.studio-copy{display:flex;flex-direction:column;justify-content:center;padding:60px 65px;background:var(--white)}.studio h2{margin:0;font-size:clamp(2.8rem,4.7vw,5rem);line-height:.98}.studio-copy>p:not(.kicker){margin:28px 0 0;color:var(--muted);font-size:1.08rem}.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}.values span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#40534e;font-size:13px}.contact{padding:110px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end;background:var(--sage)}.contact h2{max-width:760px;margin:0;font-size:clamp(3rem,5vw,5.5rem);line-height:.96}.contact-copy>p:last-child{max-width:680px;margin:28px 0 0;color:var(--muted)}.contact-action{min-height:150px;display:flex;flex-direction:column;justify-content:center;padding:30px 34px;border-radius:12px;background:var(--forest);color:#fff;transition:.2s}.contact-action:hover{transform:translateY(-4px);background:var(--forest-dark)}.contact-action strong{font-size:1.45rem}.contact-action span{opacity:.75}footer{max-width:var(--max);margin:auto;padding:48px 24px 26px;background:var(--paper)}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top p,.footer-bottom{color:var(--muted)}.footer-bottom{margin-top:62px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.footer-bottom button{border:0;background:none;color:var(--muted);cursor:pointer}.policy-dialog{width:min(720px,calc(100% - 32px));max-height:86vh;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);padding:clamp(24px,5vw,52px)}.policy-dialog::backdrop{background:rgba(13,46,41,.5);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:8px 13px}.policy-dialog h2{font-family:var(--serif);font-size:2.6rem;line-height:1}.policy-dialog h3{margin-top:28px}.policy-dialog p,.policy-dialog li{color:var(--muted)}.policy-notice{padding:14px;border-left:2px solid var(--bronze);background:#f3efe7}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:980px){.site-nav{display:none;position:absolute;top:66px;left:14px;right:14px;flex-direction:column;align-items:stretch;padding:20px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 50px rgba(21,79,67,.13)}.site-nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:120px;gap:50px}.hero-copy{max-width:760px}.hero-visual{min-height:500px}.hero-visual img{height:500px}.section-intro,.principle-inner,.team-inner,.studio,.contact{grid-template-columns:1fr}.service{grid-template-columns:50px 1fr 260px}.service-toggle{grid-column:2;justify-self:start}.process-list{grid-template-columns:repeat(2,1fr)}.process-list li:nth-child(2){border-right:0}.team-copy{padding-top:0}.studio{gap:0}.contact{gap:48px}.contact-action{max-width:430px}.footer-top{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.site-header{padding:0 14px}.hero{padding:105px 16px 55px}.hero h1{font-size:clamp(3.4rem,17vw,5rem)}.hero-lede{font-size:1rem}.hero-actions{align-items:stretch;flex-direction:column;gap:12px}.text-link{text-align:center}.hero-visual,.hero-visual img{height:390px;min-height:390px}.hero-visual figcaption{font-size:9px}.section,.studio{padding:82px 16px}.services,.principle,.team,.contact{padding:82px 16px}.section-intro{gap:28px;margin-bottom:44px}.section-intro h2{font-size:2.8rem}.service{grid-template-columns:36px 1fr;padding:24px 0}.service img{grid-column:1/-1;height:200px}.service-toggle{grid-column:2}.principle-inner{gap:28px}.principle blockquote{font-size:2.65rem}.process-list{grid-template-columns:1fr}.process-list li{min-height:0;border-right:0;padding:24px 0}.team h2,.contact h2{font-size:3rem}.studio-visual,.studio-visual img{min-height:390px}.studio-copy{padding:40px 24px}.contact-action{min-height:125px}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom div{display:flex;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
