@font-face{font-family:'Shippori Mincho';src:url('/assets/shippori.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/instrument-serif.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
html[data-design][data-type=original] :is(h1,h2,h3){font-family:'Shippori Mincho',Georgia,serif;font-weight:600;letter-spacing:-.028em;line-height:1.17}
html[data-design][data-type=editorial] :is(h1,h2,h3){font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.014em;line-height:1.08}
html[data-design][data-type=modern] :is(h1,h2,h3){font-family:Inter,Arial,sans-serif;font-weight:400}
.cinematic h1{font-size:clamp(2.65rem,5.1vw,5rem);max-width:1100px}
.cinematic .hero-description{max-width:500px}
.font-picker{display:flex;align-items:center;gap:12px;border-left:1px solid #ffffff26;padding-left:16px;padding-right:6px;font-size:12px}
.font-picker select{appearance:none;-webkit-appearance:none;background:#ffffff0b;border:1px solid #ffffff20;color:#eeeae4;border-radius:100px;min-height:42px;padding:10px 15px;font:400 14px Inter,Arial,sans-serif;cursor:pointer;max-width:230px;color-scheme:dark}
.font-picker select:focus-visible{outline:2px solid #f0d5bd;outline-offset:3px}
.design-picker{gap:14px;max-width:calc(100% - 24px)}
@media(max-width:800px){.cinematic h1{font-size:clamp(2.4rem,6.8vw,3.8rem)}.design-picker>span{display:none}}
@media(max-width:540px){.design-picker{flex-wrap:wrap;justify-content:center;border-radius:22px;padding:8px;gap:5px 12px;width:max-content}.font-picker{border-left:0;padding:0;gap:8px}.font-picker>span{display:none}.font-picker select{max-width:180px;padding-inline:11px;font-size:13px}.design-picker button{padding-inline:12px;font-size:13px}.cinematic h1{font-size:clamp(2.15rem,8.3vw,2.8rem)}.cinematic .hero-content{padding-top:60px;padding-bottom:110px}.cinematic .hero-description{font-size:15px}}
/* Restored business context follows the same rhythm and layers as the rest. */
.approach-section{padding-block:10px 105px}
.approach-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:100px;align-items:start;margin-bottom:46px}
.approach-heading>.eyebrow{grid-column:1/-1;color:#cbb5a0}
.approach-heading h2{font-size:clamp(2.5rem,4vw,3.8rem)}
.approach-heading>p:not(.eyebrow){padding-top:6px;color:var(--muted);max-width:470px}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.approach-card{position:relative;padding:32px;border:1px solid var(--line);border-radius:16px;background:#1b222b;min-width:0}
.approach-index{display:block;color:#c7ad96;font-family:Inter,Arial,sans-serif;font-size:13px;letter-spacing:.08em;margin-bottom:30px}
.approach-card h3{font-size:27px;margin-bottom:20px;max-width:300px}
.approach-card>p{color:var(--muted);font-size:16px;line-height:1.7}
[data-design=light] .approach-card{background:#eeefeb}
[data-design=light] .approach-index,[data-design=light] .approach-heading>.eyebrow{color:#71563f}
.work-sections{padding-bottom:95px}
.work-section{display:grid;grid-template-columns:65px 1fr 1.2fr;gap:40px;padding:40px 0;border-top:1px solid var(--line)}
.work-section h2{font-size:32px;max-width:390px}
.work-section>p{color:var(--muted)}
.work-section .approach-index{padding-top:7px;margin:0}
@media(max-width:1150px){.approach-heading{gap:30px}.approach-card{padding:26px}.approach-card h3{font-size:24px}.work-section{gap:28px;grid-template-columns:40px 1fr 1.2fr}}
@media(max-width:800px){.approach-section{padding-bottom:75px}.approach-heading{grid-template-columns:1fr;gap:0;margin-bottom:30px}.approach-heading h2{font-size:36px;margin-bottom:25px}.approach-grid{grid-template-columns:1fr;gap:14px}.approach-card{padding:30px;display:grid;grid-template-columns:30px 1fr;gap:0 24px}.approach-card h3{max-width:none;font-size:27px}.approach-card>p{grid-column:2}.approach-index{padding-top:7px}.work-section{grid-template-columns:30px 1fr;gap:15px 24px}.work-section>p{grid-column:2}.work-section h2{font-size:29px}.work-sections{padding-bottom:60px}}
@media(max-width:480px){.approach-card{display:block;padding:27px}.approach-index{padding:0;margin-bottom:20px}.approach-heading h2{font-size:32px}.work-section{grid-template-columns:1fr;gap:16px}.work-section>p{grid-column:1}.work-section h2{font-size:28px}.work-section .approach-index{padding:0}}
@media(max-width:380px){footer{padding-bottom:135px}}
/* Clear separation: approach is editorial; application is a numbered journey. */
.context-nav{display:flex;gap:24px;align-items:center;padding-block:10px 24px;font-size:14px;line-height:1.5}
.context-nav a{padding:10px 0;color:var(--muted);border-bottom:2px solid transparent}
.context-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--peach)}
[data-design=light] .context-nav a[aria-current=page]{border-bottom-color:#71563f}
.context-nav a:hover{color:var(--ink)}
.work-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-block:30px 90px}
.work-intro-copy h1{font-size:clamp(3rem,5.7vw,5.3rem)}
.work-intro-copy .eyebrow{color:#cbb5a0}
.work-intro-copy .lead{font-size:19px;color:var(--muted);line-height:1.7;margin-top:30px;max-width:490px}
.work-portrait{height:530px;position:relative;isolation:isolate;overflow:hidden;border-radius:18px}
.work-portrait img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.work-portrait::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#11151bd9,transparent 55%);pointer-events:none}
.work-image-caption{position:absolute;z-index:2;bottom:34px;left:34px;font:400 25px/1.3 Inter,Arial,sans-serif;letter-spacing:-.03em;color:#f4ece5}
.work-principles{padding-bottom:90px}
.work-principles-heading{padding-block:10px 40px;max-width:850px}
.work-principles-heading .eyebrow{color:#cbb5a0}
.work-principles-heading h2{font-size:clamp(2.3rem,4vw,3.6rem)}
.work-principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.work-principle{padding-top:28px;border-top:1px solid var(--line)}
.work-principle .eyebrow{font-size:12px;color:#cbb5a0;margin-bottom:22px}
.work-principle h3{font-size:27px;margin-bottom:22px}
.work-principle>p:not(.eyebrow){color:var(--muted);line-height:1.75}
.work-process-link{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}
.work-process-link p{color:var(--muted)}
[data-design=light] :is(.work-intro-copy,.work-principles-heading,.work-principle) .eyebrow{color:#71563f}
.process-next{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:90px}
.process-next h2{font-size:clamp(2rem,3vw,3rem)}
.process-next .eyebrow{color:var(--muted);margin-bottom:16px}
.process-next .fine-print{margin-top:14px}
@media(max-width:1150px){.work-hero{gap:40px}.work-portrait{height:480px}.work-principles-grid{gap:25px}.work-principle h3{font-size:25px}}
@media(max-width:800px){.work-hero{grid-template-columns:1fr;gap:35px;padding-block:25px 60px}.work-intro-copy h1{font-size:clamp(2.8rem,8vw,4rem)}.work-intro-copy .lead{font-size:17px}.work-portrait{height:360px}.work-principles-grid{grid-template-columns:1fr;gap:30px}.work-principle h3{font-size:28px}.work-principle>p:not(.eyebrow){max-width:550px}.work-process-link,.process-next{flex-direction:column;align-items:flex-start;gap:22px}.work-principles{padding-bottom:65px}.process-next{padding-bottom:65px}}
@media(max-width:480px){.context-nav{gap:22px;font-size:13px;padding-bottom:12px}.work-intro-copy h1{font-size:clamp(2.5rem,10vw,3.3rem)}.work-portrait{height:320px}.work-image-caption{left:25px;bottom:25px;font-size:23px}}
/* Team: a photographic introduction and an editorial people directory. */
.team-feature{display:grid;grid-template-columns:1fr 1.12fr;gap:95px;padding-block:80px}
.team-story>.eyebrow{color:#cbb5a0}
.team-story h2{font-size:clamp(2.6rem,4.5vw,4.25rem);margin-bottom:28px}
.team-introduction{font-size:16px;line-height:1.75;color:var(--muted);max-width:40ch}
.team-scene{position:relative;isolation:isolate;overflow:hidden;margin:35px 0 0;height:300px;border-radius:12px}
.team-scene img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.55)}
.team-scene::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#11151bb3,transparent 60%);pointer-events:none}
.team-scene figcaption{position:absolute;left:24px;bottom:20px;z-index:2;color:#f7f1eb;font:400 13px/1.5 Inter,Arial,sans-serif;letter-spacing:.02em}
.team-directory{align-self:center;min-width:0}
.people-group+.people-group{margin-top:43px}
.team-directory .people-label{color:#d3b89f;margin-bottom:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.person{padding:25px 0 26px;border-bottom:1px solid var(--line)}
.person h3{font-size:clamp(1.7rem,2.8vw,2.5rem);margin-bottom:10px}
.person>p{font-family:Manrope,Inter,Arial,sans-serif;color:var(--muted);font-size:14px;line-height:1.6}
.team-contact{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between}
.team-contact p{font-size:13px;color:var(--muted)}
.team-contact a{font-size:14px;padding-bottom:3px;border-bottom:1px solid #cbb5a077;color:#e8d1bc}
[data-design=light] .team-story>.eyebrow,[data-design=light] .team-directory .people-label{color:#71563f}
[data-design=light] .team-contact a{color:#534131;border-bottom-color:#71563f66}
@media(max-width:1150px){.team-feature{gap:50px;padding-block:65px}.team-scene{height:290px}.person h3{font-size:30px}}
@media(max-width:800px){.team-feature{grid-template-columns:1fr;gap:45px;padding-block:50px}.team-story h2{font-size:42px}.team-story .team-introduction{max-width:48ch}.team-scene{height:270px;max-width:none;margin-top:28px}.team-directory{display:grid;grid-template-columns:1fr 1fr;gap:30px}.people-group+.people-group{margin-top:0}.person h3{font-size:27px}.team-contact{grid-column:1/-1;margin-top:0}}
@media(max-width:540px){.team-directory{grid-template-columns:1fr;gap:34px}.team-contact{grid-column:1}.team-story h2{font-size:38px}.team-scene{height:240px}.person h3{font-size:30px}.person{padding-block:24px}.team-directory .people-label{margin-bottom:4px}.team-contact{display:block}.team-contact p{margin-bottom:12px}.team-contact a{display:inline-block}}
