@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Prata&display=swap');
:root{--paper:#f8f8f4;--ink:#242723;--accent:#4e5e47;--line:#d6d9d0;--serif:'Prata',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased;padding-bottom:102px}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}figure,p,h1,h2{margin:0}.site-header{height:112px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:'Manrope',Arial,sans-serif;font-size:31px;letter-spacing:-1.5px;font-weight:600;display:flex;align-items:center;gap:8px}.brand-mark{width:48px;height:52px;object-fit:contain}.brand-period{color:var(--accent)}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a{padding:10px 0}nav a:hover{opacity:.65}.nav-contact{margin-left:26px}.nav-contact span{padding-left:18px}.hero-copy{padding:54px 5% 46px;display:grid;grid-template-columns:1fr 330px;position:relative}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:500}.hero-copy .eyebrow{grid-column:1/-1;margin-bottom:32px}h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,8vw,125px);line-height:1.15;letter-spacing:-.055em}h1 br{display:none}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}h1 em{margin-left:.08em}.hero-intro{align-self:end;padding-bottom:10px;padding-left:25px}.hero-intro p{line-height:1.6;color:#62665d}.text-link{display:inline-flex;gap:30px;padding:23px 0 10px;font-size:14px;border-bottom:1px solid var(--line)}.hero-visual{height:540px;margin:0 5%;position:relative;overflow:hidden}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:center 62%;display:block}.image-shade{position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.35))}.hero-visual figcaption{position:absolute;bottom:26px;left:30px;right:30px;display:flex;justify-content:space-between;color:white;font-size:12px;letter-spacing:.13em}.hero-edge{display:flex;justify-content:space-between;margin:24px 5% 0;font-size:12px;letter-spacing:.1em}.hero-edge a span{margin-left:50px}.approach{padding:120px 5%;display:grid;grid-template-columns:1fr 2fr;gap:60px}.section-label{font-size:12px;letter-spacing:.1em;padding-top:13px;display:flex;gap:20px}.tiny-rule{height:1px;background:var(--line);width:50px;margin-top:6px}h2{font-family:var(--serif);font-size:clamp(32px,3.6vw,56px);font-weight:400;line-height:1.25;letter-spacing:-.04em}.approach p{max-width:490px;line-height:1.8;color:#62665d;margin-top:30px}.spaces{padding:0 5% 110px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:36px}.section-heading h2{font-size:36px}.section-heading>span{font-size:12px;letter-spacing:.09em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-image{height:390px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-image:hover img{transform:scale(1.025)}.project-grid figcaption{display:flex;justify-content:space-between;margin-top:19px;gap:15px}.project-grid figcaption span+span{font-size:12px;letter-spacing:.05em;color:#6e7369}footer{background:#e9ece5;padding:70px 5% 35px}footer h2{margin:28px 0 65px;font-size:clamp(45px,5vw,76px)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #c9cec1;padding-top:25px;font-size:12px;line-height:1.7}.footer-bottom>span+span{text-align:right;color:#646a5e}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.concept-bar{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:35px;background:#fff;color:#252525;border:1px solid #dededb;box-shadow:0 8px 35px #0002;padding:10px 12px 10px 24px;border-radius:6px;width:max-content;max-width:calc(100% - 32px)}.concept-caption{font-size:12px;font-weight:700;letter-spacing:.06em}.concept-caption span{display:block;font-weight:400;font-size:12px;color:#747474;margin-top:4px;letter-spacing:0}.concept-options{display:flex;gap:4px}.concept-options button{padding:13px 14px;border:1px solid transparent;background:transparent;border-radius:3px;display:flex;align-items:center;gap:13px;font-size:14px;cursor:pointer;white-space:nowrap;color:#656565}.concept-options button:hover{background:#f1f1ed}.concept-options button[aria-pressed=true]{background:#f1f2ed;border-color:#dbddd4;color:#20261c}.concept-number{font-size:12px;color:#81817b}.swatch{width:11px;height:11px;display:block;border-radius:50%;border:1px solid #0002}.gallery-swatch{background:#bfc8b6}.editorial-swatch{background:#2545e8}.cinematic-swatch{background:#252e2b}
body[data-theme=editorial]{--paper:#f2f1ec;--ink:#2344e8;--accent:#2344e8;--line:#c6cdec;font-family:'Manrope',Arial,sans-serif}body[data-theme=editorial] .site-header{height:108px;border-bottom:1px solid #2344e830}body[data-theme=editorial] .brand-mark{filter:invert(23%) sepia(97%) saturate(4138%) hue-rotate(230deg) brightness(93%)}body[data-theme=editorial] .hero{display:grid;grid-template-columns:48% 52%;position:relative;margin:0 5%;border-bottom:1px solid var(--ink)}body[data-theme=editorial] .hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:52px 35px 45px 0;min-height:690px}body[data-theme=editorial] .hero-copy .eyebrow{font-size:12px;letter-spacing:.09em;margin-bottom:60px}body[data-theme=editorial] h1{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:clamp(68px,7.4vw,117px);letter-spacing:-.065em;line-height:1.08}body[data-theme=editorial] h1 br{display:block}body[data-theme=editorial] h1 em{font:inherit;margin:0}body[data-theme=editorial] .hero-intro{margin-top:auto;align-self:start;padding:35px 0 0}body[data-theme=editorial] .hero-intro p{color:var(--ink);font-size:16px}body[data-theme=editorial] .hero-visual{height:100%;min-height:690px;margin:0}body[data-theme=editorial] .hero-visual img{object-position:50% center}body[data-theme=editorial] .hero-visual figcaption{bottom:28px;left:25px;right:25px}body[data-theme=editorial] .hero-edge{grid-column:1/-1;margin:0;padding:22px 0}body[data-theme=editorial] .approach{background:var(--ink);color:var(--paper);margin-top:68px;padding:80px 5%}body[data-theme=editorial] h2{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.045em;font-weight:500}body[data-theme=editorial] h2 em{font:inherit}body[data-theme=editorial] .approach p{color:#d9defe}body[data-theme=editorial] .spaces{padding-top:80px}body[data-theme=editorial] .project-grid{grid-template-columns:1.35fr 1fr;gap:60px}body[data-theme=editorial] .project-grid figure+figure{margin-top:100px}body[data-theme=editorial] .project-grid figcaption span+span{color:var(--ink)}body[data-theme=editorial] footer{background:#e3e5ef}body[data-theme=editorial] .footer-bottom{border-color:#2344e840}body[data-theme=editorial] .footer-bottom>span+span{color:#53608c}
body[data-theme=cinematic]{--paper:#202824;--ink:#f0f1e9;--accent:#c0cdb3;--line:#536053}body[data-theme=cinematic] .site-header{position:absolute;z-index:2;width:100%;height:120px;color:white;border-bottom:1px solid #ffffff35}body[data-theme=cinematic] .brand-mark{filter:invert(1)}body[data-theme=cinematic] .brand-period{color:white}body[data-theme=cinematic] .hero{min-height:850px;height:100svh;max-height:1150px;position:relative;display:flex;flex-direction:column;justify-content:end}body[data-theme=cinematic] .hero-visual{position:absolute;inset:0;margin:0;height:100%;z-index:0}body[data-theme=cinematic] .hero-visual img{object-position:center}body[data-theme=cinematic] .image-shade{inset:0;background:linear-gradient(180deg,#0007 0%,#0001 30%,#07110a7a 60%,#07110abf 100%)}body[data-theme=cinematic] .hero-copy{position:relative;z-index:1;padding:220px 6% 95px;display:block;pointer-events:none}body[data-theme=cinematic] .hero-copy a{pointer-events:auto}body[data-theme=cinematic] .hero-copy .eyebrow{margin-bottom:32px;color:#f0f1e9}body[data-theme=cinematic] h1{font-size:clamp(76px,8.3vw,132px);line-height:1.1;letter-spacing:-.04em}body[data-theme=cinematic] h1 br{display:block}body[data-theme=cinematic] h1 em{margin:0}body[data-theme=cinematic] .hero-intro{position:absolute;right:7%;bottom:112px;max-width:280px}body[data-theme=cinematic] .hero-intro p{color:#efeee6}body[data-theme=cinematic] .text-link{border-color:#fff8}body[data-theme=cinematic] .hero-visual figcaption{bottom:30px;left:6%;right:6%;border-top:1px solid #fff5;padding-top:20px}body[data-theme=cinematic] .hero-edge{display:none}body[data-theme=cinematic] .approach{padding-top:110px;padding-bottom:110px}body[data-theme=cinematic] .approach p{color:#b9c1b7}body[data-theme=cinematic] .project-grid figcaption span+span{color:#b9c1b7}body[data-theme=cinematic] .project-image{height:470px}body[data-theme=cinematic] footer{background:#2c3830}body[data-theme=cinematic] .footer-bottom{border-color:#52604f}body[data-theme=cinematic] .footer-bottom>span+span{color:#bac5b4}
@media(min-width:1600px){.hero-visual{height:650px}.hero-copy{padding-top:80px;padding-bottom:60px}}
@media(max-width:1100px){.concept-caption{display:none}.concept-bar{padding:8px}.hero-copy{grid-template-columns:1fr 260px;padding-top:35px}.hero-intro{padding-left:15px}.hero-visual{height:440px}.approach{grid-template-columns:1fr 2fr;gap:25px}.project-image{height:300px}body[data-theme=editorial] .hero-copy{min-height:620px;padding-right:20px}body[data-theme=editorial] .hero-visual{min-height:620px}body[data-theme=editorial] h1{font-size:8vw}body[data-theme=cinematic] .hero-intro{position:static;margin-top:25px;padding:0;max-width:none}body[data-theme=cinematic] .hero-copy{padding-bottom:110px}body[data-theme=cinematic] .hero{min-height:850px}}
@media(max-width:600px){body{padding-bottom:91px}.site-header{height:90px;padding:0 6%;gap:12px}.brand{font-size:25px;gap:4px;letter-spacing:-1px}.brand-mark{width:34px;height:40px}nav{gap:18px;font-size:14px}nav>a:nth-child(2){display:none}.nav-contact{margin-left:0}.nav-contact span{padding-left:4px}.hero-copy{display:block;padding:30px 6%}.hero-copy .eyebrow{font-size:12px;margin-bottom:25px;letter-spacing:.04em}h1{font-size:clamp(60px,15vw,90px);line-height:1.15}h1 br{display:block}h1 em{margin:0}.hero-intro{padding:0;margin-top:25px;display:block}.hero-intro p{font-size:16px;line-height:1.6}.text-link{font-size:14px;gap:18px;padding:18px 0 9px}.hero-visual{margin:0 6%;height:390px}.hero-visual figcaption{left:18px;right:18px;bottom:20px;font-size:12px;letter-spacing:.02em}.hero-edge{margin:18px 6% 0;font-size:12px;letter-spacing:0;gap:18px}.hero-edge a span{margin-left:7px}.approach{display:block;padding:70px 6%}.section-label{margin-bottom:30px}.approach p{font-size:16px;margin-top:24px}.spaces{padding:0 6% 65px}.section-heading{align-items:start;gap:20px}.section-heading h2{font-size:29px}.section-heading>span{font-size:12px;line-height:1.5;max-width:110px;text-align:right}.project-grid{display:block}.project-grid figure+figure{margin-top:36px}.project-image{height:330px}.project-grid figcaption{font-size:15px}.project-grid figcaption span+span{font-size:12px}footer{padding:48px 6% 30px}footer .eyebrow{font-size:12px}footer h2{margin-bottom:50px}.footer-bottom{display:block;font-size:12px}.footer-bottom>span{display:block}.footer-bottom>span+span{text-align:left;margin-top:16px}.concept-bar{bottom:12px;max-width:calc(100% - 16px);width:calc(100% - 16px);justify-content:center}.concept-options{width:100%;justify-content:space-between;gap:3px}.concept-options button{padding:10px 6px;flex:1;font-size:14px;gap:6px;justify-content:center;min-height:43px;white-space:normal;line-height:1.2}.concept-number{display:none}.swatch{display:none}body[data-theme=editorial] .site-header{height:90px}body[data-theme=editorial] .hero{margin:0 6%;display:flex;flex-direction:column}body[data-theme=editorial] .hero-copy{min-height:0;padding:32px 0;display:block}body[data-theme=editorial] .hero-copy .eyebrow{margin-bottom:30px;font-size:12px}body[data-theme=editorial] h1{font-size:19vw;line-height:1.06}body[data-theme=editorial] .hero-intro{margin:25px 0 0;padding:0;display:block}body[data-theme=editorial] .hero-intro p{font-size:16px}body[data-theme=editorial] .hero-visual{min-height:0;height:430px}body[data-theme=editorial] .hero-edge{font-size:12px;padding:18px 0}body[data-theme=editorial] .approach{margin-top:40px;padding:55px 6%}body[data-theme=editorial] .spaces{padding-top:55px}body[data-theme=editorial] .project-grid figure+figure{margin-top:36px}body[data-theme=cinematic] .site-header{height:95px}body[data-theme=cinematic] .hero{min-height:790px;height:100svh}body[data-theme=cinematic] .hero-copy{padding:190px 6% 110px}body[data-theme=cinematic] h1{font-size:17vw}body[data-theme=cinematic] .hero-intro{display:block;margin-top:26px}body[data-theme=cinematic] .hero-intro .text-link{max-width:none;padding-top:20px}body[data-theme=cinematic] .hero-copy .eyebrow{font-size:12px}body[data-theme=cinematic] .hero-visual img{object-position:60% center}body[data-theme=cinematic] .hero-visual figcaption{font-size:12px}body[data-theme=cinematic] .approach{padding:65px 6%}body[data-theme=cinematic] .project-image{height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-credits{font-size:12px;line-height:1.7;margin-top:22px;max-width:660px}.photo-credits summary{cursor:pointer}.photo-credits p{padding-top:12px}.photo-credits a{text-decoration:underline;text-underline-offset:3px}
/* People, place and quieter brand exploration */
body{--matte:#535b48;--matte-soft:#e5e7dd;--matte-light:#f1f2ec;--matte-line:#535b4833}
body[data-palette=clay]{--matte:#765547;--matte-soft:#eee5e0;--matte-light:#f8f1ed;--matte-line:#76554733}
body[data-palette=slate]{--matte:#53636c;--matte-soft:#e3e8ea;--matte-light:#f2f5f5;--matte-line:#53636c33}
body[data-palette=graphite]{--matte:#474941;--matte-soft:#e5e5df;--matte-light:#f1f1eb;--matte-line:#47494133}
body[data-theme=editorial]{--ink:var(--matte);--accent:var(--matte);--line:var(--matte-line)}
body[data-theme=editorial] .site-header{border-color:var(--matte-line)}
body[data-theme=editorial] .brand-mark{filter:none}
body[data-theme=editorial] .approach{background:var(--matte)}
body[data-theme=editorial] .approach p{color:var(--matte-light)}
body[data-theme=editorial] footer{background:var(--matte-soft)}
body[data-theme=editorial] .footer-bottom{border-color:var(--matte-line)}
body[data-theme=editorial] .footer-bottom>span+span{color:var(--matte)}
.editorial-swatch{background:var(--matte)}
.site-header nav{gap:26px}.nav-contact{margin-left:10px}
.team-section{padding:85px 5% 110px;border-top:1px solid var(--line)}
.team-section .eyebrow{margin-bottom:22px}.team-section .section-heading h2{font-size:clamp(36px,4vw,58px)}
.team-intro{font-size:16px;line-height:1.7}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:65px}
.team-card{position:relative;padding:0 0 26px;border-bottom:1px solid var(--line)}
.portrait{width:100%;aspect-ratio:4/5;border-radius:2px;overflow:hidden;position:relative;margin-bottom:28px;background:#e8e8e5}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}

.team-number{display:block;font-size:14px;color:var(--accent);margin-bottom:14px}
.team-card h3{font-family:var(--serif);font-size:27px;letter-spacing:-.035em;font-weight:400;margin:0 0 12px}
.team-role{font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:18px}
.team-specialties{font-size:16px;line-height:1.7;max-width:330px;color:#62665d}
body[data-theme=editorial] .team-card h3{font-family:'Manrope',Arial,sans-serif}body[data-theme=editorial] .team-specialties{color:var(--matte)}
body[data-theme=cinematic] .team-specialties{color:#b9c1b7}
.contact-office{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:70px;padding-top:30px;border-top:1px solid var(--line)}
.contact-office address{font-style:normal;font-size:20px;line-height:1.7;margin-top:20px}.office-map{font-size:16px;border-bottom:1px solid currentColor;padding-bottom:12px;display:flex;gap:40px}
.motion-toggle{position:absolute;z-index:3;top:20px;right:20px;border:1px solid #ffffff80;background:#18201f88;backdrop-filter:blur(10px);color:white;font-size:12px;padding:9px 13px;border-radius:30px;cursor:pointer}
body[data-theme=cinematic] .motion-toggle{top:140px;right:5%}
.hero-visual>img{animation:gallery-move 10s linear infinite alternate;will-change:transform}
body[data-theme=editorial] .hero-visual>img{animation-name:editorial-move}
body[data-theme=cinematic] .hero-visual>img{animation-name:cinematic-move}
@keyframes gallery-move{from{transform:scale(1.01) translateY(0)}to{transform:scale(1.08) translateY(-1%)}}
@keyframes editorial-move{from{transform:scale(1.06) translateX(-1.5%)}to{transform:scale(1.06) translateX(1.5%)}}
@keyframes cinematic-move{from{transform:scale(1.02)}to{transform:scale(1.1) translateY(1%)}}
.motion-paused .hero-visual>img,.page-hidden .hero-visual>img{animation-play-state:paused}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s ease}.reveal-ready.is-visible{opacity:1;transform:none}
.motion-paused .reveal-ready{opacity:1;transform:none;transition:none}
.concept-caption{display:none}.concept-bar{gap:12px;padding:9px 12px}.customize-button{background:#252c25;color:#fff;border:0;border-radius:3px;font-size:14px;padding:14px 18px;cursor:pointer;white-space:nowrap}.customize-button span{margin-left:12px}
#design-dialog{color:#272c27;background:#f8f8f4;border:1px solid #d1d5ca;border-radius:10px;padding:36px;width:min(820px,calc(100% - 30px));max-height:90svh;box-shadow:0 30px 100px #0004}
#design-dialog::backdrop{background:#17201966;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:30px}.dialog-top h2{font:400 38px/1.2 var(--serif);margin-top:12px}.close-dialog{background:none;border:1px solid #b6beb1;border-radius:50%;width:40px;height:40px;font-size:26px;cursor:pointer;color:inherit}
#design-dialog fieldset{margin:0 0 27px;padding:0;border:0}#design-dialog legend{font-size:16px;font-weight:600;margin-bottom:15px}.name-options{display:flex;flex-wrap:wrap;gap:20px}.name-options label{display:flex;gap:7px;font-size:16px;align-items:center;cursor:pointer}.name-options input{accent-color:#535b48;width:16px;height:16px}
.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.logo-grid button{border:1px solid #d3d7cb;border-radius:5px;background:#fff;padding:18px 12px;display:flex;flex-direction:column;align-items:center;color:#272c27;cursor:pointer}.logo-grid button[aria-pressed=true]{border:2px solid #535b48;padding:17px 11px;background:#eef0e9}.logo-grid img{width:80px;height:80px;object-fit:contain;margin-bottom:15px}.logo-grid strong{font-size:15px;font-weight:600}.logo-grid button>span{font-size:12px;line-height:1.6;color:#62695d;margin-top:7px}
.palette-options>p{font-size:14px;color:#62695d;margin-bottom:15px}.palette-grid{display:flex;gap:10px;flex-wrap:wrap}.palette-grid button{border:1px solid #cbd0c2;border-radius:25px;padding:10px 16px;background:white;color:#353a33;font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}.palette-grid button[aria-pressed=true]{outline:2px solid #535b48;outline-offset:2px}.palette-grid button>span{height:18px;width:18px;border-radius:50%}
.brand-preview{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 12px;border-top:1px solid #d6d9d0;border-bottom:1px solid #d6d9d0;flex-wrap:wrap}.preview-symbol{width:50px;height:50px;object-fit:contain}.brand-preview .brand-name{font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:600;letter-spacing:-1.2px}.brand-preview small{width:100%;text-align:center;font-size:12px;letter-spacing:.12em}.apply-design{width:100%;margin-top:24px;background:#30392f;color:#fff;padding:16px;border:0;border-radius:4px;display:flex;justify-content:space-between;font-size:16px;cursor:pointer}
@media(max-width:900px){.team-grid{gap:20px}.team-card{padding-right:10px}.team-card h3{font-size:24px}.team-specialties{font-size:15px}.concept-options button{padding:13px 10px;gap:8px}.customize-button{padding:14px 12px}.site-header nav{gap:16px}.brand{font-size:27px}}
@media(max-width:650px){.site-header{height:auto;min-height:105px;flex-wrap:wrap;justify-content:space-between;padding-top:16px;padding-bottom:12px;gap:8px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}.site-header nav>a:nth-child(2){display:none}.nav-contact{margin-left:auto}.brand{font-size:25px}.brand-mark{width:30px;height:35px}body[data-theme=editorial] .site-header{height:auto}body[data-theme=cinematic] .site-header{height:auto;min-height:108px}body[data-theme=cinematic] .motion-toggle{top:125px;font-size:12px}.team-section{padding:55px 6% 60px}.team-section .section-heading{display:block}.team-intro{margin-top:20px}.team-grid{grid-template-columns:1fr;margin-top:40px;gap:35px}.team-card{padding:0 0 26px 126px;min-height:185px}.portrait{width:105px;position:absolute;left:0;top:0}.team-card h3{font-size:24px;padding-right:12px}.team-role{font-size:14px;letter-spacing:.03em}.team-specialties{font-size:15px}.team-number{display:none}.contact-office{display:block;margin-bottom:45px}.office-map{margin-top:25px;width:max-content}.contact-office address{font-size:18px}.concept-bar{flex-wrap:wrap;padding:7px;gap:6px}.concept-options{width:100%}.concept-options button{padding:8px 4px;font-size:13px;min-height:38px}.customize-button{width:100%;padding:9px;font-size:13px}.customize-button span{margin-left:4px}body{padding-bottom:128px}#design-dialog{padding:22px 18px}.dialog-top h2{font-size:30px}.name-options{gap:12px}.name-options label{font-size:14px}.logo-grid{gap:7px}.logo-grid button{padding:14px 6px}.logo-grid button[aria-pressed=true]{padding:13px 5px}.logo-grid img{width:58px;height:58px}.logo-grid strong{font-size:13px}.logo-grid button>span{font-size:12px}.palette-grid{gap:9px}.palette-grid button{padding:9px 12px}.brand-preview .brand-name{font-size:25px}.team-section .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-visual>img{animation:none!important;transform:none!important}.reveal-ready{opacity:1;transform:none;transition:none!important}}
.brand-mark,.preview-symbol,.logo-grid img{filter:brightness(0)}body[data-theme=editorial] .brand-mark{filter:brightness(0)}body[data-theme=cinematic] .brand-mark{filter:brightness(0) invert(1)}
.motion-toggle:disabled{cursor:default;opacity:.85}

/* Process section, shared across all three concepts. */

.approach.approach-process{display:block;--process-muted:#5b665a;--process-rule:#cdd4c8}
.process-intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}
.approach-process .process-intro .section-label{display:block;margin:10px 0 28px;padding:0;font-size:14px;letter-spacing:.1em;color:inherit;line-height:1.6}
.approach-process h2{max-width:850px;text-wrap:balance}
.approach-process p.process-description{max-width:700px;color:var(--process-muted);margin:28px 0 0;line-height:1.8;font-size:17px}
.process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7%;margin-top:65px}
.process-step{border-top:1px solid var(--process-rule);padding:30px 0 38px;display:grid;grid-template-columns:35px minmax(0,1fr);gap:20px}
.process-number{color:var(--process-muted);font-size:14px;letter-spacing:.08em;line-height:1.8;padding-top:3px}
.process-step h3{font-family:var(--sans);font-size:clamp(22px,2vw,27px);font-weight:500;letter-spacing:-.025em;line-height:1.35;margin:0 0 14px}
.approach-process .process-step p{max-width:520px;margin:0;color:var(--process-muted);font-size:16px;line-height:1.8}
.approach-process p.process-note{max-width:none;margin:8px 0 0;border-top:1px solid var(--process-rule);padding-top:20px;color:var(--process-muted);font-size:14px;line-height:1.7}

/* The sketch stays whole, like a sheet from the design process. */
.process-intro.process-intro--illustrated{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px clamp(32px,4vw,64px);align-items:center}
.approach-process .process-intro--illustrated .section-label{grid-column:1/-1;margin:0}
.process-copy{min-width:0}
.process-artwork{min-width:0;margin:0}
.process-artwork img{display:block;width:100%;height:auto;background:#fff}
.process-artwork figcaption{margin-top:14px;font-size:14px;line-height:1.6;letter-spacing:.02em;color:var(--process-muted)}
@media(max-width:900px){
 .process-intro.process-intro--illustrated{grid-template-columns:minmax(0,1fr);gap:30px}
 .process-intro--illustrated .process-copy{max-width:700px}
 .process-artwork figcaption{margin-top:10px}
}

body[data-theme=editorial] .approach-process{--process-muted:var(--matte-light);--process-rule:color-mix(in srgb, var(--matte-light) 40%, var(--matte))}
body[data-theme=editorial] .process-steps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:30px}
body[data-theme=editorial] .process-step{display:block}
body[data-theme=editorial] .process-number{display:block;margin-bottom:24px}
body[data-theme=editorial] .process-step h3{font-family:'Manrope',Arial,sans-serif;font-size:24px}
body[data-theme=cinematic] .approach-process{--process-muted:#b9c1b7;--process-rule:#536053}
body[data-theme=cinematic] .process-step h3{font-family:var(--serif);font-weight:400}
@media(max-width:1000px){.process-intro{grid-template-columns:1fr 2fr;gap:28px}body[data-theme=editorial] .process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.process-intro{display:block}.process-steps,body[data-theme=editorial] .process-steps{grid-template-columns:minmax(0,1fr);margin-top:40px}.approach-process h2{font-size:clamp(32px,7vw,46px)}.process-step{padding:25px 0 30px;gap:12px;grid-template-columns:30px minmax(0,1fr)}body[data-theme=editorial] .process-step{display:grid}body[data-theme=editorial] .process-number{margin:0}.approach-process p.process-description{font-size:16px}.approach-process p.process-note{font-size:14px}.approach-process .process-intro .section-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body[data-palette=sage]{--matte:#5f6d5d;--matte-soft:#e5e9e0;--matte-light:#f3f5ee;--matte-line:#5f6d5d33}
body[data-palette=forest]{--matte:#344a40;--matte-soft:#e0e7df;--matte-light:#eff4ed;--matte-line:#344a4033}
body[data-palette=eucalyptus]{--matte:#47655e;--matte-soft:#e0e9e4;--matte-light:#eff5f0;--matte-line:#47655e33}
body[data-palette=stone]{--matte:#66645c;--matte-soft:#e9e7e1;--matte-light:#f5f4ef;--matte-line:#66645c33}
body[data-palette=pewter]{--matte:#596365;--matte-soft:#e3e7e7;--matte-light:#f1f4f3;--matte-line:#59636533}
body[data-palette=charcoal]{--matte:#373c3d;--matte-soft:#e2e5e3;--matte-light:#f1f3f1;--matte-line:#373c3d33}

@media(max-width:650px){.team-role{font-size:14px;letter-spacing:.02em}.team-specialties{font-size:16px}.portrait{border-radius:2px}.site-header nav{flex-wrap:wrap}.site-header nav>a:nth-child(2){display:block}}

.portrait-elina img{object-position:center top}

/* Two layered photographs keep the hero continuous during each dissolve. */
.hero-visual>img{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none;animation-play-state:paused}
.hero-visual>img.is-active{opacity:1;animation-play-state:running}
.motion-paused .hero-visual>img,.page-hidden .hero-visual>img{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-visual>img{transition:none!important}}

/* LetsForm / Courtyard: refinement of the first direction. */
body[data-theme=gallery]{--paper:#f8f8f4;--ink:#28372e;--accent:#5d735f;--line:#d4dcd1}
body[data-theme=gallery] .site-header{height:98px;border-bottom:1px solid var(--line)}
body[data-theme=gallery] .brand{font-size:clamp(28px,2.35vw,35px);letter-spacing:-.055em;gap:3px}
body[data-theme=gallery] .brand-mark{width:56px;height:56px;filter:none}
body[data-theme=gallery] .brand-form,body[data-theme=gallery] .brand-period,body[data-theme=gallery] .brand-preview .brand-form{color:var(--accent)}
body[data-theme=gallery] .site-header nav{gap:clamp(16px,2.2vw,34px)}
body[data-theme=gallery] nav a{font-size:14px;letter-spacing:.015em}
body[data-theme=gallery] nav a:hover{color:var(--accent);opacity:1}
body[data-theme=gallery] .hero-copy{padding:clamp(50px,5vw,76px) 5% 52px;grid-template-columns:minmax(0,1.5fr) minmax(260px,.68fr);gap:0 5vw;align-items:end}
body[data-theme=gallery] .hero-copy .eyebrow{font-size:13px;letter-spacing:.13em;color:var(--accent);margin-bottom:28px}
body[data-theme=gallery] h1{font-size:clamp(58px,6.9vw,112px);line-height:1.09;letter-spacing:-.05em;max-width:780px}
body[data-theme=gallery] h1 br{display:block}
body[data-theme=gallery] h1 em{margin-left:0}
body[data-theme=gallery] .hero-intro{border-left:1px solid var(--line);padding:3px 0 3px 27px;align-self:end}
body[data-theme=gallery] .hero-intro p{font-size:17px;line-height:1.7;color:#58665a}
body[data-theme=gallery] .text-link{font-size:14px;gap:20px;border-color:#9eaf9d;padding:17px 0 9px;line-height:1.5}
body[data-theme=gallery] .text-link:hover{color:var(--accent)}
body[data-theme=gallery] .hero-visual{height:clamp(480px,44vw,660px)}
body[data-theme=gallery] .hero-visual>img{object-position:center 59%}
body[data-theme=gallery] .image-shade{inset:50% 0 0;background:linear-gradient(transparent,rgba(21,35,27,.53))}
body[data-theme=gallery] .hero-visual figcaption{font-size:13px;letter-spacing:.12em;bottom:25px}
body[data-theme=gallery] .hero-edge{border-bottom:1px solid var(--line);padding-bottom:20px;color:#536357}
body[data-theme=gallery] .approach-process .process-number{color:var(--accent)}
body[data-theme=gallery] .approach-process .process-step h3{font-size:clamp(22px,1.9vw,26px)}
body[data-theme=gallery] .project-grid{grid-template-columns:1.08fr .92fr;gap:32px}
body[data-theme=gallery] .team-section{border-color:var(--line)}
body[data-theme=gallery] .team-role{color:#4d6252}
body[data-theme=gallery] .team-specialties{color:#576359}
body[data-theme=gallery] footer{background:#e7ebe3}
.previous-link{color:#4d5e51;text-decoration:none;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 11px;border-left:1px solid #dce2d8;min-height:44px}
.previous-link:hover{color:#25382a;background:#f1f4ef}
body .preview-symbol[src$="logo-courtyard-accent.svg"],body .logo-grid img[src$="logo-courtyard-accent.svg"]{filter:none}
body[data-theme=gallery] .concept-options button[aria-pressed=true]{background:#eaf0e8;border-color:#cbd6c8;color:#263b2b}

@media(max-width:1000px){
 body[data-theme=gallery] .hero-copy{grid-template-columns:minmax(0,1fr) minmax(225px,.6fr);gap:25px}
 body[data-theme=gallery] .hero-visual{height:clamp(440px,50vw,560px)}
}
@media(max-width:700px){
 body{padding-bottom:145px}
 body[data-theme=gallery] .site-header{height:auto;min-height:0;padding:15px 6% 0;display:block}
 body[data-theme=gallery] .brand{font-size:29px;line-height:1.1;width:max-content;max-width:100%}
 body[data-theme=gallery] .brand-mark{width:48px;height:48px}
 body[data-theme=gallery] .site-header nav{margin-top:11px;padding:6px 0 9px;border-top:1px solid var(--line);width:100%;display:flex;flex-wrap:wrap;gap:0 20px}
 body[data-theme=gallery] .site-header nav>a:nth-child(2){display:block}
 body[data-theme=gallery] nav a{font-size:14px;padding:8px 0;line-height:1.5;white-space:nowrap}
 body[data-theme=gallery] .nav-contact{margin-left:0}
 body[data-theme=gallery] .hero-copy{display:block;padding:38px 6% 28px}
 body[data-theme=gallery] .hero-copy .eyebrow{font-size:12px;letter-spacing:.1em;line-height:1.5;margin-bottom:19px}
 body[data-theme=gallery] h1{font-size:clamp(49px,12.5vw,76px);line-height:1.1;letter-spacing:-.055em;max-width:100%}
 body[data-theme=gallery] .hero-intro{border-left:0;border-top:1px solid var(--line);margin-top:26px;padding:16px 0 0;max-width:440px}
 body[data-theme=gallery] .hero-intro p{font-size:16px;line-height:1.6}
 body[data-theme=gallery] .text-link{font-size:14px;padding:12px 0 8px}
 body[data-theme=gallery] .hero-visual{height:clamp(340px,91vw,500px);margin:0 6%}
 body[data-theme=gallery] .hero-visual>img{object-position:60% 55%}
 body[data-theme=gallery] .hero-visual figcaption{left:17px;right:17px;bottom:17px;font-size:12px;line-height:1.45;gap:12px}
 body[data-theme=gallery] .hero-edge{margin:16px 6% 0;gap:14px;font-size:12px;line-height:1.4}
 body[data-theme=gallery] .approach-process{padding-top:66px}
 body[data-theme=gallery] .project-grid{display:block}
 .concept-bar{bottom:8px;width:calc(100% - 16px);max-width:520px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:7px}
 .concept-options{grid-column:1/-1;width:100%;gap:4px}
 .concept-options button{font-size:13px;min-height:46px;padding:7px 4px}
 .customize-button{width:100%;min-height:44px;padding:10px 12px;font-size:13px;grid-column:1}
 .previous-link{grid-column:2;border-left:1px solid #dce2d8;padding:8px 9px;font-size:12px;line-height:1.15;text-align:center;white-space:normal;max-width:110px}
}
@media(max-width:360px){body[data-theme=gallery] .site-header nav{gap:0 16px}body[data-theme=gallery] h1{font-size:48px}.previous-link{max-width:96px}}

/* Courtyard studies: four selected shapes with independent brand accents. */
body{--brand-accent-light:#373c3d;--brand-accent-dark:#f2f1ec;--logo-ink:#373c3d;--logo-colour:var(--brand-accent-light)}
.logo-slot,.choice-symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.courtyard-symbol{width:100%;height:100%;display:block;overflow:visible}
.symbol-frame{fill:var(--logo-ink,#373c3d)}
.symbol-dot{fill:var(--logo-colour,var(--brand-accent-light,#373c3d))}
.legacy-symbol{width:100%;height:100%;object-fit:contain;filter:brightness(0)}
body[data-theme] .brand-mark.logo-slot,body .preview-symbol.logo-slot{filter:none}
body[data-theme] .site-header .brand{color:var(--logo-ink);gap:12px;letter-spacing:-.045em}
body[data-theme] .site-header .brand-mark.logo-slot{width:45px;height:44px}
body[data-theme] .site-header .brand-form,body[data-theme] .site-header .brand-period{color:var(--logo-colour)}
body[data-theme=cinematic] .site-header{--logo-ink:#f2f1ec;--logo-colour:var(--brand-accent-dark)}
body[data-theme=cinematic] .site-header .legacy-symbol{filter:brightness(0) invert(1)}
body[data-theme] .footer-bottom .brand-form{color:var(--brand-accent-light)}
body[data-theme=cinematic] .footer-bottom .brand-form{color:var(--brand-accent-dark)}
#design-dialog{width:min(880px,calc(100% - 28px));padding:34px;max-height:92svh;overflow-y:auto;overscroll-behavior:contain;color:#373c3d;background:#f8f8f4;border-color:#d3d7d5;border-radius:9px}
#design-dialog .dialog-top{margin-bottom:26px;align-items:flex-start}
#design-dialog .dialog-top h2{font-family:'Manrope',Arial,sans-serif;font-size:32px;font-weight:500;letter-spacing:-.04em;line-height:1.2}
#design-dialog .dialog-top .eyebrow{font-size:12px;letter-spacing:.12em;color:#68706c}
#design-dialog .close-dialog{flex-shrink:0;min-width:44px;min-height:44px;border-color:#c9ceca}
#design-dialog legend{font-size:16px;font-weight:600;letter-spacing:-.015em}
#design-dialog .control-description{font-size:14px;line-height:1.6;color:#626b65;margin:0 0 15px;max-width:100%}
#design-dialog .courtyard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#design-dialog .logo-grid button{min-width:0;position:relative;border:1px solid #d2d7d3;border-radius:5px;background:#fff;padding:18px 10px 16px;transition:border-color .2s,background .2s;text-align:center}
#design-dialog .logo-grid button:hover{border-color:#89948c;background:#f5f7f3}
#design-dialog .logo-grid button[aria-pressed=true]{border-color:#373c3d;box-shadow:inset 0 0 0 1px #373c3d;background:#ecefea;padding:18px 10px 16px}
#design-dialog .logo-grid .choice-number{align-self:flex-start;font-size:12px;line-height:1;margin:0 0 12px;color:#67716a}
#design-dialog .logo-grid .choice-symbol{width:68px;height:64px;margin:0 0 18px;--logo-ink:#373c3d;--logo-colour:var(--brand-accent-light)}
#design-dialog .logo-grid .choice-symbol img{width:100%;height:100%;margin:0}
#design-dialog .logo-grid strong{font-size:14px;line-height:1.5;font-weight:600}
#design-dialog .logo-grid .choice-detail{font-size:12px;line-height:1.5;margin-top:5px;color:#68716a;min-height:36px}
#design-dialog .brand-colour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#design-dialog .brand-colour-grid button{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #d2d7d3;border-radius:5px;background:#fff;color:#373c3d;font-size:14px;text-align:left;cursor:pointer}
#design-dialog .brand-colour-grid button[aria-pressed=true]{border-color:#373c3d;box-shadow:inset 0 0 0 1px #373c3d;background:#ecefea}
.accent-chip{display:block;width:23px;height:23px;flex-shrink:0;background:linear-gradient(135deg,var(--chip) 50%,var(--chip-light) 50%);border:1px solid #00000010;border-radius:2px}
.identity-previews{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
#design-dialog .brand-preview{display:block;min-width:0;padding:20px 18px 26px;border:1px solid #d6dbd6;border-radius:5px;text-align:left}
#design-dialog .identity-light{background:#f2f1ec;--logo-ink:#373c3d;--logo-colour:var(--brand-accent-light);color:#373c3d}
#design-dialog .identity-dark{background:#373c3d;border-color:#373c3d;--logo-ink:#f2f1ec;--logo-colour:var(--brand-accent-dark);color:#f2f1ec}
.preview-caption{display:block;font-size:12px;letter-spacing:.09em;line-height:1.3;margin:0 0 22px;opacity:.8}
.preview-lockup{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}
#design-dialog .preview-symbol.logo-slot{width:42px;height:40px}
#design-dialog .preview-wordmark{font-family:'Manrope',Arial,sans-serif;font-size:clamp(19px,2.2vw,29px);font-weight:600;letter-spacing:-.045em;line-height:1.2;white-space:nowrap}
#design-dialog .brand-preview .brand-name{font:inherit;letter-spacing:inherit}
#design-dialog .brand-preview .brand-lets{color:var(--logo-ink)}
body[data-theme] #design-dialog .brand-preview .brand-form,#design-dialog .brand-preview .brand-period{color:var(--logo-colour)}
#brand-selection-summary{font-size:14px;font-weight:500;text-align:center;margin:16px 0 9px;color:#373c3d}
#design-dialog .preview-note{text-align:center;font-size:12px;margin:0 0 22px}
.additional-brand-options{border-top:1px solid #d4dad4;margin-top:24px;padding-top:18px}
.additional-brand-options>summary{font-size:14px;font-weight:500;cursor:pointer;padding:9px 0;line-height:1.5}
.additional-brand-options[open]>summary{margin-bottom:21px}
#design-dialog .additional-brand-options fieldset{margin-bottom:25px}
#design-dialog .additional-brand-options .name-options{gap:16px;flex-wrap:wrap}
#design-dialog .additional-brand-options .name-options label{font-size:14px}
#design-dialog .additional-brand-options .logo-grid button>span{font-size:12px}
#design-dialog .dialog-actions{margin-top:22px;border-top:1px solid #d4dad4;padding-top:18px}
#design-dialog .apply-design{margin:0;background:#373c3d;justify-content:center;min-height:48px;border-radius:4px}
.dialog-actions p{font-size:12px;line-height:1.5;text-align:center;color:#68716a;margin:12px 0 0}
@media(max-width:760px){
 #design-dialog{padding:24px;width:calc(100% - 24px)}
 #design-dialog .courtyard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #design-dialog .logo-grid .choice-symbol{width:60px;height:56px;margin-bottom:10px}
 #design-dialog .logo-grid .choice-detail{min-height:0}
 #design-dialog .brand-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .identity-previews{grid-template-columns:1fr}
 #design-dialog .brand-preview{padding:15px 18px 22px}
 .preview-caption{margin-bottom:16px}
 #design-dialog .preview-wordmark{font-size:29px}
}
@media(max-width:450px){
 #design-dialog{padding:20px 16px}
 #design-dialog .dialog-top h2{font-size:27px}
 #design-dialog .brand-colour-grid button{padding:10px;font-size:14px;gap:8px}
 #design-dialog .logo-grid button,#design-dialog .logo-grid button[aria-pressed=true]{padding:14px 8px}
 body[data-theme] .site-header .brand-mark.logo-slot{width:37px;height:36px}
 #design-dialog .additional-brand-options .logo-grid{grid-template-columns:1fr}
 #design-dialog .preview-wordmark{font-size:25px}
}

.portrait-initials{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e2e5e3;color:#373c3d}.portrait-initials>span{font:400 clamp(44px,7vw,112px)/1 Georgia,serif;letter-spacing:-.07em}.portrait-initials>small{font:500 10px/1.5 Arial,sans-serif;letter-spacing:.15em;margin-top:25px}@media(max-width:650px){.portrait-initials>small{display:none}.portrait-initials>span{font-size:43px}}
