:root{color:#282720;background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;--bg:#f3efe7;--paper:#fbf8f1;--ink:#282720;--muted:#625f55;--line:#d8d0c2;--accent:#ad4d32;--accent-soft:#efddd1;--glass:#ffffffa3;--glass-border:#ffffffc7;--glass-shadow:0 14px 34px #44332317;--drawer-bg:#fcf9f3f7;--drawer-border:#ffffffe6;--drawer-shadow:0 24px 70px #191a1647;--button-bg:#2c3933;--button-fg:#fff;--button-hover:#a9472e;--button-hover-fg:#fff;--serif:Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Arial,Helvetica,sans-serif}:root[data-theme=dark]{--bg:#1e231f;--paper:#282e29;--ink:#f1eee5;--muted:#c0c3b8;--line:#4a514a;--accent:#f0a079;--accent-soft:#40332e;--glass:#323a33b8;--glass-border:#ffffff1f;--glass-shadow:0 16px 38px #00000040;--drawer-bg:#1e231ff7;--drawer-border:#ffffff2e;--drawer-shadow:0 24px 70px #0000007a;--button-bg:#f0a079;--button-fg:#211d19;--button-hover:#ffb38c;--button-hover-fg:#211d19;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body,html{background:var(--bg)}body{min-height:100vh;color:var(--ink);margin:0;transition:background .2s,color .2s;display:flow-root}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:#282720;background:#d9b49e}.section-wrap{margin-inline:auto}.section-wrap,.site-header{width:min(1120px,100% - 64px)}.site-header{border:1px solid var(--glass-border);background:var(--glass);height:70px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(135%);z-index:10;border-radius:21px;justify-content:space-between;align-items:center;margin:14px auto 0;padding-inline:23px;animation:.55s cubic-bezier(.2,.7,.25,1) both header-enter;display:flex;position:sticky;top:12px}@keyframes header-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.wordmark{font:700 24px var(--serif);letter-spacing:-1.5px}.wordmark span{color:var(--accent)}.main-nav{align-items:center;gap:27px;display:flex}.locale-toggle,.main-nav a{color:var(--muted);font-size:12px;transition:color .18s}.main-nav a{padding-block:8px;animation:.42s both nav-link-enter;position:relative}.main-nav a:nth-child(2){animation-delay:60ms}.main-nav a:nth-child(3){animation-delay:.11s}.main-nav a:nth-child(4){animation-delay:.16s}.main-nav a:nth-child(5){animation-delay:.21s}.main-nav a:after{background:var(--accent);content:"";transform-origin:0;height:1px;transition:transform .22s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.main-nav a:focus-visible:after,.main-nav a:hover:after{transform:scaleX(1)}@keyframes nav-link-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.locale-toggle:hover,.main-nav a:hover{color:var(--accent)}.nav-tools{align-items:center;gap:14px;display:flex}.icon-button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:5px;font-size:18px}.menu-toggle{display:none}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:calc(clamp(36px,7vw,92px));min-height:620px;padding-block:76px 88px;display:grid;position:relative}.hero-copy{max-width:630px}.eyebrow,.project-kind,.section-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.eyebrow{align-items:center;gap:10px;margin:0 0 34px;display:flex}.availability-dot{background:#648069;border-radius:50%;width:7px;height:7px}.hero-intro{color:var(--muted);margin:0 0 9px;font-size:16px}h1{font:400 calc(clamp(76px,9vw,126px))/.86 var(--serif);letter-spacing:-.075em;margin:0 0 24px}h1 em{color:var(--accent);font-weight:400}.hero-role{letter-spacing:.015em;margin:0;font-size:13px;font-weight:700}.hero-lead{max-width:510px;color:var(--muted);margin:19px 0 26px;font-size:15px;line-height:1.8}.hero-actions{align-items:center;gap:23px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:16px;min-height:48px;padding:13px 21px;font-size:12px;font-weight:700;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{color:var(--button-fg);background:var(--button-bg);box-shadow:0 8px 20px color-mix(in srgb,var(--button-bg) 24%,transparent)}.button-dark:hover{color:var(--button-hover-fg);background:var(--button-hover);box-shadow:0 11px 24px color-mix(in srgb,var(--button-hover) 28%,transparent)}.button:disabled{opacity:.68;cursor:wait;transform:none}.arrow-icon{vertical-align:middle;flex:none;width:14px;height:14px;display:inline-block}.text-link{border-bottom:1px solid var(--line);padding:11px 0;font-size:12px;font-weight:700}.portrait-frame{aspect-ratio:.86;background:var(--accent-soft);justify-self:end;width:min(100%,420px);max-height:500px;margin:0;position:relative;overflow:hidden}.portrait-frame img{-o-object-fit:cover;object-fit:cover;-o-object-position:20% 50%;object-position:20% 50%;filter:saturate(.88);width:100%;height:100%;display:block}.portrait-frame figcaption{color:#fff;-webkit-backdrop-filter:blur(12px);letter-spacing:.08em;text-shadow:0 1px 7px #000a;text-transform:uppercase;background:#1418156b;border:1px solid #ffffff3d;border-radius:999px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:10px;display:flex;position:absolute;bottom:14px;left:16px;right:16px;box-shadow:0 6px 18px #0000002e}.hero-note{width:270px;color:var(--muted);font:italic 13px/1.6 var(--serif);text-align:right;position:absolute;bottom:24px;right:0}.section-label{align-items:center;gap:15px;display:flex}.section-label span:first-child{color:var(--accent);font:italic 14px var(--serif);letter-spacing:0}.about-section{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:60px;padding-block:92px 104px;display:grid}.about-content{max-width:690px}.about-content h2,.contact-copy h2,.process-heading h2,.section-heading h2{max-width:680px;font:400 calc(clamp(38px,5vw,61px))/1.04 var(--serif);letter-spacing:-.045em;margin:0 0 21px}.about-content p,.contact-copy>p{max-width:650px;color:var(--muted);margin:0;font-size:15px;line-height:1.85}.social-links{flex-wrap:wrap;gap:22px;margin-top:29px;display:flex}.social-links a{border-bottom:1px solid var(--line);padding-bottom:6px;font-size:12px;font-weight:700}.social-links span{color:var(--accent);padding-left:5px;display:inline-flex}.projects-section,.services-section{padding-block:82px 96px}.section-heading{grid-template-columns:.7fr 1.3fr;align-items:start;gap:60px;margin-bottom:39px;display:grid}.section-heading .section-label{padding-top:8px}.section-heading h2{margin:0}.service-list{gap:10px;display:grid}.service-row{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);border-radius:19px;grid-template-columns:70px minmax(0,1fr);gap:20px;padding:22px 20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.service-row:hover{border-color:color-mix(in srgb,var(--accent) 44%,var(--glass-border));box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 11%,transparent);transform:translateY(-2px)}.service-number{color:var(--accent);font:italic 14px var(--serif);padding-top:4px}.service-main{-moz-column-gap:26px;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr) 150px;align-items:start;column-gap:26px;display:grid}.service-main h3{font:400 21px var(--serif);margin:0}.service-main>p{color:var(--muted);margin:1px 0 0;font-size:13px;line-height:1.65}.service-details{color:var(--muted);font-size:11px}.project-details summary,.service-details summary{width:fit-content;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700;list-style:none}.project-details summary::-webkit-details-marker{display:none}.service-details summary::-webkit-details-marker{display:none}.project-details summary:after,.service-details summary:after{content:" +";color:var(--ink)}.project-details[open] summary:after,.service-details[open] summary:after{content:" −"}.service-details ul{flex-wrap:wrap;gap:5px 15px;margin:12px 0 0;padding:0;list-style:none;display:flex}.service-details li:before{content:"— ";color:var(--accent)}.process-section{color:#f3efe7;background:#303d35;padding-block:82px 90px}.process-inner{grid-template-columns:.82fr 1.18fr;gap:75px;display:grid}.process-heading .section-label,.process-heading .section-label span:first-child{color:#d7ae93}.process-heading h2{margin-top:24px;font-size:calc(clamp(36px,4.5vw,53px))}.process-heading>p{color:#d0d0c6;max-width:400px;margin:0;font-size:13px;line-height:1.8}.process-list{border-top:1px solid #6b756e;margin:0;padding:0;list-style:none}.process-list li{border-bottom:1px solid #6b756e;grid-template-columns:54px 1fr;gap:16px;padding:20px 0;display:grid}.process-number{color:#d7ae93;font:italic 15px var(--serif)}.process-list h3{font:400 21px var(--serif);margin:0 0 7px}.process-list p{color:#d0d0c6;max-width:520px;margin:0;font-size:13px;line-height:1.7}.tech-section{background:color-mix(in srgb,var(--accent-soft) 78%,var(--bg));padding-block:90px}.tech-section .section-label span:first-child{color:#81391f}:root[data-theme=dark] .tech-section .section-label span:first-child{color:var(--accent)}.tech-inner{grid-template-columns:.76fr 1.24fr;gap:60px;display:grid}.tech-inner .section-heading{margin:0;display:block}.tech-inner .section-label{margin-bottom:23px}.tech-inner .section-heading h2{font-size:calc(clamp(36px,4.5vw,54px))}.tech-note{max-width:380px;color:var(--muted);margin:18px 0 0;font-size:13px;line-height:1.75}.tech-browser{padding-top:4px}.filter-bar{flex-wrap:wrap;gap:7px;display:flex}.filter-bar button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:11px;transition:color .18s,border-color .18s,background .18s,transform .18s;display:inline-flex}.filter-bar button:hover{color:var(--ink);border-color:var(--glass-border);background:var(--glass);transform:translateY(-1px)}.filter-bar button.active{border-color:color-mix(in srgb,var(--accent) 44%,transparent);color:var(--ink);background:var(--glass);box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 10%,transparent)}.tech-groups{flex-direction:column;gap:25px;padding-top:20px;display:flex}.tech-group h3{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:10px}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tech-tag{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);color:var(--ink);background:var(--glass);border-radius:999px;padding:7px 12px;font-size:11px}.project-filters{margin:-7px 0 23px}.filter-count{min-width:17px;color:var(--accent);font-size:10px}.project-list{gap:10px;display:grid}.project-card{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);border-radius:19px;grid-template-columns:70px 1fr 42px;align-items:start;gap:18px;padding:23px 20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--glass-border));box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 11%,transparent);transform:translateY(-2px)}.project-index{color:var(--accent);font:italic 14px var(--serif);padding-top:3px}.project-kind{margin:0 0 8px;font-size:10px}.project-main h3{font:400 28px var(--serif);letter-spacing:-.025em;margin:0 0 10px}.project-details{color:var(--muted)}.project-details summary{font-size:12px}.project-description{max-width:660px;color:var(--muted);margin:12px 0 13px;font-size:13px;line-height:1.75}.project-link{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;transition:background .18s,color .18s,border-color .18s;display:grid}.project-link:hover{color:var(--button-fg);border-color:var(--accent);background:var(--accent)}.project-link .arrow-icon{width:16px;height:16px}.answers-section{border-top:1px solid var(--line);padding-block:82px 90px}.answers-list{max-width:820px;margin-left:auto}.answer-row{border-top:1px solid var(--line)}.answer-row:last-child,.contact-email{border-bottom:1px solid var(--line)}.answer-row summary{cursor:pointer;font:400 20px/1.4 var(--serif);justify-content:space-between;align-items:baseline;gap:18px;padding:19px 0;list-style:none;display:flex}.answer-row summary::-webkit-details-marker{display:none}.answer-row summary:after{color:var(--accent);content:"+";order:1;font:400 21px/1 Arial,sans-serif}.answer-row[open] summary:after{content:"−"}.answer-index{color:var(--accent);font:italic 13px var(--serif);order:0}.answer-row summary span:first-child{order:0;margin-right:auto}.answer-row p{max-width:700px;color:var(--muted);margin:-3px 34px 20px 0;font-size:14px;line-height:1.8}.contact-section{background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 95%,var(--accent-soft)),var(--paper) 60%);padding-block:88px}.contact-inner{grid-template-columns:.85fr 1.15fr;gap:72px;display:grid}.contact-copy .section-label{margin-bottom:27px}.contact-copy h2{max-width:470px;font-size:calc(clamp(40px,4.5vw,58px))}.contact-copy>p{font-size:14px}.contact-email{font:400 calc(clamp(17px,2vw,21px)) var(--serif);align-items:baseline;gap:.35em;margin-top:25px;padding-bottom:7px;display:inline-flex}.contact-email-arrow{color:var(--accent);display:inline-flex}.copy-email{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;margin-top:11px;padding:6px 0;font-size:11px;display:flex}.copy-email span{color:var(--accent)}.contact-social{gap:19px;margin-top:22px;display:flex}.contact-social a{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.contact-form{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);border-radius:23px;padding:25px}.form-grid{grid-template-columns:1fr 1fr;gap:18px 16px;display:grid}.contact-form label{color:var(--muted);flex-direction:column;gap:7px;font-size:11px;font-weight:600;display:flex}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:color-mix(in srgb,var(--bg) 88%,transparent);border-radius:12px;padding:11px 13px;font-size:13px}.contact-form textarea{resize:vertical}.full-field{grid-column:1/-1}.consent{grid-template-columns:18px 1fr;align-items:start;margin-top:18px;line-height:1.6;display:grid!important}.consent input{width:16px;height:16px;accent-color:var(--accent);margin:2px 0}.consent a{text-decoration:underline}.honeypot{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-10000px!important}.submit-button{margin-top:20px}.form-message{font-size:13px;line-height:1.5}.error-message{color:#a33}.site-modal{border:1px solid var(--glass-border);width:min(460px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--paper);border-radius:25px;padding:0;overflow:auto;box-shadow:0 28px 90px #00000047}.site-modal[open]{animation:.22s cubic-bezier(.2,.7,.25,1) both site-modal-enter}.site-modal::backdrop{-webkit-backdrop-filter:blur(7px);background:#1114129e}@keyframes site-modal-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.site-modal-content{border-radius:inherit;background:var(--glass);text-align:center;padding:42px 38px 36px;position:relative}.site-modal-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:color-mix(in srgb,var(--paper) 78%,transparent);cursor:pointer;border-radius:50%;place-items:center;font-size:23px;line-height:1;transition:color .18s,border-color .18s,background .18s;display:grid;position:absolute;top:14px;right:14px}.site-modal-close:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.site-modal-close:disabled{opacity:.55;cursor:wait}.site-modal-icon{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);width:58px;height:58px;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.site-modal-icon svg{width:31px;height:31px}.site-modal-icon--error{color:#a33;background:#aa33331f;border-color:#a336}.site-modal-icon--confirm{color:#9a671c;background:#b77c2621;border-color:#b77c2666}.site-modal-content h2{font:400 calc(clamp(30px,7vw,38px))/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 12px}.site-modal-content p{max-width:340px;color:var(--muted);margin:0 auto;font-size:14px;line-height:1.7}.site-modal-button{margin-top:27px}.site-modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:27px;display:flex}.site-modal-cancel{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:10px 17px;font-size:12px;font-weight:700}.site-modal-cancel:hover{border-color:var(--accent);background:var(--accent-soft)}.site-modal-danger{color:#8f2d2d;background:color-mix(in srgb,#a33 10%,var(--paper));cursor:pointer;border:1px solid #aa33335c;border-radius:999px;min-height:44px;padding:10px 17px;font-size:12px;font-weight:700;transition:background .18s,transform .18s}.site-modal-danger:hover{background:color-mix(in srgb,#a33 17%,var(--paper));transform:translateY(-1px)}.site-modal-cancel:disabled,.site-modal-danger:disabled{opacity:.55;cursor:wait}.site-footer{padding-block:22px 28px}.footer-inner{align-items:center;gap:27px;min-height:50px;display:flex}.footer-inner .wordmark{margin-right:auto}.footer-inner p,.footer-inner>a:not(.wordmark),.legal-header nav a{color:var(--muted);font-size:11px}.legal-page{max-width:820px;padding-block:35px 90px}.legal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.legal-header nav{flex-wrap:wrap;gap:18px;display:flex}.legal-header nav a[aria-current=page]{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.legal-eyebrow{color:var(--muted);letter-spacing:.06em;margin-top:54px;font-size:11px}.legal-page h1{max-width:750px;font:400 calc(clamp(38px,6vw,66px))/1.08 var(--serif);letter-spacing:-.04em;margin-block:14px 18px}.legal-intro{max-width:700px;color:var(--muted);font:400 18px/1.7 var(--serif)}.legal-note{border:1px solid var(--glass-border);border-left:3px solid var(--accent);background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:0 16px 16px 0;margin-block:28px;padding:17px 20px;font-size:13px;line-height:1.75}.legal-section{margin-top:38px}.legal-section h2{font:400 22px/1.3 var(--serif);margin-bottom:11px}.legal-section li,.legal-section p{color:var(--muted);font-size:13px;line-height:1.8}.legal-section p+p{margin-top:12px}.legal-section ul{gap:6px;padding-left:20px;display:grid}.legal-back{margin-top:48px;display:inline-block}.admin-shell{width:calc(100% - 40px);max-width:1180px;margin:auto}.admin-header{border-bottom:1px solid var(--line);align-items:center;gap:20px;height:76px;display:flex}.admin-header p{color:var(--muted);margin-right:auto;font-size:12px}.admin-actions button,.admin-cancel,.admin-logout{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:9px 12px;font-size:12px}.admin-login{max-width:420px;margin:90px auto}.admin-content h1,.admin-login h1{font:400 calc(clamp(36px,5vw,54px)) var(--serif)}.admin-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.admin-login form,.admin-project-form{gap:14px;display:grid}.admin-login label,.admin-project-form label,.enquiry-row label{color:var(--muted);gap:6px;font-size:12px;display:grid}.admin-login input,.admin-project-form input,.admin-project-form textarea,.enquiry-row select{border:1px solid var(--line);color:var(--ink);background:var(--bg);padding:10px}.admin-message,.admin-notice{color:#9a552a;font-size:13px}.admin-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-panel{border:1px solid var(--line);background:var(--paper);margin-top:20px;padding:22px}.admin-panel h2{font:400 22px var(--serif);margin:0 0 18px}.admin-project-form{grid-template-columns:1fr 1fr}.admin-project-form textarea{resize:vertical}.admin-check{grid-template-columns:18px 1fr;align-items:center;display:flex!important}.admin-check input{accent-color:var(--accent)}.admin-actions{align-items:center;gap:8px;display:flex}.admin-row,.enquiry-row{border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:14px 0;display:flex}.admin-row small,.enquiry-row small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.enquiry-row{align-items:center}.enquiry-row p{max-width:650px;font-size:13px;line-height:1.6}.enquiry-row a{color:var(--accent);margin-top:5px;font-size:12px;display:block}.enquiry-row select{min-width:130px}.enquiry-panel{margin-bottom:40px}@media (width<=850px){.section-wrap,.site-header{width:min(100% - 40px,700px)}.menu-toggle{display:block}.main-nav{display:none}.mobile-menu-backdrop{z-index:30;-webkit-backdrop-filter:blur(10px);background:#0a0c0ab8;justify-content:flex-end;align-items:stretch;padding:12px;display:flex;position:fixed;inset:0}.mobile-menu-panel{border:1px solid var(--drawer-border);background:var(--drawer-bg);width:calc(min(320px,100vw - 24px));min-height:100%;box-shadow:var(--drawer-shadow);-webkit-backdrop-filter:blur(28px)saturate(155%);border-radius:24px;flex-direction:column;padding:22px;display:flex}.mobile-menu-heading{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-bottom:21px;font-size:11px;display:flex}.mobile-menu-close{border:1px solid var(--glass-border);width:38px;height:38px;color:var(--ink);background:var(--glass);cursor:pointer;border-radius:50%;place-items:center;font-size:23px;line-height:1;display:grid}.mobile-menu-panel>a{border-top:1px solid var(--line);color:var(--ink);font:400 22px/1.2 var(--serif);justify-content:space-between;align-items:center;gap:16px;padding:17px 2px;transition:padding .2s,color .2s,opacity .2s,transform .28s;display:flex}.mobile-menu-panel>a:hover{color:var(--accent);padding-inline:7px}.mobile-menu-arrow{color:var(--accent);display:inline-flex}.mobile-menu-caption{color:var(--muted);letter-spacing:.08em;margin:auto 0 0;padding-top:28px;font-size:10px}.mobile-menu-caption span{color:var(--accent);font-family:var(--serif);font-weight:700}.mobile-drawer-enter-active,.mobile-drawer-leave-active{transition:opacity .25s}.mobile-drawer-enter-from,.mobile-drawer-leave-to{opacity:0}.mobile-drawer-enter-active .mobile-menu-panel{animation:.38s cubic-bezier(.2,.78,.25,1) both mobile-drawer-in}.mobile-drawer-leave-active .mobile-menu-panel{animation:.26s cubic-bezier(.4,0,.8,.4) both mobile-drawer-out}.mobile-drawer-enter-active .mobile-menu-panel>a{animation:.28s both mobile-nav-link-enter}.mobile-drawer-enter-active .mobile-menu-panel>a:nth-of-type(2){animation-delay:40ms}.mobile-drawer-enter-active .mobile-menu-panel>a:nth-of-type(3){animation-delay:80ms}.mobile-drawer-enter-active .mobile-menu-panel>a:nth-of-type(4){animation-delay:.12s}.mobile-drawer-enter-active .mobile-menu-panel>a:nth-of-type(5){animation-delay:.16s}@keyframes mobile-drawer-in{0%{opacity:.75;transform:translate(calc(100% + 24px))}to{opacity:1;transform:translate(0)}}@keyframes mobile-drawer-out{0%{opacity:1;transform:translate(0)}to{opacity:.75;transform:translate(calc(100% + 24px))}}@keyframes mobile-nav-link-enter{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.hero{gap:30px;min-height:560px;padding-top:60px}.portrait-frame{max-height:450px}.hero-note{display:none}.about-section,.section-heading,.tech-inner{grid-template-columns:.6fr 1.4fr;gap:32px}.service-main{grid-template-columns:minmax(150px,.65fr) 1fr;row-gap:10px}.service-details{grid-column:2}.contact-inner{gap:36px}}@media (width<=640px){.section-wrap,.site-header{width:calc(100% - 36px)}.site-header{border-radius:18px;height:64px;margin-top:10px;padding-inline:16px}.nav-tools{gap:11px}.hero{flex-direction:column;align-items:stretch;gap:23px;padding-block:37px 48px;display:flex}.hero-copy{width:100%}.eyebrow{margin-bottom:25px}.hero-intro{margin-bottom:8px;font-size:14px}.hero h1{letter-spacing:-.07em;margin-bottom:17px;font-size:calc(clamp(62px,17vw,78px));line-height:.9}.hero-role{max-width:320px;font-size:12px;line-height:1.6}.hero-lead{margin:14px 0 20px;font-size:13px;line-height:1.72}.hero-actions{grid-template-columns:1fr;gap:9px;display:grid}.hero-actions .button{justify-content:space-between;width:100%;min-height:49px}.hero-actions .text-link{justify-content:space-between;align-items:center;width:100%;padding:12px 4px;display:flex}.portrait-frame{aspect-ratio:1.02;border:1px solid var(--glass-border);width:min(100%,360px);max-height:360px;box-shadow:var(--glass-shadow);border-radius:21px;align-self:center;margin-inline:auto}.portrait-frame img{-o-object-position:20% 50%;object-position:20% 50%}.portrait-frame figcaption{padding:9px 10px;font-size:8px;bottom:11px;left:11px;right:11px}.about-section{padding-block:70px;display:block}.about-section>.section-label{margin-bottom:27px}.about-content h2,.section-heading h2{font-size:39px}.about-content p{font-size:14px}.social-links{gap:13px 19px}.projects-section,.services-section{padding-block:68px 74px}.section-heading{margin-bottom:29px;display:block}.section-heading .section-label{margin-bottom:22px}.service-row{border-radius:16px;grid-template-columns:34px 1fr;gap:10px;padding:18px 15px}.contact-inner,.process-inner,.service-main,.tech-inner{display:block}.service-main h3{margin-bottom:7px;font-size:20px}.service-main>p{margin-bottom:10px;font-size:12px}.service-details ul{gap:5px 12px}.process-section{padding-block:66px 70px}.process-heading{margin-bottom:28px}.process-heading h2{margin-top:21px;font-size:39px}.process-list li{grid-template-columns:38px 1fr;gap:12px}.tech-section{padding-block:68px}.tech-inner .section-heading{margin-bottom:26px}.tech-note{font-size:12px}.tech-groups{gap:19px}.filter-bar{gap:3px}.filter-bar button{padding:7px 8px;font-size:10px}.project-filters{margin:0 0 18px}.project-card{border-radius:16px;grid-template-columns:34px 1fr 36px;gap:11px;padding:18px 14px}.project-main h3{font-size:24px}.contact-section{padding-block:68px}.contact-copy{margin-bottom:34px}.contact-copy h2{font-size:42px}.contact-form{border-radius:19px;padding:18px 15px}.site-modal-content{padding:40px 24px 28px}.form-grid{grid-template-columns:1fr;gap:15px}.full-field{grid-column:auto}.footer-inner{flex-wrap:wrap;gap:14px}.footer-inner p{margin-right:auto}.footer-inner .wordmark{margin-right:0}.legal-page{padding-block:22px 66px}.legal-header{align-items:flex-start}.legal-header nav{justify-content:flex-end;gap:11px}.legal-eyebrow{margin-top:38px}.admin-columns,.admin-project-form{grid-template-columns:1fr}.admin-row,.enquiry-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
