*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper,#faf9f6);color:var(--ink,#202523);font:17px/1.6 Arial,Helvetica,sans-serif;--accent:#925433;--line:#20252326;--ink:#202523;--paper:#faf9f6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea:focus-visible{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}button,a.primary{cursor:pointer}button{color:inherit}body[data-palette=ink]{--ink:#f5f4ef;--paper:#141618;--accent:#b8a6df;--line:#ffffff30}body[data-palette=navy]{--ink:#162a3d;--paper:#f5f7fa;--accent:#355a7e}body[data-palette=blue]{--ink:#142f45;--paper:#f8fbfe;--accent:#245c8e}body[data-palette=stone]{--ink:#202b33;--paper:#eceeeb;--accent:#384d5d}body[data-palette=sage]{--ink:#26382e;--paper:#f5f6f1;--accent:#526c56}body[data-palette=forest]{--ink:#16312a;--paper:#f2f5ec;--accent:#326153}body[data-palette=wine]{--ink:#452833;--paper:#faf5f3;--accent:#875267}body[data-palette=amber]{--ink:#272e38;--paper:#f8f7f2;--accent:#8b601a}body[data-palette=teal]{--ink:#143b40;--paper:#f5faf9;--accent:#276b70}body[data-palette=orange]{--ink:#302b28;--paper:#fffaf5;--accent:#a95122}.demo-bar{padding:10px 5%;background:#15131e;color:#f1edf9;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.demo-bar a{text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 6%;border-bottom:1px solid var(--line)}.wordmark{font-size:24px;font-weight:700;letter-spacing:3px}.header nav{display:flex;gap:25px;font-size:14px}.languages button{background:transparent;border:0;padding:8px;font-size:14px}.languages button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:80px 12%;align-self:center}.kicker{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(45px,5.8vw,83px);line-height:1.02;letter-spacing:-2px;margin:24px 0 28px}h2{font-size:clamp(29px,3vw,43px);line-height:1.15;font-weight:500;letter-spacing:-1px;margin:14px 0 25px}h3{font-size:22px;line-height:1.3;font-weight:500;margin:10px 0}.hero-copy>p{max-width:520px}.primary{display:inline-block;padding:15px 23px;background:var(--accent);color:white;border:0;border-radius:3px;font-weight:600;font-size:15px}.hero-media{position:relative;overflow:hidden;min-height:500px;margin:0}.hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-media figcaption{position:absolute;bottom:15px;left:18px;font-size:12px;background:#12171ddd;color:white;padding:6px 10px}.content{padding:75px 6%;max-width:1400px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-heading p{max-width:390px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-grid article{border-top:1px solid var(--line);padding:24px 0}.service-grid small{color:var(--accent)}.service-grid p{font-size:16px}.interactive{padding:30px;background:color-mix(in srgb,var(--accent) 7%,var(--paper));border:1px solid var(--line);border-radius:4px}.choice-strip{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.choice-strip button{background:transparent;border:1px solid var(--line);padding:12px 17px;border-radius:2px}.choice-strip button[aria-pressed=true]{background:var(--accent);color:white}.result-box{padding:18px 0;border-top:1px solid var(--line);min-height:85px}.result-box p{margin:6px 0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.tiles article{padding:22px;background:var(--paper);border:1px solid var(--line)}.tiles article[hidden]{display:none}.tiles span{display:block;color:var(--accent);font-size:14px}.request{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line)}.request>div>p{max-width:450px}form{padding:30px;border:1px solid var(--line);background:var(--paper)}label{display:block;font-size:15px;margin:0 0 8px}input,select,textarea{width:100%;padding:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:2px;margin:0 0 18px}textarea{min-height:100px}input[type=range]{padding:0;accent-color:var(--accent)}input[type=checkbox]{width:auto;margin:0 8px 0 0}input[type=date]{min-width:0}.summary{padding:17px;margin-top:20px;background:color-mix(in srgb,var(--accent) 9%,var(--paper))}.notice{font-size:14px;opacity:.8}.project-photo{width:100%;height:350px;object-fit:cover;display:block}.timeline{display:flex;gap:12px;margin:20px 0}.timeline span{flex:1;border-top:4px solid var(--line);padding-top:10px;font-size:14px}.timeline span.is-active{border-color:var(--accent)}.footer{padding:35px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:14px}.footer a{text-decoration:underline}.loading{padding:60px}
/* Different compositions and measured motion, not colour-swapped templates. */
body[data-layout=editorial] .hero{grid-template-columns:1.1fr 1fr;gap:0;padding:45px 6% 60px}body[data-layout=editorial] .hero-copy{padding:35px 9% 35px 0}body[data-layout=editorial] .hero-media{min-height:540px;border-radius:45% 45% 0 0}body[data-layout=editorial] .hero-media img{animation:slow-focus 1.6s ease-out both}body[data-layout=poster] .hero{display:block;min-height:720px;background:#111;color:white}body[data-layout=poster] .hero-media{position:absolute;inset:0;opacity:.63}body[data-layout=poster] .hero-copy{position:relative;z-index:1;padding:110px 6%;max-width:820px}body[data-layout=poster] h1{font-family:Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-3px}body[data-layout=poster] .kicker{color:#e1d7f6}body[data-layout=poster] .hero-copy>p{text-shadow:0 1px 5px #000}body[data-layout=poster] .hero-media img{animation:poster-reveal 1s ease-out both}body[data-layout=blueprint] .hero-copy{border-right:1px solid var(--line)}body[data-layout=blueprint] h1{font-family:Arial,sans-serif;font-size:clamp(44px,5vw,72px);font-weight:600}body[data-layout=blueprint] .hero-media{margin:35px;min-height:520px}body[data-layout=blueprint] .hero-media img{animation:blueprint-reveal 1.2s cubic-bezier(.2,.8,.2,1) both}body[data-layout=blueprint] .service-grid article{border:1px solid var(--line);padding:25px}body[data-layout=panorama] .hero{display:flex;flex-direction:column}body[data-layout=panorama] .hero-copy{padding:70px 6% 45px;display:grid;grid-template-columns:1.3fr 1fr;gap:10px 70px;align-items:start}body[data-layout=panorama] h1{margin:0;grid-row:2/4}body[data-layout=panorama] .hero-copy .kicker{grid-column:1/-1}body[data-layout=panorama] .hero-copy .primary{justify-self:start}body[data-layout=panorama] .hero-media{min-height:450px;height:450px}body[data-layout=panorama] .hero-media img{animation:panorama-reveal 1.5s ease-out both}body[data-layout=service] .hero{min-height:560px;grid-template-columns:1.15fr 1fr}body[data-layout=service] h1{font-family:Arial,sans-serif;font-weight:700;font-size:clamp(42px,4.6vw,67px)}body[data-layout=service] .hero-media{margin:45px 6% 45px 0;min-height:440px;border-radius:5px}body[data-layout=service] .hero-copy{padding:65px 10%}body[data-layout=service] .hero-media img{animation:service-reveal 1s ease both}body[data-layout=split] .hero-media{order:-1}body[data-layout=split] .hero-copy{padding:70px 12%}body[data-layout=split] .hero-media img{animation:split-reveal 1.2s ease-out both}.hero-copy{animation:text-enter .7s ease-out both}@keyframes text-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slow-focus{from{transform:scale(1.05);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes poster-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes blueprint-reveal{from{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes panorama-reveal{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes service-reveal{from{transform:translateX(18px);opacity:0}to{transform:none;opacity:1}}@keyframes split-reveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@media(max-width:760px){.demo-bar{font-size:12px;align-items:start}.header{padding:20px 6%;flex-wrap:wrap;gap:12px}.header nav{order:3;width:100%;gap:20px}.wordmark{font-size:20px}.hero,body[data-layout=editorial] .hero,body[data-layout=service] .hero{display:flex;flex-direction:column;min-height:0;padding:0;gap:0}.hero-copy,body[data-layout=editorial] .hero-copy,body[data-layout=service] .hero-copy,body[data-layout=split] .hero-copy{padding:55px 6%}.hero-media,body[data-layout=editorial] .hero-media,body[data-layout=blueprint] .hero-media,body[data-layout=service] .hero-media{height:350px;min-height:350px;margin:0;border-radius:0}.hero-media img{height:100%}body[data-layout=split] .hero-media{order:0}body[data-layout=blueprint] .hero{display:flex;flex-direction:column}body[data-layout=blueprint] .hero-copy{border:0}body[data-layout=poster] .hero{min-height:660px}body[data-layout=poster] .hero-media{height:100%}body[data-layout=poster] .hero-copy{padding:90px 6%}body[data-layout=panorama] .hero-copy{display:block;padding:55px 6% 40px}body[data-layout=panorama] h1{margin:20px 0}h1{font-size:52px}.service-grid,.tiles,.request{grid-template-columns:1fr}.request{gap:30px}.content{padding:50px 6%}.section-heading{display:block}.interactive,form{padding:22px}.footer{flex-direction:column}.timeline{flex-wrap:wrap}.timeline span{min-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
