@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650&family=Manrope:wght@300;400;450;500;600&display=swap');
:root{--ink:#26332e;--paper:#f3f3ef;--muted:#647069;--line:#d7dcd5;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:active,.pill:active{transform:scale(.97)}button,.pill{transition:transform 160ms var(--ease),background-color 180ms ease}button:focus-visible,a:focus-visible{outline:3px solid #829d80;outline-offset:5px}button{border:0}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:-.055em;text-wrap:balance}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}h2{font-size:clamp(2.5rem,4.4vw,4.6rem);line-height:1.13}p{line-height:1.7}section[id]{scroll-margin-top:20px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:550;line-height:1.6}.glass{background:linear-gradient(115deg,rgba(255,255,255,.29),rgba(255,255,255,.12));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 6px 30px rgba(18,33,32,.055)}.skip{position:fixed;z-index:20;top:8px;left:8px;background:var(--paper);padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}.nav-wrap{position:absolute;top:28px;left:40px;right:40px;z-index:5}.nav{height:76px;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-radius:22px;color:#fff;background-color:rgba(34,48,44,.12)}.wordmark{font-family:'Manrope',sans-serif;font-size:2.3rem;font-weight:500;letter-spacing:-.075em;display:inline-flex;align-items:center;gap:10px;line-height:1}.brand-star{font-size:1.7rem;line-height:1}.nav-links{display:flex;gap:36px;font-size:.875rem}.nav-links a{padding:12px 0}.nav-contact{background:rgba(255,255,255,.9);border-radius:100px;padding:13px 20px;font-size:.875rem;color:var(--ink);display:flex;align-items:center;gap:28px}.nav-contact span{font-size:1.2rem}.menu-button{display:none}.hero{position:relative;isolation:isolate;min-height:820px;height:min(980px,100svh);color:#fff;overflow:hidden;background:#7d918e}.hero-image{position:absolute;inset:0;height:100%;z-index:-3;object-position:center 58%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(18,35,34,.47),rgba(23,38,36,.08) 76%),linear-gradient(0deg,rgba(12,26,25,.4),transparent 45%,rgba(22,33,33,.18))}.hero-content{position:relative;padding:185px 6.2% 180px;max-width:1700px;margin:auto}.light{display:flex;align-items:center;gap:12px;color:#eff2ed}.small-line{height:1px;width:30px;background:currentColor}h1{font-size:clamp(4.75rem,7.7vw,8rem);line-height:1.035;margin:23px 0 25px;max-width:950px}h1 em{font-size:1.065em}.hero-description{font-size:1rem;line-height:1.65;color:#f4f5f2;margin-bottom:30px}.pill{border-radius:100px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:8px 8px 8px 24px;font-size:.875rem;min-height:54px}.pill.glass{background-color:rgba(26,46,41,.18)}.circle-icon{border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.3rem}.hero-bottom{position:absolute;bottom:47px;left:6.2%;right:6.2%;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.scroll-cue{display:flex;align-items:center;gap:15px;font-size:.8125rem;line-height:1.5}.scroll-circle{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;font-size:1.1rem}.project-teaser{display:flex;align-items:center;text-align:left;color:#fff;border-radius:20px;padding:12px 19px 12px 12px;gap:19px;width:395px;min-height:118px;background-color:rgba(255,255,255,.09)}.teaser-thumbnail{display:block;flex-shrink:0;width:94px;height:94px;background:url('assets/coastal-villa.png') 75% 70%/cover;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff22}.teaser-copy{display:flex;flex-direction:column;gap:5px}.teaser-copy .eyebrow{font-size:.625rem;letter-spacing:.13em;opacity:.8}.teaser-copy strong{font-size:1.375rem;font-weight:450;letter-spacing:-.04em}.teaser-copy>span:last-child{font-size:.75rem;color:#f1f2ed}.teaser-arrow{font-size:1.65rem;margin-left:auto;align-self:center}.hero-coordinate{position:absolute;right:23px;top:48%;writing-mode:vertical-rl;font-size:.625rem;letter-spacing:.16em;opacity:.8}.section{max-width:1600px;margin:0 auto;padding:110px 6.2%}.studio{display:grid;grid-template-columns:1fr 2.45fr;gap:32px;padding-top:108px;padding-bottom:100px}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.tiny-symbol{font-size:3.7rem;line-height:1}.studio-body h2{font-size:clamp(2.3rem,4.05vw,4rem)}.studio-bottom{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:40px;max-width:820px}.studio-bottom p{font-size:1rem;color:var(--muted)}.work{padding-top:52px;padding-bottom:100px}.work-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:37px}.work-header .eyebrow{margin-bottom:20px}.work h2{font-size:clamp(2.4rem,4.1vw,4rem)}.collection-note{font-size:.75rem;line-height:1.7;text-align:right;color:var(--muted)}.featured-work{position:relative;display:block;width:100%;overflow:hidden;padding:0;border-radius:16px;background:#d5d9d2;color:white;text-align:left}.featured-work>img{aspect-ratio:1.95;object-position:center 60%;transition:transform 260ms var(--ease)}.featured-work:after{content:'';position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#18302d40)}.project-tag{position:absolute;top:24px;left:24px;padding:10px 16px;border-radius:100px;font-size:.75rem;z-index:1}.work-caption{position:absolute;z-index:1;left:24px;right:24px;bottom:24px;padding:22px 26px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;background-color:rgba(36,49,42,.15)}.work-caption>span:first-child{display:flex;flex-direction:column;gap:5px}.work-caption strong{font-family:'Manrope',sans-serif;font-size:2rem;font-weight:400;letter-spacing:-.04em}.work-caption span span{font-size:.875rem}.round-arrow{border:1px solid #ffffff66;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:1.6rem}.work-meta{display:flex;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:.75rem}.approach{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-top:85px;padding-bottom:105px}.approach h2{margin:23px 0;font-size:clamp(2.6rem,4.6vw,4.3rem)}.approach-intro>p:last-child{color:var(--muted);font-size:1rem}.principles article{display:flex;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.principles article:first-child{padding-top:6px}.principles article>span{font-size:.75rem;line-height:2.5;color:var(--muted)}.principles h3{font-family:'Manrope',sans-serif;font-size:1.3rem;font-weight:500;letter-spacing:-.035em;margin-bottom:12px}.principles p{font-size:.9375rem;color:var(--muted);max-width:410px}.contact{max-width:none;padding:65px 6.2%;background:linear-gradient(110deg,rgba(24,48,42,.38),rgba(24,48,42,.03)),url('assets/coastal-villa.png') center 35%/cover}.contact-inner{max-width:1400px;margin:auto;border-radius:24px;padding:57px 60px;color:white;position:relative;overflow:hidden;background-color:rgba(43,65,56,.23)}.contact h2{margin:25px 0 32px;font-size:clamp(2.7rem,4.5vw,4.5rem);max-width:900px}.dark{background:var(--ink);color:white}.dark .circle-icon{background:#ffffff1a;color:white}.contact-mark{font-size:17rem;line-height:1;position:absolute;right:65px;bottom:32px;color:#ffffff33;pointer-events:none}footer{display:flex;gap:32px;align-items:center;padding:44px 6.2%;font-size:.75rem}footer .wordmark{font-size:2rem}footer p{margin-right:auto}footer>span{color:var(--muted)}footer>a:last-child{margin-left:25px}.mobile-nav[hidden]{display:none}dialog{border:1px solid #ffffff77;padding:0;color:var(--ink);background:#f2f3ef;box-shadow:0 30px 100px #142a3240;border-radius:24px;max-height:90svh;max-width:calc(100vw - 32px);overscroll-behavior:contain}dialog::backdrop{background:#162a2e80;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}dialog[open]{animation:dialog-in 230ms var(--ease)}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.975)}to{opacity:1;transform:none}}.detail-dialog{width:880px}.detail-dialog>img{height:340px}.close-dialog{position:absolute;top:16px;right:16px;z-index:2;width:42px;height:42px;border-radius:50%;font-size:1.8rem;line-height:1;background:#f3f4efed;box-shadow:0 2px 10px #152d2320}.dialog-copy{padding:40px}.dialog-copy h2{margin:16px 0 24px;font-size:3.5rem}.dialog-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem}.project-specs{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:27px 0}dt{font-size:.75rem;color:var(--muted);margin-bottom:7px}dd{font-size:.9375rem;margin:0}.project-story{margin-bottom:25px}.text-button{background:none;padding:10px 0;border-bottom:1px solid var(--ink);font-size:.9375rem}.text-button span{margin-left:20px}.contact-dialog{width:580px}.demo-note{padding-bottom:24px;font-size:.875rem!important}form{display:flex;flex-direction:column}label{font-size:.875rem;margin:0 0 8px}input,textarea{background:#ffffff77;border:1px solid #c8d0c8;border-radius:9px;padding:12px 14px;margin-bottom:20px;min-width:0;width:100%;color:var(--ink);font-size:1rem;resize:vertical}input:focus,textarea:focus{outline:2px solid #829d80;outline-offset:2px}form .pill{margin-top:5px;padding:17px 22px}#inquiry-success p{color:var(--muted);margin:16px 0 24px}#inquiry-success h3{font-size:1.5rem;letter-spacing:-.03em;font-weight:500}.success-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#dce6d7;font-size:1.5rem;margin:5px 0 24px}[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.nav-links a:hover{opacity:.7}.nav-contact:hover{background:white}.pill:hover{transform:translateY(-2px)}.project-teaser:hover{background-color:rgba(255,255,255,.22)}.featured-work:hover>img{transform:scale(1.025)}.text-button:hover{opacity:.7}}
@media(min-width:1600px){.hero-content{padding-top:210px}.hero-bottom{max-width:1400px;margin:auto}.hero{min-height:900px}}
@media(max-width:1000px){.nav-wrap{left:24px;right:24px}.nav-links{gap:24px}.hero{min-height:780px}.hero-content{padding-top:190px}.studio{grid-template-columns:1fr 3fr;gap:20px}.approach{gap:50px}.contact-mark{right:10px;font-size:13rem}.contact-inner{padding:45px}footer{flex-wrap:wrap;gap:24px}footer>span{margin-left:auto}footer>a:last-child{margin-left:0}}
@media(max-width:700px){html{scroll-padding-top:30px}.nav-wrap{top:16px;left:16px;right:16px}.nav{height:66px;padding:0 20px;border-radius:18px}.wordmark{font-size:2rem}.brand-star{font-size:1.4rem}.nav-links{display:none}.nav-contact{margin-left:auto;margin-right:16px;padding:10px 16px;font-size:.8125rem;gap:15px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:30px;height:42px;background:none;padding:3px}.menu-button span{height:1px;width:23px;background:#fff}.mobile-nav{border-radius:18px;padding:14px 20px;margin-top:8px;background-color:#32463eeb;color:white}.mobile-nav a,.mobile-nav button{display:block;padding:13px 0;text-align:left;font-size:1rem;background:none;color:inherit}.hero{min-height:780px;height:100svh;max-height:950px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#142c2b66,#142c2b0a),linear-gradient(0deg,#152e2b70,transparent 60%)}.hero-content{padding:160px 7% 195px}h1{font-size:clamp(3.5rem,11vw,5rem);line-height:1.07;margin:26px 0}.hero-content .eyebrow{font-size:.625rem;letter-spacing:.1em}.small-line{width:20px}.hero-description{font-size:.9375rem;margin-bottom:24px}.hero-bottom{bottom:26px;left:7%;right:7%}.scroll-cue{display:none}.project-teaser{width:100%;min-height:105px;border-radius:17px;padding:10px 16px 10px 10px}.teaser-thumbnail{height:78px;width:82px}.hero-coordinate{display:none}.section{padding:66px 7%}.studio{display:block}.section-label{margin-bottom:28px}.tiny-symbol{display:none}.studio-body h2{font-size:2.5rem}.studio-bottom{grid-template-columns:1fr;gap:17px;margin-top:27px}.work{padding-top:15px}.work-header{display:block;margin-bottom:25px}.collection-note{display:none}.work h2{font-size:2.5rem}.featured-work>img{aspect-ratio:.94;object-position:60% center}.project-tag{top:16px;left:16px;font-size:.6875rem}.work-caption{left:12px;right:12px;bottom:12px;padding:18px 17px;border-radius:12px;gap:15px}.work-caption strong{font-size:1.65rem}.work-caption span span{font-size:.75rem;line-height:1.5}.round-arrow{width:38px;height:38px;flex-shrink:0}.work-meta{font-size:.6875rem;gap:10px}.work-meta>span:last-child{display:none}.approach{display:block;padding-top:58px}.approach h2{font-size:3rem}.principles{margin-top:35px}.principles article{gap:22px}.principles h3{font-size:1.25rem}.contact{padding:25px 5%}.contact-inner{padding:35px 24px;border-radius:18px}.contact-inner .eyebrow{font-size:.625rem}.contact h2{font-size:2.6rem;margin:24px 0 28px}.contact-mark{display:none}.contact .pill{font-size:.8125rem;gap:15px}footer{padding:35px 7%;gap:20px;justify-content:space-between}footer p{font-size:.75rem;margin:0}footer>span{margin:0;font-size:.6875rem}footer>a:last-child{font-size:.6875rem}.dialog-copy{padding:30px 23px}.detail-dialog>img{height:240px}.dialog-copy h2{font-size:2.6rem}.project-specs{gap:22px 14px}dd{font-size:.8125rem}.contact-dialog .dialog-copy{padding-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.pill:hover,.featured-work:hover>img,button:active,.pill:active{transform:none!important}}
html.keyboard-mode{scroll-behavior:auto}.keyboard-mode *, .keyboard-mode *::before,.keyboard-mode *::after{animation:none!important;transition:none!important}
