@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#e8e5db;--dim:#a8aba4;--subtle:#838c83;--paper:#101412;--panel:#1b211c;--line:#394039;--sage:#b9c2aa;--warm:#d4bda0;--pad:clamp(20px,5vw,78px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55;font-size:15px}body::selection{background:var(--warm);color:#141511}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--warm);outline-offset:5px}.wrap{max-width:1560px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.masthead{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{font-size:16px;letter-spacing:.28em;font-weight:700;white-space:nowrap}.brand .dot{color:var(--warm)}.navlinks{display:flex;gap:clamp(15px,2.5vw,39px)}.navlinks a{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--dim)}.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--ink)}.menu{display:none;color:var(--ink);background:transparent;border:1px solid var(--line);padding:9px 13px}.label{color:var(--warm);font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-weight:700}.serif,h1,h2,h3,.bigline{font-family:'Instrument Serif',Georgia,serif;font-weight:400}.serif em,h1 em,h2 em{font-weight:400;color:var(--warm)}.home-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:665px;border-bottom:1px solid var(--line)}.hero-copy{padding:clamp(70px,10vw,155px) clamp(30px,5vw,85px) 68px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy h1{font-size:clamp(75px,9.3vw,156px);letter-spacing:-.055em;line-height:.84;margin:30px 0 33px}.hero-copy h1 em{color:var(--sage)}.hero-copy .deck{max-width:370px;font-size:16px;color:var(--dim);line-height:1.8}.underlink{display:inline-block;font-size:11px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid var(--warm);padding:0 0 9px;margin-top:34px}.underlink:hover{color:var(--warm)}.hero-visual{position:relative;min-height:570px;border-left:1px solid var(--line);padding:30px 0 30px 30px}.hero-visual .imageframe{height:100%;max-height:750px;min-height:550px;background:#202d25;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.76)}.vertical-note{position:absolute;left:3px;top:45%;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.23em;color:var(--subtle);font-size:9px}.image-caption{position:absolute;bottom:46px;right:18px;background:#101412e0;padding:13px 16px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.intro-line{display:grid;grid-template-columns:170px 1fr;gap:30px;padding-top:80px;padding-bottom:85px;border-bottom:1px solid var(--line)}.intro-line p{margin:0;max-width:820px;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(34px,4.8vw,67px);line-height:1.12}.intro-line em{color:var(--warm)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.section-head h2{font-size:clamp(55px,7.5vw,100px);line-height:.93;letter-spacing:-.025em;margin:13px 0 0}.section-head .side-note{max-width:275px;font-size:13px;color:var(--dim)}.features{padding-top:95px;padding-bottom:90px}.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,60px);align-items:start}.feature-grid>a:nth-child(2){margin-top:95px}.feature-image{overflow:hidden;background:var(--panel);border:1px solid var(--line)}.feature-image img{width:100%;aspect-ratio:4/4.3;object-fit:cover;transition:transform .45s ease}.feature-grid>a:nth-child(2) img{aspect-ratio:4/3.1}.feature-item:hover .feature-image img{transform:scale(1.03)}.feature-under{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:16px;margin-top:14px}.feature-under h3{margin:0;font-size:clamp(35px,4.2vw,60px);line-height:1}.feature-under span{color:var(--dim);font-size:11px;letter-spacing:.04em}.last-line{padding-top:82px;padding-bottom:85px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.last-line p{max-width:650px;font:normal clamp(36px,5vw,67px)/1.05 'Instrument Serif',Georgia,serif;margin:0}.last-line p em{color:var(--warm)}.footer{border-top:1px solid var(--line)}.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--subtle);letter-spacing:.04em}.footer a:hover{color:var(--warm)}.page-heading{padding-top:105px;padding-bottom:75px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(86px,12vw,165px);line-height:.87;letter-spacing:-.045em;margin:25px 0 22px}.page-heading p{max-width:620px;color:var(--dim);font-size:16px;line-height:1.8}.gallery{padding-top:65px;padding-bottom:110px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px 45px}.gallery article:nth-child(even){margin-top:95px}.gallery figure{margin:0;background:var(--panel);border:1px solid var(--line)}.gallery img{width:100%;aspect-ratio:4/4.5;object-fit:cover}.gallery article:nth-child(even) img{aspect-ratio:4/3.6}.gallery figcaption{padding:20px 3px 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.gallery figcaption strong{font:normal 38px 'Instrument Serif',Georgia,serif}.gallery figcaption span{color:var(--dim);font-size:11px}.note{padding:21px 25px;border-left:2px solid var(--warm);background:var(--panel);color:var(--dim);font-size:13px;max-width:760px;margin-bottom:100px}.project-list{padding-top:45px;padding-bottom:100px}.project-row{display:grid;grid-template-columns:58px 1fr 130px;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:35px 0}.project-row:first-child{border-top:1px solid var(--line)}.project-row .number{font-size:12px;color:var(--warm)}.project-row h2{font-size:clamp(37px,5vw,70px);margin:0 0 4px}.project-row p{font-size:13px;color:var(--dim);margin:0}.status{text-align:right;color:var(--sage);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,110px);padding-top:75px;padding-bottom:110px}.about-grid .visual{background:var(--panel);align-self:start}.about-grid .visual img{width:100%;aspect-ratio:3/4;object-fit:cover}.about-grid h2{font-size:clamp(45px,5.3vw,79px);line-height:1.02;margin:15px 0 25px}.about-grid p{color:var(--dim);max-width:560px;line-height:1.95}.heart-page{background:#151317;color:#eee3df}.heart-page .masthead{border-color:#4d3b42}.heart-page .brand .dot{color:#d7a4ae}.heart-main{min-height:calc(100vh - 87px);display:grid;place-items:center;padding:100px 20px;text-align:center}.heart-inner{max-width:800px}.heart-mark{font-size:28px;color:#c9959e}.heart-main h1{font-size:clamp(94px,14vw,205px);line-height:.83;letter-spacing:-.04em;margin:30px 0}.heart-main h1 em{color:#d7a4ae}.heart-main p{font-size:16px;line-height:1.9;max-width:550px;color:#c7b9be;margin:22px auto}.heart-sign{font:normal 37px 'Instrument Serif',Georgia,serif!important;color:#eed6db!important}.heart-page .label{color:#d7a4ae}.reveal{opacity:1;transform:none}@media(min-width:801px) and (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s,transform .65s}.js .reveal.visible{opacity:1;transform:none}}@media(max-width:800px){.home-hero{grid-template-columns:1fr}.hero-copy{padding:85px 0 60px}.hero-copy h1{font-size:clamp(80px,16vw,135px)}.hero-visual{border-left:0;border-top:1px solid var(--line);padding:20px 0;min-height:420px}.hero-visual .imageframe{min-height:420px;height:460px}.vertical-note{display:none}.intro-line{grid-template-columns:1fr;gap:24px}.feature-grid{grid-template-columns:1fr 1fr;gap:25px}.feature-grid>a:nth-child(2){margin-top:65px}.gallery{gap:25px}.about-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.masthead{height:70px}.menu{display:block}.navlinks{display:none;position:absolute;z-index:30;top:70px;left:0;right:0;padding:26px var(--pad);background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.navlinks.open{display:flex}.hero-copy h1{font-size:clamp(72px,19vw,110px)}.hero-visual .imageframe{height:380px;min-height:380px}.intro-line{padding-top:65px;padding-bottom:65px}.features{padding-top:70px;padding-bottom:65px}.section-head{display:block}.section-head .side-note{margin-top:24px}.feature-grid,.gallery{grid-template-columns:1fr}.feature-grid>a:nth-child(2),.gallery article:nth-child(even){margin-top:0}.feature-grid .feature-image img,.feature-grid>a:nth-child(2) img{aspect-ratio:4/3.4}.last-line{display:block;padding:65px var(--pad)}.last-line .underlink{margin-top:30px}.footer-inner{align-items:start;flex-direction:column;justify-content:center;padding:30px 0}.page-heading{padding-top:70px;padding-bottom:45px}.page-heading h1{font-size:clamp(77px,16vw,130px)}.gallery{padding-top:45px;padding-bottom:75px}.project-row{grid-template-columns:30px 1fr;gap:18px}.project-row .status{grid-column:2;text-align:left}.about-grid{grid-template-columns:1fr}.about-grid .visual img{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1!important;transform:none!important}}
