:root { --ink:#171716; --paper:#f6f3ed; --white:#fffefa; --line:#cfcac2; --muted:#6e6a64; --serif:"Cormorant Garamond", Georgia, serif; --sans:Manrope, Arial, sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:14px; } a { color:inherit; text-decoration:none; } img { display:block; width:100%; height:100%; object-fit:cover; } figure { margin:0; }
.section-pad { padding-left:clamp(24px, 6vw, 96px); padding-right:clamp(24px, 6vw, 96px); }
.site-header { height:86px; padding:0 clamp(24px, 6vw, 96px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid transparent; }
.wordmark { font-family:var(--sans); font-size:13px; font-weight:700; letter-spacing:.23em; }.wordmark span { font-size:9px; font-weight:500; letter-spacing:.2em; margin-left:4px; }
.navigation { display:flex; gap:28px; align-items:center; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }.nav-contact { border-bottom:1px solid var(--ink); padding-bottom:4px; }.menu-button { display:none; border:0; background:none; font:700 10px var(--sans); text-transform:uppercase; letter-spacing:.1em; }
.hero { display:grid; grid-template-columns:.86fr 1.14fr; min-height:calc(100vh - 86px); gap:9vw; align-items:center; padding-top:42px; padding-bottom:42px; }.eyebrow { margin:0 0 20px; font-size:9px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; }.hero h1,.statement h2,.editorial-copy h2,.contact h2 { font:500 clamp(64px, 8vw, 128px)/.78 var(--serif); letter-spacing:-.06em; margin:0; }.hero h1 em,.statement h2 em,.editorial-copy h2 em,.contact h2 em { font-weight:400; }.intro { max-width:350px; font-size:14px; line-height:1.75; margin:34px 0; }.text-link { display:inline-block; border-bottom:1px solid var(--ink); padding-bottom:6px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }.text-link span { margin-left:14px; font-size:17px; vertical-align:-1px; }.text-link-strong { border-bottom-width:2px; }.hero-visual { position:relative; height:min(680px, 72vh); overflow:hidden; }.hero-caption { position:absolute; bottom:0; left:0; background:var(--paper); padding:16px 22px 0 0; margin:0; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; line-height:1.65; }.hero-caption span { color:var(--muted); font-weight:500; }
.statement { padding-top:150px; padding-bottom:125px; }.statement-main { display:grid; grid-template-columns:1.5fr .7fr; gap:10vw; align-items:end; }.statement h2 { font-size:clamp(64px, 7.1vw, 112px); }.statement-detail { max-width:340px; }.statement-detail p,.editorial-copy>p,.contact>p { font-size:14px; line-height:1.8; }
.image-pair { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; align-items:end; padding-bottom:140px; }.image-pair figure { height:360px; overflow:hidden; }.image-pair .image-pair-large { height:560px; }
.services { background:var(--white); padding-top:106px; padding-bottom:90px; }.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:baseline; margin-bottom:44px; }.section-heading>p:not(.eyebrow) { max-width:310px; margin:0; font:500 29px/1 var(--serif); letter-spacing:-.03em; }.service-list { border-top:1px solid var(--line); }.service { display:grid; grid-template-columns:65px 1fr 1fr 25px; gap:30px; align-items:center; border-bottom:1px solid var(--line); padding:28px 0; transition:padding .25s ease; }.service:hover { padding-left:12px; }.service span { font-size:9px; color:var(--muted); letter-spacing:.1em; }.service h3 { font:500 30px/.86 var(--serif); margin:0; letter-spacing:-.04em; }.service p { margin:0; max-width:330px; font-size:11px; line-height:1.75; }.service b { font-weight:400; font-size:20px; }
.editorial { display:grid; grid-template-columns:1fr 1fr; background:var(--ink); color:var(--paper); }.editorial-image { min-height:650px; }.editorial-copy { display:flex; flex-direction:column; justify-content:center; max-width:650px; }.editorial-copy h2 { font-size:clamp(58px, 6.6vw, 98px); }.editorial-copy>p { max-width:390px; margin:36px 0; }.editorial .text-link { border-color:var(--paper); align-self:flex-start; }
.journal { padding-top:120px; padding-bottom:120px; }.story-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:22px; align-items:end; }.story img { aspect-ratio:.85 / 1; }.story-large img { aspect-ratio:1.08 / 1; }.story p { margin:17px 0 8px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }.story h3 { margin:0; font:500 30px/.95 var(--serif); letter-spacing:-.03em; }.full-bleed-image { height:min(70vw, 700px); overflow:hidden; }.full-bleed-image img { object-position:center; }
.contact { background:var(--white); text-align:center; padding-top:130px; padding-bottom:125px; border-top:1px solid var(--line); }.contact h2 { font-size:clamp(72px, 9vw, 138px); }.contact>p { max-width:400px; margin:30px auto; }.button { display:inline-flex; gap:25px; align-items:center; padding:16px 20px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }.button span { font-size:16px; line-height:10px; }.button-dark { color:var(--paper); background:var(--ink); }.contact-note { margin:17px auto 0!important; font-size:9px!important; opacity:.65; }
.site-footer { background:var(--ink); color:var(--paper); padding-top:58px; padding-bottom:28px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:35px; }.site-footer .wordmark { font-size:14px; }.site-footer div { display:flex; flex-direction:column; gap:10px; font-size:10px; line-height:1.7; }.site-footer p { margin:0; }.copyright { grid-column:1/-1; border-top:1px solid #55534f; padding-top:22px; margin-top:50px!important; font-size:9px; color:#bdb9b3; }
@media (max-width:700px) { .site-header { height:70px; }.navigation { display:none; position:absolute; top:70px; left:0; right:0; background:var(--paper); padding:25px; z-index:2; flex-direction:column; align-items:flex-start; }.navigation.open { display:flex; }.menu-button { display:block; }.hero { min-height:auto; display:flex; flex-direction:column; align-items:stretch; gap:48px; padding-top:50px; padding-bottom:24px; }.hero h1 { font-size:clamp(70px, 21vw, 98px); }.hero-visual { height:510px; }.statement { padding-top:105px; padding-bottom:90px; }.statement-main { display:block; }.statement-detail { margin-top:38px; }.image-pair { grid-template-columns:1fr; gap:12px; padding-bottom:88px; }.image-pair figure,.image-pair .image-pair-large { height:400px; }.image-pair figure:last-child { height:280px; }.services { padding-top:75px; padding-bottom:60px; }.section-heading { display:block; }.section-heading>p:not(.eyebrow) { margin-top:20px; }.service { grid-template-columns:35px 1fr 20px; gap:14px; padding:22px 0; }.service h3 { font-size:27px; }.service p { grid-column:2/-1; font-size:11px; }.editorial { display:flex; flex-direction:column; }.editorial-image { min-height:490px; }.editorial-copy { min-height:500px; }.journal { padding-top:80px; padding-bottom:82px; }.story-grid { display:block; }.story { margin-bottom:45px; }.story-large img,.story img { aspect-ratio:1 / 1.05; }.story:last-child { margin-bottom:0; }.full-bleed-image { height:460px; }.contact { padding-top:90px; padding-bottom:88px; }.site-footer { grid-template-columns:1fr 1fr; }.site-footer .wordmark { grid-column:1/-1; margin-bottom:20px; }.copyright { margin-top:30px!important; } }


/* SVG interface icons stay consistent across devices. */
.arrow-icon { display:inline-block; width:1.15em; height:1.15em; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; vertical-align:-0.14em; flex:0 0 auto; }
.text-link .arrow-icon { margin-left:14px; font-size:17px; }
.button .arrow-icon, .hero-inquire .arrow-icon { margin-left:auto; font-size:16px; }
.service-arrow { width:20px; height:20px; justify-self:end; }

/* Dedicated service stories */
.services { display:block; }
.services-title { max-width:540px; margin-bottom:58px; }
.service-showcase { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.service-feature { position:relative; min-height:clamp(510px,57vw,720px); overflow:hidden; background:#1b1a18; color:#fffefa; isolation:isolate; }
.service-feature-media,.service-feature-media img,.service-feature-media video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-feature-media img,.service-feature-media video { transition:transform .7s cubic-bezier(.2,.65,.3,1); }
.service-feature:focus-within .service-feature-media img,.service-feature:hover .service-feature-media img,.service-feature:focus-within .service-feature-media video,.service-feature:hover .service-feature-media video { transform:scale(1.035); }
.service-feature::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.70) 100%); }
.service-feature-copy { position:relative; z-index:1; height:100%; padding:clamp(22px,3vw,43px); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.service-number { position:absolute; top:clamp(22px,3vw,43px); left:clamp(22px,3vw,43px); margin:0; font:700 8px/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; }
.service-feature h3 { margin:0; font:500 clamp(45px,4.7vw,76px)/.78 var(--serif); letter-spacing:-.055em; }
.service-feature-copy > p:not(.service-number) { max-width:390px; margin:20px 0 24px; font:500 11px/1.75 var(--sans); }
.service-feature-copy a { display:inline-flex; align-items:center; gap:16px; padding-bottom:6px; border-bottom:1px solid currentColor; font:700 9px/1 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.service-feature-copy a .arrow-icon { width:15px; height:15px; }
@media (max-width:700px) {
  .services-title { margin-bottom:38px; }
  .service-showcase { grid-template-columns:1fr; gap:12px; }
  .service-feature { min-height:500px; }
  .service-feature h3 { font-size:58px; }
  .service-feature-copy > p:not(.service-number) { font-size:10px; max-width:310px; }
}