:root{
  --paper:#f4f4f1;--paper-2:#ecece8;--white:#fff;--ink:#0b0b0b;--muted:#767676;--line:#d5d5d0;--black:#090909;--gray:#d9d9d5;--max:1480px;--nav:76px;
  --ease:cubic-bezier(.16,1,.3,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.display,.stack-title,.hero-concept-title{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-weight:900;letter-spacing:-.065em}.eyebrow{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{font-size:17px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 20px;border-radius:999px;background:#111;color:#fff;font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.button.primary{background:#fff;color:#0b0b0b}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:999;background:transparent}.scroll-progress span{display:block;width:0;height:100%;background:#0b0b0b}

/* Navigation */
.site-header{position:fixed;top:16px;left:0;right:0;z-index:100;transition:.45s var(--ease)}.header-inner{height:var(--nav);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;background:rgba(12,12,12,.96);border:1px solid rgba(255,255,255,.12);padding:10px 18px 10px 14px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.12);transition:.45s var(--ease)}.site-header.is-scrolled{top:8px}.site-header.is-scrolled .header-inner{height:64px;width:min(calc(100% - 96px),1260px)}.brand{display:flex;align-items:center;gap:14px;min-width:220px}.brand-logo{width:142px;height:46px;object-fit:contain;background:#fff;border-radius:8px;padding:5px;filter:none}.brand-meta{font-size:9px;line-height:1.25;text-transform:uppercase;letter-spacing:.1em;color:#a9a9a9}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:28px}.main-nav a{color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;position:relative}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#fff;transition:.3s}.main-nav a:hover::after{right:0}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Hero */
.hero-concept{position:relative;min-height:100svh;padding:130px 0 34px;background:var(--paper);overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.045) 1px,transparent 1px);background-size:8.333vw 100%,100% 116px;mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.5) 72%,transparent 100%)}.hero-ghost{position:absolute;left:-1vw;bottom:-8vw;font-size:27vw;line-height:.72;font-weight:900;letter-spacing:-.09em;color:#e4e4e0;pointer-events:none}.hero-concept-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(420px,.72fr);gap:54px;align-items:end;min-height:calc(100svh - 245px)}.hero-concept-copy{padding-top:34px}.hero-kicker{display:flex;gap:20px;align-items:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:38px}.hero-kicker span+span::before{content:"/";margin-right:20px;color:#aaa}.hero-concept-title{font-size:clamp(74px,9.1vw,164px);line-height:.78;margin:0;position:relative}.hero-title-line{display:block;opacity:0;transform:translateY(42px);animation:titleRise 1.05s var(--ease) forwards}.hero-title-line:nth-child(2){animation-delay:.08s}.hero-title-line:nth-child(3){animation-delay:.16s}.hero-title-outline{color:transparent;-webkit-text-stroke:2px #111}.hero-bottom-copy{display:grid;grid-template-columns:minmax(0,600px) auto;gap:28px;align-items:end;margin-top:42px}.hero-bottom-copy p{margin:0;font-size:17px;line-height:1.55;color:#494949}.hero-link{justify-self:start}.hero-concept-visual{position:relative;align-self:stretch;display:flex;align-items:flex-end;padding-bottom:26px}.hero-photo{width:100%;height:min(68vh,700px);margin:0;position:relative;overflow:hidden;background:#ddd}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:none}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.44))}.hero-photo figcaption{position:absolute;z-index:2;left:24px;bottom:22px;color:#fff;display:flex;align-items:baseline;gap:16px}.hero-photo figcaption strong{font-family:Georgia,serif;font-size:30px;font-weight:400}.hero-photo figcaption span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.hero-tech-card{position:absolute;left:-88px;top:13%;z-index:4;background:#0b0b0b;color:#fff;padding:24px 26px;width:285px;box-shadow:0 24px 60px rgba(0,0,0,.18)}.hero-tech-card span{display:block;color:#8b8b8b;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}.hero-tech-card strong{font-size:18px;line-height:1.3}.hero-data{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bdbdb8;margin-top:20px}.hero-data>div{padding:20px 22px 4px 0;border-right:1px solid #c9c9c5}.hero-data>div:last-child{border-right:0;padding-left:22px}.hero-data strong{display:block;font-size:31px;letter-spacing:-.04em}.hero-data span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#6d6d6d}@keyframes titleRise{to{opacity:1;transform:none}}

/* Stack */
.stack-zone{position:relative;background:var(--paper);padding-top:92px}.stack-intro{display:grid;grid-template-columns:.28fr 1fr;gap:60px;padding-bottom:70px}.stack-intro span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.stack-intro p{font-family:Georgia,serif;font-size:clamp(30px,3.5vw,56px);line-height:1.06;margin:0;max-width:1060px}.stack-item{position:relative;min-height:calc(100svh + 180px)}.stack-card{position:sticky;top:88px;min-height:calc(100svh - 102px);overflow:hidden;border-radius:22px 22px 0 0;border:1px solid rgba(0,0,0,.12);box-shadow:0 -20px 70px rgba(0,0,0,.06);transform-origin:center top}.stack-card-inner{position:relative;min-height:inherit;padding-top:66px;padding-bottom:58px}.stack-number{position:absolute;right:0;top:54px;font-size:12px;font-weight:900;letter-spacing:.12em}.card-light{background:#efefeb}.card-white{background:#fafaf8}.card-gray{background:#d5d5d1}.card-black{background:#0b0b0b;color:#fff}.card-black .stack-number,.card-black .eyebrow{color:#989898}.stack-title{font-size:clamp(58px,7.7vw,136px);line-height:.82;margin:16px 0 0}.stack-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.stack-copy{margin-left:auto;max-width:560px;margin-top:-30px}.stack-copy p,.history-title p,.cert-head p,.projects-copy p,.jobs-concept-head p{font-size:17px;line-height:1.55;color:#5b5b5b}.card-black .history-title p,.card-black .projects-copy p{color:#b0b0b0}.values-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.value-cell{min-height:210px;padding:22px 26px 24px 0;border-right:1px solid #aaa}.value-cell+ .value-cell{padding-left:26px}.value-cell:last-child{border-right:0}.value-cell span{font-size:10px;font-weight:900}.value-cell h3{font-size:23px;margin:56px 0 12px}.value-cell p{font-size:13px;line-height:1.55;color:#5f5f5f;margin:0}

/* History */
.history-concept{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}.history-title{align-self:start;padding-top:8px}.history-title .stack-title{font-size:clamp(64px,6.8vw,118px)}.history-canvas{position:relative;height:min(70vh,720px);overflow:hidden;background:#222}.history-canvas>img{width:100%;height:100%;object-fit:cover;filter:none;opacity:.58}.history-canvas::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.05),rgba(0,0,0,.58))}.history-years{position:absolute;z-index:2;inset:0;display:grid;grid-template-columns:repeat(2,1fr);align-content:center}.history-years>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:23px 24px;border-top:1px solid rgba(255,255,255,.2)}.history-years>div:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.history-years b{font-family:Georgia,serif;font-size:26px;font-weight:400}.history-years span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c5c5c5;align-self:center}

/* Direction */
.direction-concept{display:grid;grid-template-columns:.92fr .64fr .88fr;gap:40px;align-items:end}.direction-title{align-self:start}.direction-title .stack-title{font-size:clamp(60px,6vw,108px)}.direction-portrait{height:min(68vh,680px);overflow:hidden}.direction-portrait img{width:100%;height:100%;object-fit:cover;filter:none}.leader-editorial{padding:34px 0 24px;position:relative}.leader-editorial>span{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.leader-editorial h3{font-family:Georgia,serif;font-size:clamp(48px,4.6vw,86px);font-weight:400;line-height:.88;margin:34px 0 28px}.leader-editorial p{max-width:470px;line-height:1.65;color:#4e4e4e}.leader-mark{font-size:11vw;line-height:.7;font-weight:900;color:rgba(0,0,0,.065);position:absolute;right:-30px;bottom:-10px;pointer-events:none}

/* Certifs */
.cert-concept{min-height:auto;padding-bottom:20px}.cert-head{max-width:1080px}.cert-head .stack-title{font-size:clamp(58px,7.3vw,126px)}.cert-head p{max-width:580px;margin-left:auto;margin-top:-20px}.cert-marquee{overflow:hidden;padding:28px 0 70px}.cert-track{display:flex;width:max-content;gap:18px;animation:marquee 38s linear infinite}.cert-logo-tile{width:280px;height:190px;background:#fff;border:1px solid #d7d7d3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.05)}.cert-logo-tile img{width:78%;height:84px;object-fit:contain;filter:none}.cert-logo-tile span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.cert-mono{background:transparent}@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}

/* Projects */
.projects-concept{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:center}.projects-copy{align-self:start}.projects-copy .stack-title{font-size:clamp(58px,6.4vw,116px)}.projects-visuals{position:relative;height:min(72vh,720px)}.project-shot{position:absolute;margin:0;overflow:hidden;background:#222;border:1px solid rgba(255,255,255,.15)}.project-shot img{width:100%;height:100%;object-fit:cover;filter:none}.project-shot figcaption{position:absolute;left:14px;bottom:12px;background:#fff;color:#111;padding:8px 10px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.project-shot-a{left:0;top:0;width:65%;height:58%}.project-shot-b{right:0;top:15%;width:45%;height:58%}.project-shot-c{left:16%;bottom:0;width:42%;height:38%}

/* Jobs home */
.jobs-concept{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}.jobs-concept-head .stack-title{font-size:clamp(64px,7vw,122px)}.jobs-concept-head p{max-width:540px}.jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.jobs-grid-home{grid-template-columns:1fr}.job-card{background:#fff;border:1px solid #d0d0cc;padding:28px;min-height:310px;display:flex;flex-direction:column;transition:.5s var(--ease)}.job-card:hover{transform:translateY(-6px);box-shadow:0 24px 58px rgba(0,0,0,.08)}.job-card-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#757575}.job-card h3{font-size:34px;line-height:1.02;margin:56px 0 14px;letter-spacing:-.04em}.job-card p{color:#666;margin:0 0 28px;line-height:1.5}.job-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;margin-bottom:22px}.job-meta span{border:1px solid #d5d5d0;border-radius:999px;padding:7px 10px;font-size:9px}.no-jobs-inline,.empty-jobs{border:1px solid #d3d3cf;background:#fff;padding:32px;color:#5b5b5b}

/* Closing */
.closing-section{background:#fff;padding:150px 0 90px;border-top:1px solid #d7d7d2}.closing-inner h2{font-size:clamp(76px,12vw,210px);line-height:.73;letter-spacing:-.075em;margin:50px 0;font-weight:900}.closing-inner h2 em{font-family:Georgia,serif;font-weight:400}.closing-meta{display:flex;justify-content:flex-end;gap:90px;border-top:1px solid #bbb;padding-top:24px}.closing-meta p{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.08em;color:#666}

/* Footer */
.footer{position:relative;background:#090909;color:#fff;padding:70px 0 36px;overflow:hidden}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:60px;padding-bottom:56px;border-bottom:1px solid #303030;position:relative;z-index:2}.footer-logo{width:158px;background:#fff;padding:6px;border-radius:6px;filter:none}.footer h4{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#777}.footer p,.footer a{font-size:12px;color:#bcbcbc}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;padding-top:20px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#7b7b7b}.footer-word{font-size:22vw;line-height:.66;font-weight:900;letter-spacing:-.08em;color:#171717;margin:40px -1vw -6vw;white-space:nowrap}

/* Inner pages */
.page-header{top:16px}.page-hero{padding:180px 0 86px;background:#0b0b0b;color:#fff;min-height:60vh;display:flex;align-items:flex-end}.page-hero .eyebrow{color:#9e9e9e}.page-hero h1{font-size:clamp(72px,9vw,150px);line-height:.8;margin:20px 0 30px}.page-hero p{font-family:Georgia,serif;font-size:24px;line-height:1.35;color:#c3c3c3;max-width:820px}.jobs-page{padding:76px 0 120px;background:var(--paper)}.jobs-page-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:end;margin-bottom:40px}.jobs-page-head h2{font-size:54px;letter-spacing:-.05em;margin:10px 0 0}.jobs-page-head p{font-family:Georgia,serif;font-size:20px;line-height:1.5;color:#666;max-width:680px;margin:0}.jobs-list-clean{grid-template-columns:repeat(2,1fr)}
.offer-wrap{padding:150px 0 110px;background:var(--paper);min-height:100vh}.back-link{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.offer-layout-v3{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;margin-top:34px}.offer-single{background:#fff;border:1px solid #d4d4d0;padding:42px;min-width:0}.offer-kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#676767}.offer-single h1{font-size:clamp(50px,6vw,94px);line-height:.9;margin:20px 0 30px}.offer-facts{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid #d6d6d1}.offer-facts span{border:1px solid #d6d6d1;border-radius:999px;padding:9px 12px;font-size:10px}.offer-copy{padding:38px 0 10px;max-width:780px}.offer-copy h2,.offer-extra h2{font-family:Georgia,serif;font-size:38px;font-weight:400}.offer-copy p,.offer-extra li{font-size:16px;line-height:1.75;color:#575757}.offer-extra{padding:30px 0;border-top:1px solid #d6d6d1}.offer-source{border-top:1px solid #d6d6d1;padding-top:24px;margin-top:26px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#6a6a6a}.offer-source a{font-weight:900;color:#111}.apply-side{position:sticky;top:104px}.apply-side-card{background:#0b0b0b;color:#fff;padding:30px}.apply-side-card h2{font-size:38px;line-height:.98;margin:28px 0 16px}.apply-side-card p{color:#aaa;line-height:1.55}.apply-side-card .button{width:100%;margin-top:8px;background:#fff;color:#111}.legal-page{padding:160px 0 100px;min-height:100vh;background:#f2f2ef}.legal-layout{max-width:980px}.legal-layout h1{font-size:clamp(62px,8vw,118px);line-height:.85;margin:20px 0 70px}.legal-content{max-width:900px}.legal-content section{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid #d2d2ce}.legal-content h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 16px}.legal-content p{line-height:1.75;color:#565656}.legal-content a{text-decoration:underline;text-underline-offset:4px}

/* Motion */
.reveal,.reveal-scale{opacity:0;will-change:transform,opacity;transition:opacity .85s var(--ease),transform .9s var(--ease)}.reveal{transform:translateY(34px)}.reveal-scale{transform:translateY(28px) scale(.97)}.reveal.is-visible,.reveal-scale.is-visible{opacity:1;transform:none}.reveal-line{opacity:0;animation:fadeIn .8s .3s var(--ease) forwards}@keyframes fadeIn{to{opacity:1}}

@media(max-width:1180px){
 .main-nav{position:fixed;left:24px;right:24px;top:94px;background:#0b0b0b;padding:28px;display:none;flex-direction:column;align-items:flex-start;border:1px solid #333}.menu-open .main-nav{display:flex}.menu-toggle{display:block}.brand-meta{display:none}.header-inner{grid-template-columns:1fr auto}.hero-concept-inner{grid-template-columns:1fr;min-height:auto}.hero-concept-visual{max-width:880px;margin-left:auto;width:72%;min-height:520px}.hero-tech-card{left:-110px}.hero-concept{padding-bottom:50px}.hero-data{margin-top:40px}.stack-item{min-height:auto}.stack-card{position:relative;top:auto;min-height:auto;border-radius:18px;margin-bottom:18px}.stack-card-inner{min-height:auto}.history-concept,.projects-concept,.jobs-concept{grid-template-columns:1fr}.direction-concept{grid-template-columns:1fr 1fr}.direction-title{grid-column:1/-1}.direction-portrait{height:560px}.projects-visuals{height:620px}.cert-head p{margin-left:0;margin-top:24px}.stack-copy{margin:30px 0 0}.values-row{grid-template-columns:repeat(2,1fr)}.offer-layout-v3{grid-template-columns:1fr}.apply-side{position:relative;top:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:720px){
 .container{width:min(calc(100% - 28px),var(--max))}.site-header{top:8px}.header-inner{height:62px;padding:8px 10px;border-radius:14px}.site-header.is-scrolled .header-inner{width:min(calc(100% - 28px),1260px);height:58px}.brand-logo{width:112px;height:38px}.main-nav{left:14px;right:14px;top:78px}.hero-concept{padding-top:104px;min-height:auto}.hero-concept-inner{gap:34px}.hero-concept-title{font-size:clamp(56px,19vw,82px);line-height:.82}.hero-title-outline{-webkit-text-stroke:1.2px #111}.hero-kicker{gap:10px;flex-wrap:wrap;margin-bottom:28px}.hero-kicker span+span::before{margin-right:10px}.hero-bottom-copy{grid-template-columns:1fr;margin-top:28px}.hero-bottom-copy p{font-size:15px}.hero-concept-visual{width:100%;min-height:0;display:block;padding-bottom:0}.hero-photo{height:410px}.hero-tech-card{position:relative;left:auto;top:auto;margin:-70px 14px 0 auto;width:250px}.hero-data{grid-template-columns:repeat(2,1fr)}.hero-data>div{padding:17px 12px;border-bottom:1px solid #c9c9c5}.hero-data>div:last-child{padding-left:12px}.hero-data strong{font-size:26px}.hero-ghost{font-size:48vw;bottom:2vw}.stack-zone{padding-top:70px}.stack-intro{grid-template-columns:1fr;gap:24px;padding-bottom:46px}.stack-intro p{font-size:34px}.stack-card{border-radius:14px}.stack-card-inner{padding-top:52px;padding-bottom:46px}.stack-number{top:28px;right:14px}.stack-title{font-size:52px;line-height:.86}.values-row{grid-template-columns:1fr;margin-top:42px}.value-cell,.value-cell+ .value-cell{padding:22px 0;border-right:0;border-bottom:1px solid #aaa;min-height:auto}.value-cell:last-child{border-bottom:0}.value-cell h3{margin-top:34px}.history-concept{gap:36px}.history-title .stack-title,.direction-title .stack-title,.projects-copy .stack-title,.jobs-concept-head .stack-title,.cert-head .stack-title{font-size:52px}.history-canvas{height:620px}.history-years{grid-template-columns:1fr}.history-years>div{grid-template-columns:80px 1fr;padding:16px}.direction-concept{grid-template-columns:1fr}.direction-title{grid-column:auto}.direction-portrait{height:420px}.leader-editorial h3{font-size:52px}.leader-mark{font-size:30vw}.cert-logo-tile{width:220px;height:150px}.projects-visuals{height:540px}.project-shot-a{width:78%;height:45%}.project-shot-b{width:54%;height:43%;top:28%}.project-shot-c{width:58%;height:33%;left:3%}.jobs-grid,.jobs-list-clean{grid-template-columns:1fr}.closing-section{padding:100px 0 70px}.closing-inner h2{font-size:19vw}.closing-meta{justify-content:flex-start;gap:28px;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}.footer-word{font-size:31vw;margin-bottom:-8vw}.page-hero{padding:135px 0 60px;min-height:52vh}.page-hero h1{font-size:58px}.page-hero p{font-size:19px}.jobs-page{padding:58px 0 90px}.jobs-page-head{grid-template-columns:1fr;gap:20px}.jobs-page-head h2{font-size:42px}.offer-wrap{padding:120px 0 80px}.offer-single{padding:24px}.offer-single h1{font-size:48px}.offer-source{flex-direction:column}.legal-page{padding:125px 0 80px}.legal-layout h1{font-size:60px;margin-bottom:48px}
}
@media(max-height:760px) and (min-width:1181px){.stack-item{min-height:auto}.stack-card{position:relative;top:auto;min-height:auto;border-radius:20px;margin-bottom:18px}.stack-card-inner{min-height:auto}.hero-concept{min-height:auto}.hero-concept-inner{min-height:700px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cert-track{animation:none}.reveal,.reveal-scale{opacity:1;transform:none;transition:none}.hero-title-line,.reveal-line{opacity:1;transform:none;animation:none!important}}


/* =========================================================
   CONCEPT B V1.3 — STABLE STACK RUNWAYS + RESPONSIVE LAYOUT POLISH
   ========================================================= */

/* Hero: clearer proposition, image card never hides the headline */
.hero-concept-inner{grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:clamp(48px,4vw,72px);align-items:center}
.hero-concept-title{font-size:clamp(62px,6.15vw,116px);line-height:.86;max-width:920px}
.hero-bottom-copy{grid-template-columns:minmax(0,620px) auto;align-items:end;margin-top:34px}
.hero-copy-block{display:grid;gap:13px}
.hero-copy-block p{margin:0}
.tender-only{font-size:11px!important;line-height:1.35!important;text-transform:uppercase;letter-spacing:.105em;font-weight:850;color:#111!important;border-left:34px solid #111;padding-left:14px}
.hero-concept-visual{padding:22px 0 22px;align-items:center}
.hero-photo{height:min(72vh,760px);border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.12)}
.hero-photo img{object-position:56% 50%;filter:none}
.hero-photo::after{background:linear-gradient(to bottom,rgba(0,0,0,.02) 45%,rgba(0,0,0,.40))}
.hero-tech-card{left:auto;right:18px;top:18px;width:min(330px,calc(100% - 36px));border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.26);background:rgba(11,11,11,.94);backdrop-filter:blur(8px)}
.hero-tech-card span{margin-bottom:16px}.hero-tech-card strong{font-size:17px;line-height:1.35}
.hero-photo figcaption{left:22px;right:auto;bottom:20px}

/* True card stack: every transition is one single surface, without an intermediate band. */
.stack-zone{isolation:isolate;padding-bottom:0;background:var(--paper)}
.stack-item{position:sticky;top:0;height:100svh;min-height:0;margin:0;padding:0;z-index:calc(20 + var(--stack-i,0));transform:none!important;background:transparent}
.stack-item#entreprise{--stack-i:0;--stack-bg:#efefeb}.stack-item#histoire{--stack-i:1;--stack-bg:#0b0b0b}.stack-item#direction{--stack-i:2;--stack-bg:#d5d5d1}.stack-item#certifications{--stack-i:3;--stack-bg:#fafaf8}.stack-item#realisations{--stack-i:4;--stack-bg:#0b0b0b}.stack-item#recrutement{--stack-i:5;--stack-bg:var(--paper)}
.stack-card{position:relative;top:auto;height:100%;min-height:0;margin:0;border-radius:22px 22px 0 0;overflow:hidden;box-shadow:none;transform:none!important}
.stack-card-inner{height:100%;min-height:0;padding-top:calc(94px + clamp(46px,5vh,58px));padding-bottom:clamp(34px,4vh,46px)}
.stack-number{top:calc(94px + 54px)}
.stack-item + .stack-item{margin-top:0}
.stack-item::before{display:none}
.stack-hold{height:clamp(120px,16svh,190px);position:relative;z-index:0;pointer-events:none}
.stack-hold-history{height:150svh}
.stack-hold-final{height:clamp(120px,16svh,190px)}
.stack-scroll-marker{position:relative;height:0;z-index:0;pointer-events:none}

/* History stays pinned during its independent scroll runway, then Direction covers it completely. */
.history-scroll-item{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important;z-index:21!important;margin:0!important}
.history-scroll-item>.stack-card{position:relative;top:auto;z-index:1;height:100%;min-height:0;margin-top:0}
.history-concept{grid-template-columns:minmax(0,.78fr) minmax(560px,1.22fr);gap:clamp(58px,4vw,76px);align-items:center}
.history-title{padding-top:0}.history-title p{margin-top:30px;max-width:540px}
.history-title .stack-title{font-size:clamp(54px,4.8vw,88px);line-height:.9;max-width:540px}
.history-scroll-viewport{position:relative;height:min(64vh,620px);min-height:520px;overflow:hidden;border:1px solid rgba(255,255,255,.20);border-radius:16px;background:#121212;padding:0 42px}
.history-scroll-viewport::before,.history-scroll-viewport::after{content:"";position:absolute;left:0;right:0;height:120px;z-index:4;pointer-events:none}
.history-scroll-viewport::before{top:0;background:linear-gradient(#121212 22%,rgba(18,18,18,0))}.history-scroll-viewport::after{bottom:0;background:linear-gradient(rgba(18,18,18,0),#121212 78%)}
.history-scroll-track{position:absolute;left:42px;right:42px;top:0;will-change:transform;transform:translate3d(0,0,0)}
.history-step{display:grid;grid-template-columns:minmax(132px,.3fr) 1fr;gap:32px;align-items:center;min-height:154px;padding:24px 0;border-top:1px solid rgba(255,255,255,.18);opacity:.25;transition:opacity .3s ease,transform .3s ease}
.history-step:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.history-step.is-active{opacity:1;transform:translateX(8px)}
.history-step b{font-family:Georgia,serif;font-size:clamp(30px,2.6vw,44px);font-weight:400;line-height:.86;letter-spacing:-.04em;white-space:nowrap}
.history-step>div>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#8f8f8f;margin-bottom:10px}
.history-step h3{font-size:clamp(21px,2vw,32px);line-height:1.04;margin:0 0 10px;letter-spacing:-.035em}
.history-step p{font-size:13px;line-height:1.55;color:#aaa;margin:0;max-width:560px}
.history-step-current{padding-bottom:32px}.history-step-current b{white-space:normal}
.history-axis{position:absolute;left:18px;top:90px;bottom:90px;width:1px;background:rgba(255,255,255,.16);z-index:5}.history-axis span{position:absolute;top:0;left:-3px;width:7px;height:7px;border-radius:50%;background:#fff;transform:translateY(var(--axis-y,0px));box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.history-progress-label{position:absolute;z-index:6;right:20px;bottom:18px;display:flex;align-items:center;gap:9px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#6f6f6f}.history-progress-label i{width:56px;height:1px;background:#444;position:relative;overflow:hidden}.history-progress-label i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(var(--history-progress,0));transform-origin:left}

/* Layout breathing: no negative margins between headings and descriptions. */
.stack-head-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:clamp(48px,7vw,120px);align-items:end}
.stack-copy{margin:0!important;max-width:560px;padding-bottom:8px}
.stack-copy p{margin:0}
.cert-head{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr);gap:clamp(50px,7vw,120px);align-items:end}
.cert-head p{margin:0!important;max-width:520px;padding-bottom:9px}
.cert-concept{padding-bottom:28px}
.cert-marquee{padding-top:18px}

/* The first card always reveals its complete values row before the next card arrives. */
#entreprise .stack-card-inner{display:flex;flex-direction:column}
#entreprise .values-row{margin-top:auto}
.values-row{min-height:182px}
.value-cell{min-height:182px;padding-top:18px;padding-bottom:20px}
.value-cell h3{margin-top:40px}

/* Direction: clean future portrait area, with Laurent's editorial block layered over it. */
.direction-concept{grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);gap:clamp(56px,5vw,88px);align-items:stretch}
.direction-title{grid-column:1;grid-row:1;align-self:center;position:relative;z-index:2}
.direction-title .stack-title{font-size:clamp(54px,5vw,92px)}
.direction-portrait{grid-column:2;grid-row:1;height:100%;min-height:0;position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#c8c8c3 0%,#a9a9a4 56%,#81817d 100%)}
.direction-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.03) 100%)}
.direction-photo-placeholder>span{position:absolute;z-index:2;left:30px;top:28px;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:rgba(255,255,255,.88)}
.direction-photo-placeholder>span small{display:block;margin-top:7px;color:rgba(255,255,255,.55);font-size:8px;letter-spacing:.16em}
.direction-placeholder-mark{position:absolute;right:-.06em;top:-.12em;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(180px,22vw,390px);line-height:1;font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.12)}
.leader-editorial{grid-column:2;grid-row:1;z-index:3;align-self:end;padding:38px 40px 42px;color:#fff}
.leader-editorial h3{font-size:clamp(48px,4.25vw,76px);margin:24px 0 20px}
.leader-editorial p{color:#d2d2d2;margin-bottom:0;max-width:540px}
.leader-mark{display:none}

/* Qualifications: the logos belong inside the visible viewport, directly after the heading block. */
#certifications .stack-card{display:flex;flex-direction:column}
#certifications .stack-card-inner{height:auto;min-height:0!important;flex:0 0 auto;padding-bottom:10px}
#certifications .cert-marquee{flex:1 1 auto;display:flex;align-items:center;margin:0;padding:18px 0 38px;min-height:220px;overflow:hidden;background:transparent;isolation:isolate}
#certifications .cert-track{align-items:center;will-change:transform;animation:marquee 34s linear infinite}
.cert-logo-tile{height:172px}

/* Careers and the closing statement form one continuous paper surface. */
#recrutement .stack-card{background:var(--paper);border-color:transparent;box-shadow:none}
#recrutement::before{box-shadow:none}
.closing-section{background:var(--paper);border:0;padding-top:140px}
.footer-word{width:100%;margin:40px auto -6vw;text-align:center;transform:translateX(-.02em)}

/* Typography safety: accents and descenders always have room. */
.stack-title{font-size:clamp(54px,6.35vw,116px);line-height:.88;text-wrap:balance;padding:.06em 0 .08em;overflow:visible}
.stack-title em{line-height:.92;display:inline-block;padding-top:.03em}
.closing-inner h2{font-size:clamp(72px,11vw,194px);line-height:.84;letter-spacing:-.068em;margin:50px 0 62px;overflow:visible}
.closing-inner h2 em{display:inline-block;line-height:.92;padding:.05em 0 .08em}

@media(max-width:1180px){
 .hero-concept-inner{grid-template-columns:1fr}
 .stack-item,.history-scroll-item{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important;z-index:auto!important;margin:0 0 18px!important;padding-top:0;background:transparent}
 .history-scroll-item>.stack-card{position:relative;top:auto;height:auto;min-height:auto;margin-top:0}
 .stack-hold,.stack-scroll-marker{display:none}
 .stack-card{height:auto;min-height:auto;margin-top:0;border-radius:18px}.stack-card-inner{height:auto;min-height:auto;padding-top:clamp(46px,5vh,58px)}
 .stack-number{top:54px}
 .history-scroll-viewport{height:auto;min-height:0;overflow:visible;padding:18px 24px;background:#121212}
 .history-scroll-track{position:relative;left:auto;right:auto;top:auto;transform:none!important}
 .history-step{opacity:1!important;transform:none!important;min-height:auto;padding:28px 0;grid-template-columns:110px 1fr}
 .history-axis,.history-progress-label{display:none}
 .stack-head-layout,.cert-head{grid-template-columns:1fr;gap:24px}
 .stack-copy,.cert-head p{max-width:680px;padding:0}
 .hero-tech-card{right:16px;left:auto;top:16px}
 #entreprise .values-row{margin-top:48px}
 .direction-concept{grid-template-columns:1fr;gap:34px}
 .direction-title{grid-column:1;grid-row:1}
 .direction-portrait{grid-column:1;grid-row:2;height:580px}
 .leader-editorial{grid-column:1;grid-row:2;padding:34px}
 #certifications .stack-card{display:block}
 #certifications .cert-marquee{display:block;min-height:0;padding:18px 0 48px}
}
@media(max-width:720px){
 .hero-concept-title{font-size:clamp(48px,16vw,72px);line-height:.88}
 .hero-bottom-copy{grid-template-columns:1fr}.tender-only{font-size:10px!important;border-left-width:22px}
 .hero-photo{height:440px;border-radius:14px}.hero-tech-card{position:absolute;margin:0;right:12px;top:12px;width:min(250px,calc(100% - 24px));padding:18px}.hero-tech-card strong{font-size:14px}
 .stack-card,.stack-item::before{border-radius:14px}
 .stack-card-inner{padding-top:52px;padding-bottom:44px}.stack-number{top:28px}
 .stack-title{line-height:.92}.history-title .stack-title,.direction-title .stack-title,.projects-copy .stack-title,.jobs-concept-head .stack-title,.cert-head .stack-title{line-height:.92}
 .history-scroll-viewport{padding:14px 18px}.history-step{grid-template-columns:1fr;gap:8px}.history-step b{font-size:34px}.history-step h3{font-size:23px}
 .direction-portrait{height:480px}.leader-editorial{padding:26px 22px 30px}.direction-photo-placeholder>span{left:22px;top:22px}
 .closing-inner h2{font-size:18vw;line-height:.9;letter-spacing:-.06em}
}

/* Desktop cards fill the usable viewport; low-height screens fall back to normal flow. */
@media(min-width:1181px) and (min-height:761px){
  .stack-item{top:0;height:100svh}
  .history-scroll-item{top:0!important;height:100svh!important}
  .history-scroll-viewport{height:min(62vh,600px);min-height:500px}
  .projects-visuals{height:min(58vh,560px)}
}
@media(max-height:760px) and (min-width:1181px){
 .stack-item,.history-scroll-item{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important;margin:0 0 18px!important;padding-top:0;z-index:auto!important;background:transparent}
 .stack-card,.history-scroll-item>.stack-card{position:relative;top:auto;height:auto;min-height:auto;border-radius:20px;margin:0 0 0}
 .stack-hold,.stack-scroll-marker{display:none}
 .stack-card-inner{height:auto;min-height:auto;padding-top:58px}.stack-number{top:54px}
 .history-scroll-viewport{height:auto;min-height:0;overflow:visible}.history-scroll-track{position:relative;left:auto;right:auto;transform:none!important}.history-step{opacity:1!important;transform:none!important}.history-axis,.history-progress-label{display:none}
}
#entreprise,#histoire,#direction,#certifications,#realisations,#recrutement{scroll-margin-top:120px}

/* =========================================================
   CONCEPT B V1.4 — CLEAN TRANSITIONS + MOBILE-SAFE COMPONENTS
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
main,section,header,footer,.stack-zone,.stack-item,.stack-card,.stack-card-inner,.hero-concept-inner,.history-concept,.direction-concept,.projects-concept,.jobs-concept,.offer-layout-v3{min-width:0;max-width:100%}
.stack-card>*{min-width:0}
.stack-card{border-left:0;border-right:0}
.closing-section{box-shadow:none;outline:0}
.notfound{min-height:100svh;display:grid;place-items:center;padding:48px 24px;background:#0b0b0b;color:#fff}.notfound>div{width:min(100%,780px)}.notfound .brand-logo{margin-bottom:64px}.notfound h1{max-width:100%;font-size:clamp(72px,10vw,150px);line-height:.84;margin:24px 0 54px;overflow-wrap:anywhere}.plain-nav-link{display:inline-flex;gap:12px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}

@media(max-width:1180px){
 .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:16px}
 .brand{min-width:0;max-width:100%}
 .menu-toggle{display:block;position:relative;flex:0 0 auto;width:50px;height:44px;padding:0;border:0;border-radius:12px;background:#fff;color:#111;font-size:0;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}
 .menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;border-radius:2px;background:#111;transition:transform .28s var(--ease)}
 .menu-toggle::before{transform:translate(-50%,-5px)}
 .menu-toggle::after{transform:translate(-50%,5px)}
 .menu-open .menu-toggle::before{transform:translate(-50%,0) rotate(45deg)}
 .menu-open .menu-toggle::after{transform:translate(-50%,0) rotate(-45deg)}
 .menu-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
 .main-nav{z-index:110;max-height:calc(100dvh - 110px);overflow-y:auto;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.32)}
 .main-nav a{display:block;width:100%;padding:14px 2px;border-bottom:1px solid #2d2d2d;font-size:12px;line-height:1.2}
 .main-nav a:last-child{border-bottom:0}
 body.menu-open{overflow:hidden}
}

@media(max-width:720px){
 .container{width:calc(100% - 32px);max-width:100%}
 .site-header{top:8px;padding:0}
 .header-inner,.site-header.is-scrolled .header-inner{width:calc(100% - 24px);height:62px;padding:8px 9px 8px 10px;border-radius:15px;gap:10px}
 .brand-logo{width:112px;max-width:100%;height:38px}
 .menu-toggle{width:46px;height:42px;border-radius:11px}
 .main-nav{left:12px;right:12px;top:78px;padding:16px 18px;border-radius:16px;max-height:calc(100dvh - 92px)}
 .hero-concept{padding:102px 0 46px}
 .hero-concept-inner{gap:30px}
 .hero-concept-copy{min-width:0;padding-top:18px}
 .hero-kicker{gap:8px 10px;margin-bottom:24px;font-size:8px;line-height:1.35;letter-spacing:.1em}
 .hero-kicker span+span::before{margin-right:10px}
 .hero-concept-title{max-width:100%;font-size:clamp(44px,14.7vw,64px);line-height:.88;letter-spacing:-.07em}
 .hero-title-line{max-width:100%;white-space:nowrap}
 .hero-bottom-copy{gap:24px;margin-top:26px}
 .hero-bottom-copy p{font-size:14px;line-height:1.55}
 .tender-only{font-size:9px!important;line-height:1.45!important;border-left-width:18px;padding-left:10px}
 .hero-concept-visual{width:100%;max-width:100%;min-height:0;margin:0;padding:0}
 .hero-photo{width:100%;height:clamp(350px,112vw,450px)}
 .hero-tech-card{right:10px;top:10px;width:min(238px,calc(100% - 20px));padding:16px}
 .hero-tech-card span{margin-bottom:11px;font-size:8px}.hero-tech-card strong{font-size:13px;line-height:1.35}
 .hero-photo figcaption{left:16px;bottom:15px;gap:9px;flex-wrap:wrap}.hero-photo figcaption strong{font-size:24px}
 .hero-data{width:calc(100% - 32px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
 .hero-data>div,.hero-data>div:last-child{min-width:0;padding:15px 10px 15px 0}.hero-data>div:nth-child(even){padding-left:12px;border-right:0}.hero-data strong{font-size:23px}.hero-data span{display:block;overflow-wrap:anywhere}
 .stack-zone{padding-top:58px}
 .stack-intro{gap:18px;padding-bottom:38px}.stack-intro p{font-size:clamp(28px,8.6vw,36px);line-height:1.1}
 .stack-item,.history-scroll-item{margin-bottom:12px!important}
 .stack-card{width:100%;border-radius:14px}
 .stack-card-inner{width:calc(100% - 32px);padding-top:48px;padding-bottom:42px}
 .stack-number{right:0;top:24px;font-size:10px}
 .eyebrow{font-size:9px;line-height:1.25;letter-spacing:.135em}.eyebrow::before{width:24px;margin-right:8px}
 .stack-title,.history-title .stack-title,.direction-title .stack-title,.projects-copy .stack-title,.jobs-concept-head .stack-title,.cert-head .stack-title{max-width:100%;font-size:clamp(41px,13.2vw,54px);line-height:.94;letter-spacing:-.06em;text-wrap:balance}
 .stack-copy p,.history-title p,.cert-head p,.projects-copy p,.jobs-concept-head p{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
 .values-row{margin-top:34px}.value-cell,.value-cell+ .value-cell{padding:20px 0}.value-cell h3{margin:26px 0 9px;font-size:21px}.value-cell p{font-size:13px}
 .history-concept{gap:30px}.history-title p{margin-top:22px}
 .history-scroll-viewport{width:100%;padding:12px 16px;border-radius:12px;overflow:hidden}
 .history-step{min-width:0;padding:24px 0}.history-step b{font-size:31px}.history-step h3{font-size:22px;overflow-wrap:anywhere}.history-step p{font-size:13px;overflow-wrap:anywhere}
 .direction-concept{gap:28px}.direction-portrait{width:100%;height:clamp(390px,118vw,480px);border-radius:13px}.leader-editorial{min-width:0;padding:24px 19px 26px}.leader-editorial h3{font-size:clamp(40px,12.5vw,52px);overflow-wrap:anywhere}.leader-editorial p{font-size:14px;line-height:1.55}
 #certifications .cert-marquee{width:100%;padding:12px 0 38px;overflow:hidden}
 .cert-track{gap:12px}.cert-logo-tile{flex:0 0 204px;width:204px;height:142px;padding:18px;gap:12px}.cert-logo-tile img{height:64px}.cert-logo-tile span{font-size:8px;text-align:center}
 .projects-concept,.jobs-concept{gap:30px}.projects-visuals{width:100%;height:clamp(430px,128vw,520px)}
 .job-card{min-width:0;min-height:0;padding:22px}.job-card-top{flex-wrap:wrap}.job-card h3{font-size:clamp(27px,8.5vw,34px);margin:40px 0 13px;overflow-wrap:anywhere}.job-card p{font-size:14px;overflow-wrap:anywhere}.job-meta{min-width:0}.job-meta span{max-width:100%;overflow-wrap:anywhere}
 .closing-section{padding:82px 0 64px}.closing-inner h2{max-width:100%;font-size:clamp(50px,16.2vw,68px);line-height:.92;letter-spacing:-.065em;margin:38px 0 48px}.closing-meta{gap:22px;padding-top:20px}.closing-meta p{max-width:100%;overflow-wrap:anywhere}
 .footer{padding:54px 0 28px}.footer-grid{gap:34px;padding-bottom:38px}.footer-bottom{gap:14px;line-height:1.5}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:6px}.footer-word{width:100%;max-width:100%;font-size:25.5vw;line-height:.72;margin:32px auto -7vw;text-align:center;transform:none}
 .page-hero{min-height:50vh;padding:124px 0 58px}.page-hero h1{max-width:100%;font-size:clamp(48px,14vw,60px);line-height:.88;overflow-wrap:anywhere}.page-hero p{font-size:18px;overflow-wrap:anywhere}
 .jobs-page{padding:52px 0 74px}.jobs-page-head{gap:16px;margin-bottom:28px}.jobs-page-head h2{font-size:clamp(35px,10vw,42px);overflow-wrap:anywhere}.jobs-page-head p{font-size:17px}
 .offer-wrap{padding:104px 0 68px}.offer-layout-v3{gap:22px;margin-top:26px}.offer-single{min-width:0;padding:20px}.offer-single h1{max-width:100%;font-size:clamp(35px,10.8vw,46px);line-height:.95;overflow-wrap:anywhere}.offer-facts{gap:6px}.offer-facts span{max-width:100%;overflow-wrap:anywhere}.offer-copy{padding-top:28px}.offer-copy h2,.offer-extra h2{font-size:31px}.offer-copy p,.offer-extra li{font-size:15px;overflow-wrap:anywhere}.offer-extra ul{padding-left:20px}.offer-source{flex-direction:column;overflow-wrap:anywhere}.apply-side-card{padding:22px}.apply-side-card h2{font-size:32px}.apply-side-card .button{height:auto;min-height:48px;padding:14px 16px;white-space:normal;text-align:center}
 .legal-page{padding:112px 0 68px}.legal-layout h1{max-width:100%;font-size:clamp(37px,11vw,48px);line-height:.95;margin:18px 0 42px;overflow-wrap:anywhere}.legal-content section{padding-bottom:30px;margin-bottom:30px}.legal-content h2{font-size:29px;overflow-wrap:anywhere}.legal-content p,.legal-content a{overflow-wrap:anywhere}
 .notfound{padding:36px 16px}.notfound .brand-logo{margin-bottom:46px}.notfound h1{font-size:clamp(48px,15vw,62px);line-height:.9;margin:22px 0 40px}
}

@media(max-width:360px){
 .container,.stack-card-inner,.hero-data{width:calc(100% - 24px)}
 .header-inner,.site-header.is-scrolled .header-inner{width:calc(100% - 16px)}
 .hero-concept-title{font-size:clamp(41px,14.2vw,51px)}
 .stack-title,.history-title .stack-title,.direction-title .stack-title,.projects-copy .stack-title,.jobs-concept-head .stack-title,.cert-head .stack-title{font-size:clamp(38px,12.7vw,46px)}
 .closing-inner h2{font-size:15.4vw}
 .footer-word{font-size:24.5vw}
}
