:root{--ink:#171714;--paper:#f2f0e9;--accent:#c55432;--muted:#77756d;--line:#d2cfc4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative}
.logo{font-size:1.25rem;font-weight:800;letter-spacing:-.05em}
.logo span{color:var(--accent)}
nav{display:flex;gap:2rem}
nav a{font-size:.85rem}
nav a[aria-current=page]{color:var(--accent)}
.menu{display:none;border:0;background:none}
.hero,.page-hero{padding:10vw 7vw 11vw;min-height:74vh}
.hero h1,.page-hero h1,.learning-hero h1{font-family:Georgia,serif;font-size:clamp(4rem,10vw,9.5rem);font-weight:400;line-height:.84;letter-spacing:-.06em;margin:.2em 0}
.hero em{color:var(--accent);font-weight:400}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700}
.lede{max-width:640px;font-family:Georgia,serif;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.4;color:#46453f}
.actions{display:flex;align-items:center;gap:2rem;margin-top:2.5rem}
.button{display:inline-block;background:var(--ink);color:#fff;padding:1rem 1.4rem;font-weight:700;font-size:.85rem}
.button.light{background:var(--paper);color:var(--ink)}
.text-link{border-bottom:1px solid;padding-bottom:.25rem}
.split,.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:9vw 7vw;border-top:1px solid var(--line)}
h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,5.5rem);line-height:.98;letter-spacing:-.04em;margin:.3em 0}
.services article{display:grid;grid-template-columns:3rem 1fr;padding:1.5rem 0;border-top:1px solid var(--line)}
.services article span{font-size:.7rem;color:var(--accent)}
.services article h3{margin:0;font-family:Georgia,serif;font-size:1.6rem;font-weight:400}
.services article p{grid-column:2;color:var(--muted);line-height:1.6}
.featured,.works-section{padding:8vw 7vw}
.section-head{display:flex;justify-content:space-between;align-items:end}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.cover{aspect-ratio:1;background:#ddd8ca;display:grid;place-items:center;color:#8b877c;font-size:.75rem;background-size:cover;background-position:center}
.work-meta{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}
.work-meta h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;margin:0}
.work-meta p{font-size:.72rem;color:var(--muted)}
.work-meta>span{font-size:.75rem}
.cta,.learning-hero{padding:10vw 7vw;background:var(--ink);color:var(--paper)}
.cta p{max-width:600px;line-height:1.6;color:#aaa89f}
.cta .eyebrow{color:#df7655}
.learning-hero{min-height:78vh}
.learning-hero .lede{color:#b9b6ac}
.prose-grid p{font-family:Georgia,serif;font-size:1.3rem;line-height:1.6;margin-top:0}
.muted{color:var(--muted)!important;font-family:Arial,Helvetica,sans-serif!important;font-size:.85rem!important}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}
.filter{border:1px solid var(--line);background:transparent;padding:.7rem 1rem;cursor:pointer}
.filter.active{background:var(--ink);color:white}
.contact-panel{margin:0 7vw 8vw;padding:5vw 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-link{font-family:Georgia,serif;font-size:clamp(1.5rem,4vw,4rem);border-bottom:1px solid}
footer{padding:3rem 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted)}
@media(max-width:760px){.header{height:72px}
.menu{display:block}
nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:2rem 5vw;z-index:10;border-bottom:1px solid var(--line);flex-direction:column}
nav.open{display:flex}
.hero,.page-hero,.learning-hero{padding:22vw 6vw;min-height:65vh}
.hero h1,.page-hero h1,.learning-hero h1{font-size:18vw}
.split,.prose-grid,.contact-panel{grid-template-columns:1fr;padding:18vw 6vw}
.work-grid{grid-template-columns:1fr}
.featured,.works-section{padding:16vw 6vw}
.section-head{align-items:start}
.actions{align-items:start;flex-direction:column}
footer{align-items:start;flex-direction:column;gap:1rem}
.contact-panel{margin:0}
.contact-link{font-size:7vw}
}

/* Keep the mobile navigation above cinematic and sticky page layers. */
site-header{display:block;position:relative;z-index:1000}
.header{z-index:1000}
@media(max-width:760px){
.menu{position:relative;z-index:1002;cursor:pointer;touch-action:manipulation}
nav{z-index:1001!important;padding:1rem 5vw 1.4rem!important;gap:.15rem!important;pointer-events:auto}
nav>a,.languages a{display:flex;align-items:center;min-height:48px;position:relative;z-index:1;touch-action:manipulation}
.languages{display:flex;align-items:center;gap:.45rem;min-height:48px}
}
