:root{--paper:#f6f5f0;--paper-2:#eeede6;--ink:#172a2a;--ink-soft:#334746;--muted:#52615a;--line:#d3d9cf;--lime:#d8e2cc;--lime-dark:#637857;--white:#fff;--display:'Avenir Next',Avenir,Inter,Arial,sans-serif;--mono:'SFMono-Regular',Consolas,monospace;--wrap:1180px;--ease:cubic-bezier(.22,.8,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);font-size:0.9375rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-60px;left:16px;z-index:50;background:var(--lime);padding:10px 16px}.skip-link:focus{top:16px}.site-header{height:88px;position:relative;z-index:10;border-bottom:1px solid rgba(23,42,42,.08);background:rgba(246,245,240,.92)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.4375rem;font-weight:800;letter-spacing:-1.5px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--ink);color:var(--lime);font-size:1.5625rem;font-weight:700;line-height:1;transform:rotate(-7deg)}.brand-dot{color:#9abd38}.main-nav{display:flex;align-items:center;gap:34px}.main-nav>a:not(.button){font-size:0.75rem;font-weight:600;color:#596764;transition:color .2s}.main-nav>a:not(.button):hover{color:#111}.button{min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:23px;border:1px solid transparent;border-radius:3px;font-size:0.75rem;font-weight:700;transition:transform .25s var(--ease),background .25s,color .25s,border .25s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button span{font-size:1.0625rem;font-weight:400}.button-small{min-height:42px;padding-inline:15px;gap:14px;font-size:.75rem}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#284241}.button-accent{background:var(--lime);color:var(--ink)}.button-accent:hover{background:#e5ecdc}.button-light{background:var(--paper);color:var(--ink)}.button-outline{border-color:#bdc5bd;background:transparent;color:var(--ink)}.button-outline:hover{border-color:var(--ink)}.language-switch{display:flex;gap:8px;align-items:center;color:#a0a9a3;font:.75rem var(--mono)}.language-switch a{color:#929b96}.language-switch a.active{color:var(--ink);font-weight:500}.menu-toggle{display:none}
.hero{min-height:650px;position:relative;overflow:hidden;background:#f1f0e9}.hero-grid{position:absolute;inset:0 0 0 50%;opacity:.42;background-image:linear-gradient(rgba(23,42,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(23,42,42,.055) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000 30%)}.hero-layout{min-height:570px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}.hero-copy{padding:42px 0 56px}.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:10px;color:#77847e;font:.75rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#738866;box-shadow:0 0 0 4px rgba(150,184,68,.13)}h1,h2,h3,p{margin-top:0}.hero h1,.inner-hero h1,.contact-intro h1,.setup-heading h1{margin:0;color:var(--ink);font-size:clamp(3.625rem,7vw,6rem);font-weight:600;line-height:.98;letter-spacing:-.075em;white-space:pre-line}.hero-intro{max-width:490px;margin:27px 0 29px;color:#65716c;font-size:1rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:0.75rem;font-weight:700}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:65px;color:#86908b;font:.75rem var(--mono);letter-spacing:.025em}.hero-proof b{color:#b6bfba;font-weight:400}.proof-line{width:31px;height:1px;background:#aab4ac}.hero-art{height:500px;position:relative;display:grid;place-items:center}.art-glow{position:absolute;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(137,157,117,.24),rgba(137,157,117,0) 70%);filter:blur(10px)}.orbit{position:absolute;border:1px solid rgba(46,74,67,.17);border-radius:50%;transform:rotate(-24deg)}.orbit-one:not(.atom-orbit){width:380px;height:225px}.orbit-two:not(.atom-orbit){width:330px;height:330px;border-style:dashed;opacity:.5}.orbit-three:not(.atom-orbit){width:450px;height:270px;transform:rotate(52deg);opacity:.65}.art-core{width:160px;height:160px;z-index:1;border:1px solid rgba(29,64,55,.22);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(248,248,239,.75);box-shadow:0 25px 70px rgba(25,57,48,.09);backdrop-filter:blur(5px)}.core-v{font-size:5.375rem;line-height:.9;font-weight:600;letter-spacing:-.13em;color:#24433c}.core-caption{margin-top:8px;text-align:center;color:#76857c;font:.75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.node{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(250,250,244,.93);border:1px solid rgba(39,71,60,.13);box-shadow:0 10px 28px rgba(27,45,39,.07);color:#77847d;font:.75rem var(--mono);animation:float 5s ease-in-out infinite}.node i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--lime);font-style:normal;font-size:.75rem}.node b{font-weight:400}.node-ai{top:68px;left:25%}.node-data{top:38%;right:1%;animation-delay:-1.2s}.node-iot{bottom:70px;left:20%;animation-delay:-2.1s}.node-sec{bottom:23%;right:8%;animation-delay:-3s}.art-coordinate{position:absolute;color:#929c95;font:.75rem var(--mono);letter-spacing:.08em}.coord-a{top:17%;right:3%}.coord-b{bottom:12%;left:5%}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}.hero-bottom{height:80px;display:flex;align-items:center;justify-content:space-between;color:#99a19b;font:.75rem var(--mono);letter-spacing:.06em}.scroll-cue{display:flex;align-items:center;gap:10px;text-transform:uppercase}.scroll-cue span{width:28px;height:1px;background:#9ba89e}.capability-bar{border-block:1px solid var(--line);background:#f9f8f3}.capability-track{height:72px;display:flex;align-items:center;justify-content:space-between;color:#61706b;font:.75rem var(--mono);letter-spacing:.13em}.capability-index{color:#a2aaa3}
.section{padding-block:125px}.section-heading{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:80px;margin-bottom:53px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.approach-copy h2{margin:0;font-size:clamp(2.5rem,5vw,3.9375rem);line-height:1.05;font-weight:550;letter-spacing:-.065em;white-space:pre-line}.section-intro{max-width:390px;margin:0 0 4px;color:#75807b;line-height:1.8;font-size:0.875rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:284px;padding:25px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}.service-card:hover{background:#eeefe5}.card-index{display:flex;justify-content:space-between;color:#9aa49e;font:.75rem var(--mono)}.card-index span{font-size:0.9375rem}.service-card h3{max-width:210px;margin:56px 0 12px;font-size:1.125rem;line-height:1.25;letter-spacing:-.045em}.service-card p{max-width:230px;color:#78827d;font-size:0.75rem;line-height:1.75}.card-arrow{position:absolute;right:20px;bottom:18px;color:#839078;opacity:0;transform:translate(-3px,3px);transition:.25s}.service-card:hover .card-arrow{opacity:1;transform:translate(0)}
.focus-section{padding:104px 0 110px;background:var(--ink);color:white;overflow:hidden}.section-heading-light{margin-bottom:49px}.section-heading-light .eyebrow{color:#9ca9a0}.section-heading-light h2{color:var(--paper)}.focus-side-note{justify-self:end;margin-bottom:7px;color:#889891;font:.75rem/1.8 var(--mono)}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(235,245,231,.16);border:1px solid rgba(235,245,231,.16)}.focus-card{min-height:305px;position:relative;padding:23px 24px;background:#1c3433;transition:background .25s,transform .25s}.focus-card:hover{z-index:1;background:#284340;transform:translateY(-3px)}.focus-number{color:#96a39c;font:.75rem var(--mono)}.focus-icon{position:absolute;top:67px;right:25px;color:var(--lime);font-size:1.6875rem}.focus-card h3{position:absolute;left:24px;right:60px;bottom:69px;margin:0;font-size:1.375rem;font-weight:550;line-height:1.2;letter-spacing:-.05em}.focus-card p{position:absolute;left:24px;right:24px;bottom:23px;margin:0;color:#a0aea6;font-size:.75rem;line-height:1.65}.focus-arrow{position:absolute;right:24px;bottom:22px;color:var(--lime)}.approach-section{padding-block:130px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.approach-visual{height:410px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,rgba(215,223,192,.54),transparent 65%)}.approach-ring{width:245px;height:245px;position:relative;display:grid;place-items:center;border:1px solid rgba(40,75,62,.23);border-radius:50%;box-shadow:0 0 0 25px rgba(213,223,194,.19),0 0 0 60px rgba(213,223,194,.1)}.approach-ring:before,.approach-ring:after{content:'';position:absolute;width:340px;height:148px;border:1px solid rgba(40,75,62,.2);border-radius:50%;transform:rotate(48deg)}.approach-ring:after{transform:rotate(-48deg)}.approach-ring>span{font-size:7.8125rem;line-height:1;font-weight:550;letter-spacing:-.14em;color:#29483e;transform:translateX(-6px)}.ring-node{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--lime-dark);box-shadow:0 0 0 6px rgba(181,217,74,.2)}.ring-one{top:23px;left:50%}.ring-two{right:14px;bottom:57px}.ring-three{left:24px;bottom:70px}.approach-label{position:absolute;color:#77827b;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.approach-label-a{top:18%;left:8%}.approach-label-b{right:5%;top:25%}.approach-label-c{left:18%;bottom:15%}.approach-copy{max-width:450px}.approach-copy .eyebrow{margin-bottom:18px}.approach-copy h2{margin-bottom:23px}.approach-copy>p:not(.eyebrow){margin-bottom:25px;color:#748079;line-height:1.85;font-size:0.875rem}.approach-copy .text-link{border-bottom:1px solid #cbd1c8;padding-bottom:8px}.cta-band{position:relative;overflow:hidden;background:var(--lime)}.cta-inner{min-height:280px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;padding-block:50px}.cta-inner .eyebrow{color:#59674c}.cta-inner h2{max-width:610px;margin:0 0 11px;font-size:clamp(2rem,4.5vw,3.1875rem);font-weight:600;letter-spacing:-.065em;line-height:1.05}.cta-inner p:not(.eyebrow){max-width:475px;margin:0;color:#5e6b52;font-size:0.8125rem}.cta-orbit{position:absolute;width:330px;height:330px;right:140px;top:-90px;border:1px solid rgba(32,61,39,.15);border-radius:50%;box-shadow:0 0 0 35px rgba(32,61,39,.035),0 0 0 75px rgba(32,61,39,.025);z-index:-1}
.site-footer{padding:62px 0 20px;background:#142423;color:#e7eae1}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:55px}.brand-light{color:#f3f2e9}.brand-light .brand-mark{background:var(--lime);color:var(--ink)}.footer-brand p{margin:18px 0 0;color:#91a099;font-size:0.75rem}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-col .eyebrow{margin:5px 0 8px;color:#83928a}.footer-col>a{font-size:.75rem;color:#c5cec7;transition:color .2s}.footer-col>a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(235,245,231,.13);padding-top:18px;color:#798a81;font:.75rem var(--mono);letter-spacing:.03em}
.inner-hero{min-height:430px;padding-top:102px;padding-bottom:90px;position:relative}.inner-hero h1{max-width:860px;font-size:clamp(3.625rem,7.4vw,5.75rem)}.inner-intro{max-width:590px;margin:25px 0 0;color:#6d7973;font-size:0.9375rem;line-height:1.85}.inner-hero-index{position:absolute;right:0;bottom:43px;color:#a0aaa3;font:.75rem var(--mono);letter-spacing:.1em}.service-detail-list{padding-bottom:120px}.service-detail{display:grid;grid-template-columns:100px 1fr 40px;gap:25px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.service-detail:last-child{border-bottom:1px solid var(--line)}.detail-index{padding-top:6px;color:#92a096;font:.75rem var(--mono)}.service-detail h2,.about-card h2{margin:0 0 8px;font-size:1.5rem;letter-spacing:-.05em;font-weight:550}.service-detail p,.about-card p{max-width:590px;margin:0;color:#78827c;font-size:0.8125rem;line-height:1.8}.service-detail>a{font-size:1.1875rem;color:#82916f;transition:transform .2s}.service-detail>a:hover{transform:translate(3px,-3px)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:110px}.about-card{min-height:255px;padding:24px;border:1px solid var(--line);background:rgba(255,255,255,.23)}.about-card h2{margin-top:58px}.about-note{padding:76px 0;background:#e9eadf}.about-note p{max-width:800px;margin:20px 0 0;font-size:clamp(1.8125rem,4vw,3rem);font-weight:550;line-height:1.15;letter-spacing:-.06em}.project-placeholder{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;padding-bottom:130px}.project-art{aspect-ratio:1.25;position:relative;overflow:hidden;background:#203a36}.project-grid-art{position:absolute;inset:0;background-image:linear-gradient(rgba(209,238,114,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(209,238,114,.08) 1px,transparent 1px);background-size:34px 34px;transform:perspective(300px) rotateX(15deg) scale(1.4);background-position:center}.project-art:before{content:'';position:absolute;width:62%;aspect-ratio:1;left:20%;top:18%;border:1px solid rgba(213,243,106,.65);border-radius:50%;box-shadow:0 0 0 28px rgba(213,243,106,.04),0 0 0 66px rgba(213,243,106,.035)}.project-art:after{content:'';position:absolute;width:17px;height:17px;top:32%;left:66%;border-radius:50%;background:var(--lime);box-shadow:0 0 35px 12px rgba(137,157,117,.22)}.project-art>span{position:absolute;left:22px;bottom:20px;color:#c0d1bd;font:.75rem var(--mono);letter-spacing:.1em}.project-crosshair{position:absolute;top:50%;left:50%;z-index:2;color:var(--lime);font:1.25rem var(--mono)}.project-placeholder-copy h2{font-size:2.3125rem;line-height:1.1;letter-spacing:-.06em;font-weight:550}.project-placeholder-copy p{margin:0 0 24px;color:#7b867f;font-size:0.8125rem;line-height:1.8}
.contact-layout{min-height:calc(100vh - 88px);display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-top:94px;padding-bottom:110px}.contact-intro h1{font-size:clamp(3.375rem,6vw,4.875rem)}.contact-intro .inner-intro{max-width:390px}.contact-aside{margin-top:75px;color:#738079;font-size:0.75rem}.aside-line{display:block;width:42px;height:1px;margin-bottom:16px;background:#96a685}.contact-aside p{margin-bottom:6px}.contact-aside a{font-size:0.75rem;color:var(--ink);font-weight:600}.contact-form-wrap{padding-top:18px}.contact-form{display:flex;flex-direction:column;gap:22px}.contact-form label:not(.consent):not(.honeypot){display:flex;flex-direction:column;gap:8px}.contact-form label>span,.setup-login label{font-size:.75rem;font-weight:700;color:#54645d}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select,.setup-login input{width:100%;border:0;border-bottom:1px solid #cbd1c8;border-radius:0;background:transparent;padding:11px 0;color:var(--ink);outline:none;transition:border .2s}.contact-form textarea{resize:vertical;min-height:115px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.setup-login input:focus{border-color:#829c3d}.contact-form select{color:#68756e}.consent{display:flex;align-items:flex-start;gap:10px;color:#718078;font-size:.75rem;line-height:1.55}.consent input{accent-color:#35534b;margin:2px 0 0}.contact-form .button{align-self:flex-start;margin-top:3px}.form-privacy{margin:-12px 0 0;color:#98a19b;font-size:.75rem}.form-alert{margin-bottom:20px;padding:13px 15px;font-size:0.75rem}.form-alert.success{background:#e4eccd;color:#394d22}.form-alert.error{background:#f2e5dc;color:#7a3e28}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.enterprise-statement{padding:64px 0;background:#e9eadf}.enterprise-statement-grid{display:grid;grid-template-columns:.4fr 1fr;gap:35px;align-items:start}.enterprise-statement .eyebrow{padding-top:10px}.enterprise-statement h2{max-width:750px;margin:0;font-size:clamp(2rem,5vw,3.625rem);font-weight:550;letter-spacing:-.065em;line-height:1.08}.enterprise-approach{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;padding-block:110px}.enterprise-approach>div:first-child h2{font-size:2.375rem;line-height:1.13;letter-spacing:-.06em;font-weight:550}.enterprise-approach>div:first-child>p:not(.eyebrow){color:#77827c;font-size:0.8125rem;line-height:1.8}.enterprise-approach .text-link{margin-top:8px}.enterprise-capabilities article{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:19px 0;border-top:1px solid var(--line)}.enterprise-capabilities article:last-child{border-bottom:1px solid var(--line)}.enterprise-capabilities h3{margin:0 0 4px;font-size:1rem;letter-spacing:-.03em}.enterprise-capabilities p{margin:0;color:#77827c;font-size:.75rem;line-height:1.7}
.setup-main{background:#efeee7;min-height:100vh;padding:50px 0 110px}.setup-shell{max-width:900px}.setup-heading{padding:35px 0 48px}.setup-heading h1{font-size:clamp(3.25rem,7vw,4.875rem)}.setup-heading>p:last-child{max-width:650px;margin:20px 0 0;color:#758079;line-height:1.8}.setup-login{max-width:460px;padding:30px;border:1px solid var(--line);background:#f8f7f2;display:flex;flex-direction:column;gap:14px}.setup-login label{margin-bottom:-7px}.setup-login small{color:#87928a;font-size:.75rem;line-height:1.6}.setup-login .button{align-self:flex-start}.setup-error{margin:0;color:#a54631;font-size:0.75rem}.setup-progress{display:flex;align-items:center;gap:12px;padding:22px 0;color:#859087;font:.75rem var(--mono)}.step-current{color:var(--ink);font-weight:500}.progress-line{height:1px;width:30px;background:#c7cec5}.setup-card{margin-top:16px;padding:29px 32px 32px;border:1px solid #dbded5;background:#f9f8f3}.setup-card-head{display:grid;grid-template-columns:38px 1fr;gap:15px}.setup-number{color:#94a288;font:.75rem var(--mono)}.setup-card h2{margin:0 0 7px;font-size:1.3125rem;letter-spacing:-.045em}.setup-card-head p{max-width:650px;margin:0;color:#7a857f;font-size:0.75rem;line-height:1.75}.setup-instructions{margin:24px 0;padding-left:20px;color:#69776f;font-size:.75rem;line-height:1.9}.setup-instructions li{padding-left:5px;margin:3px 0}.setup-instructions b{color:#3c4d46}.setup-actions{display:flex;flex-wrap:wrap;gap:11px;margin-left:53px}.setup-actions .button{min-height:43px}.setup-result{margin:13px 0 0 53px;font-size:.75rem}.setup-result:empty{display:none}.setup-result.is-success{color:#41622d}.setup-result.is-error{color:#a34431}.setup-result.is-success:before{content:'✓  '}.setup-result.is-error:before{content:'!  '}.env-grid{display:grid;grid-template-columns:170px 1fr;gap:10px 16px;margin:25px 0 18px 53px;align-items:baseline}.env-grid code{color:#45594d;font:.75rem var(--mono)}.env-grid span{color:#78837c;font-size:.75rem}.setup-note{margin:0 0 19px 53px;color:#8a948e;font-size:.75rem;line-height:1.7}.setup-warning{margin:20px 0 0 53px;padding:14px 16px;background:#eff0e5;color:#68735e;font-size:.75rem;line-height:1.7}.setup-finish{margin-bottom:12px}.setup-logout{margin:20px 0 0;text-align:right}.setup-logout button{border:0;background:none;color:#77827b;cursor:pointer;font-size:.75rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service-card:nth-child(2),.focus-card:nth-child(2){transition-delay:.06s}.service-card:nth-child(3),.focus-card:nth-child(3){transition-delay:.12s}.service-card:nth-child(4){transition-delay:.18s}
@media(max-width:950px){.main-nav{gap:19px}.main-nav>a:not(.button){font-size:.75rem}.hero-layout{grid-template-columns:1.05fr .95fr}.hero-art{transform:scale(.87)}.section-heading{gap:40px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:255px}.approach-section{gap:50px}.contact-layout{gap:55px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:72px}.brand{font-size:1.3125rem}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent}.menu-toggle i{width:16px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:22px 20px 25px;align-items:stretch;gap:19px;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav .button{align-self:flex-start}.language-switch{padding-top:2px}.hero{min-height:auto}.hero-layout{min-height:0;display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:60px 0 0}.hero h1{font-size:clamp(3.75rem,16vw,5.3125rem)}.hero-intro{max-width:470px;font-size:0.875rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{margin-top:33px}.hero-art{height:355px;transform:scale(.82);transform-origin:center top;margin:5px 0 -53px}.hero-bottom{height:67px;font-size:.75rem}.capability-track{height:61px}.capability-track>span:first-child{max-width:85%;font-size:.75rem;line-height:1.8}.capability-index{font-size:.75rem}.section{padding-block:82px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.section-heading h2,.approach-copy h2{font-size:clamp(2.5rem,11vw,3.375rem)}.section-intro{max-width:470px;font-size:0.8125rem}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:240px;padding:18px 14px}.service-card h3{margin-top:42px;font-size:1rem}.service-card p{font-size:.75rem}.focus-section{padding:78px 0}.section-heading-light{grid-template-columns:1fr auto;gap:10px}.focus-side-note{font-size:.75rem}.focus-grid{grid-template-columns:1fr}.focus-card{min-height:215px}.focus-card h3{bottom:64px;font-size:1.25rem}.focus-card p{bottom:20px;max-width:75%}.focus-icon{top:52px}.approach-section{padding-block:74px;grid-template-columns:1fr;gap:38px}.approach-visual{height:310px;transform:scale(.88);margin:-15px 0}.approach-copy{max-width:none}.cta-inner{min-height:290px;align-items:flex-start;justify-content:center;flex-direction:column;gap:25px}.cta-inner h2{font-size:2.375rem}.cta-orbit{right:-80px;top:25px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-brand{grid-column:1/-1}.footer-bottom{gap:12px;flex-direction:column}.inner-hero{min-height:380px;padding-top:75px;padding-bottom:72px}.inner-hero h1{font-size:clamp(3.375rem,14vw,4.875rem)}.inner-intro{font-size:0.8125rem}.inner-hero-index{bottom:25px;font-size:.75rem}.service-detail-list{padding-bottom:80px}.service-detail{grid-template-columns:38px 1fr 22px;gap:9px;padding:23px 0}.service-detail h2{font-size:1.1875rem}.service-detail p{font-size:.75rem}.about-grid{grid-template-columns:1fr;padding-bottom:75px}.about-card{min-height:220px}.about-card h2{margin-top:42px}.about-note{padding:58px 0}.project-placeholder{grid-template-columns:1fr;gap:30px;padding-bottom:85px}.project-placeholder-copy h2{font-size:1.9375rem}.contact-layout{min-height:0;grid-template-columns:1fr;gap:35px;padding-top:67px;padding-bottom:80px}.contact-intro h1{font-size:clamp(3.3125rem,14vw,4.5rem)}.contact-aside{margin-top:30px}.contact-form-wrap{padding-top:0}.field-row{grid-template-columns:1fr;gap:22px}.setup-main{padding-top:22px}.setup-heading{padding:22px 0 34px}.setup-heading h1{font-size:3.625rem}.setup-heading>p:last-child{font-size:0.75rem}.setup-progress{gap:6px;overflow:auto;white-space:nowrap;font-size:.75rem}.progress-line{width:13px;flex:0 0 13px}.setup-card{padding:22px 18px}.setup-card-head{grid-template-columns:25px 1fr;gap:10px}.setup-card h2{font-size:1.125rem}.setup-card-head p{font-size:.75rem}.setup-instructions{padding-left:17px;font-size:.75rem}.setup-actions,.env-grid,.setup-note,.setup-warning,.setup-result{margin-left:35px}.setup-actions{gap:8px}.setup-actions .button{font-size:.75rem;padding:0 12px}.env-grid{grid-template-columns:112px 1fr;gap:9px}.env-grid code{font-size:.75rem}.env-grid span,.setup-note,.setup-warning{font-size:.75rem}.setup-login{padding:22px}.setup-login .button{font-size:.75rem}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service-card{min-height:207px}.service-card h3{margin-top:36px}.node{padding:6px 8px}.node b{display:none}.hero-art{margin-top:0;transform:scale(.72);height:315px}.hero-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){:root:not([data-motion-user-choice=full]) *,:root:not([data-motion-user-choice=full]) *::before,:root:not([data-motion-user-choice=full]) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:700px){.enterprise-statement-grid{grid-template-columns:1fr;gap:12px}.enterprise-statement{padding:48px 0}.enterprise-approach{grid-template-columns:1fr;gap:35px;padding-block:75px}.enterprise-approach>div:first-child h2{font-size:2rem}}
.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-main{grid-template-columns:1.25fr .75fr .85fr 1.2fr}.footer-newsletter>.eyebrow{margin:5px 0 9px;color:#9ca8a0}.footer-newsletter>p{margin:0 0 13px;color:#91a099;font-size:.75rem;line-height:1.6}.footer-newsletter form{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.newsletter-email{width:100%}.newsletter-email input{width:100%;min-width:0;padding:10px 0;border:0;border-bottom:1px solid rgba(232,241,232,.32);background:transparent;color:#fff;font-size:.75rem;outline:none}.newsletter-email input:focus{border-color:var(--lime)}.newsletter-consent{display:flex;gap:7px;align-items:flex-start;color:#93a097;font-size:.75rem;line-height:1.5}.newsletter-consent input{accent-color:var(--lime);margin:2px 0 0}.footer-newsletter form>button{padding:5px 0;border:0;background:none;color:var(--lime);font-size:.75rem;font-weight:700;cursor:pointer}.footer-newsletter form>button span{margin-left:9px}.newsletter-feedback{color:var(--lime)!important;font-size:.75rem!important}.newsletter-error{color:#f3aa87!important}.footer-col{gap:8px}.chat-widget{position:fixed;z-index:30;right:25px;bottom:23px}.chat-launcher{height:52px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid rgba(255,255,255,.14);border-radius:3px;background:var(--ink);color:#fff;box-shadow:0 12px 34px rgba(10,29,25,.22);font-size:.75rem;font-weight:700;cursor:pointer}.chat-launcher b{margin-left:9px;color:var(--lime);font-size:0.9375rem;font-weight:400}.chat-status{width:7px;height:7px;display:inline-block;flex:0 0 7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(137,157,117,.18)}.chat-panel{position:absolute;right:0;bottom:64px;width:min(365px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 105px));overflow:auto;background:#f9f8f3;border:1px solid #dce0d6;box-shadow:0 20px 70px rgba(12,35,29,.24)}.chat-panel[hidden]{display:none}.chat-panel>header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 19px;background:var(--ink);color:white}.chat-panel>header>div{display:grid;grid-template-columns:10px 1fr;gap:2px 8px;align-items:center}.chat-panel>header b{font-size:0.8125rem}.chat-panel>header small{grid-column:2;color:#a7b3aa;font-size:.75rem}.chat-close{border:0;background:transparent;color:#dbe4dc;font-size:1.375rem;cursor:pointer}.chat-panel-body{padding:18px 19px 20px}.chat-prompt{margin:0 0 15px;color:#75817b;font-size:.75rem}.chat-panel form{display:flex;flex-direction:column;gap:11px}.chat-panel label:not(.honeypot){display:block}.chat-panel input,.chat-panel select,.chat-panel textarea{width:100%;padding:10px 11px;border:1px solid #d8ded4;background:#fff;color:var(--ink);font-size:.75rem;outline:none}.chat-panel input:focus,.chat-panel select:focus,.chat-panel textarea:focus{border-color:#879d53}.chat-panel textarea{resize:vertical}.chat-panel .button{align-self:flex-start;min-height:42px}.chat-result{margin:0;font-size:.75rem}.chat-success{color:#4d7029}.chat-error{color:#a34431}.editorial-section{padding-bottom:120px}.article-search{display:flex;align-items:center;gap:12px;padding:15px 0 27px;border-top:1px solid var(--line)}.search-field{flex:1;display:flex;align-items:center;gap:11px}.search-field>span{font-size:1.25rem;color:#85918a}.search-field input{width:100%;padding:10px 0;border:0;background:transparent;outline:none;color:var(--ink);font-size:0.8125rem}.article-search select{min-width:160px;padding:11px;border:1px solid var(--line);background:transparent;color:#68756e;font-size:.75rem}.article-search .button{min-height:42px}.article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}.article-card{position:relative;display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);column-gap:26px;row-gap:0;align-content:start;padding-bottom:26px;border-bottom:1px solid var(--line);transition:transform .25s}
/* La couverture occupe la colonne de gauche sur toute la hauteur ; le texte se
   empile dans la colonne de droite. Sans ce placement explicite, le titre et
   l'extrait tombent sous l'image et laissent un vide a droite. */
.article-card>.article-cover{grid-column:1;grid-row:1 / span 4}
.article-card>.article-meta{grid-column:2;grid-row:1}
.article-card>h2{grid-column:2;grid-row:2}
.article-card>p{grid-column:2;grid-row:3}
.article-card>.article-read{grid-column:2;grid-row:4}.article-card:hover{transform:translateY(-4px)}.article-cover{aspect-ratio:1.55;overflow:hidden;background:#e7e9dc;border-radius:12px 12px 0 0}.article-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.article-card:hover .article-cover img{transform:scale(1.035)}.article-cover-art{width:100%;height:100%;display:grid;place-items:center;position:relative;overflow:hidden;background:#203b36;color:#d8e2cc;font:.75rem var(--mono);letter-spacing:.14em}.article-cover-art:before{content:'';position:absolute;width:60%;aspect-ratio:1;border:1px solid rgba(213,243,106,.4);border-radius:50%;box-shadow:0 0 0 28px rgba(213,243,106,.06),0 0 0 65px rgba(213,243,106,.04)}.article-cover-art span{z-index:1}.article-meta{display:flex;justify-content:space-between;gap:10px;margin:16px 0 11px;color:#869189;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.07em}
/* En colonne de droite, un nom de catégorie long écartait la date hors du
   cadre. min-width:0 autorise le retour a la ligne plutot que le debordement. */
.article-meta>span:first-child{min-width:0;overflow-wrap:anywhere}.article-card h2{margin:0 0 9px;font-size:1.25rem;font-weight:600;line-height:1.25;letter-spacing:-.05em}.article-card>p{margin:0 0 18px;color:#78837d;font-size:.75rem;line-height:1.75}.article-read{display:flex;justify-content:space-between;color:#45574d;font-size:.75rem;font-weight:700}.article-read b{color:#91a769;font-size:0.9375rem;font-weight:400}.empty-state{padding:42px 0;color:#859087;font-size:0.75rem}.empty-state>span{font:.75rem var(--mono);letter-spacing:.08em}.article-detail{max-width:920px;padding-top:45px;padding-bottom:85px}.back-link{color:#738078;font-size:.75rem}.article-header{max-width:800px;margin:66px auto 47px;text-align:center}.article-header .eyebrow{justify-content:center}.article-header h1{font-size:clamp(2.625rem,6vw,4.5rem);font-weight:600;line-height:1.03;letter-spacing:-.07em}.article-deck{max-width:650px;margin:18px auto 0;color:#77837b;font-size:0.9375rem;line-height:1.8}.article-media{margin-bottom:60px}.media-track{position:relative;min-height:140px;background:#e9eadf}.media-slide{display:none;min-height:140px}.media-slide.active{display:grid;place-items:center}.media-slide>img,.media-slide>video{display:block;width:100%;max-height:640px;object-fit:contain;background:#172a2a}.pdf-preview{width:100%;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#e9eadf}.pdf-preview p{margin:0;color:#627169;font-size:0.75rem}.pdf-badge{display:grid;width:53px;height:62px;place-items:center;background:#fff;border:1px solid #ccd2c8;color:#a14e38;font:.75rem var(--mono)}.pdf-preview .button{min-height:42px}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:12px 0;color:#89938b;font:.75rem var(--mono)}.carousel-controls button{width:32px;height:32px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.article-body{max-width:690px;margin:auto;color:#43534b;font-size:0.9375rem;line-height:1.95}.article-body h2{margin:43px 0 13px;color:var(--ink);font-size:1.875rem;line-height:1.15;letter-spacing:-.06em}.article-body h3{margin:33px 0 10px;color:var(--ink);font-size:1.375rem;letter-spacing:-.04em}.article-body p{margin:0 0 22px}.article-body blockquote{margin:30px 0;padding:4px 0 4px 20px;border-left:2px solid var(--lime-dark);color:#617064;font-size:1.1875rem}.article-body a{color:#526d39;text-decoration:underline}.article-end{padding:42px 0;background:#e9eadf}.article-end .eyebrow{margin:0 0 9px}.jobs-section{padding-bottom:100px}.jobs-heading{display:flex;align-items:end;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.jobs-heading h2{margin:0;font-size:1.4375rem;letter-spacing:-.04em}.jobs-heading>span{color:#8d9890;font:.75rem var(--mono)}.job-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.job-meta{color:#849189;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.job-card h3{margin:7px 0;font-size:1.25rem;letter-spacing:-.04em}.job-card p{margin:0;color:#839087;font-size:.75rem}.job-desc{max-width:670px;margin:12px 0 0;color:#78837d;font-size:.75rem;line-height:1.75;white-space:pre-line}.no-jobs{margin:24px 0;color:#77827b;font-size:0.75rem}.application-section{padding:85px 0 100px;background:#e9eadf}.application-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.application-layout h2{max-width:410px;margin:0 0 16px;font-size:2.3125rem;line-height:1.1;letter-spacing:-.065em;font-weight:550}.application-layout>div:first-child>p:not(.eyebrow){max-width:360px;color:#78837d;font-size:0.75rem;line-height:1.8}.application-form-wrap{padding:25px 28px;background:#f8f7f2}.application-form{display:flex;flex-direction:column;gap:18px}.application-form>label:not(.consent):not(.honeypot){display:flex;flex-direction:column;gap:7px}.application-form label>span{color:#58665e;font-size:.75rem;font-weight:700}.application-form input:not([type=checkbox]),.application-form textarea,.application-form select{width:100%;padding:10px 0;border:0;border-bottom:1px solid #ccd3c9;background:transparent;color:var(--ink);font-size:.75rem;outline:none}.application-form input[type=file]{font-size:.75rem}.application-form .button{align-self:flex-start}.application-form>small{color:#8a948e;font-size:.75rem;line-height:1.6}.application-form .consent{font-size:.75rem}.service-category{margin:0 0 5px!important;color:#9aa49c!important;font:.75rem var(--mono)!important;text-transform:uppercase;letter-spacing:.08em}
.admin-login-page{min-height:100vh;background:#eeeee7}.admin-login-wrap{width:min(430px,calc(100% - 36px));margin:10vh auto}.admin-login-wrap>.brand{margin:0 0 30px}.admin-login-card{padding:30px;background:#f9f8f3;border:1px solid var(--line)}.admin-login-card h1{margin:0 0 24px;font-size:2.0625rem;letter-spacing:-.06em}.admin-login-card form{display:flex;flex-direction:column;gap:19px}.admin-login-card label{display:flex;flex-direction:column;gap:7px;color:#58665e;font-size:.75rem;font-weight:700}.admin-login-card input{padding:11px 0;border:0;border-bottom:1px solid #ccd3c9;background:transparent;outline:none}.admin-login-card .button{align-self:flex-start}.admin-login-message{color:#78837d;font-size:0.75rem;line-height:1.7}.admin-login-message a{text-decoration:underline}.admin-login-foot{margin-top:16px;color:#89938c;font-size:.75rem}.admin-shell{display:grid;grid-template-columns:205px minmax(0,1fr);gap:55px;padding-top:55px;padding-bottom:120px;min-height:calc(100vh - 300px)}.admin-sidebar{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:12px}.admin-sidebar .eyebrow{margin-bottom:11px;font-size:.75rem}.admin-sidebar>a{color:#718078;font-size:.75rem}.admin-sidebar>a:hover,.admin-sidebar>a.admin-current{color:var(--ink);font-weight:700}.admin-sidebar form{margin-top:15px}.admin-content{min-width:0}.admin-content>h1,.admin-title-row h1{margin:0 0 7px;font-size:2.8125rem;font-weight:550;letter-spacing:-.07em}.admin-lead{margin:0 0 30px;color:#7b867f;font-size:0.75rem;line-height:1.7}.admin-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-title-row .eyebrow{margin-bottom:8px}.admin-title-row .button{min-height:42px}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.admin-metrics>div{min-height:110px;padding:18px;background:#faf9f4;display:flex;flex-direction:column;justify-content:space-between}.admin-metrics span{color:#859189;font-size:.75rem}.admin-metrics b{font-size:1.75rem;font-weight:550;letter-spacing:-.06em}.admin-callout{margin-top:24px;padding:22px;background:#e9eadf}.admin-callout h2{margin:0 0 7px;font-size:1rem}.admin-callout p{margin:0;color:#728078;font-size:.75rem;line-height:1.7}.editor-form{margin:25px 0 45px;padding:23px;background:#faf9f4;border:1px solid var(--line)}.editor-form label,.admin-content label{display:flex;flex-direction:column;gap:7px;color:#617067;font-size:.75rem;font-weight:700}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-grid input,.editor-grid textarea,.editor-grid select{width:100%;padding:10px;border:1px solid #d8ded5;background:#fff;color:var(--ink);font-size:.75rem;outline:none}.editor-grid input:focus,.editor-grid textarea:focus,.editor-grid select:focus{border-color:#879d53}.editor-grid textarea{resize:vertical}.editor-language-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.editor-language{min-width:0}.editor-language h2,.media-manager h2,.admin-table-wrap>h2{margin:0 0 10px;font-size:0.9375rem;letter-spacing:-.03em}.editor-toolbar{display:flex;gap:4px;padding:7px;background:#eceee5;border:1px solid #d8ded5;border-bottom:0}.editor-toolbar button{min-width:31px;height:28px;border:0;background:#faf9f4;color:#45564d;font-size:.75rem;cursor:pointer}.rich-editor{min-height:250px;padding:14px;border:1px solid #d8ded5;background:#fff;font-size:.75rem;line-height:1.7;outline:none}.rich-editor:focus{border-color:#879d53}.rich-editor blockquote{border-left:2px solid var(--lime-dark);padding-left:10px}.editor-source{display:none}.media-manager{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.media-manager>p{color:#849087;font-size:.75rem;line-height:1.65}.upload-drop{min-height:75px;display:flex!important;align-items:center;justify-content:center;margin:12px 0;padding:15px;border:1px dashed #b9c5b4;background:#f2f3eb;color:#56664f!important;cursor:pointer}.upload-drop input{display:block!important;width:auto!important;max-width:230px;border:0!important;font-size:.75rem}.existing-media{display:flex;flex-direction:column;gap:7px;margin-top:13px}.existing-media label{display:flex;flex-direction:row;align-items:center;gap:7px}.existing-media span{color:#8a5141;font-size:.75rem}.publish-row{display:flex;align-items:end;justify-content:space-between;margin-top:23px}.publish-row label{min-width:160px}.publish-row select{padding:10px;border:1px solid var(--line);background:#fff}.admin-table-wrap{overflow-x:auto;margin-top:35px}.admin-table-wrap>h2{margin-bottom:13px}.admin-table{width:100%;border-collapse:collapse;font-size:.75rem;text-align:left}.admin-table th{padding:10px;color:#87928a;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}.admin-table td{padding:12px 10px;border-bottom:1px solid #e1e4dc;color:#617067;vertical-align:top}.admin-table td small{color:#849087}.admin-table code{font-size:.75rem}.status-pill{display:inline-block;padding:3px 7px;background:#e8eddd;color:#607542;font:.75rem var(--mono);text-transform:uppercase}.admin-actions{white-space:nowrap}.admin-actions a,.admin-actions button,.admin-table td>a{margin-right:8px;color:#617b41;font-size:.75rem}.admin-actions form{display:inline}.admin-actions button{padding:0;border:0;background:none;color:#a2523b;cursor:pointer}.service-admin-list{display:flex;flex-direction:column;gap:13px}.service-admin-item{padding:18px;background:#f9f8f3;border:1px solid var(--line)}.service-admin-item .editor-grid{margin-bottom:15px}.service-admin-item .button{min-height:39px;font-size:.75rem}.service-admin-actions{display:flex;gap:9px}.button-danger{min-height:39px;border-color:#e0c7bd;background:transparent;color:#a2523b}.check-field{flex-direction:row!important;align-items:center}.check-field input{accent-color:#527144}.admin-security .setup-note{margin:20px 0}.admin-page .footer-newsletter{min-width:0}
@media(max-width:950px){.footer-main{grid-template-columns:1fr 1fr}.footer-newsletter{grid-column:1/-1;max-width:390px}.admin-shell{grid-template-columns:160px minmax(0,1fr);gap:30px}.admin-metrics{grid-template-columns:repeat(2,1fr)}.application-layout{gap:45px}.article-grid{gap:24px}}
@media(max-width:700px){.footer-main{grid-template-columns:1fr 1fr;gap:29px 20px}.footer-newsletter{grid-column:1/-1;max-width:none}.chat-widget{right:12px;bottom:12px}.chat-launcher{height:48px;padding:0 12px}.chat-panel{bottom:59px}.article-search{flex-wrap:wrap}.search-field{flex-basis:100%}.article-search select{flex:1;min-width:0}.article-search .button{min-height:40px}.article-grid{gap:22px}.article-card{grid-template-columns:minmax(0,1fr);gap:16px}.article-cover{border-radius:12px}.article-card h2{font-size:1.1875rem}.article-detail{padding-top:30px}.article-header{margin:48px auto 32px}.article-header h1{font-size:clamp(2.5rem,11vw,3.6875rem)}.article-deck{font-size:0.8125rem}.article-body{font-size:0.8125rem}.article-body h2{font-size:1.5625rem}.jobs-heading h2{font-size:1.1875rem}.job-card{align-items:flex-start}.job-card .button{min-height:39px;padding-inline:12px;font-size:.75rem}.application-layout{grid-template-columns:1fr;gap:27px}.application-layout h2{font-size:1.9375rem}.application-form-wrap{padding:20px 16px}.admin-shell{grid-template-columns:1fr;gap:28px;padding-top:28px}.admin-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 14px;padding:15px;background:#eeeee7}.admin-sidebar .eyebrow{grid-column:1/-1;margin:0}.admin-sidebar form{margin:0}.admin-content>h1,.admin-title-row h1{font-size:2.3125rem}.admin-title-row{align-items:flex-end}.admin-metrics{grid-template-columns:1fr 1fr}.editor-form{padding:16px}.editor-grid,.editor-language-grid{grid-template-columns:1fr}.editor-language-grid{gap:23px}.admin-table{min-width:640px}.service-admin-item .editor-grid{grid-template-columns:1fr}.publish-row{gap:12px}.setup-note{margin-left:0!important}}
.pdf-preview{padding:20px}.pdf-object{width:100%;height:min(70vh,700px);border:1px solid #d6dcd2;background:#fff}.pdf-open{color:#536b40;font-size:.75rem;font-weight:700}

/* Setup palette previews and selectable public-site themes. */
body[data-theme="ocean"]{--paper:#f1f6f7;--paper-2:#e5eef1;--ink:#142c43;--ink-soft:#294a60;--muted:#6f8188;--line:#d6e1e5;--lime:#8bd7df;--lime-dark:#56b6c2}
body[data-theme="terracotta"]{--paper:#f7f2ef;--paper-2:#eee5e1;--ink:#35273a;--ink-soft:#514052;--muted:#887a7c;--line:#e2d7d2;--lime:#e9ad8b;--lime-dark:#ca8060}
.setup-db-form,.theme-choice-form{margin-top:18px}.setup-db-form .editor-grid{gap:16px}.setup-db-form label{display:flex;flex-direction:column;gap:7px;color:#617067;font-size:.75rem;font-weight:700}.setup-db-form input{width:100%;padding:10px;border:1px solid #d8ded5;background:#fff;color:var(--ink);font-size:0.75rem}.setup-db-form .db-password-field{grid-column:1/-1}.setup-mail-head{margin-top:32px}.theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-choice{position:relative;display:flex;min-height:142px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--line);background:#faf9f4;cursor:pointer}.theme-choice:has(input:checked){outline:2px solid var(--ink);outline-offset:1px}.theme-choice input{position:absolute;top:12px;right:12px;accent-color:#334a43}.theme-swatch{width:100%;height:43px;background:#172a2a;border-bottom:9px solid #d8e2cc}.theme-ocean .theme-swatch{background:#142c43;border-color:#8bd7df}.theme-terracotta .theme-swatch{background:#35273a;border-color:#e9ad8b}.theme-choice b{font-size:.75rem}.theme-choice small{color:#78847d;font-size:.75rem;line-height:1.5}.setup-mail-head+.env-grid{margin-top:10px}.mail-secure-choice{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;font-weight:500!important}.mail-secure-choice input{width:16px!important;accent-color:#334a43}.mail-config-form .setup-actions{margin-top:16px}
@media(max-width:700px){.theme-choice-grid{grid-template-columns:1fr}.theme-choice{min-height:0}.setup-db-form .editor-grid{grid-template-columns:1fr}.setup-db-form .db-password-field{grid-column:auto}.mail-secure-choice{grid-column:auto}}
/* Reader comfort and account workspaces */
.reader-settings{position:fixed;z-index:40;left:18px;bottom:20px}.reader-settings-toggle{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;background:var(--ink);color:var(--lime);font-size:1.4375rem;box-shadow:0 8px 30px #172a2a2b;cursor:pointer}.reader-settings-toggle:hover{transform:rotate(35deg)}.reader-settings-panel{position:absolute;left:0;bottom:64px;width:min(320px,calc(100vw - 36px));padding:18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 16px 55px #172a2a30}.reader-settings-panel[hidden]{display:none}.reader-settings-heading{display:flex;align-items:center;justify-content:space-between}.reader-settings-heading h2{font-size:1rem;margin:0}.reader-settings-heading button{border:0;background:none;font-size:1.5rem;cursor:pointer}.reader-settings-panel fieldset{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0 0;border:0}.reader-settings-panel legend{width:100%;font-size:.75rem;font-weight:700}.reader-settings-panel fieldset button{padding:8px 10px;border:1px solid var(--line);background:transparent;color:inherit;font-size:.75rem;cursor:pointer}.reader-settings-panel [aria-pressed=true]{outline:2px solid #91ac43}.reader-settings-panel>p{margin:13px 0 0;color:var(--muted);font-size:.75rem}.motion-setting{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.75rem}.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
:root[data-display-mode=dark] .site-header{background:rgba(17,27,27,.96);border-color:#354441}:root[data-display-mode=dark] .main-nav>a:not(.button){color:#c4d0c8}:root[data-display-mode=dark] .hero,:root[data-display-mode=dark] .capability-bar,:root[data-display-mode=dark] .about-card,:root[data-display-mode=dark] .setup-card,:root[data-display-mode=dark] .admin-login-card,:root[data-display-mode=dark] .editor-form,:root[data-display-mode=dark] .member-profile-form,:root[data-display-mode=dark] .account-form,:root[data-display-mode=dark] .article-card,:root[data-display-mode=dark] .project-content-card,:root[data-display-mode=dark] .team-content-grid article,:root[data-display-mode=dark] .talent-card,:root[data-display-mode=dark] .contact-message,:root[data-display-mode=dark] .comment-card{background:#1a2726;color:#edf2e9}:root[data-display-mode=dark] .service-card,:root[data-display-mode=dark] .focus-card{background:#192725}:root[data-display-mode=dark] .hero-intro,:root[data-display-mode=dark] .inner-intro,:root[data-display-mode=dark] .section-intro,:root[data-display-mode=dark] .setup-heading>p:last-child,:root[data-display-mode=dark] .member-content p{color:#b1c0b7}:root[data-display-mode=dark] input,:root[data-display-mode=dark] textarea,:root[data-display-mode=dark] select{background:#152120;color:#edf2e9;border-color:#52615a}:root[data-display-mode=dark] .button-outline{color:#edf2e9;border-color:#78877e}:root[data-display-mode=dark] .site-footer{background:#0b1212}:root[data-display-mode=dark] .article-body,:root[data-display-mode=dark] .article-detail{color:#e4ebe4}:root[data-display-mode=dark] .reader-settings-panel{background:#162221;color:#eef3e9;border-color:#52615a}
.account-shell{max-width:720px;min-height:65vh;padding-block:70px}.account-shell h1,.member-side h1,.talent-shell>h1{font-size:clamp(2.5rem,7vw,4.375rem);line-height:1.05;letter-spacing:-.06em}.account-shell>p:not(.eyebrow){color:var(--muted)}.account-form,.member-profile-form{display:flex;flex-direction:column;gap:18px;margin:28px 0;padding:28px;border:1px solid var(--line);background:var(--white)}.account-form label,.member-profile-form label{display:flex;flex-direction:column;gap:7px;font-size:0.75rem}.account-form input,.member-profile-form input,.member-profile-form textarea,.member-profile-form select{width:100%;padding:11px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.account-form label.consent{flex-direction:row;align-items:start}.account-form label.consent input{width:auto}.member-shell{display:grid;grid-template-columns:250px 1fr;gap:60px;padding-block:55px 100px}.member-side{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.member-side h1{font-size:2rem}.member-side>a,.member-side button{color:var(--muted);font-size:0.75rem}.member-content{min-width:0}.member-summary{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:25px;border-bottom:1px solid var(--line)}.member-summary h2{font-size:2.125rem;margin:0}.member-kicker,.member-summary p{color:var(--muted);font-size:.75rem}.privacy-badge,.status-pill{padding:6px 9px;border:1px solid var(--line);font-size:.75rem}.member-profile-form h2,.resume-edit h2,.member-stats h2{font-size:1.4375rem}.member-profile-form .editor-grid{margin-bottom:15px}.member-bio{grid-column:1/-1}.resume-edit{display:flex;flex-direction:column;gap:15px;margin:25px 0;padding:22px;border:1px solid var(--line)}.resume-edit p,.resume-edit small{font-size:.75rem;color:var(--muted)}.resume-edit .button{align-self:flex-start}.member-stats{margin-top:38px}.member-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0}.member-metric-grid>div{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--paper)}.member-metric-grid b{font-size:1.625rem}.member-metric-grid span{color:var(--muted);font-size:.75rem}.public-profile-shell,.talent-shell{padding-block:70px 110px}.public-profile-card{max-width:740px;padding:38px;border:1px solid var(--line);background:var(--paper)}.public-profile-card>img{width:110px;height:110px;border-radius:50%;object-fit:cover}.public-profile-card h1{font-size:clamp(2.375rem,7vw,4.125rem);margin:10px 0}.public-profile-card h2{font-size:1.25rem;color:var(--muted)}.public-profile-card p{white-space:pre-line}.public-profile-card section{margin:28px 0;padding-top:20px;border-top:1px solid var(--line)}.talent-grid,.team-content-grid,.project-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:35px}.talent-card,.project-content-card,.team-content-grid article{padding:22px;border:1px solid var(--line);background:var(--paper)}.talent-card h2,.project-content-card h3{font-size:1.25rem}.talent-card span,.project-content-card>span,.team-title{color:var(--muted);font-size:.75rem}.talent-card p,.project-content-card p,.team-content-grid p{font-size:0.75rem;color:var(--muted);white-space:pre-line}.talent-card a,.project-content-card a,.team-content-grid a{font-size:.75rem;font-weight:700}.team-section{padding-block:60px}.team-section>h2{font-size:clamp(2rem,5vw,3.25rem)}
.article-social{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:55px auto 0;padding:20px 0;border-block:1px solid var(--line);max-width:780px}.article-social-metrics{display:flex;gap:20px;color:var(--muted);font-size:.75rem}.article-social-metrics b{color:var(--ink)}.article-like{padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.article-like.is-liked{color:#bb3d4d}.article-comments{max-width:780px;margin:38px auto 80px}.article-comments h2{font-size:1.5625rem}.article-comments h2 span{color:var(--muted);font-size:0.9375rem}.article-comments form{display:flex;flex-direction:column;align-items:start;gap:12px;margin:18px 0 30px}.article-comments textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.comment-list{display:grid;gap:12px}.comment-card,.comment-reply-card,.comment-review{padding:16px;border:1px solid var(--line);background:var(--paper)}.comment-card time{margin-left:10px;color:var(--muted);font-size:.75rem}.comment-card p,.comment-reply-card p{margin:8px 0;font-size:0.8125rem;white-space:pre-line}.comment-reply{border:0;background:none;color:var(--muted);font-size:.75rem;cursor:pointer}.comment-reply-card{margin:12px 0 0 25px;background:var(--paper-2)}.comment-feedback{font-size:0.75rem}.comment-review-list,.contact-inbox,.analytics-list{display:grid;gap:14px}.comment-review p{white-space:pre-line}.comment-review form{display:flex;gap:8px}.comment-review form button,.inline-admin-update button,.contact-message button{padding:8px 11px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.analytics-row{display:grid;grid-template-columns:minmax(220px,1fr) 1fr;gap:25px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.analytics-row>div:first-child{display:grid;gap:5px}.analytics-row span,.contact-message time{font-size:.75rem;color:var(--muted)}.analytics-bar{height:9px;background:var(--paper-2)}.analytics-bar i{display:block;height:100%;background:var(--lime-dark)}.contact-message{padding:20px;border:1px solid var(--line);background:var(--paper)}.contact-message time{float:right}.contact-message h2{font-size:1.125rem;margin:14px 0 5px}.contact-message blockquote{margin:16px 0;padding-left:14px;border-left:2px solid var(--line);white-space:pre-line}.contact-message form{display:flex;gap:8px}.inline-admin-update{display:flex;flex-wrap:wrap;gap:6px}.inline-admin-update select{max-width:120px;padding:5px}.admin-users-table{min-width:850px}.setup-card .setup-result{margin-top:10px}
[dir=rtl] body{text-align:right}[dir=rtl] .skip-link{left:auto;right:16px}[dir=rtl] .main-nav{direction:rtl}[dir=rtl] .language-switch{direction:ltr}[dir=rtl] .member-side{align-items:flex-end}[dir=rtl] .article-body,[dir=rtl] .member-content,[dir=rtl] .public-profile-card{direction:rtl}[dir=rtl] .article-reply-card{margin-inline-start:25px;margin-inline-end:0}
@media(max-width:800px){.member-shell{grid-template-columns:1fr;gap:28px}.member-side{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.member-side .eyebrow,.member-side h1{grid-column:1/-1}.member-metric-grid{grid-template-columns:repeat(2,1fr)}.talent-grid,.team-content-grid,.project-content-grid{grid-template-columns:1fr 1fr}.article-social{align-items:flex-start;flex-direction:column}.article-social-metrics{flex-wrap:wrap}.analytics-row{grid-template-columns:1fr}.reader-settings{left:12px;bottom:12px}.reader-settings-toggle{width:48px;height:48px}}@media(max-width:520px){.talent-grid,.team-content-grid,.project-content-grid{grid-template-columns:1fr}.account-form,.member-profile-form{padding:20px}.member-summary{flex-direction:column}.comment-review form{flex-wrap:wrap}}

/* Interaction and reading refinements: shared scale, controls and floating tools. */
:root{font-size:100%;--text-scale:1;--focus-ring:#54752a}
body{font-size:1.0625rem;line-height:1.7}
button,input,textarea,select{font-size:1rem}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
button:disabled{opacity:.58;cursor:wait}
.button{min-height:48px;font-size:.875rem}
.button-small{min-height:44px;font-size:.8125rem}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(12px)}
.main-nav{gap:clamp(12px,1.8vw,24px)}
.main-nav .nav-links,.main-nav .nav-actions{display:contents}
.main-nav>a:not(.button),.main-nav .nav-links>a,.main-nav .member-nav-link{font-size:.875rem;white-space:nowrap}
.language-switch{font-size:.75rem}
.service-card p,.service-detail p,.about-card p,.approach-copy>p:not(.eyebrow),.inner-intro,.section-intro,.hero-intro{font-size:1rem;line-height:1.75}
.service-card h3{font-size:1.25rem}
.article-card>p,.job-desc,.application-layout>div:first-child>p:not(.eyebrow),.talent-card p,.project-content-card p,.team-content-grid p{font-size:.9375rem;line-height:1.7}
.article-body{font-size:1.125rem;line-height:1.85}
.article-deck{font-size:1.125rem}
.article-meta,.job-meta,.eyebrow{font-size:.75rem}
.footer-col>a,.footer-newsletter>p,.newsletter-consent,.footer-newsletter form>button{font-size:.875rem}
.footer-brand p,.footer-bottom{font-size:.8125rem}
.application-form label>span,.account-form label,.member-profile-form label,.setup-instructions,.setup-card-head p,.setup-note,.setup-warning{font-size:.9375rem}
.application-form input:not([type=checkbox]),.application-form textarea,.application-form select,.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select,.chat-panel input,.chat-panel select,.chat-panel textarea,.search-field input{font-size:1rem}
.admin-table{font-size:.875rem}
.admin-table th,.admin-table td{padding:12px}
.reader-settings{position:fixed;z-index:42;right:max(16px,env(safe-area-inset-right));left:auto;bottom:calc(88px + env(safe-area-inset-bottom))}
.reader-settings-toggle{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:var(--ink);color:var(--lime);box-shadow:0 10px 28px rgba(10,29,25,.28);transition:transform .2s,box-shadow .2s}
.reader-settings-toggle:hover{transform:rotate(30deg);box-shadow:0 14px 34px rgba(10,29,25,.36)}
.reader-settings-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.reader-settings-panel{position:absolute;right:0;left:auto;bottom:62px;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 120px);overflow-y:auto;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 20px 64px rgba(12,35,29,.26)}
.reader-settings-heading h2{font-size:1.125rem}
.reader-settings-heading button{width:44px;height:44px;border-radius:50%;font-size:1.5rem}
.reader-settings-panel fieldset{gap:8px;padding-top:16px}
.reader-settings-panel legend{margin-bottom:5px;font-size:.875rem}
.reader-settings-panel fieldset button{min-width:52px;min-height:44px;padding:9px 13px;border-radius:8px;font-size:.875rem}
.reader-settings-panel [aria-pressed=true]{outline:2px solid var(--focus-ring);outline-offset:1px;background:var(--paper-2)}
.motion-setting{min-height:44px;gap:10px;margin-top:10px;font-size:.9375rem;line-height:1.45;cursor:pointer}
.motion-setting input{width:20px;height:20px;accent-color:var(--ink)}
.reader-settings-panel>p{font-size:.8125rem;line-height:1.5}
.chat-widget{position:fixed;z-index:41;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));}
.chat-launcher{min-height:52px;border-radius:28px;padding-inline:17px;font-size:.875rem}
.chat-panel{width:min(390px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 98px - env(safe-area-inset-bottom)));border-radius:16px;overscroll-behavior:contain}
.chat-panel>header{padding:18px 20px;border-radius:15px 15px 0 0}
.chat-panel>header b{font-size:1rem}
.chat-panel>header small,.chat-prompt,.chat-result{font-size:.875rem}
.chat-close{width:44px;height:44px;border-radius:50%}
.chat-panel-body{padding:20px}
.chat-panel form{gap:13px}
.chat-panel input,.chat-panel select,.chat-panel textarea{min-height:48px;padding:12px 13px;border-radius:8px;font-size:1rem}
.chat-panel textarea{min-height:96px}
.chat-panel .button{min-height:48px}

/* A complete dark palette for the existing light-first layouts. */
:root[data-display-mode=dark]{--paper:#111b1b;--paper-2:#1a2726;--ink:#edf2e9;--ink-soft:#ced9cf;--muted:#b5c2ba;--line:#354441;--white:#202d2b;--focus-ring:#d8e2cc;color-scheme:dark}
:root[data-display-mode=dark] body{background:var(--paper);color:var(--ink)}
:root[data-display-mode=dark] .site-header{background:rgba(17,27,27,.96);border-color:var(--line)}
:root[data-display-mode=dark] .main-nav>a:not(.button),:root[data-display-mode=dark] .main-nav .nav-links>a,:root[data-display-mode=dark] .main-nav .member-nav-link{color:#d1dbd3}
:root[data-display-mode=dark] .hero,:root[data-display-mode=dark] .capability-bar,:root[data-display-mode=dark] .about-note,:root[data-display-mode=dark] .application-section,:root[data-display-mode=dark] .article-end,:root[data-display-mode=dark] .member-side,:root[data-display-mode=dark] .admin-sidebar{background:#192725;color:var(--ink)}
:root[data-display-mode=dark] .hero-intro,:root[data-display-mode=dark] .inner-intro,:root[data-display-mode=dark] .section-intro,:root[data-display-mode=dark] .approach-copy>p:not(.eyebrow),:root[data-display-mode=dark] .service-card p,:root[data-display-mode=dark] .service-detail p,:root[data-display-mode=dark] .about-card p,:root[data-display-mode=dark] .article-card>p,:root[data-display-mode=dark] .job-desc,:root[data-display-mode=dark] .article-deck,:root[data-display-mode=dark] .application-layout>div:first-child>p:not(.eyebrow),:root[data-display-mode=dark] .account-shell>p:not(.eyebrow){color:#bdc9c1}
:root[data-display-mode=dark] .service-card,:root[data-display-mode=dark] .about-card,:root[data-display-mode=dark] .setup-card,:root[data-display-mode=dark] .admin-login-card,:root[data-display-mode=dark] .editor-form,:root[data-display-mode=dark] .member-profile-form,:root[data-display-mode=dark] .account-form,:root[data-display-mode=dark] .article-card,:root[data-display-mode=dark] .project-content-card,:root[data-display-mode=dark] .team-content-grid article,:root[data-display-mode=dark] .talent-card,:root[data-display-mode=dark] .contact-message,:root[data-display-mode=dark] .comment-card,:root[data-display-mode=dark] .comment-reply-card,:root[data-display-mode=dark] .comment-review,:root[data-display-mode=dark] .public-profile-card,:root[data-display-mode=dark] .application-form-wrap,:root[data-display-mode=dark] .reader-settings-panel,:root[data-display-mode=dark] .chat-panel{background:#1a2726;color:var(--ink)}
:root[data-display-mode=dark] .service-card:hover,:root[data-display-mode=dark] .focus-card{background:#243734}
:root[data-display-mode=dark] .article-search select,:root[data-display-mode=dark] .article-search input,:root[data-display-mode=dark] .article-comments textarea,:root[data-display-mode=dark] .contact-form input,:root[data-display-mode=dark] .contact-form textarea,:root[data-display-mode=dark] .contact-form select,:root[data-display-mode=dark] .application-form input,:root[data-display-mode=dark] .application-form textarea,:root[data-display-mode=dark] .application-form select,:root[data-display-mode=dark] .account-form input,:root[data-display-mode=dark] .member-profile-form input,:root[data-display-mode=dark] .member-profile-form textarea,:root[data-display-mode=dark] .member-profile-form select,:root[data-display-mode=dark] .setup-db-form input,:root[data-display-mode=dark] .setup-db-form select{background:#111d1b;color:var(--ink);border-color:#52615a}
:root[data-display-mode=dark] .chat-panel input,:root[data-display-mode=dark] .chat-panel select,:root[data-display-mode=dark] .chat-panel textarea{background:#111d1b;color:var(--ink);border-color:#52615a}
:root[data-display-mode=dark] .pdf-preview,:root[data-display-mode=dark] .media-track,:root[data-display-mode=dark] .analytics-bar{background:#23312f}
:root[data-display-mode=dark] .site-footer{background:#090f0f}
:root[data-display-mode=dark] .button-dark{background:#d8e2cc;color:#152522}
:root[data-display-mode=dark] .button-dark:hover{background:#e2fa93}
:root[data-display-mode=dark] .reader-settings-panel fieldset button{color:var(--ink)}

@media(max-width:1080px){
  .menu-toggle{display:flex;width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer}
  .main-nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;max-height:calc(100dvh - var(--header-height,88px));overflow-y:auto;overscroll-behavior:contain;padding:16px max(20px,calc((100vw - var(--wrap))/2)) 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(18,34,31,.16)}
  .main-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}
  .main-nav .nav-links,.main-nav .nav-actions{display:contents}
  .main-nav>a:not(.button),.main-nav .nav-links>a,.main-nav .member-nav-link{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);white-space:normal;font-size:.9375rem}
  .main-nav .button{grid-column:1/-1;width:100%;min-height:50px}
  .main-nav .language-switch{grid-column:1/-1;min-height:44px;padding:4px 12px;font-size:.875rem}
  :root[data-display-mode=dark] .main-nav{background:#111b1b}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 32px)}
  .site-header{--header-height:72px;height:72px}
  .main-nav{max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-bottom));padding:14px 16px calc(18px + env(safe-area-inset-bottom))}
  .hero-intro,.inner-intro,.section-intro,.approach-copy>p:not(.eyebrow){font-size:1.0625rem}
  .service-card{padding:18px 15px}
  .service-card p,.service-detail p,.about-card p,.article-card>p,.job-desc{font-size:.9375rem}
  .article-body{font-size:1.125rem}
  .reader-settings{right:max(12px,env(safe-area-inset-right));bottom:calc(74px + env(safe-area-inset-bottom))}
  .reader-settings-toggle{width:48px;height:48px}
  .reader-settings-panel{right:0;bottom:58px;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 112px - env(safe-area-inset-bottom))}
  .chat-widget{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
  .chat-launcher{min-height:50px}
  .chat-panel{width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 92px - env(safe-area-inset-bottom))}
  .footer-col>a,.footer-newsletter>p,.newsletter-consent{font-size:.875rem}
}
@media(max-width:360px){.main-nav.is-open{grid-template-columns:1fr}.main-nav .button,.main-nav .language-switch{grid-column:auto}.chat-launcher{min-height:48px;padding-inline:13px}.reader-settings-panel{width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){:root:not([data-motion-user-choice=full]) *, :root:not([data-motion-user-choice=full]) *::before, :root:not([data-motion-user-choice=full]) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Keep all important controls comfortably tappable at small widths. */
.carousel-controls button,.article-search .button,.job-card .button,.comment-reply,.footer-newsletter form>button,.admin-actions button,.admin-actions a,.admin-sidebar a,.language-switch a{min-height:44px}
.carousel-controls button{width:44px}
.comment-reply{padding:8px 12px}
.footer-newsletter form>button{display:inline-flex;align-items:center}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:0 6px}
@media(max-width:700px){.article-search .button,.job-card .button{min-height:48px}.carousel-controls button{width:44px;height:44px}}

/* Calm accent and semantic foreground/background pairs. */
:root{--lime:#d8e2cc;--lime-dark:#637857;--muted:#52615a;--line:#d3d9cf}
.button-accent{background:#d8e2cc;color:#172a2a}
.button-accent:hover{background:#e5ecdc;color:#172a2a}
.cta-band{background:#d8e2cc;color:#172a2a}
.cta-inner .eyebrow,.cta-inner p:not(.eyebrow){color:#354638}
.brand-dot{color:#71865e}
.status-dot{background:#738866;box-shadow:0 0 0 4px rgba(115,136,102,.16)}
.chat-status{background:#a9bb96;box-shadow:0 0 0 4px rgba(169,187,150,.17)}
.menu-toggle{border:1px solid #89968a;background:var(--paper)}
.menu-toggle i{display:block;width:21px;height:2px;border-radius:2px;background:#20372d;opacity:1}
.carousel-controls button{border-color:#66756a}
.article-like,.comment-reply{min-height:44px}

/* Explicit dark surfaces keep pale text on dark layers instead of reusing ink as a fill. */
:root[data-display-mode=dark]{--paper:#111917;--paper-2:#1b2521;--ink:#f1f3ee;--ink-soft:#dbe3dc;--muted:#c0c9c2;--line:#69766d;--white:#202b26;--lime:#bdcdae;--lime-dark:#a5bc95;--focus-ring:#dbe8cb;color-scheme:dark}
:root[data-display-mode=dark] body{background:#111917;color:#f1f3ee}
:root[data-display-mode=dark] :where(h1,h2,h3,h4,h5,h6,strong,b,legend,th){color:#f1f3ee}
:root[data-display-mode=dark] main :where(p,li,label,small,time,figcaption,.eyebrow,.article-meta,.job-meta,.detail-index,.card-index,.hero-proof,.scroll-cue,.capability-track,.focus-side-note,.focus-number,.core-caption,.art-coordinate,.node,.service-category,.form-alert,.status-pill,.team-title,.talent-card span,.project-content-card>span){color:#c0c9c2}
:root[data-display-mode=dark] main :where(a:not(.button),.text-link,.article-read,.article-social,.article-like,.comment-reply){color:#dbe7d8}
:root[data-display-mode=dark] main :where(input,textarea,select){background:#121c18;color:#f1f3ee;border-color:#647268}
:root[data-display-mode=dark] .site-header{background:rgba(17,25,23,.97);border-color:#69766d}
:root[data-display-mode=dark] .menu-toggle{background:#202b26;border-color:#738176}
:root[data-display-mode=dark] .menu-toggle i{background:#f1f3ee}
:root[data-display-mode=dark] .main-nav{background:#151f1b;border-color:#69766d}
:root[data-display-mode=dark] .main-nav>a:not(.button),:root[data-display-mode=dark] .main-nav .nav-links>a,:root[data-display-mode=dark] .main-nav .member-nav-link{color:#e4ebe4;background:#1b2521;border-color:#69766d}
:root[data-display-mode=dark] .hero,:root[data-display-mode=dark] .capability-bar,:root[data-display-mode=dark] .about-note,:root[data-display-mode=dark] .enterprise-statement,:root[data-display-mode=dark] .setup-main,:root[data-display-mode=dark] .admin-login-page,:root[data-display-mode=dark] .article-end,:root[data-display-mode=dark] .application-section,:root[data-display-mode=dark] .admin-sidebar{background:#19231f;color:#f1f3ee}
:root[data-display-mode=dark] .service-card,:root[data-display-mode=dark] .about-card,:root[data-display-mode=dark] .setup-card,:root[data-display-mode=dark] .setup-login,:root[data-display-mode=dark] .admin-login-card,:root[data-display-mode=dark] .admin-metrics>div,:root[data-display-mode=dark] .admin-callout,:root[data-display-mode=dark] .editor-form,:root[data-display-mode=dark] .service-admin-item,:root[data-display-mode=dark] .theme-choice,:root[data-display-mode=dark] .member-profile-form,:root[data-display-mode=dark] .account-form,:root[data-display-mode=dark] .article-card,:root[data-display-mode=dark] .project-content-card,:root[data-display-mode=dark] .team-content-grid article,:root[data-display-mode=dark] .talent-card,:root[data-display-mode=dark] .contact-message,:root[data-display-mode=dark] .comment-card,:root[data-display-mode=dark] .comment-reply-card,:root[data-display-mode=dark] .comment-review,:root[data-display-mode=dark] .public-profile-card,:root[data-display-mode=dark] .application-form-wrap,:root[data-display-mode=dark] .chat-panel,:root[data-display-mode=dark] .reader-settings-panel{background:#202b26;color:#f1f3ee;border-color:#69766d}
:root[data-display-mode=dark] .site-header .brand-mark{background:#dce5d7;color:#17241d}
:root[data-display-mode=dark] .focus-section{background:#101815;color:#f1f3ee}
:root[data-display-mode=dark] .focus-section .section-heading h2,:root[data-display-mode=dark] .focus-card h3{color:#f1f3ee}
:root[data-display-mode=dark] .focus-card{background:#1a2822}
:root[data-display-mode=dark] .focus-card p,:root[data-display-mode=dark] .focus-card .focus-number{color:#c3cdc5}
:root[data-display-mode=dark] .node{background:#202c26;border-color:#728176;color:#e2e9e1}
:root[data-display-mode=dark] .node i{background:#d8e2cc;color:#172a2a}
:root[data-display-mode=dark] .art-core{background:rgba(28,42,35,.94);border-color:#93a78f}
:root[data-display-mode=dark] .core-v{color:#e5ece2}
:root[data-display-mode=dark] .orbit{border-color:rgba(201,219,199,.54)}
:root[data-display-mode=dark] .hero-grid{opacity:.58;background-image:linear-gradient(rgba(196,214,195,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(196,214,195,.15) 1px,transparent 1px)}
:root[data-display-mode=dark] .approach-visual{background:radial-gradient(ellipse,rgba(158,183,151,.24),transparent 70%)}
:root[data-display-mode=dark] .approach-ring,:root[data-display-mode=dark] .approach-ring:before,:root[data-display-mode=dark] .approach-ring:after{border-color:rgba(198,217,199,.6)}
:root[data-display-mode=dark] .approach-ring>span{color:#e6eee5}
:root[data-display-mode=dark] .ring-node{background:#bdcdae;box-shadow:0 0 0 6px rgba(189,205,174,.22)}
:root[data-display-mode=dark] .about-card,:root[data-display-mode=dark] .service-card{border-color:#69766d}
:root[data-display-mode=dark] .service-card:hover,:root[data-display-mode=dark] .focus-card:hover{background:#293830}
:root[data-display-mode=dark] .admin-callout{background:#26342d}
:root[data-display-mode=dark] .editor-toolbar,:root[data-display-mode=dark] .upload-drop,:root[data-display-mode=dark] .rich-editor,:root[data-display-mode=dark] .pdf-badge,:root[data-display-mode=dark] .theme-swatch{background:#16211c;color:#e9efe8;border-color:#69766d}
:root[data-display-mode=dark] .pdf-preview,:root[data-display-mode=dark] .media-track,:root[data-display-mode=dark] .analytics-bar{background:#2a3730}
:root[data-display-mode=dark] .button-dark,:root[data-display-mode=dark] .chat-launcher{background:#d8e2cc;color:#172a2a;border-color:#d8e2cc}
:root[data-display-mode=dark] .button-dark:hover,:root[data-display-mode=dark] .chat-launcher:hover{background:#e5ecdc;color:#172a2a}
:root[data-display-mode=dark] .button-accent,:root[data-display-mode=dark] .skip-link{background:#bdcdae;color:#172a2a}
/* En thème sombre, ce bandeau gardait le fond clair d'origine (#d8e2cc) et un
   texte noir codé en dur, alors que le fond du site est #141c18 : le bandeau
   ressortait violemment et ses boutons devenaient invisibles. On renvoie donc
   vers les variables, qui suivent le thème. */
:root[data-display-mode=dark] .cta-band { background: var(--cta-band-bg); color: var(--cta-band-fg); }
/* Pas de "a" ici : ce selecteur atteint le bouton du bandeau avec une
   specificite (0,3,0), superieure a celle de .cta-band .button-light (0,2,0).
   Le bouton se retrouvait donc avec la couleur du bandeau — identique a son
   propre fond, d'ou un bouton invisible. */
:root[data-display-mode=dark] .cta-band :where(h2,p,.eyebrow) { color: var(--cta-band-fg); }
:root[data-display-mode=dark] .site-footer{background:#090f0d;color:#e8eee8}
:root[data-display-mode=dark] .footer-col>a,:root[data-display-mode=dark] .footer-brand p,:root[data-display-mode=dark] .footer-newsletter>p,:root[data-display-mode=dark] .newsletter-consent,:root[data-display-mode=dark] .footer-bottom{color:#c0c9c2}
:root[data-display-mode=dark] .newsletter-email input{color:#f1f3ee}
:root[data-display-mode=dark] .reader-settings-panel fieldset button{color:#edf2e9;border-color:#637168}
:root[data-display-mode=dark] .service-grid,:root[data-display-mode=dark] .focus-grid,:root[data-display-mode=dark] .member-metric-grid{background:#69766d;border-color:#69766d}
:root[data-display-mode=dark] .member-metric-grid>div{background:#202b26}
:root[data-display-mode=dark] .setup-warning,:root[data-display-mode=dark] .form-alert.success,:root[data-display-mode=dark] .status-pill{background:#2a392f;color:#d5e8c8}
:root[data-display-mode=dark] .form-alert.error{background:#3c2926;color:#ffd4c2}
:root[data-display-mode=dark] .media-slide>img,:root[data-display-mode=dark] .media-slide>video{background:#101815}

/* Long labels reflow; the compact navigation activates for enlarged desktop text too. */
:root[data-large-text=true] .menu-toggle{display:flex}
:root[data-large-text=true] .main-nav:not(.is-open){display:none}
:root[data-large-text=true] .main-nav.is-open{display:grid;position:absolute;top:calc(100% - 1px);left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:calc(100dvh - 88px);overflow:auto;padding:16px max(20px,calc((100vw - var(--wrap))/2)) 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(18,34,31,.16)}
:root[data-large-text=true] .main-nav .nav-links,:root[data-large-text=true] .main-nav .nav-actions{display:contents}
:root[data-large-text=true] .main-nav .nav-links>a,:root[data-large-text=true] .main-nav .member-nav-link{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);white-space:normal}
:root[data-large-text=true] .main-nav .button,:root[data-large-text=true] .main-nav .language-switch{grid-column:1/-1}
:root[data-large-text=true][data-display-mode=dark] .main-nav.is-open{background:#151f1b}
@media(max-width:700px){:root[data-large-text=true] .main-nav.is-open{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom));padding:14px 16px calc(18px + env(safe-area-inset-bottom))}}
@media(max-width:360px){:root[data-large-text=true] .main-nav.is-open{grid-template-columns:1fr}.main-nav .button,.main-nav .language-switch{grid-column:auto}}

/* Contrast and focus treatment that follows high-contrast OS settings. */
.orbit{border-color:rgba(46,74,67,.42)}
.hero-grid{opacity:.48;background-image:linear-gradient(rgba(23,42,42,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(23,42,42,.09) 1px,transparent 1px)}
.approach-ring,.approach-ring:before,.approach-ring:after{border-color:rgba(40,75,62,.34)}
@media(prefers-contrast:more){:root{--muted:#405149;--line:#657267;--focus-ring:#263d2c}.button-outline,:where(input,textarea,select){border-width:2px}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline-width:4px}:root[data-display-mode=dark]{--muted:#d8e0d9;--line:#849187;--focus-ring:#e2edcf}}
.integration-config{margin:20px 0;padding:18px;border:1px solid var(--line);background:var(--surface,#faf9f4)}.integration-config legend{padding:0 8px;font-weight:700;color:var(--ink)}.integration-config .mail-secure-choice{display:flex;align-items:center;gap:9px;margin:4px 0 16px}.integration-config .mail-secure-choice input{width:auto}.integration-config small{font-weight:400;color:var(--muted)}

/* Member community feed */
.community-shell{max-width:850px;padding-top:72px;padding-bottom:110px}.community-heading{margin-bottom:34px}.community-heading h1{margin:0 0 12px;font-size:clamp(2.25rem,6vw,4.5rem);letter-spacing:-.06em}.community-heading>p:last-child,.community-post-head time{color:var(--muted,#68766d)}.community-composer,.community-post{padding:22px;border:1px solid var(--line);background:var(--paper-2);border-radius:14px}.community-composer h2,.community-toolbar h2{margin:0 0 16px;font-size:1.2rem}.community-composer textarea,.community-reply-form input,.community-report input,.community-report select,.community-edit textarea,.community-toolbar input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.community-composer textarea{resize:vertical;min-height:100px}.community-composer-foot{display:flex;align-items:center;gap:14px;margin-top:12px;color:var(--muted,#68766d);font-size:.85rem}.community-file{position:relative;overflow:hidden;cursor:pointer;color:var(--ink);font-weight:650}.community-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.community-composer-foot>span{margin-left:auto}.community-composer-foot .button{flex:0 0 auto}.community-feed{margin-top:38px}.community-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.community-toolbar h2{margin:0}.community-toolbar form{display:flex;gap:8px;width:min(400px,100%)}.community-list{display:grid;gap:14px}.community-post{min-width:0}.community-post-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.community-post-head time{font-size:.8rem}.community-post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:0 0 14px}.community-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px;margin:12px 0}.community-gallery img{width:100%;max-height:420px;object-fit:cover;border-radius:10px}.community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.community-actions button[aria-pressed=true]{border-color:var(--accent,#6b8060);color:var(--ink)}.community-replies{padding:12px 0 0}.community-reply{margin:6px 0;padding:8px 10px;border-radius:8px;background:var(--paper-2);white-space:pre-wrap}.community-reply-form{display:flex;gap:8px;margin-top:10px}.community-reply-form input{min-width:0}.community-report,.community-edit{position:relative}.community-report summary,.community-edit summary{cursor:pointer;color:var(--muted,#68766d);font-size:.85rem}.community-report form,.community-edit form{display:grid;gap:8px;max-width:520px;padding:10px 0}.community-empty{padding:26px;text-align:center;color:var(--muted,#68766d)}.community-more{display:block;margin:18px auto 0}.community-shell .setup-result{margin-top:10px}.community-report[open],.community-edit[open]{flex-basis:100%}
@media(max-width:640px){.community-shell{padding-top:42px}.community-composer,.community-post{padding:15px;border-radius:10px}.community-composer-foot{align-items:flex-start;flex-wrap:wrap}.community-composer-foot>span{margin-left:auto}.community-composer-foot .button{margin-left:auto}.community-toolbar{align-items:flex-start;flex-direction:column}.community-toolbar form{width:100%}.community-gallery{grid-template-columns:1fr}.community-reply-form{flex-wrap:wrap}.community-reply-form input{flex:1 1 100%}}
.cv-preview-shell{padding-top:32px;padding-bottom:90px}.cv-preview-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.cv-document{max-width:850px;margin:0 auto;padding:clamp(25px,6vw,70px);background:#fff;color:#20332d;border:1px solid #dfe4dd;border-radius:12px;box-shadow:0 16px 50px rgba(20,35,29,.08)}.cv-document-head{display:flex;align-items:center;gap:24px;padding-bottom:25px;border-bottom:2px solid #d9e1d3}.cv-document-head img{width:96px;height:96px;object-fit:cover;border-radius:50%}.cv-document h1{margin:6px 0;font-size:2.6rem}.cv-document .cv-headline{font-size:1.15rem;color:#546459}.cv-document section{margin-top:26px}.cv-document section h2{padding-bottom:8px;border-bottom:1px solid #dfe4dd;font-size:1.12rem;text-transform:uppercase;letter-spacing:.08em}.cv-document section p{line-height:1.75}.cv-prewrap{white-space:pre-wrap}.cv-document p{overflow-wrap:anywhere}
@media print{.site-header,.site-footer,.cv-preview-actions,.reader-settings-panel,.chat-widget{display:none!important}.cv-preview-shell{width:100%;max-width:none;padding:0}.cv-document{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;color:#172a2a}.cv-document section{break-inside:avoid}.cv-document-head{break-inside:avoid}body{background:#fff!important}}

.oauth-panel{max-width:560px;margin:10px 0 26px;padding:clamp(16px,3vw,24px);border:1px solid var(--line);background:var(--white);border-radius:4px}.oauth-panel-title{display:flex;align-items:center;gap:10px;margin:0 0 15px;color:var(--muted);font:.75rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.oauth-panel-dot{width:7px;height:7px;border-radius:50%;background:#738866;box-shadow:0 0 0 4px rgba(150,184,68,.13)}.oauth-start-form{display:grid;gap:14px}.oauth-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.oauth-panel .oauth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:50px;padding:10px 16px;border:1px solid var(--line);border-radius:3px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s}.oauth-panel .oauth-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(23,42,42,.12)}.oauth-logo{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto}.oauth-label{text-align:left;line-height:1.3}.oauth-panel .oauth-button--google{background:#fff;color:#3c4043;border-color:#dadce0}.oauth-panel .oauth-button--google:hover{background:#f8f9fa}.oauth-panel .oauth-button--microsoft{background:#2f2f2f;color:#fff;border-color:#2f2f2f}.oauth-panel .oauth-button--microsoft:hover{background:#3f3f3f}.oauth-panel .oauth-button--linkedin{background:#0a66c2;color:#fff;border-color:#0a66c2}.oauth-panel .oauth-button--linkedin:hover{background:#004182}.oauth-panel .consent{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;line-height:1.6}.oauth-panel .consent input{width:auto;margin-top:3px}.oauth-consent{margin:0!important}.oauth-email-toggle{display:inline-flex;align-items:center;gap:10px;margin-top:15px;font-size:.8125rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.oauth-email-toggle span{transition:transform .2s}.oauth-email-toggle:hover span{transform:translateY(3px)}.account-form.is-collapsed{display:none}.oauth-privacy-note{margin:12px 0;color:var(--muted);font-size:.875rem;line-height:1.65}.schema-replace-confirm{margin:14px 0 4px;padding:14px;border:1px solid #bd7665;background:var(--paper);color:var(--ink)}.schema-replace-confirm p{margin:0 0 12px;line-height:1.6}.schema-replace-confirm label{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.schema-replace-confirm label:has(input[type=text]){display:grid;grid-template-columns:1fr;gap:6px}.schema-replace-confirm input[type=text]{width:100%;max-width:300px;padding:11px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.schema-replace-confirm[hidden]{display:none}.oauth-callback-info{display:grid;gap:7px;min-width:0;margin:12px 0;padding:13px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.oauth-callback-info code{display:block;overflow-wrap:anywhere;user-select:all}
@media(max-width:520px){.oauth-buttons{grid-template-columns:1fr}.oauth-panel{margin-block:18px 26px;padding:16px}.oauth-panel .oauth-button{min-height:52px}.schema-replace-confirm{padding:12px}.setup-actions{margin-left:0}.schema-policy{margin-left:0}.setup-table-report{margin-left:0}}

/* Setup: readable controls, compact report cards and predictable mobile spacing. */
.setup-db-form{display:grid;gap:16px;margin:22px 0 0}.setup-db-form .editor-grid{gap:16px}.setup-db-form label,.integration-config>label{min-width:0;font-size:1rem!important;line-height:1.5}.setup-db-form input:not([type=checkbox]),.setup-db-form select{min-height:48px;padding:12px 13px;font-size:1rem}.setup-db-form input[type=checkbox],.schema-policy input[type=radio]{width:19px;height:19px;flex:0 0 auto;accent-color:#536b53}.integration-config{min-width:0;padding:clamp(14px,3vw,22px);margin:20px 0}.integration-config .editor-grid{gap:16px}.integration-config small{display:block;margin-top:4px;font-size:.875rem;line-height:1.5}.schema-policy{display:grid;gap:12px;margin:22px 0;padding:clamp(14px,3vw,20px);border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.schema-policy h3,.schema-policy p{margin:0}.schema-policy>label{display:flex;align-items:flex-start;gap:11px;padding:10px 0;font-size:1rem;line-height:1.5}.setup-table-report{margin:18px 0;padding:clamp(14px,3vw,20px);border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.setup-table-report h3{margin:0 0 14px}.setup-table-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-table-report-grid>div{min-width:0;padding:13px;border:1px solid var(--line);background:var(--paper)}.setup-table-report-grid ul{margin:8px 0 0;padding-left:20px;overflow-wrap:anywhere}.setup-table-report-grid li{margin:4px 0;font: .9rem/1.5 var(--mono)}.oauth-callback-info{max-width:100%}.oauth-callback-info code{font-size:.9rem;line-height:1.5}.setup-db-connected{display:grid;gap:5px;margin:18px 0;padding:14px 16px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.setup-db-connected b{font-size:.9375rem}.setup-db-connected span{font:.95rem/1.5 var(--mono);overflow-wrap:anywhere}.setup-db-connected small{color:var(--muted);font-size:.875rem;line-height:1.5}.setup-db-details{margin:18px 0 0;padding:14px 16px;border:1px solid var(--line);background:var(--paper)}.setup-db-details>summary{cursor:pointer;font-weight:700}.setup-db-details[open]>summary{margin-bottom:6px}
@media(max-width:700px){.setup-db-form .editor-grid,.integration-config .editor-grid{grid-template-columns:minmax(0,1fr);gap:14px}.setup-db-form .db-password-field{grid-column:auto}.setup-table-report-grid{grid-template-columns:minmax(0,1fr)}.setup-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.setup-actions .button{width:100%;min-height:48px;white-space:normal}.schema-policy>label{padding:9px 0}.setup-card{padding:clamp(18px,5vw,26px)}}

/* Setup installation flow and consistent form rhythm (2026-09-26). */
.setup-main{background:var(--paper);color:var(--ink)}
.setup-card,.setup-login{background:var(--white);color:var(--ink);border-color:var(--line)}
.setup-heading>p:last-child,.setup-card-head p,.setup-note,.setup-instructions,.setup-warning{color:var(--muted)}
.setup-card h2,.setup-card h3,.setup-instructions b,.schema-policy h3{color:var(--ink)}
.setup-actions{margin:18px 0 0 53px;align-items:center;gap:10px}
.setup-actions .button{margin:0;min-height:48px}
.setup-result{margin:12px 0 0 53px;line-height:1.6}
.setup-db-form,.admin-create-form,.theme-choice-form{row-gap:18px}
.setup-db-form label,.admin-create-form label{line-height:1.5}
.setup-db-form input,.admin-create-form input{min-height:46px;padding:11px 13px;border-radius:2px;font-size:1rem;line-height:1.4}
.setup-spinner{display:inline-block;width:15px;height:15px;margin-inline-end:8px;vertical-align:-2px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:setup-spin .7s linear infinite}
@keyframes setup-spin{to{transform:rotate(360deg)}}
.setup-actions button:disabled{cursor:wait}
.schema-policy label[hidden]{display:none}
:root[data-display-mode=dark] .setup-main{background:var(--paper);color:var(--ink)}
:root[data-display-mode=dark] .setup-card,:root[data-display-mode=dark] .setup-login{background:var(--white);color:var(--ink);border-color:var(--line)}
:root[data-display-mode=dark] .setup-card-head p,:root[data-display-mode=dark] .setup-heading>p:last-child,:root[data-display-mode=dark] .setup-instructions,:root[data-display-mode=dark] .setup-note,:root[data-display-mode=dark] .setup-warning{color:var(--muted)}
:root[data-display-mode=dark] .setup-db-form label,:root[data-display-mode=dark] .admin-create-form label{color:var(--ink-soft)}
:root[data-display-mode=dark] .theme-choice,:root[data-display-mode=dark] .integration-config{background:var(--paper-2);color:var(--ink);border-color:var(--line)}
:root[data-display-mode=dark] .schema-policy,:root[data-display-mode=dark] .setup-table-report{color:var(--ink)}
:root[data-display-mode=dark] .setup-warning{background:#26342d;color:#d5e8c8}
:root[data-display-mode=dark] .setup-result.is-success{background:var(--state-success-bg);border-color:var(--state-success-line);color:var(--state-success-fg)}
:root[data-display-mode=dark] .setup-result.is-error{background:var(--state-error-bg);border-color:var(--state-error-line);color:var(--state-error-fg)}
@media(max-width:700px){.setup-actions,.setup-result,.env-grid,.setup-note,.setup-warning{margin-inline:0}.setup-actions{margin-top:16px}.setup-actions .button{min-height:48px}.setup-db-form input,.admin-create-form input{font-size:1rem}.setup-heading h1{font-size:clamp(2.75rem,13vw,3.625rem)}}
@media(prefers-reduced-motion:reduce){.setup-spinner{animation:none}}

/* Shared submit-button spacing across public, account and editorial forms. */
.contact-form>.button,.application-form>.button,.account-form>.button,.editor-form>.button,.member-profile-form>.button,.service-admin-form>.button{margin-block-start:4px}
.contact-form,.application-form,.account-form,.editor-form,.member-profile-form,.service-admin-form{row-gap:18px}

/* Secure, copyable password assistance shared by account and admin forms. */
.password-tools{display:grid;gap:7px;width:100%;min-width:0;margin-top:6px}
.password-tools-actions{display:flex;flex-wrap:wrap;gap:8px}
.password-tools-actions button{min-height:40px;padding:7px 11px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit;font-size:.875rem;line-height:1.3;cursor:pointer}
.password-tools-actions button:hover{border-color:var(--focus-ring);background:var(--white)}
.password-tools small{color:var(--muted);font-size:.8125rem;line-height:1.5}
.password-meter{height:7px;overflow:hidden;border-radius:99px;background:var(--line)}
.password-meter span{display:block;width:0;height:100%;border-radius:inherit;background:#a34939;transition:width .2s ease,background-color .2s ease}
.password-meter span[data-strength="1"]{background:#bd782e}
.password-meter span[data-strength="2"]{background:#9a9c3c}
.password-meter span[data-strength="3"]{background:#4e8059}
.password-meter span[data-strength="4"]{background:#397852}
.admin-create-form{display:grid;gap:16px;max-width:620px;margin-top:18px}
.admin-create-form label{display:flex;min-width:0;flex-direction:column;gap:7px;color:var(--muted);font-size:1rem}
.admin-create-form input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
.admin-create-form .button{justify-self:start;margin-top:2px}
.editor-form .editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
@media(max-width:900px){.admin-shell{grid-template-columns:minmax(0,1fr);gap:24px}.editor-form .editor-grid{grid-template-columns:minmax(0,1fr)}.admin-sidebar{display:flex;flex-wrap:wrap;gap:12px 18px}.admin-sidebar .eyebrow{width:100%}}
@media(max-width:520px){.password-tools-actions{display:grid;grid-template-columns:1fr 1fr}.password-tools-actions button{width:100%;min-height:44px}.admin-create-form .button{width:100%}}
@media(prefers-reduced-motion:reduce){.password-meter span{transition:none}}


/* Make provider sign-in actions distinct and easy to activate. */
.oauth-panel{width:100%;max-width:620px;margin:22px 0 18px;padding:clamp(18px,3.5vw,26px);border-width:1px;box-shadow:0 10px 30px rgba(23,42,42,.07)}
.oauth-panel-title{font-size:.8125rem;font-weight:700;color:var(--ink)}
.oauth-buttons{grid-template-columns:1fr}
.oauth-panel .oauth-button{justify-content:flex-start;min-height:56px;padding:12px 18px;font-size:1rem}
.oauth-panel .oauth-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.oauth-email-toggle{min-height:44px;padding-block:10px}
.account-form.is-collapsed{display:none!important}
@media(max-width:520px){.oauth-panel{width:100%;margin-block:16px 20px;padding:16px}.oauth-panel .oauth-button{min-height:54px}.oauth-email-toggle{width:100%;justify-content:center;border:1px solid var(--line);text-decoration:none}}


/* Setup diagnostics, provider width and accessible feedback colors in both themes. */
:root{--state-success-fg:#245b36;--state-success-bg:#e5f3e8;--state-success-line:#77aa83;--state-warning-fg:#654600;--state-warning-bg:#fff2cc;--state-warning-line:#d6a83f;--state-error-fg:#8b2929;--state-error-bg:#fde8e5;--state-error-line:#d88479;--state-info-fg:#174d70;--state-info-bg:#e5f2fa;--state-info-line:#74a9c6}
:root[data-display-mode=dark]{--state-success-fg:#c1edcc;--state-success-bg:#1e3a2a;--state-success-line:#5e9c70;--state-warning-fg:#ffe2a0;--state-warning-bg:#3e331d;--state-warning-line:#aa8738;--state-error-fg:#ffc5bb;--state-error-bg:#452522;--state-error-line:#b86a5f;--state-info-fg:#b9e3ff;--state-info-bg:#1e3442;--state-info-line:#5488a5}
.form-alert,.setup-warning,.setup-result{border:1px solid var(--line);border-radius:5px;padding:12px 15px;line-height:1.6}
.form-alert.success,.setup-result.is-success{background:var(--state-success-bg);border-color:var(--state-success-line);color:var(--state-success-fg)}
.form-alert.warning,.setup-warning{background:var(--state-warning-bg);border-color:var(--state-warning-line);color:var(--state-warning-fg)}
.form-alert.error,.setup-result.is-error{background:var(--state-error-bg);border-color:var(--state-error-line);color:var(--state-error-fg)}
.form-alert.info{background:var(--state-info-bg);border-color:var(--state-info-line);color:var(--state-info-fg)}
.oauth-panel{width:min(100%,760px);max-width:760px}
.setup-test-mail{display:grid;gap:9px;max-width:620px;margin:22px 0 0 53px;padding-top:18px;border-top:1px solid var(--line)}
.setup-test-mail label{font-weight:650;color:var(--ink)}.setup-test-mail input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
.setup-test-mail .setup-actions,.setup-test-mail .setup-result{margin-left:0}
@media(max-width:700px){.oauth-panel{max-width:100%}.setup-test-mail{margin-inline:0}.setup-test-mail .setup-actions{display:grid}}
:root[data-display-mode=dark] .form-alert.success{background:var(--state-success-bg);border-color:var(--state-success-line);color:var(--state-success-fg)}
:root[data-display-mode=dark] .form-alert.error{background:var(--state-error-bg);border-color:var(--state-error-line);color:var(--state-error-fg)}
:root[data-display-mode=dark] .setup-warning{background:var(--state-warning-bg);border-color:var(--state-warning-line);color:var(--state-warning-fg)}


/* Candidate profile: calm CV-first flow, useful touch targets and local suggestion builders. */
.cv-first-step,.profile-edit-step{display:grid;gap:15px;padding:22px;border:1px solid var(--line);background:var(--paper-2)}
.cv-first-step>h2,.profile-edit-step>h2{margin:0;font-size:1.6rem}.cv-first-step>p,.avatar-crop-card p,.skill-builder small,.language-builder small{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.cv-import-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}.cv-import-controls label,.avatar-crop-card label,.skill-builder,.language-builder{display:grid;gap:8px;min-width:0}
.cv-live-preview{display:grid;gap:10px;min-width:0;margin:12px 0;padding:12px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.cv-live-preview iframe,.cv-live-preview object{display:block;width:100%;height:min(68vh,680px);min-height:350px;border:1px solid var(--line);background:#fff}.cv-live-preview object iframe{height:100%;min-height:0;border:0}.profile-accordion{padding:12px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.profile-accordion summary{cursor:pointer;font-weight:700}.profile-accordion[open]>summary{margin-bottom:10px}
.skill-builder{grid-column:1/-1}.skill-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.skill-entry-row input,.language-row select{min-width:0;width:100%;padding:11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}.skill-chips{display:flex;flex-wrap:wrap;gap:8px}.skill-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 7px 5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)}.skill-chip button{width:27px;height:27px;border:0;border-radius:50%;background:var(--paper-2);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer}
.language-builder{grid-column:1/-1;padding:15px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.language-builder-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.language-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;margin:9px 0}.avatar-crop-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:22px;padding:18px;border:1px solid var(--line);background:var(--paper-2)}.avatar-crop-card h3{margin:0}.avatar-crop-card>div:first-child{display:grid;gap:13px}.avatar-crop-card input[type=range]{width:100%;accent-color:#536b53}.avatar-focus-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.avatar-preview-frame{position:relative;display:grid;place-items:center;width:180px;aspect-ratio:1;margin-inline:auto;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--muted);text-align:center}.avatar-preview-frame img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-preview-frame span{padding:14px;font-size:.85rem}.avatar-preview-frame [hidden]{display:none}.visibility-edit{margin:0}.member-profile-form>.button[type=submit]{align-self:flex-start}
.community-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.community-reply-form textarea{width:100%;min-width:0;min-height:78px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;line-height:1.5}.community-reply-form .button{min-height:44px}.community-replies[hidden]{display:none!important}.community-actions details[open]{flex-basis:100%}
@media(max-width:700px){.cv-import-controls,.avatar-crop-card{grid-template-columns:1fr}.cv-import-controls .button{width:100%}.language-row{grid-template-columns:1fr 1fr}.language-row .button{grid-column:1/-1}.avatar-preview-frame{grid-row:1;grid-column:1;width:150px}.community-reply-form{grid-template-columns:1fr}.community-reply-form .button{justify-self:start}.cv-live-preview iframe{min-height:290px}.cv-first-step,.profile-edit-step{padding:15px}}

.public-avatar-frame,.cv-avatar-frame{display:inline-block;width:110px;height:110px;flex:0 0 auto;overflow:hidden;border-radius:50%}.public-avatar-frame img,.cv-avatar-frame img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform-origin:center}.cv-document-head .cv-avatar-frame{width:96px;height:96px}.avatar-preview-frame img{transform-origin:center}

.admin-reset-link{display:inline-block;margin-top:16px;color:#526641;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.admin-login-card .admin-reset-link:hover{color:#263a35}.admin-login-card .form-alert{margin:12px 0;padding:12px;border-radius:8px}


/* Sign-in clarity and calm dark surfaces (light mode retains its established palette). */
.account-shell{max-width:760px;padding-block:clamp(42px,7vw,76px) 96px}
.account-shell>h1{margin-block:8px 14px}
.account-form{gap:20px;padding:clamp(20px,4vw,32px);border-radius:12px}
.account-form label{gap:8px;font-size:1rem;line-height:1.5;color:var(--ink)}
.account-form input{min-width:0;min-height:50px;padding:12px 14px;border-radius:8px;font-size:1rem;line-height:1.4}
.account-form>.button{margin-block-start:2px}
.account-shell>p:not(.eyebrow){margin-block:16px;line-height:1.65}
.account-shell>p a,.admin-reset-link{font-weight:650}
.admin-login-card{padding:clamp(22px,5vw,38px);border-radius:14px}
.admin-login-card h1{margin-block:8px 12px}
.admin-login-message{color:var(--muted);line-height:1.65}
.admin-login-card form{display:grid;gap:18px;margin-top:22px}
.admin-login-card form label{display:grid;gap:8px;color:var(--ink-soft);font-size:1rem;line-height:1.45}
.admin-login-card input{width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}
.admin-login-card form>.button{justify-self:start;min-height:48px;margin-top:2px}
.admin-login-card .form-alert{margin:0;padding:13px 15px;line-height:1.6}
.oauth-panel{border-radius:12px}
.oauth-panel-title{font-size:.875rem}
.oauth-panel .oauth-button{border-radius:9px}
.oauth-panel .oauth-button--google{box-shadow:0 1px 2px rgba(0,0,0,.08)}
.oauth-panel .oauth-button--apple{background:#000;color:#fff;border-color:#000}
.oauth-panel .oauth-button--apple:hover{background:#1d1d1f;color:#fff}
:root[data-display-mode=dark] .account-shell>p:not(.eyebrow),:root[data-display-mode=dark] .admin-login-message{color:#c9d4cc}
:root[data-display-mode=dark] .account-form,:root[data-display-mode=dark] .admin-login-card,:root[data-display-mode=dark] .oauth-panel{background:#19221e;color:#f3f6f2;border-color:#56645b;box-shadow:0 14px 38px rgba(0,0,0,.24)}
:root[data-display-mode=dark] .account-form label,:root[data-display-mode=dark] .admin-login-card form label,:root[data-display-mode=dark] .oauth-panel-title{color:#edf2ed}
:root[data-display-mode=dark] .account-form input,:root[data-display-mode=dark] .admin-login-card input{background:#0d1411;color:#f5f7f4;border-color:#718077}
:root[data-display-mode=dark] .account-form input::placeholder,:root[data-display-mode=dark] .admin-login-card input::placeholder{color:#b9c5bc;opacity:1}
:root[data-display-mode=dark] .oauth-panel .oauth-button--google{background:#f8f9fa;color:#202124;border-color:#b8c0c6}
:root[data-display-mode=dark] .oauth-panel .oauth-button--google:hover{background:#fff;color:#17191c}
:root[data-display-mode=dark] .oauth-panel .oauth-button--microsoft{background:#252a30;color:#f7f9fc;border-color:#89939d}
:root[data-display-mode=dark] .oauth-panel .oauth-button--linkedin{background:#0a66c2;color:#fff;border-color:#65aaf0}
:root[data-display-mode=dark] .oauth-panel .oauth-button--apple{background:#000;color:#fff;border-color:#d0d0d0}
:root[data-display-mode=dark] .admin-reset-link{color:#d1e2b9}
:root[data-display-mode=dark] .admin-reset-link:hover{color:#f1f7e7}
:root[data-display-mode=dark] .form-alert.error{background:#481f24;border-color:#d87979;color:#ffe0dd}
:root[data-display-mode=dark] .form-alert.success,:root[data-display-mode=dark] .setup-result.is-success{background:#173c2b;border-color:#72bd8a;color:#d8f7df}
:root[data-display-mode=dark] .form-alert.warning,:root[data-display-mode=dark] .setup-warning{background:#423518;border-color:#c9a54c;color:#ffedbf}
:root[data-display-mode=dark] .form-alert.info{background:#172f40;border-color:#6aa5cb;color:#d7efff}
@media(max-width:520px){.account-shell{padding-block:36px 72px}.account-form{gap:17px;padding:18px}.admin-login-wrap{width:calc(100% - 32px)}.admin-login-card{padding:22px 18px}.admin-login-card form>.button{width:100%}.oauth-panel{margin-block:18px;padding:17px}}

.account-shell>.admin-entry-hint{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}
:root[data-display-mode=dark] .account-shell>.admin-entry-hint{color:#c9d4cc}


/* Single-language authoring controls with accessible, optional translation help. */
.language-editor-switch{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;margin:0 0 22px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink)}
.language-editor-switch legend{padding:0 6px;font-size:.875rem;font-weight:700;color:var(--ink)}
.language-editor-buttons{display:flex;flex-wrap:wrap;gap:8px}
.language-editor-button{min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:.9375rem;font-weight:650;cursor:pointer}
.language-editor-button[aria-pressed=true]{border-color:#58734d;background:#e6eddf;color:#20362b;box-shadow:inset 0 0 0 1px #58734d}
.language-editor-help{position:relative;margin-inline-start:auto}
.language-editor-help summary{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-weight:800;cursor:pointer}
.language-editor-help p{position:absolute;z-index:5;inset-inline-end:0;top:calc(100% + 8px);width:min(310px,75vw);margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);box-shadow:0 10px 28px rgba(10,20,14,.16);font-size:.875rem;line-height:1.55}
.language-editor-switch[hidden],.localized-field[hidden],.localized-panel[hidden]{display:none!important}
:root[data-display-mode=dark] .language-editor-switch{background:#131b17;color:#f0f4ef;border-color:#657269}
:root[data-display-mode=dark] .language-editor-switch legend{color:#f0f4ef}
:root[data-display-mode=dark] .language-editor-button{background:#202b25;color:#f1f5f0;border-color:#718077}
:root[data-display-mode=dark] .language-editor-button[aria-pressed=true]{background:#304133;color:#f4faef;border-color:#b3ce9f}
:root[data-display-mode=dark] .language-editor-help p{background:#101713;color:#f0f4ef;border-color:#77847b}
.language-switch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
@media(max-width:520px){.language-editor-switch{align-items:flex-start;padding:12px}.language-editor-buttons{width:100%}.language-editor-button{flex:1 1 auto}.language-editor-help{position:absolute;inset-inline-end:12px;top:7px}.language-editor-help p{inset-inline-end:-8px}.language-editor-switch{position:relative;padding-inline-end:55px}}

/* Candidate PDF viewer shell follows the selected theme; the embedded document keeps its own paper colors. */
:root[data-display-mode=dark] .cv-live-preview,:root[data-display-mode=dark] .profile-accordion,:root[data-display-mode=dark] .language-builder{background:#202b26;color:#f1f3ee;border-color:#69766d}
:root[data-display-mode=dark] .cv-live-preview iframe{background:#fff;border-color:#69766d}
.oauth-unlinked-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 16px}.oauth-unlinked-actions>a:not(.button){font-weight:700;text-underline-offset:3px}
.language-editor-help{display:block;width:max-content;max-width:100%;margin:0 0 12px}.language-editor-help[open]{margin-bottom:18px}.single-language-editor .editor-language-grid{grid-template-columns:minmax(0,1fr)}

.impersonation-banner{position:relative;z-index:40;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:#ffe6a6;color:#332400;font-weight:700}.impersonation-banner form{margin:0}.impersonation-banner button{min-height:38px;padding:7px 12px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}.impersonation-banner button:focus-visible{outline:3px solid #125c7a;outline-offset:3px}
:root[data-display-mode=dark] .impersonation-banner{background:#3e331d;color:#ffe2a0}

/* Public member directory, company locations and homepage activities. */
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px}.activity-card{min-width:0;padding:24px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.activity-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:1.3rem}.activity-card h3{margin:18px 0 8px;font-size:1.35rem}.activity-card p{color:var(--muted);line-height:1.65}.members-directory{padding-bottom:80px}.members-directory>.inner-hero{padding-block:70px 40px}.member-directory-section{margin:50px 0}.member-directory-section>h2{font-size:clamp(1.8rem,4vw,2.8rem)}.business-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.business-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);color:var(--ink)}.business-card--golden{border-color:#bc9b50;background:linear-gradient(145deg,var(--paper-2),color-mix(in srgb,#d9bd78 17%,var(--paper-2)))}.business-card-mark{display:grid;place-items:center;width:82px;height:82px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--muted);font-size:2rem}.business-card-mark img{width:100%;height:100%;object-fit:cover}.business-card-body{min-width:0}.business-card-body .eyebrow{margin:0;color:var(--muted);font-size:.78rem}.business-card-body h3{margin:5px 0 8px;font-size:1.25rem;overflow-wrap:anywhere}.business-card-body>p:not(.eyebrow){color:var(--muted);line-height:1.55}.business-card-links{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:13px}.business-card-links a{font-size:.9rem;font-weight:700}.business-card-location{font-size:.9rem}.location-map-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.location-list{display:grid;gap:10px}.location-entry{padding:17px 19px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink)}.location-entry summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:1rem}.location-entry summary span{color:var(--muted);text-align:right}.location-entry iframe{display:block;width:100%;height:360px;margin:15px 0 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.members-about-note{margin:70px 0;padding:clamp(24px,6vw,60px);border:1px solid var(--line);background:var(--paper-2);color:var(--ink)}.members-about-note h2{max-width:780px;font-size:clamp(2rem,5vw,3.5rem)}
:root[data-display-mode=dark] .activity-card,:root[data-display-mode=dark] .business-card,:root[data-display-mode=dark] .location-entry,:root[data-display-mode=dark] .members-about-note{background:#202b26;color:#f1f3ee;border-color:#69766d}
@media(max-width:900px){.business-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.business-card-grid,.activity-grid{grid-template-columns:1fr}.business-card{grid-template-columns:66px minmax(0,1fr);padding:15px}.business-card-mark{width:66px;height:66px}.location-entry summary{align-items:flex-start;flex-direction:column}.location-entry summary span{text-align:left}}

/* Editorial controls: readable, accessible and theme-aware. */
.admin-sidebar{padding:18px 14px;background:var(--paper-2);border:1px solid var(--line);gap:15px}.admin-sidebar>a{font-size:.9rem;line-height:1.4}.admin-content label,.editor-form label{font-size:.9rem;line-height:1.4}.rich-editor{min-height:320px;font-size:1.05rem;line-height:1.8;color:#24342d}.editor-toolbar{flex-wrap:wrap;gap:7px;padding:10px}.editor-toolbar button{min-width:40px;height:38px;font-size:.95rem}.editor-media-insert{display:flex;flex-wrap:wrap;gap:9px;margin-block:12px}.editor-media-insert .button{min-height:40px}.article-inline-media{margin:1.7rem 0}.article-inline-media img,.article-inline-media video{display:block;max-width:100%;max-height:720px;margin:auto;border-radius:12px}.article-inline-carousel{display:grid;grid-auto-columns:minmax(70%,1fr);grid-auto-flow:column;gap:14px;overflow-x:auto;margin:1.7rem 0;padding:5px 2px 15px;scroll-snap-type:x mandatory}.article-inline-carousel figure{margin:0;scroll-snap-align:center}.article-inline-carousel img{display:block;width:100%;height:clamp(240px,48vw,560px);object-fit:cover;border-radius:12px}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin:-12px auto 28px;max-width:760px}.article-tags span{padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem}.category-quick-create{margin-top:44px}.members-about-note,.business-card,.activity-card,.location-entry{color:var(--ink)}
:root[data-display-mode=dark] .admin-sidebar,:root[data-display-mode=dark] .editor-form,:root[data-display-mode=dark] .admin-callout,:root[data-display-mode=dark] .rich-editor,:root[data-display-mode=dark] .editor-toolbar{background:#202a26;color:#edf1eb;border-color:#59655e}
:root[data-display-mode=dark] .editor-grid input,:root[data-display-mode=dark] .editor-grid textarea,:root[data-display-mode=dark] .editor-grid select,:root[data-display-mode=dark] .publish-row select,:root[data-display-mode=dark] .editor-toolbar button{background:#131a17;color:#f3f5f0;border-color:#59655e}
:root[data-display-mode=dark] .editor-form label,:root[data-display-mode=dark] .admin-content label,:root[data-display-mode=dark] .admin-callout p{color:#d6ddd5}
@media(max-width:700px){.admin-sidebar{padding:15px;gap:12px}.editor-toolbar button{min-width:42px;height:40px}.rich-editor{min-height:280px}.article-inline-carousel{grid-auto-columns:minmax(86%,1fr)}}

/* Compact desktop navigation and native language picker. */
.language-select{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--ink)}
.language-select svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6}
.language-select select{width:auto;max-width:150px;min-height:40px;padding:6px 28px 6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.875rem;cursor:pointer}
@media(max-width:1080px){.main-nav{gap:14px}.main-nav .nav-links>a,.main-nav .member-nav-link{font-size:.8125rem}}
@media(max-width:700px){.main-nav .language-select{grid-column:1/-1;width:100%;padding:8px 0}.main-nav .language-select select{width:100%;max-width:none;min-height:46px}}
:root[data-large-text=true] .main-nav .language-select{grid-column:1/-1}

/* Member profile: short, keyboard-operable sections with a compact side rail. */
.member-shell{grid-template-columns:minmax(230px,270px) minmax(0,1fr);gap:clamp(24px,4vw,52px);align-items:start}
.member-side{position:sticky;top:108px;align-self:start;min-width:0;padding:24px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);color:var(--ink)}
.member-side .eyebrow{font-size:.75rem;line-height:1.5}
.member-side h1{font-size:clamp(1.7rem,2.2vw,2.15rem);line-height:1.12;letter-spacing:-.045em;overflow-wrap:anywhere}
.member-side>p:not(.eyebrow){margin:0 0 4px;color:var(--muted);font-size:.95rem}
.profile-section-nav{display:grid;width:100%;gap:7px;margin:8px 0 4px}
.profile-section-nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:9px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;font-size:.95rem;font-weight:650;line-height:1.35;cursor:pointer}
.profile-section-nav button>span{color:var(--muted);font: .75rem var(--mono)}
.profile-section-nav button:hover{background:var(--paper);border-color:var(--line)}
.profile-section-nav button[aria-selected=true]{background:var(--white);border-color:var(--line);box-shadow:0 2px 8px rgba(21,40,32,.06)}
.member-side .member-side-link,.member-side form{width:100%;margin-top:5px}
.member-side .member-side-link{padding:8px 11px;color:var(--muted);font-size:.9rem}
.member-side form .text-link{padding:8px 11px;font-size:.9rem}
.profile-tab-form{min-width:0;margin:22px 0;padding:0;border:0;background:transparent;gap:16px}
.profile-tab-panel{min-width:0;margin:0;padding:clamp(19px,3vw,30px);border:1px solid var(--line);border-radius:16px;background:var(--paper-2);color:var(--ink)}
.profile-tab-panel[hidden]{display:none!important}
.profile-tab-panel>h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
.profile-tab-panel>p{max-width:68ch;color:var(--muted);font-size:1rem}
.profile-tab-panel .editor-grid{margin:8px 0 0;gap:18px}
.profile-tab-panel label{font-size:.95rem;line-height:1.45}
.profile-tab-panel label small,.profile-tab-panel small{color:var(--muted);font-size:.875rem;line-height:1.5}
.profile-form-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 2px}
.profile-form-actions>span{color:var(--muted);font-size:.875rem}
.profile-form-actions>.button{flex:0 0 auto}
.cv-import-controls{grid-template-columns:minmax(0,1fr) minmax(190px,auto);align-items:stretch;gap:12px}
.cv-import-controls>label{align-self:stretch}
.cv-import-controls>.button{align-self:end;min-width:190px;min-height:48px;margin:0;white-space:normal;line-height:1.3}
.avatar-preview-frame{width:clamp(156px,20vw,200px);background:var(--white)}
.avatar-preview-frame img{display:block;max-width:100%;max-height:100%;object-fit:cover}
.avatar-preview-alert{grid-column:1/-1;margin:0}
.cv-live-preview{background:var(--paper);color:var(--ink)}
.cv-live-preview iframe,.cv-live-preview object{background:var(--paper-2)}
.cv-preview-shell{color:var(--ink)}
:root[data-display-mode=dark] .member-side{background:#19231f;color:#f1f3ee;border-color:#526158}
:root[data-display-mode=dark] .profile-section-nav button{color:#edf3ed}
:root[data-display-mode=dark] .profile-section-nav button>span{color:#bac7bd}
:root[data-display-mode=dark] .profile-section-nav button[aria-selected=true],:root[data-display-mode=dark] .profile-section-nav button:hover{background:#26342d;border-color:#66766a}
:root[data-display-mode=dark] .profile-tab-panel{background:#19231f;color:#f1f3ee;border-color:#536158}
:root[data-display-mode=dark] .profile-tab-panel>p,:root[data-display-mode=dark] .profile-form-actions>span{color:#c4d0c7}
:root[data-display-mode=dark] .cv-live-preview{background:#141c18;color:#f1f3ee;border-color:#617065}
:root[data-display-mode=dark] .cv-live-preview iframe,:root[data-display-mode=dark] .cv-live-preview object{background:#101713;border-color:#617065}
:root[data-display-mode=dark] .profile-accordion{background:#202b26;color:#f1f3ee;border-color:#69766d}
:root[data-display-mode=dark] .avatar-preview-frame{background:#101713;color:#d0dbd2;border-color:#69766d}
:root[data-display-mode=dark] .cv-document{background:#18231f;color:#eef4ed;border-color:#536158;box-shadow:0 16px 50px rgba(0,0,0,.28)}
:root[data-display-mode=dark] .cv-document-head{border-color:#607065}
:root[data-display-mode=dark] .cv-document .eyebrow,:root[data-display-mode=dark] .cv-document .cv-headline,:root[data-display-mode=dark] .cv-document section h2{color:#d1dfd1}
:root[data-display-mode=dark] .cv-document section h2{border-color:#536158}
.language-select select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
@media(max-width:800px){.member-shell{grid-template-columns:minmax(0,1fr);gap:20px}.member-side{display:flex;flex-direction:column;position:static;top:auto;padding:18px}.profile-section-nav{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:2px 1px 7px}.profile-section-nav button{flex:0 0 auto;width:auto;min-width:145px;scroll-snap-align:start}.profile-form-actions{align-items:stretch;flex-direction:column}.profile-form-actions>.button{width:100%}}
@media(max-width:520px){.profile-tab-panel{padding:16px}.cv-import-controls{grid-template-columns:minmax(0,1fr)}.cv-import-controls>.button{width:100%;min-width:0}.avatar-crop-card{grid-template-columns:minmax(0,1fr)}.avatar-preview-frame{grid-row:1;grid-column:1;width:156px}.member-side h1{font-size:1.65rem}}
@media print{.cv-document{background:#fff!important;color:#20332d!important;border-color:#fff!important;box-shadow:none!important}.cv-document-head{border-color:#d9e1d3!important}.cv-document .cv-headline,.cv-document section h2{color:#546459!important}.cv-document section h2{border-color:#dfe4dd!important}}

/* ---------- Integration manager ---------- */
.integration-overview {
  margin: 18px 0 24px;
  border: 1px solid #e2e1d8;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.integration-overview-head,
.integration-overview-row {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr 1fr 100px;
  gap: 12px;
  padding: 12px 16px;
  align-items: center;
}
.integration-overview-head {
  background: #f6f5f0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #75817d;
  font-weight: 600;
}
.integration-overview-row { border-top: 1px solid #e2e1d8; }
.integration-overview-row:first-of-type { border-top: none; }
.integration-overview-row:hover { background: #faf9f4; }
.integration-name { font-weight: 600; color: #172a2a; }
.integration-id code { font-size: 12px; color: #4a5652; word-break: break-all; }

.status-pill {
  display: inline-block;
  font-size: 11px;
  padding: 3px 9px;
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.status-pill.status-on { background: #d9f0d9; color: #1d5e1d; }
.status-pill.status-off { background: #f0e0d9; color: #7a2a1a; }

/* Panneau d'édition */
.integration-edit-panel {
  margin-top: 20px;
  border: 2px solid #172a2a;
  padding: 24px;
  border-radius: 10px;
  background: #fffdf7;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.integration-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #e2e1d8;
}
.integration-panel-header h3 { margin: 0 0 6px; font-size: 20px; }
.integration-panel-header .setup-note { margin: 0; }
.integration-panel-status { display: flex; gap: 6px; flex-wrap: wrap; }

.integration-panel-section {
  padding: 16px 0;
  border-bottom: 1px solid #f0efe7;
}
.integration-panel-section:last-of-type { border-bottom: none; }
.integration-panel-section h4 {
  margin: 0 0 12px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #75817d;
  font-weight: 700;
}
.integration-panel-section .editor-grid { margin: 0; }

/* Toggle simple */
.integration-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
}
.integration-toggle input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #172a2a;
  cursor: pointer;
}
.integration-toggle-danger { color: #7a2a1a; }

/* Footer du panneau */
.integration-panel-footer {
  display: flex;
  gap: 12px;
  padding-top: 20px;
  margin-top: 8px;
  border-top: 1px solid #e2e1d8;
}
.integration-panel-footer .button { min-width: 160px; }

/* Responsive */
@media (max-width: 720px) {
  .integration-overview-head,
  .integration-overview-row { grid-template-columns: 1fr; gap: 6px; padding: 12px; }
  .integration-overview-head { display: none; }
  .integration-overview-row { border-top: 2px solid #e2e1d8; }
  .integration-panel-header { flex-direction: column; align-items: stretch; }
  .integration-panel-footer { flex-direction: column; }
  .integration-panel-footer .button { width: 100%; }
}