@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
:root{--red:#ef2028;--bg:#090909;--panel:#111;--panel2:#151515;--text:#f4f1ed;--muted:#aaa39d;--line:#2a2a2a;--shell:min(1240px,calc(100% - 64px));font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.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}
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;transition:.3s;background:linear-gradient(180deg,rgba(0,0,0,.62),transparent)}.site-header.scrolled{background:rgba(8,8,8,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand-logo{width:220px;height:auto}.header-actions{display:flex;gap:12px;align-items:center;order:3}.main-nav{display:flex;align-items:center;gap:30px;font-size:13px}.main-nav a{color:#d8d3ce}.main-nav a:hover{color:#fff}.nav-cta{border:1px solid #525252;padding:10px 14px}.language-select{background:#0d0d0d;color:#eee;border:1px solid #414141;padding:9px 10px;border-radius:0}.menu-toggle{display:none;background:none;color:#fff;border:1px solid #444;padding:9px 12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid transparent;cursor:pointer;transition:.2s}.button-primary{background:var(--red);color:white}.button-primary:hover{filter:brightness(1.08)}.button-ghost{border-color:#5e5e5e;background:rgba(0,0,0,.2);color:#fff}.button[disabled]{opacity:.6;cursor:wait}.eyebrow,.section-kicker{text-transform:uppercase;font-size:10px;letter-spacing:.19em;color:#b9b2ac}.section-kicker{color:#a8a19a}.section-lead{color:var(--muted);font-size:18px;max-width:620px}
.hero{position:relative;height:min(920px,100vh);min-height:680px;display:flex;align-items:flex-end;overflow:hidden}.slides,.hero-slide,.hero-slide img{position:absolute;inset:0;width:100%;height:100%}.hero-slide{opacity:0;transform:scale(1.025);transition:opacity 1s ease,transform 7s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero-slide img{object-fit:cover;filter:saturate(.82) contrast(1.08)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.79) 0%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.72) 0%,transparent 55%)}.hero-content{position:relative;z-index:2;padding-bottom:94px}.hero h1{font-size:clamp(64px,9vw,142px);line-height:.88;letter-spacing:-.065em;margin:12px 0 26px;max-width:1100px}.hero-intro{font-size:clamp(17px,2vw,22px);max-width:760px;color:#d3cdc6;margin:0 0 32px}.hero-actions{display:flex;gap:12px}.slider-controls{position:absolute;z-index:4;right:32px;bottom:34px;display:flex;align-items:center;gap:16px}.slider-controls>button{background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer}.slider-dots{display:flex;gap:8px}.slider-dots button{width:30px;height:2px;border:0;background:#686868;padding:0;cursor:pointer}.slider-dots button.active{background:var(--red)}
.statement{padding:130px 0}.statement-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}.statement h2,.section-heading h2,.tools h2,.contact h2,.page-cta h2{font-size:clamp(42px,6vw,78px);line-height:.96;letter-spacing:-.05em;margin:0}.statement-grid>div{font-size:19px;color:#bbb5af;padding-top:7px}.statement-grid p{margin:0 0 18px}.work{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:50vw 50vw;max-height:1120px}.work-card{position:relative;overflow:hidden;min-height:420px}.work-card-large{grid-row:1/3}.work-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .7s,filter .4s}.work-card:hover img{transform:scale(1.035);filter:saturate(1)}.work-overlay{position:absolute;inset:auto 0 0;padding:28px;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent)}.work-overlay span{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.work-overlay h3{font-size:26px;margin:8px 0 0}
.services{padding:140px 0}.section-heading{display:grid;grid-template-columns:.65fr 2fr;gap:60px;align-items:start;margin-bottom:58px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.category-card{position:relative;min-height:300px;background:#111;border:1px solid #252525;padding:30px;display:flex;flex-direction:column;transition:.25s}.category-card:hover{transform:translateY(-4px);border-color:#444;background:#141414}.category-card>span{font-size:10px;color:#777}.category-card h3{font-size:30px;letter-spacing:-.035em;line-height:1.05;margin:40px 0 10px}.category-card p{color:#9f9993;max-width:560px;margin:0}.category-card b{position:absolute;right:28px;bottom:26px;color:var(--red);font-size:22px}.center-cta{text-align:center;margin-top:32px}
.tools{background:var(--panel);padding:120px 0}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.tools-copy>p:not(.section-kicker){color:#aaa39d;max-width:520px;font-size:18px}.text-link{display:inline-flex;gap:10px;margin-top:16px;border-bottom:1px solid #575757;padding-bottom:5px}.text-link span:last-child{color:var(--red)}.tool-card{position:relative;min-height:430px;border:1px solid #2d2d2d;background:#0b0b0b;padding:30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.tool-card:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--red);filter:blur(100px);opacity:.11;top:-100px;right:-80px}.tool-topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;color:#898989}.tool-topline span:first-child{color:var(--red)}.timer-visual{font:700 clamp(40px,6vw,76px)/1 'Courier New',monospace;letter-spacing:-.08em}.tool-card h3{font-size:31px;margin:0 0 8px}.tool-card p{margin:0;color:#999}.tool-open{align-self:flex-end;font-size:12px}
.contact{padding:130px 0;background:#111}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-grid>div>p:not(.section-kicker){color:#a9a39d;font-size:18px;max-width:500px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:7px}.contact-form label>span:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#9a948e}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#0c0c0c;color:#fff;border:1px solid #303030;padding:14px;border-radius:0;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#777}.contact-form .full{grid-column:1/-1}.privacy-consent{flex-direction:row!important;align-items:flex-start!important}.privacy-consent input{width:auto;margin-top:4px}.privacy-consent>span{text-transform:none!important;letter-spacing:0!important;font-size:12px!important}.privacy-consent a{text-decoration:underline}.form-status{margin:0;font-size:13px;color:#aaa}.form-status.success{color:#a5e3b8}.form-status.error{color:#ff9a9a}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.site-footer{padding:80px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:45px}.footer-brand{display:inline-block;margin-bottom:24px}.footer-brand .brand-logo{width:250px}.footer-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#777}.footer-grid p{color:#a39d97;font-size:13px}.footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777;font-size:11px}.footer-bottom span:last-child{display:flex;gap:20px;align-items:center}.footer-link-button{background:none;border:0;color:#777;padding:0;cursor:pointer;font-size:inherit}.footer-link-button:hover,.footer-bottom a:hover{color:#fff}
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:90;background:#f2efea;color:#171717;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.cookie-banner[hidden]{display:none}.cookie-banner strong{display:block;margin-bottom:4px}.cookie-banner p{margin:0 0 4px;font-size:13px}.cookie-banner a{text-decoration:underline;font-size:12px}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-banner .button-ghost{color:#111;border-color:#777;background:transparent}
.internal-page{padding-top:88px}.page-hero{padding:110px 0 80px}.page-hero h1{font-size:clamp(54px,8vw,112px);line-height:.9;letter-spacing:-.06em;margin:10px 0 22px;max-width:1100px}.page-hero p:last-child{max-width:760px;color:#a9a39d;font-size:19px}.service-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:120px}.service-index-card{border:1px solid #292929;background:#111;min-height:430px;padding:30px;display:grid;grid-template-columns:45px 1fr 24px;gap:20px;transition:.25s}.service-index-card:hover{border-color:#4a4a4a;transform:translateY(-4px)}.service-index-card>span{font-size:10px;color:#777}.service-index-card h2{font-size:32px;line-height:1.05;letter-spacing:-.04em;margin:0 0 12px}.service-index-card p{color:#a59f99}.service-index-card ul{list-style:none;padding:20px 0 0;margin:0;border-top:1px solid #292929}.service-index-card li{padding:7px 0;color:#c1bbb5}.service-index-card li:before{content:"—";color:#666;margin-right:10px}.service-index-card>b{color:var(--red);font-size:20px}.page-cta{background:#111;padding:100px 0}.page-cta .button{margin-top:28px}
.service-hero{position:relative;min-height:700px;height:78vh;display:flex;align-items:flex-end;overflow:hidden}.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.4) 58%,rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 60%)}.service-hero-copy{position:relative;z-index:2;padding-bottom:75px}.service-hero h1{font-size:clamp(62px,9vw,132px);line-height:.88;letter-spacing:-.065em;margin:12px 0 20px;max-width:1120px}.service-hero-copy>p:not(.eyebrow){font-size:19px;color:#d0cac4;max-width:760px}.service-hero .button{margin-top:18px}.service-detail{padding:110px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.service-detail h2{font-size:clamp(42px,5vw,68px);letter-spacing:-.05em;line-height:.98;margin:8px 0}.service-bullets{list-style:none;padding:0;margin:0;border-top:1px solid #333}.service-bullets li{padding:18px 0;border-bottom:1px solid #333;font-size:20px}.service-bullets li:before{content:"↗";color:var(--red);margin-right:14px}.service-editorial{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:120px}.service-editorial>div{background:#111;padding:36px;min-height:360px}.service-editorial span{font-size:10px;color:#777}.service-editorial h2{font-size:34px;line-height:1.02;letter-spacing:-.04em;margin:80px 0 14px}.service-editorial p{color:#aaa39d;font-size:17px}.related-services{background:#111;padding:70px 0}.related-services .shell{display:flex;align-items:end;justify-content:space-between}.related-links{display:flex;gap:22px}.related-links a{border-bottom:1px solid #555;padding-bottom:4px}.related-links a:hover{color:var(--red)}
.tool-library{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:120px}.tool-placeholder{opacity:.72}.placeholder-lines{display:grid;gap:14px}.placeholder-lines i{height:14px;background:#1d1d1d;display:block}.placeholder-lines i:nth-child(1){width:82%}.placeholder-lines i:nth-child(2){width:54%}.placeholder-lines i:nth-child(3){width:69%}.legal{max-width:880px;padding:100px 0 120px}.legal h1{font-size:clamp(48px,7vw,92px);letter-spacing:-.055em;margin:0 0 10px}.legal-date{color:#777}.legal h2{font-size:25px;margin:50px 0 10px}.legal p{color:#aaa39d;font-size:17px}
@media(max-width:1000px){:root{--shell:min(100% - 36px,1240px)}.site-header{height:74px;padding:0 18px}.brand-logo{width:190px;max-width:52vw}.header-actions{order:initial}.menu-toggle{display:block}.main-nav{position:absolute;top:74px;left:0;right:0;background:#0a0a0a;border-bottom:1px solid var(--line);padding:22px;display:none;flex-direction:column;align-items:flex-start;gap:20px}.main-nav.open{display:flex}.internal-page{padding-top:74px}.hero-content{padding-bottom:72px}.hero h1{font-size:clamp(58px,14vw,100px)}.slider-controls{bottom:24px;right:18px}.statement,.services{padding:90px 0}.statement-grid,.section-heading,.tools-grid,.contact-grid,.service-detail{grid-template-columns:1fr;gap:42px}.work{display:block;max-height:none}.work-card,.work-card-large{height:72vw;min-height:370px}.category-grid,.service-index-grid,.service-editorial,.tool-library{grid-template-columns:1fr}.service-index-grid{padding-bottom:90px}.service-hero{height:70vh;min-height:620px}.service-hero h1{font-size:clamp(56px,14vw,104px)}.service-detail{padding:80px 0}.service-editorial{padding-bottom:90px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.site-header{padding:0 12px}.brand-logo{width:160px}.language-select{padding:8px 6px}.menu-toggle{padding:8px}.hero{min-height:660px}.hero-content{padding-bottom:100px}.hero h1{font-size:clamp(54px,17vw,82px)}.hero-actions{flex-direction:column;align-items:flex-start}.slider-controls{left:18px;right:auto}.statement h2,.section-heading h2,.tools h2,.contact h2,.page-cta h2{font-size:44px}.category-card{min-height:280px}.category-card h3{font-size:27px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:1}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:14px}.footer-bottom span:last-child{flex-wrap:wrap}.cookie-banner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.page-hero{padding:80px 0 60px}.page-hero h1{font-size:clamp(52px,15vw,84px)}.service-index-card{grid-template-columns:32px 1fr 18px;padding:22px}.service-index-card h2{font-size:27px}.service-hero{min-height:620px}.service-hero-copy{padding-bottom:55px}.service-hero h1{font-size:clamp(52px,15vw,86px)}.service-detail h2{font-size:44px}.service-editorial>div{padding:26px;min-height:320px}.service-editorial h2{margin-top:60px;font-size:30px}.related-services .shell{display:block}.related-links{margin-top:30px;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-slide{transition:none!important}.category-card,.service-index-card,.work-card img{transition:none!important}}


/* === v4 — motion, themes, typography and mobile navigation === */
:root{
  --scroll-track:#111;
  --header-bg:rgba(8,8,8,.94);
  --transition-bg:#0a0a0a;
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#f4f2ee;--panel:#ebe8e2;--panel2:#e4e0da;--text:#171717;--muted:#625f5a;--line:#d5d0c9;
  --scroll-track:#e5e1db;--header-bg:rgba(244,242,238,.94);--transition-bg:#f4f2ee;color-scheme:light;
}
html{scrollbar-color:var(--red) var(--scroll-track);scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--red);border-radius:999px;border:2px solid var(--scroll-track)}::-webkit-scrollbar-thumb:hover{background:#ff3038}
body{line-height:1.6;transition:background-color .35s ease,color .35s ease}
h1,h2,h3{text-wrap:balance}
.hero h1,.service-hero h1,.page-hero h1{line-height:.94;letter-spacing:-.052em}
.statement h2,.section-heading h2,.tools h2,.contact h2,.page-cta h2{line-height:1.01;letter-spacing:-.045em}

/* Hero composition */
.hero{height:100svh;min-height:720px;align-items:center}
.hero-content{padding-top:112px;padding-bottom:70px}
.hero h1{max-width:1020px;margin:14px 0 22px}
.hero-intro{max-width:700px;line-height:1.55}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.48) 52%,rgba(0,0,0,.22) 100%),linear-gradient(0deg,rgba(0,0,0,.58) 0%,transparent 58%)}
.hero-slide img{object-position:center center}

/* Header controls */
.theme-toggle,.menu-toggle{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:rgba(10,10,10,.38);color:#fff;border:1px solid #484848;padding:0;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.theme-toggle:hover,.menu-toggle:hover{border-color:#888}
.theme-toggle{display:inline-flex}
.theme-icon{width:18px;height:18px;border:1.8px solid currentColor;border-radius:50%;position:relative;display:block;transition:transform .35s ease}
.theme-icon:after{content:"";position:absolute;inset:-5px;border:1px dashed currentColor;border-radius:50%;opacity:.7}
html[data-theme="light"] .theme-icon{background:#171717;border-color:#171717;transform:scale(.72)}
html[data-theme="light"] .theme-icon:after{opacity:0}
.menu-toggle{display:none}
.menu-icon{width:20px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.menu-icon i{display:block;height:1.5px;width:100%;background:currentColor;transform-origin:center;transition:transform .28s ease,opacity .2s ease,width .2s ease}
.menu-toggle.open .menu-icon i:nth-child(1){transform:translateY(6.25px) rotate(45deg)}
.menu-toggle.open .menu-icon i:nth-child(2){opacity:0;width:0}
.menu-toggle.open .menu-icon i:nth-child(3){transform:translateY(-6.25px) rotate(-45deg)}

/* Light theme overrides for hard-coded dark surfaces */
html[data-theme="light"] .site-header{background:linear-gradient(180deg,rgba(244,242,238,.68),transparent)}
html[data-theme="light"] .site-header.scrolled{background:var(--header-bg);border-color:var(--line)}
html[data-theme="light"] .main-nav a{color:#393632}html[data-theme="light"] .main-nav a:hover{color:#000}
html[data-theme="light"] .language-select{background:#f4f2ee;color:#1a1a1a;border-color:#bbb5ad}
html[data-theme="light"] .theme-toggle,html[data-theme="light"] .menu-toggle{background:rgba(255,255,255,.55);color:#171717;border-color:#aaa49b}
html[data-theme="light"] .nav-cta{border-color:#aaa49b}
html[data-theme="light"] .category-card,html[data-theme="light"] .service-index-card,html[data-theme="light"] .service-editorial>div{background:#ebe8e2;border-color:#d2cdc6}
html[data-theme="light"] .category-card:hover{background:#e4e0da;border-color:#aaa49b}
html[data-theme="light"] .tools,html[data-theme="light"] .contact,html[data-theme="light"] .page-cta,html[data-theme="light"] .related-services{background:#ebe8e2}
html[data-theme="light"] .tool-card{background:#f8f6f2;border-color:#d2cdc6}
html[data-theme="light"] .tool-card p,html[data-theme="light"] .category-card p,html[data-theme="light"] .service-index-card p,html[data-theme="light"] .service-editorial p,html[data-theme="light"] .legal p,html[data-theme="light"] .statement-grid>div,html[data-theme="light"] .contact-grid>div>p:not(.section-kicker),html[data-theme="light"] .section-lead{color:#625f5a}
html[data-theme="light"] .contact-form input,html[data-theme="light"] .contact-form select,html[data-theme="light"] .contact-form textarea{background:#f8f6f2;color:#171717;border-color:#c9c3bb}
html[data-theme="light"] .service-bullets{border-color:#cbc5bd}html[data-theme="light"] .service-bullets li{border-color:#cbc5bd}
html[data-theme="light"] .footer-bottom{border-color:var(--line)}
html[data-theme="light"] .footer-grid p,html[data-theme="light"] .footer-link-button,html[data-theme="light"] .footer-bottom{color:#68635d}
html[data-theme="light"] .footer-link-button:hover,html[data-theme="light"] .footer-bottom a:hover{color:#171717}
html[data-theme="light"] .button-ghost{color:#171717;border-color:#989188;background:transparent}
html[data-theme="light"] .cookie-banner{background:#171717;color:#f4f1ed}
html[data-theme="light"] .cookie-banner .button-ghost{color:#fff;border-color:#777}
html[data-theme="light"] .placeholder-lines i{background:#d9d4cd}

/* Page transitions */
main,.site-footer{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.8,.25,1)}
body.page-ready main,body.page-ready .site-footer{opacity:1;transform:none}
.page-transition{position:fixed;inset:0;z-index:950;pointer-events:none;transform:translateY(101%);background:var(--transition-bg);transition:transform .42s cubic-bezier(.77,0,.18,1)}
.page-transition:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--red)}
.page-transition span{position:absolute;left:50%;top:50%;width:74px;height:74px;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:50%;transform:translate(-50%,-50%) scale(.85);opacity:0;transition:.2s}
body.page-exit .page-transition{transform:translateY(0)}body.page-exit .page-transition span{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* First-visit production loader */
.home-loader{display:none}
html.magma-first-load .home-loader{position:fixed;inset:0;z-index:1200;background:#070707;color:#fff;display:grid;place-items:center;transition:opacity .58s ease,visibility .58s ease}
body.loader-active{overflow:hidden}
.home-loader.loader-out{opacity:0;visibility:hidden}
.loader-stage{width:min(360px,72vw);text-align:center}
.loader-stage>img{width:108px;height:108px;object-fit:contain;margin:0 auto 26px;animation:loaderPulse 1.25s ease-in-out infinite}
.loader-copy{display:flex;justify-content:center;align-items:center;gap:8px;font-size:9px;letter-spacing:.18em;color:#9b9893}
.loader-copy b{font-weight:600;color:#fff}.rolling-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 18px rgba(239,32,40,.8);animation:rolling 1s steps(2,end) infinite}
.loader-track{height:2px;background:#242424;margin-top:18px;overflow:hidden}.loader-track i{display:block;height:100%;width:42%;background:var(--red);animation:loaderTrack 1.05s cubic-bezier(.7,0,.2,1) infinite}
@keyframes loaderPulse{0%,100%{transform:scale(.96);opacity:.76}50%{transform:scale(1);opacity:1}}@keyframes rolling{50%{opacity:.2}}@keyframes loaderTrack{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}

@media(max-width:1000px){
  .menu-toggle{display:inline-flex}.header-actions{gap:8px}
  .main-nav{background:var(--header-bg);backdrop-filter:blur(18px);border-color:var(--line);padding:28px 18px 34px;gap:0}
  .main-nav a{width:100%;font-size:20px;padding:15px 0;border-bottom:1px solid var(--line)}.main-nav .nav-cta{border:0;border-bottom:1px solid var(--line);padding:15px 0;color:var(--red)}
  .hero{min-height:700px}.hero-content{padding-top:102px;padding-bottom:88px}.hero h1{font-size:clamp(56px,12vw,96px);line-height:.96}
}
@media(max-width:640px){
  .theme-toggle,.menu-toggle{width:38px;height:38px}.brand-logo{width:148px;max-width:42vw}.header-actions{gap:6px}.language-select{height:38px}
  .hero{min-height:680px}.hero-content{padding-top:100px;padding-bottom:118px}.hero h1{font-size:clamp(48px,14.5vw,72px);line-height:.98;letter-spacing:-.047em;margin-bottom:18px}.hero-intro{font-size:16px;line-height:1.55}.eyebrow{font-size:9px}
  .service-hero h1,.page-hero h1{line-height:.98;letter-spacing:-.047em}
}
@media(prefers-reduced-motion:reduce){
  main,.site-footer,.page-transition,.theme-icon,.menu-icon i{transition:none!important}.loader-stage>img,.rolling-dot,.loader-track i{animation:none!important}
}

/* v4.1 — fix the portfolio mosaic so following sections never overlap it */
.work{height:clamp(680px,58vw,900px);max-height:none;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.work-card,.work-card-large{min-height:0}.work-card{color:#fff}
.hero,.service-hero{color:#f4f1ed}
@media(max-width:1000px){.work{display:block;height:auto}.work-card,.work-card-large{height:72vw;min-height:370px}}


/* v5.0 — smaller homepage mosaic with updated image emphasis */
.work{height:clamp(320px,26vw,420px);grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.work-overlay{padding:16px 18px 18px}
.work-overlay span{font-size:9px;letter-spacing:.16em}
.work-overlay h3{font-size:clamp(18px,1.7vw,28px);line-height:1.06;margin:6px 0 0}
@media(max-width:1280px){.work{height:clamp(300px,29vw,390px)}}
@media(max-width:1000px){.work{display:block;height:auto}.work-card,.work-card-large{height:58vw;min-height:280px}.work-overlay h3{font-size:22px}}
@media(max-width:640px){.work-card,.work-card-large{height:62vw;min-height:220px}.work-overlay{padding:14px 16px 16px}.work-overlay h3{font-size:18px}}


/* v7.0 — uppercase navigation and softer inter-page motion */
.main-nav a{
  text-transform:uppercase;
  letter-spacing:.095em;
  font-size:11px;
  font-weight:650;
}
.main-nav .nav-cta{letter-spacing:.075em}

main,.site-footer{
  opacity:0;
  transform:translateY(8px) scale(.998);
  filter:blur(3px);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .72s cubic-bezier(.22,1,.36,1),
    filter .58s ease;
}
body.page-ready main,body.page-ready .site-footer{
  opacity:1;
  transform:none;
  filter:none;
}
.page-transition{
  position:fixed;
  inset:0;
  z-index:950;
  pointer-events:none;
  transform:none;
  opacity:0;
  visibility:hidden;
  background:color-mix(in srgb,var(--transition-bg) 82%,transparent);
  backdrop-filter:blur(0px);
  transition:
    opacity .58s cubic-bezier(.22,1,.36,1),
    visibility .58s,
    backdrop-filter .58s ease;
}
.page-transition:before{
  top:auto;
  bottom:0;
  height:3px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .62s cubic-bezier(.65,0,.35,1);
}
.page-transition span{
  width:58px;
  height:58px;
  opacity:0;
  transform:translate(-50%,-50%) scale(.94);
  transition:opacity .32s ease,transform .55s cubic-bezier(.22,1,.36,1);
}
body.page-exit main,body.page-exit .site-footer{
  opacity:0;
  transform:translateY(-5px) scale(.997);
  filter:blur(4px);
  transition-duration:.42s;
}
body.page-exit .page-transition{
  opacity:1;
  visibility:visible;
  backdrop-filter:blur(7px);
}
body.page-exit .page-transition:before{transform:scaleX(1)}
body.page-exit .page-transition span{
  opacity:.72;
  transform:translate(-50%,-50%) scale(1);
}
@media(max-width:1000px){
  .main-nav a{font-size:18px;letter-spacing:.075em}
}
@media(prefers-reduced-motion:reduce){
  main,.site-footer{filter:none!important;transform:none!important}
  .page-transition{backdrop-filter:none!important}
}
