/* THREEWAY / v2 — foundations, shared navigation and inner pages */
:root{--color-primary:#075bd8;--color-secondary:#082858;--color-accent:#075bd8;--color-background:#fbfbf9;--color-surface:#eeefeb;--color-text:#17191c;--color-muted:#616567;--color-border:#cdd0ce;--font-display:Arial,Helvetica,sans-serif;--font-body:Arial,Helvetica,sans-serif;--font-editorial:Georgia,'Times New Roman',serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:clamp(5rem,10vw,10rem);--radius-small:0;--container-width:1600px;--gutter:clamp(20px,4vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--color-background);color:var(--color-text);font:16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1;letter-spacing:-.065em}h1{font-size:clamp(3.5rem,8vw,9rem)}h2{font-size:clamp(2.7rem,5.5vw,6rem)}h3{font-size:clamp(1.6rem,3vw,3rem)}h1 em,h2 em{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.065em}p{max-width:65ch}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a,button,input,select,textarea,summary{touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--color-accent);outline-offset:6px}::selection{background:#c2d9fd;color:#17191c}.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--container-width);margin-inline:auto}.eyebrow{font:500 .75rem/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.07em}.muted{color:var(--color-muted)}.accent{color:var(--color-primary)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:50px;padding:12px 20px;background:var(--color-text);border:1px solid var(--color-text);color:white;font-size:.875rem;transition:background .2s,color .2s}.button:hover{background:var(--color-primary);border-color:var(--color-primary)}.button:disabled{opacity:.4;transform:none}.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:46px;border-bottom:1px solid currentColor;font-size:.875rem;transition:color .2s}.text-link:hover{color:var(--color-primary)}.actions{display:flex;flex-wrap:wrap;gap:1rem 1.8rem;align-items:center;margin-top:1.8rem}
/* Navigation */
.header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--color-border)}.brand{width:180px;flex-shrink:0}.header nav{display:flex;align-items:center;gap:2.1rem;font-size:.875rem}.header nav a{padding:12px 0}.header nav a:not(.nav-contact):hover,.header nav a:not(.nav-contact)[aria-current]{color:var(--color-primary)}.header nav .nav-contact{background:var(--color-text);color:white;padding:12px 18px;display:flex;gap:2rem}.header nav .nav-contact:hover{background:var(--color-primary);color:white}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;left:1rem;background:white;padding:1rem;z-index:20}.skip-link:focus{top:1rem}.breadcrumbs{padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:.8rem;font-size:.75rem;color:var(--color-muted)}
/* Shared page layouts */
.section{padding-block:var(--space-6);border-top:1px solid var(--color-border)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:4rem}.section-head .eyebrow{margin-bottom:1.5rem}.page-hero{padding-block:clamp(4rem,8vw,8rem)}.page-hero h1{max-width:1200px}.page-hero>.eyebrow{margin-bottom:3rem}.page-hero>p:not(.eyebrow){font-size:1.125rem;color:var(--color-muted);max-width:580px;margin-top:2rem}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.section-intro p:not(.eyebrow){margin-top:2rem;max-width:600px;color:var(--color-muted)}.section-intro .text-link{margin-top:2rem}.service-detail{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.service-detail p{max-width:600px;margin-top:2rem}.service-detail .text-link{margin-top:2rem}.service-detail:nth-of-type(even){border-top:3px solid var(--color-text)}.tags{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.5rem}.tags span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.tags span+span::before{content:'/';margin-right:1rem;color:var(--color-border)}.technology-list{margin-top:2.5rem;font-size:clamp(1.5rem,3vw,3rem);line-height:1.6;letter-spacing:-.045em}.technology-list span{color:var(--color-border);padding-inline:.3rem}.about-todo{background:var(--color-surface);padding:2rem;margin-bottom:4rem}.about-todo p+p{margin-top:1rem}.empty-state{padding:4rem 0 6rem;border-top:1px solid var(--color-border)}.empty-state h2{margin-top:2rem}.empty-state p{margin-top:1.5rem;color:var(--color-muted)}.post-row{display:grid;grid-template-columns:1fr 3fr 40px;gap:3rem;padding:3rem 0;border-top:1px solid var(--color-border)}.post-row h2{font-size:3rem}.post-row p{margin-top:1.5rem;color:var(--color-muted)}.post-row>a{font-size:2rem}.article-body{max-width:760px;padding-bottom:6rem}.article-body h2{font-size:2.3rem;margin-top:3rem}.article-body h3{font-size:1.6rem;margin-top:2rem}.article-body p{margin-top:1.5rem}.project-gallery{padding-bottom:5rem}.project-gallery>img{width:100%;height:auto;margin-bottom:3rem}.metrics{display:flex;flex-wrap:wrap;gap:3rem}.metrics dd{font-size:3rem;margin:0}.metrics dt{font-size:.875rem;color:var(--color-muted)}
/* Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:6rem;padding-bottom:var(--space-6)}.contact-layout aside h2{font-size:2.4rem;line-height:1.1}.contact-layout aside>p{margin-top:1.5rem;color:var(--color-muted);max-width:330px}.contact-direct{display:block;margin-top:2rem;font-size:1.2rem;overflow-wrap:anywhere}.todo-text{font-size:.8rem;color:var(--color-muted)}.notice{padding:1.5rem;background:var(--color-surface);border-left:3px solid var(--color-primary);margin-bottom:2rem}.notice p{margin-top:.5rem;font-size:.9rem}.notice h2{font-size:1.6rem}.notice.error{border-color:#a12828;background:#fff1f1}.notice.success{border-color:#286544;background:#eaf5ee}.notice ul{padding-left:1.2rem}.notice a{text-decoration:underline}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.875rem}.field label span{color:var(--color-muted);font-size:.75rem}.field input,.field select,.field textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #89939b;border-radius:0;background:transparent;color:var(--color-text);padding:.8rem 0;min-height:48px}.field input::placeholder,.field textarea::placeholder{color:#70787f;opacity:1}.field textarea{resize:vertical}.field [aria-invalid]{border-color:#a12828}.field-error{font-size:.8rem;color:#a12828}.form-hint{font-size:.8rem;color:var(--color-muted);margin-bottom:1.5rem}.field .form-hint{margin-bottom:0}.contact-form>.form-hint:last-of-type{margin-top:1.5rem}.form-hint a{text-decoration:underline}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Footer */
.footer{padding-block:2.5rem}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.8rem}.footer-word{font-size:clamp(4rem,17.5vw,19rem);line-height:1.2;letter-spacing:-.09em;font-weight:600}.footer-word span{font-size:.13em;display:inline-block;vertical-align:top;letter-spacing:0;margin:1.8em 0 0 .8em}.footer-bottom{border-top:1px solid var(--color-border);padding-top:1.5rem;color:var(--color-muted)}.footer-bottom div{display:flex;gap:1.5rem}.footer a:hover{color:var(--color-primary)}.legal,.social{font-size:.85rem;margin-top:1.5rem}.social{display:inline-block;margin-right:1.5rem}
@media(max-width:1000px){.header nav{gap:1.2rem}.contact-layout{gap:3rem}.footer-bottom>span:last-child{display:none}}
@media(max-width:760px){.header{min-height:84px;flex-wrap:wrap;gap:0}.brand{width:148px}.menu-toggle{display:flex;gap:1rem;background:none;border:0;padding:14px 0 14px 20px}.header nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:1rem}.has-menu .header nav{display:none}.has-menu .header nav.is-open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid var(--color-border)}.header nav .nav-contact{margin-top:10px;justify-content:space-between}.page-hero{padding-block:3.5rem}.page-hero h1{font-size:clamp(3rem,11vw,5rem)}.page-hero>.eyebrow{margin-bottom:2rem}.section-head{align-items:start;flex-direction:column;margin-bottom:2.5rem}.section-intro,.service-detail{grid-template-columns:1fr;gap:2rem}.service-detail h2{font-size:2.7rem}.contact-layout{grid-template-columns:1fr;gap:3rem}.contact-layout aside>p{max-width:100%}.form-grid{grid-template-columns:1fr;gap:1.5rem}.post-row{grid-template-columns:1fr 25px;gap:1rem}.post-row>.eyebrow{grid-column:1/-1}.post-row h2{font-size:2rem}.post-row>div{grid-column:1}.footer-top{align-items:start}.footer-bottom{align-items:start;flex-direction:column;gap:1rem}.footer-bottom div{gap:.8rem;flex-wrap:wrap}.footer-word{font-size:17vw}.metrics{gap:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
