:root{--ink:#061522;--paper:#eef3f6;--muted:#aab8c2;--green:#086ea8;--sand:#28c8ff;--line:rgba(6,21,34,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip-link{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{left:1rem}.site-header{height:92px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.8rem}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:1rem;letter-spacing:.19em}.brand small{font-size:.67rem;letter-spacing:.08em;margin-top:.38rem}.brand-mark{display:grid;grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:21px;height:28px}.brand-mark i{display:block;background:var(--ink);height:100%;transform:skewY(-25deg)}.brand-mark i:nth-child(2){height:72%}.brand-mark i:nth-child(3){height:45%}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.85rem}.site-header nav a:not(.nav-cta){position:relative}.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--ink);transition:.25s}.site-header nav a:hover::after{width:100%}.nav-cta{border:1px solid var(--ink);padding:.7rem 1rem}.menu-toggle{display:none;background:none;border:0;font:inherit}.hero{height:calc(100vh - 92px);min-height:650px;position:relative;color:#fff;overflow:hidden}.hero>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,10,.68) 0%,rgba(8,13,10,.22) 52%,rgba(8,13,10,.04) 100%),linear-gradient(0deg,rgba(5,8,6,.3),transparent 45%)}.hero-copy{position:absolute;left:clamp(1.5rem,7vw,8rem);bottom:clamp(5rem,12vh,9rem);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600}.hero h1,.statement .lead,.services h2,.work h2,.process h2,.contact h2{font-family:"Instrument Serif",serif;font-weight:400;line-height:.93;margin:0}.hero h1{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.03em}.hero h1 em,.work h2 em{font-weight:400}.hero-intro{max-width:480px;font-size:1.05rem;margin:2rem 0 1.8rem;color:rgba(255,255,255,.88)}.text-link{font-size:.86rem;text-transform:uppercase;letter-spacing:.12em;padding-bottom:.5rem;border-bottom:1px solid}.text-link span{margin-left:.75rem}.image-note{position:absolute;right:2rem;bottom:1.5rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}.hero-index{position:absolute;right:3rem;top:50%;display:flex;align-items:center;gap:.8rem;font-size:.68rem}.hero-index i{display:block;width:55px;height:1px;background:rgba(255,255,255,.55)}.section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.section-label span{color:#6d746e;margin-right:1.5rem}.statement{padding:clamp(6rem,12vw,12rem) clamp(1.5rem,7vw,8rem);display:grid;grid-template-columns:1fr 3fr;gap:4rem}.statement-copy{max-width:980px}.statement .lead{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.025em}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);margin-top:4rem;margin-left:25%}.statement-grid p{margin:0;color:#515651}.services{background:var(--ink);color:var(--paper);padding:clamp(6rem,10vw,10rem) clamp(1.5rem,7vw,8rem)}.light-label span{color:#8d948e}.services-heading{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:end;margin:4rem 0 6rem}.services h2,.work h2,.process h2{font-size:clamp(3.5rem,6vw,6.2rem);letter-spacing:-.025em}.services-heading p{max-width:400px;color:#aeb4af}.service-list{border-top:1px solid rgba(255,255,255,.2)}.service-list article{display:grid;grid-template-columns:80px 1.2fr 1fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid rgba(255,255,255,.2);align-items:start}.service-list span,.service-list p{color:#969c97;font-size:.82rem}.service-list h3{font-size:1.4rem;font-weight:500;margin:0}.service-list p{margin:0;max-width:430px}.work{padding:clamp(6rem,11vw,11rem) clamp(1.5rem,7vw,8rem)}.work-heading{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:end;margin:4rem 0 5rem}.work-heading p{color:#5f645f}.work-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:1.25rem;align-items:stretch}.featured-card{background:#dce7ec}.featured-image{height:500px;overflow:hidden}.featured-image img{height:100%;object-fit:cover;transition:transform .8s}.featured-card:hover img{transform:scale(1.025)}.featured-card>div:last-child{padding:2rem}.card-meta,.project-note span{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#687069}.featured-card h3,.project-note h3{font-family:"Instrument Serif",serif;font-size:2rem;font-weight:400;line-height:1.05;margin:.7rem 0}.featured-card p:last-child{color:#666b66}.project-note{background:var(--green);color:#fff;padding:2rem;min-height:500px;display:flex;flex-direction:column;position:relative;overflow:hidden}.project-note.warm{background:#356b89}.project-note span{color:rgba(255,255,255,.7)}.project-note h3{font-size:2.45rem;margin-top:3rem}.project-note p{margin-top:auto;color:rgba(255,255,255,.78)}.project-note i{position:absolute;width:230px;height:230px;border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-80px;bottom:-80px}.process{padding:clamp(6rem,11vw,11rem) clamp(1.5rem,7vw,8rem);display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line);gap:4rem}.process-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}.process ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.process li>span{font-size:.7rem;color:#777d78}.process h3{font-size:1rem;margin:0 0 .5rem}.process li p{font-size:.85rem;color:#626762;margin:0}.contact{background:#cbd9e0;padding:clamp(6rem,12vw,12rem) clamp(1.5rem,7vw,8rem)}.contact h2{font-size:clamp(4rem,9vw,9rem);letter-spacing:-.035em;margin:1rem 0 2rem}.contact>p:not(.eyebrow){font-size:1.05rem;max-width:560px}.contact-actions{display:flex;justify-content:space-between;align-items:flex-end;margin-top:5rem}.primary-button{display:inline-flex;align-items:center;gap:2rem;background:var(--ink);color:#fff;padding:1.1rem 1.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem}.contact address{font-style:normal;font-size:.85rem;color:#555a55}footer{background:var(--ink);color:#fff;min-height:190px;padding:3.5rem clamp(1.5rem,7vw,8rem);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}footer p{font-size:.72rem;color:#969c97;margin:0}.footer-brand .brand-mark i{background:#fff}
@media(max-width:900px){.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:2rem;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line)}.site-header nav.open{display:flex}.hero-index{display:none}.statement,.process{grid-template-columns:1fr}.statement-grid{margin-left:0}.services-heading,.work-heading,.process-content{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr 1fr}.featured-card{grid-column:1/-1}.featured-image{height:440px}.service-list article{grid-template-columns:50px 1fr}.service-list article p{grid-column:2}.contact-actions{gap:3rem}}
@media(max-width:600px){.site-header{height:76px}.site-header nav{top:76px}.hero{height:calc(100svh - 76px);min-height:580px}.hero-copy{bottom:4rem}.hero h1{font-size:3.9rem}.hero-intro{font-size:.95rem}.image-note{right:1rem;bottom:1rem}.statement,.services,.work,.process,.contact{padding-left:1.25rem;padding-right:1.25rem}.statement-grid,.work-grid{grid-template-columns:1fr}.services-heading,.work-heading{gap:1.5rem}.services-heading{margin-bottom:3rem}.service-list article{grid-template-columns:35px 1fr;gap:1rem}.featured-image{height:320px}.project-note{min-height:390px}.contact-actions{align-items:flex-start;flex-direction:column}.contact h2{font-size:4.2rem}footer{grid-template-columns:1fr;gap:2rem;align-items:start}.footer-brand{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.chat-launcher{position:fixed;right:1.35rem;bottom:1.35rem;z-index:40;display:flex;align-items:center;gap:.65rem;border:0;border-radius:999px;background:var(--green);color:#fff;padding:.9rem 1.15rem;box-shadow:0 12px 35px rgba(10,18,13,.25);font:600 .78rem/1 "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.chat-launcher-icon{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:rgba(255,255,255,.14);font-size:.85rem}.chat-panel{position:fixed;right:1.35rem;bottom:5.7rem;z-index:50;width:min(420px,calc(100vw - 2rem));max-height:min(720px,calc(100vh - 7rem));overflow:hidden;background:#f7f5ef;border:1px solid rgba(23,27,24,.15);box-shadow:0 24px 70px rgba(10,18,13,.28);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s}.chat-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;background:var(--ink);color:#fff;padding:1.35rem 1.4rem}.chat-kicker{margin:0 0 .3rem;color:#aab0ab;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.chat-header h2{margin:0;font:400 1.85rem/1 "Instrument Serif",serif}.chat-close{border:0;background:transparent;color:#fff;font:300 1.75rem/1 sans-serif;cursor:pointer;padding:.15rem}.chat-body{max-height:calc(min(720px,100vh - 7rem) - 84px);overflow-y:auto;padding:1.25rem 1.4rem 1.4rem}.chat-message{margin:0 0 1.15rem;color:#525852;font-size:.9rem}.chat-body form{display:grid;gap:.85rem}.chat-body label{display:grid;gap:.35rem;font-size:.75rem;font-weight:600;letter-spacing:.03em}.chat-body label span{font-weight:400;color:#6c726d}.chat-body input,.chat-body select,.chat-body textarea{width:100%;border:1px solid rgba(23,27,24,.22);border-radius:0;background:#fff;color:var(--ink);padding:.72rem .78rem;font:400 1rem/1.35 "DM Sans",sans-serif}.chat-body textarea{resize:vertical;min-height:96px}.chat-body input:focus,.chat-body select:focus,.chat-body textarea:focus{outline:2px solid var(--green);outline-offset:1px}.chat-consent{margin:0;color:#70756f;font-size:.7rem;line-height:1.45}.chat-submit{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--green);color:#fff;padding:.9rem 1rem;font:600 .75rem/1 "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.chat-submit:disabled{opacity:.65;cursor:wait}.chat-status{min-height:1.25rem;margin:0;font-size:.78rem}.chat-status.success{color:#2d6443}.chat-status.error{color:#9b342b}.chat-honeypot{position:absolute!important;left:-9999px!important}.chat-close:focus-visible,.chat-launcher:focus-visible,.chat-submit:focus-visible{outline:3px solid var(--sand);outline-offset:3px}
@media(max-width:600px){.chat-launcher{right:1rem;bottom:1rem}.chat-panel{right:1rem;bottom:5.25rem;max-height:calc(100svh - 6.5rem)}.chat-body{max-height:calc(100svh - 6.5rem - 84px)}}

/* Migrated portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.portfolio-card{background:#dce7ec;min-width:0}.portfolio-image{aspect-ratio:4/3;overflow:hidden;background:#cbd9e0}.portfolio-image img{height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-card:hover .portfolio-image img{transform:scale(1.025)}.portfolio-copy{padding:1.55rem}.portfolio-copy h3,.award-card h3{font-family:"Instrument Serif",serif;font-size:1.85rem;font-weight:400;line-height:1.05;margin:.55rem 0 .8rem}.portfolio-copy>p:last-child,.award-card>div>p:last-child{color:#626762;font-size:.88rem;margin:0}.archive-note{margin:2rem 0 0;color:#747a74;font-size:.75rem}.awards{background:var(--ink);color:var(--paper);padding:clamp(6rem,10vw,10rem) clamp(1.5rem,7vw,8rem)}.awards-heading{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:end;margin:4rem 0 5rem}.awards-heading h2{font-family:"Instrument Serif",serif;font-size:clamp(3.5rem,6vw,6.2rem);font-weight:400;line-height:.93;letter-spacing:-.025em;margin:0}.awards-heading p{color:#aeb4af}.awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.award-card{background:#252b27;border:1px solid rgba(255,255,255,.12)}.award-card>img{aspect-ratio:1/1;object-fit:cover}.award-card>div{padding:1.45rem}.award-card .card-meta{color:#aeb4af}.award-card>div>p:last-child{color:#b8bdb9}@media(max-width:900px){.portfolio-grid,.awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.awards-heading{grid-template-columns:1fr}}@media(max-width:600px){.portfolio-grid,.awards-grid{grid-template-columns:1fr}.awards{padding-left:1.25rem;padding-right:1.25rem}.portfolio-copy h3,.award-card h3{font-size:2rem}}

/* Portfolio detail interaction */
.portfolio-card{cursor:pointer;position:relative;transition:transform .2s ease,box-shadow .2s ease}.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(23,27,24,.13)}.portfolio-card:focus-visible{outline:3px solid var(--green);outline-offset:4px}.portfolio-card .portfolio-copy{display:flex;flex-direction:column;gap:.45rem}.portfolio-card .portfolio-copy h3{margin:0}.portfolio-card .portfolio-copy .card-meta{margin:0}.project-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1.25rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}.project-modal.open{opacity:1;visibility:visible}.project-modal-backdrop{position:absolute;inset:0;background:rgba(8,12,9,.78);backdrop-filter:blur(5px)}.project-modal-dialog{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100svh - 2.5rem);overflow:auto;background:var(--paper);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);box-shadow:0 30px 90px rgba(0,0,0,.35)}.project-modal-image{width:100%;height:100%;min-height:480px;object-fit:cover;background:#d7d3c9}.project-modal-copy{padding:clamp(2rem,5vw,4rem);align-self:center}.project-modal-copy h2{font:400 clamp(2.5rem,5vw,4.5rem)/.95 "Instrument Serif",serif;letter-spacing:-.025em;margin:.7rem 0 1.5rem}.project-modal-copy>p:last-child{color:#555c56}.project-modal-close{position:absolute;right:1rem;top:1rem;z-index:2;width:2.65rem;height:2.65rem;border:0;border-radius:50%;background:var(--ink);color:#fff;font:300 1.8rem/1 sans-serif;cursor:pointer}.project-modal-close:focus-visible{outline:3px solid var(--sand);outline-offset:3px}body.modal-open{overflow:hidden}@media(max-width:760px){.project-modal-dialog{grid-template-columns:1fr}.project-modal-image{height:300px;min-height:0}.project-modal-copy{padding:1.75rem}.project-modal-copy h2{font-size:2.7rem}}

.project-page-link{display:inline-flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--ink);font-size:.73rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.project-page-link:hover{color:var(--green)}

/* Digal metallic-blue brand system */
.brand-logo{width:48px;height:48px;object-fit:contain;flex:0 0 auto}.footer-brand .brand-logo{filter:drop-shadow(0 0 8px rgba(40,200,255,.22))}.nav-cta,.primary-button,.chat-submit{transition:background .2s ease,color .2s ease}.nav-cta:hover{background:var(--ink);color:#fff}.primary-button:hover,.chat-submit:hover{background:#075c8c}.services,.awards,footer,.chat-header{background:linear-gradient(135deg,#061522 0%,#0a2638 100%)}.portfolio-card:hover{box-shadow:0 14px 35px rgba(3,48,76,.18)}
