/* Portfolio cards: explicit, repeatable roles keep captions attached to their photos. */
:root{--portfolio-space:var(--space-section);--portfolio-gap:clamp(20px,3vw,40px);--portfolio-serif:var(--font-editorial);--portfolio-muted:var(--muted);--portfolio-line:var(--line)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.portfolio-page{padding-top:44px}.portfolio-kicker{font-size:10px;letter-spacing:.13em;line-height:1.7;text-transform:uppercase;color:var(--wine);margin:0 0 14px}.portfolio-introduction{padding-bottom:28px}.portfolio-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px}.portfolio-introduction h1{font-size:var(--text-h1);line-height:1.08;letter-spacing:-.045em}.portfolio-introduction em{color:var(--wine);font-weight:400}.portfolio-intro-bottom>p{max-width:340px;font-size:13px;color:var(--muted);margin:0}.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:32px;padding-top:12px;border-top:1px solid var(--line)}.portfolio-filters button{min-height:44px;padding:8px 0;background:none;border:0;color:var(--muted);font:12px var(--font-ui)}.portfolio-filters [aria-pressed=true]{color:var(--wine);text-decoration:underline;text-underline-offset:7px}.portfolio-filters span{font-size:10px;vertical-align:super;margin-left:4px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;align-items:start}.portfolio-work{min-width:0}.portfolio-work--featured{grid-column:1/-1}.portfolio-grid:not(:has(.portfolio-work--featured)) .portfolio-work:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,760px)}.portfolio-work:only-child{grid-column:1/-1;width:min(100%,840px)}.portfolio-media{position:relative}.portfolio-photo{display:block;position:relative;width:100%;padding:0;border:0;background:#eee8de;color:var(--wine);text-align:left;cursor:zoom-in;overflow:hidden}.portfolio-photo img{display:block;width:100%;height:auto;object-fit:contain}.portfolio-work .portfolio-photo{aspect-ratio:4/5;max-height:560px}.portfolio-work--featured .portfolio-photo{aspect-ratio:16/10;max-height:620px}.portfolio-work--editorial .portfolio-photo{aspect-ratio:3/2}.portfolio-work .portfolio-photo img{width:100%;height:100%;object-fit:contain;object-position:center}.portfolio-photo-cue{position:absolute;bottom:12px;right:12px;background:var(--paper);padding:6px 9px;font-size:10px;opacity:0;transition:opacity var(--ease)}.portfolio-photo:hover .portfolio-photo-cue,.portfolio-photo:focus-visible .portfolio-photo-cue{opacity:1}.portfolio-copy{display:grid;grid-template-columns:26px minmax(0,1fr) 44px;gap:12px;padding-top:18px;align-items:start}.portfolio-copy h2{font-size:var(--text-h3);letter-spacing:-.025em;line-height:1.16;overflow-wrap:anywhere}.portfolio-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.portfolio-copy .portfolio-kicker{font-size:10px;color:var(--muted);margin-bottom:6px;letter-spacing:.07em}.portfolio-number{font-size:10px;color:var(--wine);padding-top:3px}.portfolio-link{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:24px}.portfolio-transform-label{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;min-height:36px;padding:6px 10px;background:var(--wine);color:var(--cream);font-size:10px}.portfolio-no-photo{display:grid;place-items:center;aspect-ratio:4/5;background:#eee8de;color:var(--wine);font-size:14px}.portfolio.is-filtered .portfolio-work{grid-column:auto;width:auto}.portfolio.is-filtered.has-single-result .portfolio-work{width:min(100%,620px);grid-column:1/-1}.portfolio.is-filtered .portfolio-work .portfolio-photo{aspect-ratio:4/5;max-height:540px}.portfolio-transformations{margin-top:var(--space-section)}.portfolio-chapter{border-top:1px solid var(--line);padding-block:32px}.portfolio-chapter h2,.project-chapter-heading h2{font-size:var(--text-h2)}
/* Detail photos have natural proportions; no fallback repeats a gallery image. */
.project-story{padding-top:32px}.portfolio-back{display:inline-block;font-size:12px;min-height:44px;margin-bottom:20px;color:var(--muted)}.project-story-intro{display:block;margin-bottom:36px;padding:0;height:auto;background:none;color:var(--ink)}.project-story-intro>.portfolio-kicker{grid-column:1/-1}.project-story-intro h1{font-size:var(--text-h1);letter-spacing:-.04em;line-height:1.08;max-width:900px}.project-story-description{margin-top:26px;max-width:68ch}.project-story-hero{margin:0}.project-story-hero .portfolio-photo{background:transparent;max-width:1080px;margin:auto}.project-story-hero img{width:100%;height:auto;max-height:600px;object-fit:contain}.project-story--portrait{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:0 7%}.project-story--portrait>.portfolio-back{grid-column:1/-1}.project-story--portrait>.project-story-intro{display:block;align-self:start;padding-top:28px}.project-story--portrait>.project-story-hero{grid-column:2;grid-row:2}.project-story--portrait>.project-story-chapter,.project-story--portrait>.next-project,.project-story--portrait>.project-video{grid-column:1/-1}.project-story--portrait .project-story-hero img{max-height:580px}.project-story-chapter{margin-top:clamp(32px,4.5vw,64px)}.project-story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:start}.project-story-gallery[data-photo-count="1"]{grid-template-columns:minmax(0,920px);justify-content:center}.project-story-detail{margin:0;min-width:0}.project-story-detail .portfolio-photo{background:transparent}.project-story-detail img{width:100%;height:auto;max-height:560px;object-fit:contain}.project-story-detail figcaption,.project-story-finale figcaption{margin-top:12px;font-size:12px;color:var(--muted)}.project-application{max-width:800px}.project-application>p:last-child{font-size:15px;line-height:1.9;color:var(--muted)}.project-chapter-heading{margin-bottom:28px}.project-story-finale figure{margin:0}.project-story-finale .portfolio-photo{max-width:960px;background:transparent;margin:auto}.project-story-finale img{width:100%;height:auto;max-height:600px;object-fit:contain}.project-video{display:block;width:100%;max-height:650px;object-fit:contain;margin-block:40px}.next-project{display:block;position:static;background:none;color:var(--ink);border-top:1px solid var(--line);margin-top:var(--space-section);padding:32px 0}.next-project-title{display:flex;justify-content:space-between;gap:24px;font:var(--text-h2)/1.15 var(--font-editorial);letter-spacing:-.03em}.next-project-title>span{font-size:.7em;color:var(--wine)}
/* Immersive opening with a quiet, manual carousel. */
.studio-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--wine);color:var(--paper);--home-header-height:228px;height:max(520px,calc(100svh - var(--home-header-height)));touch-action:pan-y pinch-zoom}.studio-hero-slide{position:absolute;inset:0;isolation:isolate}.studio-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 60%;pointer-events:none;user-select:none}.studio-hero-slide:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1d1916b8,transparent 90%),linear-gradient(0deg,#1d1916b3,transparent 75%)}.studio-hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:end;padding-block:54px 122px}.studio-hero-content .eyebrow{color:var(--cream);margin-bottom:20px}.studio-hero h1,.studio-hero h2{font-size:var(--text-display);max-width:760px;line-height:1.05;letter-spacing:-.045em}.studio-hero-bottom{margin-top:24px}.studio-hero-bottom p{max-width:370px;margin:0;font-size:14px;line-height:1.8;color:var(--paper)}.studio-hero-link{position:absolute;bottom:30px;left:0;display:flex;align-items:center;gap:24px;min-height:44px;font-size:12px;color:var(--cream)}.studio-hero-link span{font-size:24px}.studio-hero-link:hover{text-decoration:underline;text-underline-offset:6px}.studio-hero-note{position:absolute;top:24px;right:6%;font-size:9px;letter-spacing:.14em;color:var(--cream)}.studio-hero-controls{position:absolute;right:6%;bottom:26px;display:flex;gap:14px;align-items:center}.studio-hero-controls>button{border:0;background:none;color:var(--cream);width:44px;height:44px;font-size:24px}.studio-hero-dots{display:flex}.studio-hero-dots button{display:grid;place-items:center;width:28px;height:44px;border:0;background:none;padding:0}.studio-hero-dots span{width:16px;height:2px;background:#ead7b277}.studio-hero-dots [aria-current=true] span{background:var(--cream)}.studio-hero-controls button:hover{background:#f7f4ee18}
.brand-introduction{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-block:48px;border-bottom:1px solid var(--line);align-items:start}.brand-introduction .eyebrow{margin:8px 0}.brand-introduction p:last-child{font:clamp(23px,2.7vw,36px)/1.4 var(--font-editorial);max-width:840px;margin:0;letter-spacing:-.02em}.home-page .selected{padding-block:56px var(--space-section)}.home-page .section-heading{margin-bottom:32px}.home-page .section-heading h2{font-size:var(--text-h2)}.home-page .section-heading .eyebrow{margin-bottom:14px}.home-page .section-heading>p{max-width:280px}.home-page .transformation{padding-block:var(--space-section);border-bottom:1px solid var(--line)}.home-page .spaces{padding-block:64px;background:#eee8de}.home-page .space-layout{grid-template-columns:1.1fr 1fr;gap:8%}.home-page .space-photo{height:auto;aspect-ratio:4/3}.space-photo img{width:100%;height:100%;object-fit:cover}.home-page .space-link{font-size:24px;padding-block:18px}.home-page .story{padding-block:var(--space-section);gap:9%;grid-template-columns:1fr 1fr}.home-page .story h2{font-size:var(--text-h2)}.home-page .story figure img{height:auto;max-height:560px;object-fit:contain}.home-page .story:not(:has(figure)){max-width:1320px;display:block}.home-page .story:not(:has(figure)) .story-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px 9%}.home-page .story:not(:has(figure)) .eyebrow{grid-column:1/-1}.home-page .story:not(:has(figure)) h2{grid-row:2/4}.home-page .story:not(:has(figure)) .text-link{justify-self:start}.home-page .story .project-rich-content{font-size:15px;color:var(--muted);line-height:1.9}.craft{padding-bottom:var(--space-section)}.craft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.craft figure{margin:0}.craft img{aspect-ratio:4/5;object-fit:contain}.craft figcaption{font-size:12px;color:var(--muted);margin-top:12px}
@media(max-width:1024px){.portfolio-grid{gap:36px 24px}.portfolio-work .portfolio-photo{max-height:500px}.home-page .space-link{font-size:21px;padding-block:15px}}
@media(max-width:768px){.project-story--portrait{display:block}.project-story--portrait .project-story-hero img{max-height:520px}.project-story-intro{display:block}.project-story-intro h1{margin-bottom:22px}.project-story--portrait>.project-story-intro{padding-top:0}.portfolio-intro-bottom{display:block}.portfolio-intro-bottom>p{margin-top:20px}.studio-hero{--home-header-height:121px}.studio-hero h1,.studio-hero h2{font-size:54px}.studio-hero-content{padding-bottom:140px}.home-page .story:not(:has(figure)) .story-copy{display:block}.home-page .story .project-rich-content{margin-top:24px}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:32px}.portfolio-work,.portfolio-work--featured,.portfolio-work:only-child,.portfolio.is-filtered .portfolio-work{grid-column:auto;width:100%}.portfolio-work .portfolio-photo,.portfolio-work--featured .portfolio-photo,.portfolio-work--editorial .portfolio-photo,.portfolio.is-filtered .portfolio-work .portfolio-photo{aspect-ratio:4/5;max-height:480px}.portfolio-copy{grid-template-columns:22px minmax(0,1fr) 44px;gap:8px;padding-top:14px}.portfolio-copy h2{font-size:27px}.portfolio-photo-cue{opacity:1;font-size:9px}.portfolio-page{padding-top:28px}.portfolio-introduction h1{font-size:42px}.portfolio-filters{gap:4px 18px}.project-story{padding-top:24px}.project-story-intro h1{font-size:42px}.project-story-hero img{max-height:500px}.project-story-gallery{grid-template-columns:1fr;gap:28px}.project-story-detail img,.project-story-finale img{max-height:480px}.project-story-chapter{margin-top:32px}.studio-hero-content{padding-block:48px 170px}.studio-hero h1,.studio-hero h2{font-size:44px;max-width:340px}.studio-hero-content .eyebrow{font-size:9px}.studio-hero-bottom p{font-size:13px;max-width:290px}.studio-hero-link{bottom:94px}.studio-hero-note{font-size:8px;top:22px}.studio-hero-controls{left:6%;right:auto;bottom:24px}.studio-hero-slide:after{background:linear-gradient(0deg,#1d1916e0,#1d191625)}.brand-introduction{display:block;padding-block:32px}.brand-introduction .eyebrow{margin-bottom:16px}.brand-introduction p:last-child{font-size:25px}.home-page .selected{padding-block:40px 48px}.home-page .section-heading{display:block;margin-bottom:24px}.home-page .section-heading>.text-link{margin-top:16px}.home-page .section-heading>p{font-size:13px;margin-top:20px}.home-page .spaces{padding-block:44px}.home-page .space-layout{display:block}.home-page .space-photo{aspect-ratio:4/3}.home-page .space-list{margin-top:20px}.home-page .space-link{font-size:23px;padding-block:16px}.home-page .story,.home-page .story:not(:has(figure)){display:block;padding-block:48px}.home-page .story:not(:has(figure)) .story-copy{display:block}.home-page .story figure{margin-top:28px}.craft-grid{grid-template-columns:1fr}.next-project-title{font-size:32px}}
@media(prefers-reduced-motion:reduce){.portfolio-photo-cue{transition:none}}
