
:root{
 --bg:#f8f8f6;--paper:#fff;--ink:#111;--text:#333;--muted:#858585;--line:#e9e8e4;
 --serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,Arial,sans-serif;
 --container:1440px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
::selection{background:#111;color:#fff}

/* HEADER */
.site-header{background:rgba(248,248,246,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:1030}
.navbar-brand{font-family:var(--serif);font-size:1.7rem;letter-spacing:.12em}
.nav-link,.meta,.eyebrow,.menu-label{font-size:.67rem;letter-spacing:.17em;text-transform:uppercase}
.nav-link{color:var(--ink)!important;position:relative;padding-left:.4rem!important;padding-right:.4rem!important}
.nav-link:after{content:"";position:absolute;left:.4rem;right:.4rem;bottom:.25rem;height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:.35s}
.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}
.navbar-toggler:focus{box-shadow:none}
.eyebrow,.meta{color:var(--muted)}

/* TYPOGRAPHY */
.display-title,.section-title,.statement,.project-title,.article-title,.footer-word{font-family:var(--serif);font-weight:500}
.display-title{font-size:clamp(4.3rem,9.5vw,9.5rem);line-height:.82;letter-spacing:-.045em}
.section-title{font-size:clamp(2.5rem,4.8vw,5rem);line-height:.98;letter-spacing:-.025em}
.statement{font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.03}
.hero-copy{font-size:1.2rem;line-height:1.6;color:var(--text)}
.lead-copy{font-size:1.05rem;line-height:1.8;color:#444}
.section-space{padding:8rem 0}
.section-space-sm{padding:5rem 0}
.rule-top{border-top:1px solid var(--line)}
.rule-bottom{border-bottom:1px solid var(--line)}
.img-cover{width:100%;object-fit:cover}
.portrait{height:76vh}
.square{aspect-ratio:1/1}
.landscape{aspect-ratio:16/10}
.tall{height:82vh}

/* HOME */
.home-hero{padding:10rem 0 5rem}
.home-hero-media{position:relative}
.home-hero-media img{width:100%;height:78vh;object-fit:cover}
.home-hero-index{position:absolute;left:1rem;bottom:1rem;background:rgba(248,248,246,.94);padding:.65rem .8rem}
.selected-work{border-top:1px solid var(--line);padding-top:1rem}
.selected-work a{text-decoration:none}
.selected-media{overflow:hidden}
.selected-media img{width:100%;object-fit:cover;transition:transform .8s ease}
.selected-work:hover img{transform:scale(1.025)}
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-panel{background:var(--bg);padding:4rem;min-height:70vh;display:flex;flex-direction:column;justify-content:space-between}
.feature-panel img{width:100%;height:48vh;object-fit:cover}
.feature-panel a{text-decoration:none}
.home-about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem}
.home-about-grid img{height:68vh;object-fit:cover;width:100%}

/* ARCHIVE */
.page-hero{padding:10.5rem 0 4.5rem}
.archive-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.filter-btn{border:1px solid var(--line);background:transparent;padding:.65rem 1rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.filter-btn.active,.filter-btn:hover{background:#111;color:white;border-color:#111}
.project-card{border-top:1px solid var(--line);padding-top:1rem}
.project-link{text-decoration:none}
.project-media{position:relative;overflow:hidden}
.project-media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .75s ease,filter .45s}
.project-card:hover img{transform:scale(1.025)}
.project-title{font-size:2.05rem;line-height:1.02;margin:.35rem 0 0}
.project-hover{position:absolute;right:1rem;bottom:1rem;background:rgba(248,248,246,.95);padding:.6rem .75rem;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.35s}
.project-card:hover .project-hover{opacity:1;transform:none}
.project-item.is-hidden{display:none!important}
.archive-pagination{display:flex;justify-content:center;gap:.4rem}
.archive-pagination a{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;font-size:.75rem}
.archive-pagination a.active,.archive-pagination a:hover{background:#111;color:#fff}

/* ABOUT */
.about-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:6rem;align-items:center}
.about-intro img{width:100%;height:78vh;object-fit:cover}
.philosophy-item{border-top:1px solid var(--line);padding-top:1rem}
.philosophy-item h3{font-family:var(--serif);font-size:3rem}
.awards-list{border-top:1px solid var(--line)}
.award-row{display:grid;grid-template-columns:120px 1fr 180px;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--line);align-items:start}
.award-title{font-family:var(--serif);font-size:2rem;line-height:1}
.award-note{color:#555}
.cv-row{display:grid;grid-template-columns:110px 1fr;gap:2rem;padding:1.2rem 0;border-top:1px solid var(--line)}

/* PROJECT DETAIL */
.project-hero{padding:10rem 0 4rem}
.project-hero-image{width:100%;height:82vh;object-fit:cover}
.project-index{position:sticky;top:112px}
.project-index a{display:block;padding:.4rem 0;text-decoration:none;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.project-index a.active{color:#111}
.project-section{padding:6.5rem 0;border-top:1px solid var(--line)}
.project-gallery-two{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem}
.project-gallery-two img{width:100%;height:72vh;object-fit:cover}

/* BLOG */
.blog-feature{padding:10.5rem 0 6rem}
.blog-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end}
.blog-feature-grid img{width:100%;height:72vh;object-fit:cover}
.blog-feature-title{font-family:var(--serif);font-size:clamp(3.3rem,6.3vw,6.7rem);line-height:.88;letter-spacing:-.035em}
.blog-card{border-top:1px solid var(--line);padding-top:1rem}
.blog-card a{text-decoration:none}
.blog-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}
.blog-card:hover img{transform:scale(1.02)}
.blog-title{font-family:var(--serif);font-size:2.25rem;line-height:1.03;margin:.6rem 0}
.blog-excerpt{color:#555}
.blog-item.is-hidden{display:none!important}

/* ARTICLE */
.article-hero{padding:10.5rem 0 4rem}
.article-title{font-size:clamp(3.8rem,7.5vw,7.8rem);line-height:.86;letter-spacing:-.04em}
.article-deck{font-family:var(--serif);font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.1;color:#333}
.article-hero-image{width:100%;height:76vh;object-fit:cover;margin-top:3rem}
.article-meta{position:sticky;top:112px}
.article-body{font-family:var(--serif);font-size:1.34rem;line-height:1.65;max-width:780px}
.article-body p{margin-bottom:1.8rem}
.article-body h2{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1;margin:4.8rem 0 1.5rem}
.article-body blockquote{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.05;margin:4rem 0;padding-left:1.5rem;border-left:1px solid #111}
.article-body figure{margin:4rem 0}
.article-body figure img{width:100%;max-height:82vh;object-fit:cover}
.article-body figcaption{font-family:var(--sans);font-size:.7rem;letter-spacing:.08em;color:var(--muted);margin-top:.7rem}

/* CONTACT */
.form-control{border:0;border-bottom:1px solid #bbb;background:transparent;border-radius:0;padding:1rem 0}
.form-control:focus{box-shadow:none;background:transparent;border-color:#111}
.minimal-btn{border:1px solid #111;background:transparent;padding:.95rem 1.25rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.minimal-btn:hover{background:#111;color:#fff}

/* FOOTER */
.site-footer{border-top:1px solid var(--line)}
.footer-word{font-size:clamp(4.5rem,13vw,12rem);line-height:.75;letter-spacing:.02em}
.site-footer a{text-decoration:none}

/* ANIMATION */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s ease}
[data-reveal].is-visible{opacity:1;transform:none}
[data-mask]{overflow:hidden}
[data-mask] img{clip-path:inset(0 0 100% 0);transform:scale(1.05);transition:clip-path 1s cubic-bezier(.2,.7,.2,1),transform 1.1s}
[data-mask].is-visible img{clip-path:inset(0);transform:scale(1)}
.scroll-progress{position:fixed;left:0;top:0;height:2px;background:#111;z-index:2000;width:0}

@media(max-width:991px){
 .section-space{padding:5.5rem 0}.section-space-sm{padding:4rem 0}
 .home-hero{padding-top:8rem}.home-hero-media img,.portrait,.about-intro img,.project-hero-image,.article-hero-image{height:60vh}
 .feature-split,.home-about-grid,.about-intro,.blog-feature-grid{grid-template-columns:1fr}
 .feature-panel{min-height:auto;padding:3rem 1.25rem}.feature-panel img{height:55vh}
 .home-about-grid{gap:2rem}
 .award-row{grid-template-columns:80px 1fr}.award-row .award-side{grid-column:2}
 .project-index,.article-meta{position:static;border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2rem}
 .project-gallery-two{grid-template-columns:1fr}.project-gallery-two img{height:58vh}
}
@media(max-width:575px){
 .display-title{font-size:4.2rem}.section-title{font-size:3rem}.statement{font-size:2.35rem}
 .section-space{padding:4.5rem 0}.page-hero{padding-top:8.5rem}
 .award-row{grid-template-columns:1fr;gap:.5rem}.award-row .award-side{grid-column:auto}
}
