@import "tailwindcss";

:root { --ivory:#fefdf9; --paper:#fffefa; --graphite:#292927; --muted:#6b6966; --purple:#441469; --purple-dark:#2f123f; --purple-mid:#704b8c; --purple-pale:#c1adca; --line:rgba(41,41,39,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--graphite); font-family:Inter,Arial,sans-serif; background-image:linear-gradient(90deg,transparent calc(50% - .5px),rgba(68,20,105,.032) 50%,transparent calc(50% + .5px)); }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
.shell { width:min(100% - 48px,1440px); margin-inline:auto; }

.siteHeader { height:106px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:13px; width:max-content; }
.brandLogo { display:block;width:94px;height:34px;position:relative;flex:none; }
.brandLogo img { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center; }
.brandLogoReversed { opacity:0; }
.brand span { font-size:9px; line-height:1.08; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.siteHeader nav { display:flex; gap:32px; font-size:13px; }
.siteHeader nav a { position:relative; }
.siteHeader nav a::after { content:""; height:1px; position:absolute; inset:auto 100% -7px 0; background:var(--purple); transition:inset .2s ease; }
.siteHeader nav a:hover::after,.siteHeader nav a:focus-visible::after { inset-right:0; }
.menuMark { justify-self:end; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; display:grid; place-content:center; gap:4px; }
.menuMark span { display:block; width:12px; height:1px; background:var(--graphite); }

.siteHeaderOverlay { position:absolute;inset:0 0 auto;z-index:20;color:#fff;border-bottom-color:rgba(255,255,255,.25); }
.siteHeaderOverlay .brand span { color:rgba(255,255,255,.65); }
.siteHeaderOverlay .brandLogoColor { opacity:0; }.siteHeaderOverlay .brandLogoReversed { opacity:1; }
.siteHeaderOverlay nav a::after { background:#fff; }
.siteHeaderOverlay .menuMark { border-color:rgba(255,255,255,.38); }
.siteHeaderOverlay .menuMark span { background:#fff; }

.visualHero { min-height:100svh;position:relative;overflow:hidden;background:var(--purple-dark);color:#fff;isolation:isolate; }
.visualHeroMedia,.visualHeroMedia>div,.visualHeroVeil,.visualHeroGrid { position:absolute;inset:0; }
.visualHeroMedia { z-index:-4; }
.visualHeroMedia>div { opacity:0;transition:opacity .9s ease; }
.visualHeroMedia>div.active { opacity:1; }
.visualHeroMedia img { width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 7s ease; }
.visualHeroMedia>div.active img { transform:scale(1); }
.visualHeroMedia strong { width:100%;height:100%;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:clamp(150px,34vw,520px);letter-spacing:-.1em;color:#a98bb4; }
.visualHeroVeil { z-index:-3;background:linear-gradient(90deg,rgba(24,20,26,.88) 0%,rgba(64,37,74,.34) 56%,rgba(24,20,26,.5) 100%),linear-gradient(0deg,rgba(19,17,20,.86) 0%,transparent 54%); }
.visualHeroGrid { z-index:-2;display:grid;grid-template-columns:repeat(4,1fr);padding-inline:max(24px,calc((100vw - 1440px)/2));pointer-events:none; }
.visualHeroGrid i { border-left:1px solid rgba(255,255,255,.13);position:relative; }.visualHeroGrid i::after { content:"";position:absolute;left:-5px;top:58%;width:10px;height:18px;border:1px solid rgba(216,195,223,.75);border-radius:99px;background:rgba(64,37,74,.22);backdrop-filter:blur(5px); }.visualHeroGrid i:nth-child(2)::after { top:31%;height:10px; }.visualHeroGrid i:nth-child(3)::after { top:72%;height:26px; }.visualHeroGrid i:last-child { border-right:1px solid rgba(255,255,255,.13); }
.visualHeroContent { min-height:100svh;padding-top:154px;padding-bottom:34px;display:grid;grid-template-columns:1fr 2fr;grid-template-rows:auto 1fr auto;gap:40px;position:relative; }
.visualHeroIntro { grid-column:1;max-width:330px; }
.visualHeroIntro span,.visualHeroProject>span { font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#d2c2d8; }
.visualHeroIntro p { font-family:Georgia,serif;font-size:17px;line-height:1.55;color:rgba(255,255,255,.8); }
.visualHeroProject { grid-column:2;align-self:end;padding-bottom:28px;max-width:940px; }
.visualHeroProject h1 { font-family:Manrope,sans-serif;font-size:clamp(58px,8.2vw,126px);line-height:.86;letter-spacing:-.075em;font-weight:520;margin:18px 0 24px;text-wrap:balance; }
.visualHeroProject p { max-width:620px;font-family:Georgia,serif;font-size:clamp(17px,1.5vw,22px);line-height:1.55;color:rgba(255,255,255,.8); }
.visualHeroProject>a { display:inline-block;margin-top:20px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.72);font-size:11px;text-transform:uppercase;letter-spacing:.13em; }
.visualHeroNav { grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr auto;gap:40px;align-items:center;border-top:1px solid rgba(255,255,255,.25);padding-top:22px; }
.visualHeroNav>div:first-child { display:flex;gap:20px; }.visualHeroNav button { color:#fff;background:transparent;border:0;padding:0;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.12em; }
.visualDots { display:flex;gap:8px; }.visualDots button { width:clamp(26px,4vw,58px);height:2px;background:rgba(255,255,255,.32);transition:background .25s,width .25s; }.visualDots button.active { background:#fff; }
.visualHeroNav>span { font-size:10px;letter-spacing:.15em;color:rgba(255,255,255,.7); }
.capabilityTicker { overflow:hidden;background:linear-gradient(90deg,var(--purple-dark),var(--purple),var(--purple-mid));color:#fff;border-block:1px solid rgba(255,255,255,.18); }
.capabilityTicker>div { width:max-content;display:flex;align-items:center;animation:ticker 28s linear infinite; }
.capabilityTicker span { display:flex;align-items:center;gap:42px;padding:18px 21px;font-family:Manrope,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap; }
.capabilityTicker span::after { content:"";width:7px;height:7px;border:1px solid #fff;border-radius:50%;margin-left:21px; }
@keyframes ticker { to { transform:translateX(-50%); } }

.visualArchive { padding-block:145px 130px; }
.visualArchive>header { display:grid;grid-template-columns:.7fr 1.45fr .85fr;gap:48px;align-items:start;margin-bottom:82px; }
.visualArchive>header>div { display:flex;flex-direction:column;gap:15px; }.visualArchive>header>div span { font-family:Georgia,serif;font-style:italic;color:var(--purple);display:flex;align-items:center;gap:12px; }.visualArchive>header>div span::after { content:"";width:34px;height:8px;border:1px solid var(--purple);border-radius:99px; }.visualArchive>header>div small { font-size:10px;text-transform:uppercase;letter-spacing:.16em; }
.visualArchive h2 { margin:0;font-family:Manrope,sans-serif;font-size:clamp(46px,5.5vw,82px);line-height:.96;letter-spacing:-.06em;font-weight:520; }
.visualArchive h2 em { color:var(--purple); }.visualArchive>header>p { margin:0;color:var(--muted);line-height:1.7;font-size:16px; }
.visualProjectGrid { display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:18px; }
.visualProject { position:relative;overflow:hidden;background:#d8d2c9;color:#fff;isolation:isolate; }
.visualProject1 { grid-column:span 7;grid-row:span 7; }.visualProject2 { grid-column:span 5;grid-row:span 5; }.visualProject3 { grid-column:8/span 5;grid-row:span 6; }.visualProject4 { grid-column:span 5;grid-row:span 5; }.visualProject5 { grid-column:span 7;grid-row:span 7; }.visualProject6 { grid-column:span 5;grid-row:span 5; }
.visualProjectMedia { position:absolute;inset:0;z-index:-2;display:grid;place-items:center;background:var(--purple-dark); }
.visualProjectMedia::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,20,23,.78),rgba(22,20,23,0) 58%); }
.visualProjectMedia img { width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1),filter .5s; }
.visualProject:hover .visualProjectMedia img { transform:scale(1.045);filter:saturate(1.08); }
.visualProjectMedia b { font-family:Manrope,sans-serif;font-size:clamp(90px,15vw,240px);letter-spacing:-.1em;color:#b99fc2;opacity:.65; }
.visualProjectCopy { position:absolute;inset:auto 28px 26px;display:grid;grid-template-columns:1fr auto;gap:9px 25px;align-items:end; }
.visualProjectCopy small { grid-column:1/-1;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.72); }
.visualProjectCopy strong { font-family:Manrope,sans-serif;font-size:clamp(24px,3vw,46px);font-weight:520;line-height:.98;letter-spacing:-.045em; }
.visualProjectCopy i { font-family:Georgia,serif;font-size:13px;font-weight:400; }
.visualArchive>footer { margin-top:70px;padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end; }
.visualArchive>footer p { margin:0;display:flex;align-items:end;gap:14px; }.visualArchive>footer p strong { font-family:Manrope,sans-serif;font-size:54px;line-height:.8;letter-spacing:-.06em;color:var(--purple); }.visualArchive>footer p span { font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted); }

.eyebrow,.kicker { font-size:10px; font-weight:650; letter-spacing:.18em; text-transform:uppercase; }
.hero { min-height:700px; padding-top:76px; position:relative; display:flex; flex-direction:column; }
.hero h1,.archiveHero h1 { margin:46px 0 0; max-width:1220px; font-family:Manrope,Inter,sans-serif; font-size:clamp(50px,6.9vw,106px); line-height:.98; letter-spacing:-.055em; font-weight:510; }
h1 em,h2 em { color:var(--purple); font-family:Georgia,serif; font-weight:400; }
.heroBottom { display:grid; grid-template-columns:1fr 1fr; align-items:end; margin-top:auto; padding-bottom:86px; }
.heroBottom p { grid-column:2; max-width:590px; font-size:18px; line-height:1.65; color:var(--muted); margin:0; }
.heroBottom .textLink { grid-column:1; grid-row:1; }
.textLink { width:max-content; font-size:12px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid currentColor; padding-bottom:8px; }
.connectionLine { position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--line); display:flex; justify-content:space-around; }
.connectionLine i { width:13px; height:13px; border:2px solid var(--purple); background:var(--ivory); border-radius:50%; transform:translateY(-6px); }

.projectSection,.methodSection { padding-block:128px; }
.sectionIntro { display:grid; grid-template-columns:1fr 2fr; gap:48px; margin-bottom:70px; }
.sectionIndex { font-family:Georgia,serif; font-style:italic; color:var(--purple); font-size:13px;display:flex;align-items:center;gap:12px; }
.sectionIndex::after { content:"";width:28px;height:7px;border:1px solid currentColor;border-radius:99px; }
.sectionIntro .kicker { margin-top:18px; }
.sectionIntro h2,.principleGrid h2,.related h2 { font-family:Manrope,Inter,sans-serif; font-size:clamp(38px,4vw,64px); letter-spacing:-.04em; line-height:1.05; font-weight:520; margin:0; }
.sectionIntro>div:last-child>p { max-width:650px; color:var(--muted); font-size:17px; line-height:1.7; }
.featuredGrid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.projectCard { grid-column:span 6; min-height:480px; padding:28px; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .25s ease; }
.projectCard:hover { transform:translateY(-4px); }
.projectTone1 { background:#d8d2c9; }.projectTone2 { background:#393338; color:var(--paper); }.projectTone3 { background:#82698c; color:#fff; }.projectTone4 { background:#c9c0b3; }
.projectCardTop { display:flex; justify-content:space-between; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.projectCardMark { position:absolute; inset:48px 0 auto; text-align:center; font-family:Manrope,sans-serif; font-size:clamp(100px,16vw,240px); font-weight:650; letter-spacing:-.09em; opacity:.12; }
.projectCardCopy { margin-top:auto; position:relative; }
.projectCardCopy>p { font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.projectCardCopy h3 { font-family:Manrope,sans-serif; font-size:clamp(30px,3.5vw,52px); line-height:1; letter-spacing:-.04em; margin:12px 0 28px; max-width:570px; }
.tagRow { display:flex; gap:7px; flex-wrap:wrap; }
.tagRow span { border:1px solid currentColor; border-radius:20px; padding:7px 11px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; opacity:.75; }
.showcase { display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);background:#242225;color:#fff;min-height:690px;position:relative; }
.showcaseStage { position:relative;min-height:690px;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate; }
.showcaseStage>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:showcaseReveal .65s ease both; }
.showcaseShade { position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,18,21,.08) 12%,rgba(20,18,21,.16) 44%,rgba(20,18,21,.9) 100%); }
.showcaseLabel { position:absolute;top:30px;left:32px;border:1px solid rgba(255,255,255,.5);border-radius:30px;padding:8px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;backdrop-filter:blur(10px);background:rgba(25,22,26,.12); }
.showcaseCopy { padding:46px 44px;max-width:820px;display:flex;flex-direction:column;align-items:flex-start; }
.showcaseCopy>span { font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#d5cbd9; }
.showcaseCopy>strong { font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,76px);font-weight:520;letter-spacing:-.055em;line-height:.96;margin-top:16px;text-wrap:balance; }
.showcaseCopy>small { font-family:Georgia,serif;font-size:17px;line-height:1.55;color:rgba(255,255,255,.78);max-width:630px;margin-top:24px; }
.showcaseCopy>i { font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-top:32px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:7px; }
.showcaseCopy>i b { color:#c1a8ca;margin-left:7px; }
.showcaseMonogram { position:absolute;inset:0;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:clamp(150px,25vw,360px);font-weight:650;letter-spacing:-.1em;color:#a889b4;opacity:.32;z-index:-2; }
.showcaseRail { display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.16);min-width:0; }
.showcaseRail button { flex:1;display:grid;grid-template-columns:68px 1fr 24px;align-items:center;gap:15px;padding:14px 18px;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.13);text-align:left;cursor:pointer;transition:background .2s;min-height:88px; }
.showcaseRail button:last-child { border-bottom:0; }.showcaseRail button:hover,.showcaseRail button.active { background:rgba(142,111,154,.22); }
.showcaseThumb { width:68px;aspect-ratio:1.15;background:#443a48;overflow:hidden;display:grid;place-items:center; }
.showcaseThumb img { width:100%;height:100%;object-fit:cover;transition:transform .3s ease; }.showcaseRail button:hover .showcaseThumb img { transform:scale(1.05); }.showcaseThumb b { font-family:Manrope,sans-serif;font-size:20px;color:#c6afce; }
.showcaseRailCopy { min-width:0;display:flex;flex-direction:column;gap:6px; }.showcaseRailCopy small { font-size:8px;color:#bca5c6;letter-spacing:.12em; }.showcaseRailCopy strong { font-family:Manrope,sans-serif;font-size:12px;line-height:1.25;font-weight:530;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }.showcaseRail button>i { font-style:normal;font-size:8px;color:#948f94; }
.showcaseControls { position:absolute;left:0;right:calc(30%);bottom:0;transform:translateY(100%);height:52px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;color:var(--graphite); }
.showcaseControls>div { display:flex; }.showcaseControls button { width:42px;height:42px;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;color:var(--graphite);font-size:17px; }.showcaseControls>span { height:2px;background:rgba(37,36,38,.16);overflow:hidden; }.showcaseControls>span i { display:block;height:100%;background:var(--purple);transition:width .35s ease; }.showcaseControls>small { font-size:9px;letter-spacing:.12em; }
@keyframes showcaseReveal { from { opacity:.3;transform:scale(1.025); } to { opacity:1;transform:scale(1); } }
.sectionAction { display:flex; justify-content:space-between; align-items:center; margin-top:92px; }
.sectionAction>span { color:var(--muted); font-size:12px; }
.button { display:inline-flex;align-items:center;gap:12px;padding:16px 22px;border:1px solid var(--graphite);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:.2s; }
.button::before { content:"";width:11px;height:6px;border:1px solid currentColor;border-radius:99px; }
.button:hover { background:var(--graphite); color:var(--ivory); }

.principleSection { background:var(--graphite); color:var(--paper); padding-block:128px;position:relative;overflow:hidden; }
.principleSection::before { content:"";position:absolute;left:0;right:0;top:38%;height:1px;background:rgba(203,189,208,.12);box-shadow:0 140px rgba(203,189,208,.06); }
.principleSection::after { content:"";position:absolute;right:8%;top:calc(38% - 9px);width:18px;height:18px;border:2px solid var(--purple-mid);border-radius:50%;background:var(--graphite); }
.principleGrid { display:grid; grid-template-columns:1fr 1.35fr .65fr; gap:48px;position:relative;z-index:1; }
.light { color:#bca5c6; }
.principleGrid>div:nth-child(2)>p { color:#bbb6b5; font-size:18px; line-height:1.75; max-width:650px; margin:32px 0; }
.mirrorRule { border-left:1px solid rgba(255,255,255,.2); padding-left:38px; }
.mirrorRule>span { font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#bca5c6; }
.mirrorRule ol { list-style:none; padding:0; margin:42px 0 0; counter-reset:mirror; }
.mirrorRule li { counter-increment:mirror; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.14); font-family:Georgia,serif; font-size:17px; }
.mirrorRule li::before { content:"0" counter(mirror); font-family:Inter,sans-serif; font-size:9px; margin-right:12px; color:#bca5c6; }
.methodRail { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.methodRail li { display:grid; grid-template-columns:1fr 2fr; padding:22px 0; border-bottom:1px solid var(--line); font-family:Manrope,sans-serif; font-size:clamp(25px,3vw,44px); letter-spacing:-.035em;transition:color .25s,padding .25s,background .25s; }
.methodRail li:hover { color:var(--purple);padding-inline:18px;background:rgba(104,64,118,.045); }
.methodRail span { font-size:10px; font-family:Inter,sans-serif; letter-spacing:.12em; color:var(--purple); padding-top:10px; }

.clientInline { color:var(--purple);border-bottom:1px solid transparent;transition:border-color .2s; }.clientInline:hover { border-color:currentColor; }.clientInlineLight { color:inherit;border-bottom:1px solid rgba(255,255,255,.45); }
.clientBand { padding:72px 0 62px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#eae5dc; }.clientBandHead { display:flex;justify-content:space-between;align-items:end;margin-bottom:42px; }.clientBandHead span,.clientDirectoryHero>span,.clientProjects>header>span { font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--purple); }.clientBandHead h2 { font-family:Manrope,sans-serif;font-size:clamp(25px,3vw,42px);letter-spacing:-.04em;margin:10px 0 0; }.clientBandHead>a { font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:6px; }
.clientMarquee { overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }.clientMarquee>div { width:max-content;display:flex;align-items:center;animation:clientMarquee 48s linear infinite; }.clientMarquee:hover>div,.clientMarquee:focus-within>div { animation-play-state:paused; }.clientMarquee a { width:220px;height:80px;display:grid;place-items:center;padding:16px 28px;border-right:1px solid var(--line);color:var(--purple-dark); }.clientMarquee img { max-width:150px;max-height:46px;object-fit:contain;filter:grayscale(1) contrast(1.45) brightness(.42); }.clientMarquee strong { font-family:Manrope,sans-serif;font-size:17px;line-height:1.1;text-align:center;letter-spacing:-.025em;font-weight:600; } @keyframes clientMarquee { to { transform:translateX(-50%); } }
.clientDirectoryHero { padding-block:95px 82px;border-bottom:1px solid var(--line); }.clientDirectoryHero h1 { max-width:1050px;font-family:Manrope,sans-serif;font-size:clamp(55px,7vw,105px);line-height:.94;letter-spacing:-.06em;margin:30px 0 45px; }.clientDirectoryHero p { max-width:620px;margin-left:auto;font-family:Georgia,serif;font-size:21px;line-height:1.55;color:var(--muted); }.clientDirectory { padding-block:45px 120px; }.clientDirectoryMeta { display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:25px; }.clientCardGrid { display:grid;grid-template-columns:repeat(3,1fr);gap:15px; }.clientCard { min-height:330px;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;transition:background .25s,transform .25s; }.clientCard:hover { background:rgba(114,84,127,.07);transform:translateY(-3px); }.clientCard>span,.clientCard>i { font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--purple); }.clientCard>div { min-height:130px;display:grid;place-items:center;margin-block:auto; }.clientCard img { max-width:70%;max-height:65px;filter:grayscale(1) contrast(1.45) brightness(.42); }.clientCard strong { font-family:Manrope,sans-serif;font-size:clamp(24px,2.4vw,38px);line-height:1.02;text-align:center;letter-spacing:-.045em; }.clientCard p { color:var(--muted);font-size:12px;line-height:1.55;min-height:38px; }.clientCard>i { margin-top:22px; }
.clientDetailHero { padding-block:35px 100px; }.clientDetailHero>a { font-size:10px;text-transform:uppercase;letter-spacing:.12em; }.clientDetailHeading { display:grid;grid-template-columns:.7fr 2fr;gap:70px;align-items:center;margin-top:75px; }.clientDetailHeading>div:first-child { aspect-ratio:1;display:grid;place-items:center;background:var(--purple-dark);color:#fff; }.clientDetailHeading img { max-width:70%;max-height:32%;filter:grayscale(1) brightness(3); }.clientDetailHeading>div:first-child>span { font-family:Manrope,sans-serif;font-size:clamp(70px,10vw,150px);letter-spacing:-.08em;opacity:.75; }.clientDetailHeading small { font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--purple); }.clientDetailHeading h1 { font-family:Manrope,sans-serif;font-size:clamp(55px,7vw,105px);line-height:.92;letter-spacing:-.065em;margin:22px 0 32px; }.clientDetailHeading p { max-width:720px;font-family:Georgia,serif;font-size:21px;line-height:1.55;color:var(--muted); }.clientDetailHeading a { display:inline-block;margin-top:18px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:5px; }
.clientProjects { padding-bottom:130px; }.clientProjects>header { display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);padding:32px 0 48px; }.clientProjects h2 { font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,55px);letter-spacing:-.045em;margin:0; }.clientProjectGrid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.clientProjectCard { min-width:0; }.clientProjectMedia { aspect-ratio:1.15;display:grid;place-items:center;overflow:hidden;background:var(--purple-dark);color:#fff; }.clientProjectMedia img { width:100%;height:100%;object-fit:cover;transition:transform .45s; }.clientProjectMedia b { font-family:Manrope,sans-serif;font-size:64px;opacity:.7; }.clientProjectCard:hover img { transform:scale(1.045); }.clientProjectCopy { min-height:125px;border:1px solid var(--line);border-top:0;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px; }.clientProjectCopy small { grid-column:1/-1;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--purple); }.clientProjectCopy strong { align-self:end;font-family:Manrope,sans-serif;font-size:21px;line-height:1.12;letter-spacing:-.035em; }.clientProjectCopy i { align-self:end;color:var(--purple); }

.archiveHero { padding-block:74px 96px; }
.archiveHero h1 { max-width:1000px; font-size:clamp(55px,7vw,104px); }
.archiveHero>p { max-width:600px; margin:48px 0 0 auto; color:var(--muted); font-size:17px; line-height:1.7; }
.explorer { padding-bottom:130px; }
.filterPanel { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:rgba(255,255,255,.22); }
.filterPanel .searchField { grid-column:span 2; }
.filterPanel label { padding:19px 22px; border-right:1px solid var(--line); }
.filterPanel label:last-child { border:0; }
.filterPanel label>span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:var(--purple); margin-bottom:10px; }
.filterPanel input,.filterPanel select { width:100%; background:transparent; border:0; outline:0; color:var(--graphite); font-size:15px; }
.resultMeta { display:flex; justify-content:space-between; margin:32px 0 18px; font-size:12px; color:var(--muted); }
.resultMeta p { margin:0; }.resultMeta button,.emptyState button { background:transparent; border:0; padding:0; border-bottom:1px solid currentColor; cursor:pointer; color:var(--purple); }
.archiveList { border-top:1px solid var(--line); }
.archiveItem { display:grid; grid-template-columns:40px 96px 1.25fr 1.4fr .9fr 30px; gap:25px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); transition:padding .2s,background .2s; }
.archiveItem:hover { background:rgba(114,84,127,.06); padding-inline:15px; }
.archiveNumber { font-size:9px; color:var(--purple); }.archiveThumbnail { width:96px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:var(--purple-dark);color:var(--ivory); }.archiveThumbnail img { width:100%;height:100%;object-fit:cover;transition:transform .45s ease; }.archiveItem:hover .archiveThumbnail img { transform:scale(1.06); }.archiveThumbnail b { font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.05em;font-weight:550;opacity:.78; }.archiveIdentity span { font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }.archiveIdentity h2 { font-family:Manrope,sans-serif; font-size:24px; letter-spacing:-.03em; margin:6px 0 0; }.archiveItem>p { font-family:Georgia,serif; font-size:15px; line-height:1.55; color:var(--muted); }.archiveTaxonomy { display:flex; flex-wrap:wrap; gap:6px; }.archiveTaxonomy span { font-size:9px; text-transform:uppercase; padding:6px 8px; border:1px solid var(--line); border-radius:20px; }.archiveTaxonomy strong { display:block; width:100%; font-size:10px; font-weight:500; margin-top:4px; }.archiveArrow { font-size:18px; color:var(--purple); }
.emptyState { padding:70px 0; text-align:center; }.emptyState strong { font-family:Manrope,sans-serif; font-size:28px; }.emptyState p { color:var(--muted); }

.caseHero { padding-top:36px; }.backLink { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }.caseHeading { display:grid; grid-template-columns:1fr 2fr; gap:30px; margin:72px 0 62px; }.caseHeading>div { display:flex; flex-direction:column; gap:8px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }.caseHeading h1 { font-family:Manrope,sans-serif; font-size:clamp(58px,8vw,120px); line-height:.9; letter-spacing:-.065em; margin:0; }.caseHeading>p { grid-column:2; font-family:Georgia,serif; font-size:clamp(20px,2vw,30px); line-height:1.5; color:var(--muted); max-width:780px; }.caseCanvas { min-height:460px; background:var(--purple-dark); color:#fff; display:grid; place-items:center; position:relative; overflow:hidden; }.caseCanvas span { font-family:Manrope,sans-serif; font-size:clamp(120px,22vw,340px); font-weight:650; letter-spacing:-.08em; opacity:.74; }.caseCanvas i { position:absolute; width:17px; height:17px; border:3px solid #d4c0dd; border-radius:50%; background:var(--purple-dark); }.caseCanvas i:nth-of-type(1) { left:18%; top:42%; }.caseCanvas i:nth-of-type(2) { left:50%; top:25%; }.caseCanvas i:nth-of-type(3) { right:15%; bottom:27%; }
.caseCanvas.hasCover { background:#d9d3ca; }.caseCanvas img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover; }.caseLinks { border-top:1px solid var(--line); padding-top:28px; display:flex; flex-wrap:wrap; gap:12px 24px; }.caseLinks>span { width:100%; font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:var(--purple); }.caseLinks a { border-bottom:1px solid var(--graphite); padding-bottom:5px; font-size:13px; }.mirrorCase { background:rgba(114,84,127,.08); padding:34px; }
.caseGallery { display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding-bottom:110px; }.caseGallery figure { grid-column:span 6;margin:0; }.caseGallery img { width:100%;display:block; }.caseGallery figcaption { font-size:10px;color:var(--muted);margin-top:9px; }.caseDocument { grid-column:span 4;min-height:180px;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:12px; }.caseDocument span { color:var(--purple);font-size:9px;text-transform:uppercase;letter-spacing:.12em; }.caseDocument strong { margin-top:auto;font-family:Manrope,sans-serif;font-size:19px; }
.caseContent { display:grid; grid-template-columns:1fr 2fr; gap:60px; padding-block:110px; }.caseContent dl { margin:0; }.caseContent dl div { border-top:1px solid var(--line); padding:15px 0; }.caseContent dt { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:var(--purple); }.caseContent dd { margin:7px 0 0; font-size:13px; line-height:1.5; }.caseNarrative .lead { font-family:Georgia,serif; font-size:clamp(25px,3vw,42px); line-height:1.45; margin:0 0 90px; }.caseBlock { display:grid; grid-template-columns:1fr 2fr; gap:35px; padding:38px 0; border-top:1px solid var(--line); }.caseBlock>span { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:var(--purple); }.caseBlock h2 { font-family:Manrope,sans-serif; font-size:28px; letter-spacing:-.03em; margin:0; }.caseBlock p { grid-column:2; color:var(--muted); line-height:1.7; }
.related { padding-bottom:120px; }.related>h2 { margin:18px 0 45px; }.related>div { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.related a { border:1px solid var(--line); min-height:180px; padding:25px; display:grid; grid-template-columns:1fr auto; }.related a span { grid-column:1/-1; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }.related a strong { align-self:end; font-family:Manrope,sans-serif; font-size:25px; }.related a i { align-self:end; color:var(--purple); }

.siteFooter { background:var(--graphite); color:var(--paper); padding:92px 0 28px;position:relative;overflow:hidden; }
.siteFooter::before { content:"";position:absolute;left:0;right:0;top:58px;height:1px;background:rgba(203,189,208,.12); }
.footerBrand { display:flex;align-items:center;gap:16px;margin-bottom:28px; }.footerBrand>img { width:118px;height:auto;display:block; }.footerBrand>span { font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--purple-pale); }
.footerGrid { display:grid; grid-template-columns:1.4fr 1fr; gap:80px; }.footerStatement>span,.footerNav span { font-size:9px; color:#bca5c6; text-transform:uppercase; letter-spacing:.15em; }.footerStatement h2 { font-family:Manrope,sans-serif; font-weight:500; font-size:clamp(42px,5.5vw,80px); line-height:1; letter-spacing:-.05em; margin:26px 0; }.footerNav { display:grid; grid-template-columns:1fr 1fr; gap:30px; }.footerNav>div { display:flex; flex-direction:column; gap:16px; }.footerNav a { font-size:12px; color:#cbc7c6; }.footerLegal { margin-top:90px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:#8f8a8b; }

.editorialHero { display:grid; grid-template-columns:1fr 2fr; gap:50px; padding-block:95px 125px; border-bottom:1px solid var(--line); }.editorialHero>div:first-child>span { font-family:Georgia,serif; font-style:italic; color:var(--purple); }.editorialHero .kicker { margin-top:18px; }.editorialHero h1 { font-family:Manrope,sans-serif; font-size:clamp(54px,7vw,104px); line-height:.96; letter-spacing:-.06em; font-weight:510; margin:0; }.editorialHero>div:last-child>p { max-width:720px; margin:50px 0 0; font-family:Georgia,serif; font-size:clamp(20px,2.2vw,31px); line-height:1.55; color:var(--muted); }
.editorialBlocks { padding-block:90px; }.editorialBlocks article { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:35px; border-top:1px solid var(--line); padding:38px 0; }.editorialBlocks article>span { font-size:9px; color:var(--purple); letter-spacing:.12em; }.editorialBlocks h2 { font-family:Manrope,sans-serif; font-size:28px; letter-spacing:-.035em; margin:0; }.editorialBlocks p { color:var(--muted); line-height:1.75; margin:0; }.editorialCta { padding:80px 0 120px; display:flex; justify-content:space-between; align-items:flex-end; }.editorialCta h2 { font-family:Manrope,sans-serif; font-size:clamp(40px,5vw,72px); line-height:1; letter-spacing:-.05em; max-width:880px; margin:0; }
.notebookList { padding-bottom:120px; }.notebookList a { display:grid; grid-template-columns:.65fr 1.2fr 1fr 25px; gap:30px; padding:33px 0; border-top:1px solid var(--line); }.notebookList a:last-child { border-bottom:1px solid var(--line); }.notebookList span { font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--purple); }.notebookList h2 { font-family:Manrope,sans-serif; font-size:29px; letter-spacing:-.035em; margin:0; }.notebookList p { color:var(--muted); line-height:1.65; margin:0; }.notebookList i { color:var(--purple); }
.contactPage { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; padding-block:100px 130px; }.contactPage h1 { font-family:Manrope,sans-serif; font-size:clamp(55px,7vw,100px); line-height:.95; letter-spacing:-.06em; font-weight:510; margin:35px 0 45px; }.contactPage>div>p { max-width:650px; color:var(--muted); line-height:1.7; }.contactPage>div>a { display:inline-block; margin-top:40px; color:var(--purple); border-bottom:1px solid; padding-bottom:7px; }.contactPage form { border-top:1px solid var(--line); padding-top:25px; display:flex; flex-direction:column; gap:23px; }.contactPage label { display:flex; flex-direction:column; gap:9px; }.contactPage label span { font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--purple); }.contactPage input,.contactPage textarea,.contactPage select { background:rgba(255,255,255,.3); border:1px solid var(--line); padding:14px; outline:none; }.contactPage button { align-self:flex-start; background:var(--graphite); color:var(--ivory); border:0; padding:16px 22px; font-size:9px; text-transform:uppercase; letter-spacing:.13em; cursor:pointer; }

.adminShell { min-height:100vh; background:#ebe8e0; display:grid; grid-template-columns:260px 1fr; }
.adminSidebar { position:sticky; top:0; height:100vh; background:#242225; color:#f3f0e8; padding:30px 24px; display:flex; flex-direction:column; }
.adminBrand { display:flex; align-items:flex-end; gap:11px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.12); }.adminBrand strong { font-family:Manrope,sans-serif; font-size:31px; letter-spacing:-.08em; line-height:.8; }.adminBrand span { color:#ae98b8; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.adminSidebar nav { display:flex; flex-direction:column; gap:4px; margin-top:36px; }.adminSidebar nav button { background:transparent; color:#aaa5a7; border:0; padding:12px 11px; display:flex; justify-content:space-between; text-align:left; font-size:12px; cursor:pointer; }.adminSidebar nav button:hover,.adminSidebar nav button.active { background:#342f36; color:#fff; }.adminSidebar nav span { color:#a78caf; }
.adminUser { margin-top:auto; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; gap:7px; font-size:10px; }.adminUser span { color:#d5d0d2; overflow:hidden; text-overflow:ellipsis; }.adminUser a { color:#9e989a; }
.adminMain { padding:48px clamp(28px,5vw,78px) 90px; min-width:0; }.adminMain>header { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:34px; border-bottom:1px solid var(--line); }.adminMain>header span { font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--purple); }.adminMain>header h1 { font-family:Manrope,sans-serif; font-weight:520; letter-spacing:-.05em; font-size:clamp(42px,5vw,72px); margin:12px 0 0; }.adminMain>header>a { font-size:10px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid; padding-bottom:6px; }
.adminMessage { margin-top:22px; background:#ddd1e2; color:#422e4b; padding:13px 16px; display:flex; justify-content:space-between; font-size:12px; }.adminMessage button { background:transparent; border:0; cursor:pointer; }.adminLoading { margin-top:80px; color:var(--muted); font-family:Georgia,serif; font-style:italic; }
.adminEmpty { min-height:460px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }.adminEmpty>span { color:var(--purple); font-family:Georgia,serif; font-style:italic; }.adminEmpty h2 { font-family:Manrope,sans-serif; font-size:40px; letter-spacing:-.04em; margin:18px 0 8px; }.adminEmpty p { max-width:470px; color:var(--muted); line-height:1.6; }.adminEmpty button,.formActions button:first-child,.mediaPanel button { background:var(--purple-dark); color:#fff; border:0; padding:15px 21px; margin-top:24px; text-transform:uppercase; letter-spacing:.12em; font-size:9px; cursor:pointer; }
.adminTable { margin-top:36px; border-top:1px solid var(--line); }.adminTableHead,.adminRow { display:grid; grid-template-columns:2fr 1.2fr .55fr .7fr .7fr; gap:18px; align-items:center; border-bottom:1px solid var(--line); padding:15px 12px; }.adminTableHead { font-size:8px; text-transform:uppercase; letter-spacing:.13em; color:var(--purple); }.projectEdit { display:flex; flex-direction:column;gap:5px;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:inherit; }.adminRow strong { font-family:Manrope,sans-serif; font-size:15px; }.adminRow small { color:var(--muted); font-size:9px; }.adminRow>span { font-size:11px; color:var(--muted); }.adminRow select { background:transparent; border:1px solid var(--line); padding:8px; font-size:10px; }.rowActions { display:flex;gap:10px; }.rowActions button,.entityActions button,.entityGrid article div button,.taxonomyActions button { border:0;background:transparent;padding:0;color:var(--purple);font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer; }
.projectForm { margin-top:42px; }.formSection { display:grid; grid-template-columns:160px 1fr; gap:25px; padding:35px 0; border-top:1px solid var(--line); }.formSection>span { font-size:9px; text-transform:uppercase; letter-spacing:.13em; color:var(--purple); }.formSectionFields { display:grid;grid-template-columns:1fr 1fr;gap:22px; }.formSection label,.entityManager form label { display:flex; flex-direction:column; gap:9px; }.formSection label.wide { grid-column:1/-1; }.formSection b,.mediaPanel b,.entityManager b { font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:550; }.formSection input,.formSection textarea,.formSection select,.mediaPanel input,.entityManager input,.entityManager textarea,.entityManager select { width:100%;background:rgba(255,255,255,.36); border:1px solid var(--line); padding:13px; outline:0; }.formSection input:focus,.formSection textarea:focus { border-color:var(--purple); }.formSection .check { flex-direction:row; align-items:center; align-self:end; padding-bottom:12px; }.formSection .check input { width:16px; height:16px; }.formActions { display:flex; gap:12px; justify-content:flex-end; }.formActions button { margin:0; }.formActions button:last-child { border:0; background:transparent; color:var(--muted); cursor:pointer; }.formError { color:#8b2938;text-align:right; }.choiceGrid { grid-column:1/-1;border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.choiceGrid legend { font-size:9px;text-transform:uppercase;letter-spacing:.1em;padding:0 7px; }.choiceGrid label { display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px; }.choiceGrid label.child { padding-left:18px;color:var(--muted); }.choiceGrid input { width:15px;height:15px; }
.entityManager { display:grid;grid-template-columns:300px 1fr;gap:34px;margin-top:38px;align-items:start; }.entityManager>form { border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:30px; }.entityManager>form>span { font-family:Manrope,sans-serif;font-size:20px; }.entityActions { display:flex;gap:18px;margin-top:5px; }.entityActions button:first-child { background:var(--purple-dark);color:#fff;padding:12px 15px; }.entityManager form>p { color:var(--purple);font-size:11px; }.entityGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.entityGrid article { min-height:165px; border:1px solid var(--line); padding:20px; display:flex; flex-direction:column; }.entityGrid span,.mediaPanel>div>span { font-size:8px; text-transform:uppercase; letter-spacing:.14em; color:var(--purple); }.entityGrid strong { font-family:Manrope,sans-serif; font-size:18px; margin-top:auto; }.entityGrid small { color:var(--muted); margin-top:7px; }.entityGrid article div { display:flex;gap:14px;margin-top:18px; }
.taxonomyGrid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }.taxonomyGrid article { border:1px solid var(--line); padding:25px; min-height:180px; }.taxonomyGrid h2 { font-family:Manrope,sans-serif; font-size:26px; margin:0 0 12px; }.taxonomyGrid article>div { display:flex; flex-wrap:wrap; gap:6px; }.taxonomyGrid .taxonomyActions { margin-bottom:30px;gap:14px; }.taxonomyChip { border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:9px;background:transparent;cursor:pointer; }
.mediaPanel { display:grid; grid-template-columns:1fr 360px; gap:50px; margin-top:55px; }.mediaPanel h2 { font-family:Manrope,sans-serif; font-size:36px; letter-spacing:-.04em; margin:16px 0; }.mediaPanel>div>p { color:var(--muted); line-height:1.7; }.mediaPanel form { display:flex; flex-direction:column; gap:18px; border:1px solid var(--line); padding:28px;align-self:start;position:sticky;top:30px; }.mediaPanel label { display:flex; flex-direction:column; gap:9px; }.mediaPanel button { align-self:flex-start; margin-top:5px; }.mediaLibrary { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px; }.mediaLibrary article { border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:7px;min-width:0; }.mediaLibrary img { width:100%;aspect-ratio:1.2;object-fit:cover; }.mediaLibrary article>span { aspect-ratio:1.2;background:var(--purple-dark);color:#fff;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:20px; }.mediaLibrary strong,.mediaLibrary small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px; }.mediaLibrary small { color:var(--muted); }
.importPanel { margin-top:48px; }.importIntro { max-width:880px; }.importIntro>span { font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--purple); }.importIntro h2 { font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.04;letter-spacing:-.05em;margin:18px 0 20px; }.importIntro>p { max-width:720px;color:var(--muted);line-height:1.7; }.importIntro>button { margin-top:24px;background:var(--purple-dark);color:#fff;border:0;padding:16px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;cursor:pointer; }.importIntro>button:disabled { opacity:.58;cursor:wait; }.importError { color:#8b2938!important;font-weight:600; }.importMetrics { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px; }.importMetrics article { min-height:210px;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column; }.importMetrics span { font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--purple); }.importMetrics strong { font-family:Manrope,sans-serif;font-size:52px;letter-spacing:-.05em;margin-top:auto; }.importMetrics strong small { font-size:17px;color:var(--muted);letter-spacing:0; }.importMetrics p { color:var(--muted);font-size:11px;line-height:1.55;margin:8px 0 0; }.importProgress { margin-top:28px;border-top:1px solid var(--line);padding-top:18px; }.importProgress>div { display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em; }.importProgress i { display:block;height:5px;background:#d7d1c8;margin-top:12px;overflow:hidden; }.importProgress b { display:block;height:100%;background:var(--purple);transition:width .25s ease; }

@media (max-width:900px) {
  .shell { width:min(100% - 30px,1440px); }.siteHeader { grid-template-columns:1fr auto; height:84px; }.siteHeader nav { display:none; }
  .hero { min-height:650px; padding-top:52px; }.hero h1 { margin-top:32px; }.heroBottom { display:block; }.heroBottom p { margin-bottom:35px; }
  .visualHeroContent { grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding-top:130px; }.visualHeroIntro,.visualHeroProject { grid-column:1; }.visualHeroIntro { max-width:430px; }.visualHeroProject { align-self:end; }.visualHeroProject h1 { font-size:clamp(56px,12vw,94px); }.visualHeroNav { grid-template-columns:auto 1fr auto;gap:20px; }.visualArchive>header { grid-template-columns:120px 1fr; }.visualArchive>header>p { grid-column:2; }.visualProjectGrid { grid-auto-rows:75px; }.visualProject1,.visualProject5 { grid-column:span 7; }.visualProject2,.visualProject3,.visualProject4,.visualProject6 { grid-column:span 5; }
  .sectionIntro,.principleGrid,.caseHeading,.caseContent { grid-template-columns:1fr; }.sectionIntro { gap:35px; }.projectCard { grid-column:span 12; min-height:420px; }
  .clientCardGrid,.clientProjectGrid { grid-template-columns:repeat(2,1fr); }.clientDetailHeading { grid-template-columns:240px 1fr;gap:40px; }
  .showcase { grid-template-columns:1fr;min-height:0; }.showcaseStage { min-height:620px; }.showcaseRail { border-left:0;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));overflow-x:auto;scroll-snap-type:x proximity; }.showcaseRail button { scroll-snap-align:start; }.showcaseControls { right:0; }
  .principleGrid { gap:60px; }.mirrorRule { border-left:0; border-top:1px solid rgba(255,255,255,.2); padding:35px 0 0; }.methodRail li { grid-template-columns:60px 1fr; }
  .filterPanel { grid-template-columns:1fr; }.filterPanel .searchField { grid-column:1; }.filterPanel label { border-right:0; border-bottom:1px solid var(--line); }
  .archiveItem { grid-template-columns:30px 82px 1fr 25px; }.archiveThumbnail { width:82px;grid-column:2;grid-row:1/4; }.archiveIdentity,.archiveItem>p,.archiveTaxonomy { grid-column:3; }.archiveArrow { grid-column:4; grid-row:1; }.archiveNumber { grid-row:1/4; align-self:start; }
  .caseHeading>p { grid-column:1; }.caseContent { gap:70px; }.caseBlock { grid-template-columns:1fr; }.caseBlock p { grid-column:1; }.related>div,.footerGrid { grid-template-columns:1fr; }.footerGrid { gap:65px; }
  .editorialHero,.contactPage { grid-template-columns:1fr; }.editorialHero { gap:55px; }.editorialBlocks article { grid-template-columns:60px 1fr; }.editorialBlocks p { grid-column:2; }.notebookList a { grid-template-columns:55px 1fr 25px; }.notebookList p { grid-column:2; }.contactPage { gap:65px; }
  .adminShell { grid-template-columns:1fr; }.adminSidebar { position:relative; height:auto; }.adminSidebar nav { display:grid; grid-template-columns:1fr 1fr; }.adminUser { margin-top:25px; }.formSection { grid-template-columns:1fr; }.formSectionFields { grid-template-columns:1fr 1fr; }.formSection label.wide { grid-column:1/-1; }.entityManager { grid-template-columns:1fr; }.entityManager>form,.mediaPanel form { position:relative;top:auto; }.entityGrid { grid-template-columns:1fr 1fr; }.mediaPanel { grid-template-columns:1fr; }.importMetrics { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .hero h1,.archiveHero h1 { font-size:48px; }.heroBottom p { font-size:16px; }.projectSection,.methodSection,.principleSection { padding-block:82px; }.sectionIntro h2,.principleGrid h2 { font-size:38px; }
  .siteHeaderOverlay { width:min(100% - 30px,1440px); }.visualHero { min-height:780px; }.visualHeroGrid { grid-template-columns:repeat(2,1fr); }.visualHeroGrid i:nth-child(n+2) { display:none; }.visualHeroContent { min-height:780px;padding-top:118px;padding-bottom:24px;gap:24px; }.visualHeroIntro p { font-size:15px;max-width:290px; }.visualHeroProject { padding-bottom:10px; }.visualHeroProject h1 { font-size:clamp(48px,15vw,70px);margin-block:12px 18px; }.visualHeroProject p { font-size:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }.visualHeroNav { grid-template-columns:1fr auto; }.visualHeroNav>div:first-child { display:none; }.visualDots { overflow:hidden; }.visualDots button { width:24px; }.visualArchive { padding-block:90px; }.visualArchive>header { grid-template-columns:1fr;gap:28px;margin-bottom:48px; }.visualArchive>header>p { grid-column:1; }.visualArchive h2 { font-size:44px; }.visualProjectGrid { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-15px;padding-inline:15px; }.visualProject { flex:0 0 84vw;height:520px;scroll-snap-align:center; }.visualProjectCopy { inset:auto 20px 20px; }.visualArchive>footer { align-items:flex-start;flex-direction:column;gap:34px; }
  .projectCard { min-height:365px; padding:21px; }.sectionAction { align-items:flex-start; flex-direction:column; gap:18px; }.archiveItem { grid-template-columns:70px 1fr 22px;gap:14px;padding-block:18px; }.archiveNumber { display:none; }.archiveThumbnail { width:70px;grid-column:1;grid-row:1/3; }.archiveIdentity,.archiveItem>p { grid-column:2; }.archiveArrow { grid-column:3; }.archiveIdentity h2 { font-size:21px; }.archiveItem>p { font-size:14px;margin:0; }.archiveTaxonomy { display:none; }
  .clientBandHead { align-items:flex-start;flex-direction:column;gap:24px; }.clientMarquee a { width:175px; }.clientCardGrid,.clientProjectGrid { grid-template-columns:1fr; }.clientDirectoryHero p { margin-left:0; }.clientDetailHeading { grid-template-columns:1fr; }.clientDetailHeading>div:first-child { width:180px; }.clientProjects>header { grid-template-columns:1fr;gap:18px; }
  .showcaseStage { min-height:540px; }.showcaseCopy { padding:34px 24px; }.showcaseCopy>strong { font-size:42px; }.showcaseCopy>small { font-size:15px; }.showcaseLabel { top:22px;left:22px; }.showcaseRail { grid-template-columns:repeat(7,175px); }.showcaseRail button { grid-template-columns:52px 1fr;padding:11px; }.showcaseThumb { width:52px; }.showcaseRail button>i { display:none; }.showcaseControls { gap:12px; }
  .sectionAction { margin-top:82px; }
  .caseCanvas { min-height:300px; }.caseContent { padding-block:75px; }.caseNarrative .lead { margin-bottom:60px; }.related>div { grid-template-columns:1fr; }.footerNav { grid-template-columns:1fr; }.footerLegal { align-items:flex-start; flex-direction:column; gap:10px; }
  .caseGallery figure,.caseDocument { grid-column:span 12; }
  .adminMain { padding:30px 16px 70px; }.adminMain>header>a { display:none; }.adminTableHead { display:none; }.adminRow { grid-template-columns:1fr; gap:10px; }.formSectionFields,.entityGrid,.taxonomyGrid,.choiceGrid,.mediaLibrary { grid-template-columns:1fr; }.formSection label.wide { grid-column:1; }.adminSidebar nav { grid-template-columns:1fr; }
  .editorialHero { padding-block:70px; }.editorialHero h1 { font-size:49px; }.editorialBlocks article { grid-template-columns:1fr; }.editorialBlocks p { grid-column:1; }.editorialCta { align-items:flex-start; flex-direction:column; gap:35px; }.notebookList a { grid-template-columns:1fr 25px; }.notebookList h2,.notebookList p { grid-column:1; }.notebookList i { grid-column:2; grid-row:1; }.contactPage h1 { font-size:50px; }
}

@media (prefers-reduced-motion:reduce) {
  .visualHeroMedia img,.visualProjectMedia img,.capabilityTicker>div,.clientMarquee>div { animation:none;transition:none; }
}
