/* Logo colour is baked into the SVG, never approximated through filters. */
.studio-pair.brand-family .family-logo img{filter:none!important}
.studio-content{position:relative;isolation:isolate;overflow:clip}.studio-content .content-heading{grid-template-columns:1fr 1fr;column-gap:70px;row-gap:25px;margin-bottom:75px}.studio-content .content-heading>span{grid-column:1/-1;font-size:12px;letter-spacing:3px;border-top:1px solid #ffffff35;padding-top:20px}.studio-content .content-heading h2{font-size:clamp(42px,5.8vw,88px);line-height:1.12;letter-spacing:-.055em}.studio-content .content-heading>p{grid-column:2;align-self:end;max-width:420px;font-size:17px;line-height:1.9}.service-columns{gap:0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.service-panel{border:0;padding:50px 48px 40px 0;background:none}.service-panel+ .service-panel{border-left:1px solid #ffffff25;padding:50px 0 40px 48px}.service-number{font-size:260px;right:12px;top:16px;-webkit-text-stroke-color:#ffffff1b;transition:transform .9s,color .9s}.service-panel:hover .service-number{transform:translateY(-12px);color:#ffffff04}.service-panel h3{font-size:40px;margin-top:60px}.service-panel details{position:relative}.service-panel summary{padding:24px 0}.service-panel summary:hover{color:#fff}.service-panel details[open]{border-top-color:#d3dfec}.service-panel details[open]:before{content:'';position:absolute;left:0;top:-1px;width:55px;height:2px;background:#fff;box-shadow:0 0 16px #ffffff50}.engineering-panel{border:0;border-bottom:1px solid #ffffff30;padding:40px 0;margin:0;grid-template-columns:1fr 1fr;gap:80px}.engineering-panel h3{font-size:40px}
.process-section .content-heading h2{font-size:clamp(42px,6.6vw,98px)}.process-meter{height:1px;background:#ffffff20;margin-bottom:20px}.process-meter>span{display:block;height:2px;width:25%;background:#d7e2ee;box-shadow:0 0 15px #ffffff40;transition:width .6s}.process-list{gap:0}.process-list li{padding:25px 28px 30px;border-top:0;border-left:1px solid #ffffff20;transition:background .5s}.process-list li:first-child{border-left:0}.process-select{font:clamp(60px,7vw,110px)/1 Arial;letter-spacing:-.07em;border:0;background:none;color:transparent;-webkit-text-stroke:1px #84909e;padding:0 12px 10px 0;cursor:pointer;transition:color .4s,transform .4s}.process-select[aria-pressed=true]{color:#e1e6ed;-webkit-text-stroke-color:transparent;transform:translateY(-5px)}.process-list li:has(.process-select[aria-pressed=true]){background:linear-gradient(#ffffff07,transparent)}.process-list h3{margin:20px 0}.process-list li:before{display:none}.process-select:focus-visible{outline:2px solid #d5e2f3;outline-offset:6px}
.inquiry-section .content-heading{margin-bottom:55px}.inquiry-grid{grid-template-columns:.95fr 1.15fr;gap:80px}.brief-note{position:relative;border:1px solid #ffffff30;padding:38px;transform:rotate(-1.5deg);background:#ffffff03;transition:transform .5s}.brief-note:hover,.brief-note:focus-within{transform:rotate(0)}.brief-stamp{display:block;font:11px Arial;letter-spacing:4px;color:#8f9aa8;margin-bottom:36px}.brief-note h3{font-size:32px}.brief-help{font-size:14px;line-height:1.8;color:#9ba6b4}.brief-progress{display:block;font:13px Arial;color:#d1dbe8;margin:22px 0}.brief-note li{display:block;padding:18px 0}.brief-note label{display:flex;align-items:flex-start;gap:15px;cursor:pointer}.brief-note input{width:18px;height:18px;accent-color:#b9cce3;flex-shrink:0;margin-top:5px}.brief-note label>span{display:block}.brief-note label b{display:block;color:#e2e5ea}.brief-note label>span>span{display:block;margin-top:5px;font-size:14px}.brief-note li:has(input:checked) b{color:#a8bdd7}.studio-faq summary{padding:30px 0;font-size:19px}.studio-faq details[open] summary{color:#fff}.studio-faq details p{padding-right:25px}.studio-faq summary>span{font-size:24px;font-weight:200}
.vi-story{margin-top:95px;border-top:1px solid #ffffff25;padding-top:45px}.vi-heading>span,.vi-copy>span{font:12px Arial;letter-spacing:2px;color:#95a3b4}.vi-heading h2{font-size:clamp(32px,4vw,60px);font-weight:400;margin:22px 0}.vi-heading>p{font-size:16px;line-height:1.9;color:#abb5c2}.vi-tabs{display:flex;gap:28px;border-bottom:1px solid #ffffff25;margin-top:35px}.vi-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#8f9bab;font-size:15px;padding:20px 0;cursor:pointer}.vi-tabs button[aria-pressed=true]{color:#fff;border-color:#c6d2e0}.vi-body{display:grid;grid-template-columns:.7fr 1.7fr;gap:55px;margin-top:40px}.vi-copy h3{font-size:30px;line-height:1.5;font-weight:400}.vi-copy p{font-size:16px;line-height:1.9;color:#aeb7c4}.vi-copy ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:25px 0}.vi-copy li{font-size:12px;padding:8px 12px;border:1px solid #ffffff25}.vi-copy small{font-size:12px;line-height:1.7;color:#8f9baa}.vi-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.vi-images figure{margin:0}.vi-images figure:nth-child(2){margin-top:70px}.vi-images img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#dedede;transition:transform .6s}.vi-images figure:hover img{transform:translateY(-7px)}.vi-images figcaption{font-size:12px;color:#a0afbf;margin-top:15px}.vi-tabs button:focus-visible{outline:2px solid #d8e3f0;outline-offset:5px}
@media(max-width:1000px){.studio-content .content-heading{gap:30px}.service-panel{padding-right:25px}.service-panel+ .service-panel{padding-left:25px}.process-list{grid-template-columns:1fr 1fr}.process-list li:nth-child(3){border-left:0}.inquiry-grid{gap:35px}.brief-note{padding:25px}.vi-body{grid-template-columns:1fr}.vi-copy{max-width:650px}}
@media(max-width:700px){.studio-content .content-heading{display:block;margin-bottom:40px}.studio-content .content-heading>span{display:block}.studio-content .content-heading h2,.process-section .content-heading h2{font-size:44px;margin:25px 0}.studio-content .content-heading>p{font-size:16px}.service-columns{display:block}.service-panel,.service-panel+ .service-panel{padding:35px 0;border-left:0}.service-panel+ .service-panel{border-top:1px solid #ffffff30}.service-panel h3{font-size:34px}.service-number{font-size:200px}.engineering-panel{grid-template-columns:1fr;gap:20px}.process-list li{padding:20px 16px}.process-select{font-size:70px}.inquiry-grid{grid-template-columns:1fr}.brief-note{transform:none}.studio-faq summary{font-size:17px}.vi-story{margin-top:60px}.vi-images{gap:12px}.vi-images figure:nth-child(2){margin-top:35px}.vi-copy h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.brief-note,.service-panel:hover .service-number,.vi-images figure:hover img,.process-select[aria-pressed=true]{transform:none}.brief-note,.service-number,.vi-images img,.process-select,.process-meter>span{transition:none}}
/* Brand details open from the logo plates, outside the document flow. */
.vi-trigger{position:relative;border:0;cursor:pointer;font:inherit}.vi-open-hint{position:absolute;right:10px;bottom:6px;color:#4c4948;font-size:10px;opacity:.65;transition:opacity .2s}.vi-trigger:hover .vi-open-hint{opacity:1}.vi-trigger:focus-visible{outline:2px solid #cbdcf3;outline-offset:5px}#vi-dialog{position:fixed;inset:0;width:min(1180px,92vw);max-width:92vw;max-height:88svh;height:auto;margin:auto;padding:48px;border:1px solid #ffffff30;background:#111720;color:#e8ebef;overflow:auto;overscroll-behavior:contain;border-radius:0}#vi-dialog::backdrop{background:#000b;backdrop-filter:blur(12px)}#vi-dialog .vi-heading{padding-right:40px}#vi-dialog .vi-heading h2{font-size:clamp(28px,3vw,46px)}.vi-close{position:absolute;right:18px;top:14px;width:40px;height:40px;background:transparent;color:#e8ebef;border:1px solid #ffffff35;cursor:pointer;font-size:26px}.vi-close:hover{background:#ffffff15}.vi-close:focus-visible{outline:2px solid #cbdcf3;outline-offset:3px}#vi-dialog .vi-body{grid-template-columns:1fr;gap:25px}#vi-dialog .vi-copy{max-width:800px}#vi-dialog .vi-images figure:nth-child(2){margin-top:0}@media(max-width:700px){#vi-dialog{padding:55px 22px 28px}#vi-dialog .vi-images{grid-template-columns:1fr;gap:25px}#vi-dialog .vi-heading{padding-right:0}.vi-open-hint{font-size:9px}}
