/* V3: one aligned system for website, client tools and review material. */
:root{--paper:#f4f6f1;--line:#d6dfd2;--muted:#4e5e4d;--radius:8px}
h1,h2,h3{font-weight:500;letter-spacing:-.035em}h1{line-height:1.12}h2{line-height:1.22}.section{padding-block:64px}.lead{line-height:1.75}.eyebrow{letter-spacing:.09em;margin-bottom:12px}.button{border-radius:6px;min-height:46px;padding:12px 18px;font-size:.82rem;gap:8px;box-shadow:none}.actions{gap:12px;align-items:center;margin-top:24px;flex-direction:row;flex-wrap:wrap}.actions .button{flex:0 1 auto}.button.secondary{background:#fff}.button.secondary:hover{background:#eaf0e5}.button:hover{box-shadow:0 2px 0 #22491d12}.button:disabled{cursor:default;opacity:.65}.text-link{display:inline-flex;align-items:center;min-height:44px}.field{margin-bottom:20px}input:not([type=radio]):not([type=checkbox]),select,textarea{border-radius:6px;border-color:#7c8e77}.header-inner{padding-block:18px}.topline .container{padding-block:10px}.review-strip .container{padding-block:8px}.hero{background:#f2f6ed;padding-block:48px}.hero-grid{gap:44px;grid-template-columns:1fr 1.08fr}.hero h1{font-size:clamp(2.2rem,3.6vw,3.25rem)}.hero .lead{margin-top:20px}.hero-photo{border-radius:10px;box-shadow:none}.hero-photo figcaption{padding:18px 22px;background:#fff}.service-grid{border:0;gap:16px}.service-card{border:1px solid var(--line);border-radius:8px;padding:26px;background:#fff}.service-card h3{font-weight:500}.service-number{margin-bottom:12px}.service-card p{margin-bottom:16px}.intro-grid{gap:64px}.intro-photos{gap:12px}.intro-portrait img,.intro-working img,.about-grid img{border-radius:8px}.commit-grid{gap:28px;margin-top:30px}.commit-grid article{padding:24px;background:var(--paper);border-radius:0 0 8px 8px}.hr-feature{border:1px solid var(--line);border-radius:8px;gap:28px}.hr-feature-photo img{object-position:50% 18%}.hr-portrait img{border-radius:10px 10px 0 0}.hr-portrait figcaption{border-radius:0 0 10px 10px}.hr-hero{padding-bottom:56px}.hr-hero-grid,.hr-method-grid,.hr-expertise,.hr-contact-grid{gap:60px}.hr-contact,.hr-needs{padding-block:56px}.page-head{padding-block:26px 40px}.page-head h1{font-size:clamp(2rem,3.5vw,3rem)}.page-head .lead{margin-top:18px}.service-layout{gap:56px}.service-aside{border:1px solid var(--line);border-radius:8px}.service-aside a{line-height:1.5}.team-grid{gap:26px}.team-card{border-bottom:2px solid var(--line);padding-bottom:22px}.team-card img{border-radius:8px}.team-card h3{margin-top:16px}.contact-layout{gap:56px}.form-panel{border-radius:8px;padding:28px}.consult{padding-block:44px}.footer-grid{padding-bottom:32px}.site-footer{padding-top:40px}.footer-bottom{padding-block:18px}
.feature-head{padding-block:26px 30px}.feature-head h1{font-size:clamp(1.9rem,3vw,2.6rem)}.feature-shell{padding-block:26px 54px}.feature-toolbar{gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;flex-direction:row;align-items:center}.feature-toolbar p{flex:1 1 360px}.feature-toolbar .actions{margin:0;gap:10px}.feature-toolbar .button{font-size:.76rem;padding:10px 14px}.feature-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:22px}.feature-panel{padding:26px;border-radius:8px}.feature-panel h2{font-size:1.45rem;margin-bottom:20px}.feature-panel form{margin-top:20px}.feature-panel .actions{align-items:center;gap:10px}.feature-panel .actions .button{flex:0 1 auto}.feature-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.feature-steps li{font-size:.82rem;padding-right:12px;max-width:none}.feature-steps span{width:28px;height:28px}.feature-summary>div{padding:10px 0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:baseline}.feature-summary dd{margin:0;font-size:.93rem}.feature-summary dt{font-size:.78rem}.feature-resource-grid{gap:12px}.feature-resource-grid .button{min-height:58px}.feature-options{margin-block:20px}.feature-choice{padding:10px 14px}.feature-message-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-message-options .field{margin:0}.feature-message-options .field:last-child{grid-column:1/-1}.feature-message{font-size:.88rem}.feature-assistant-grid{grid-template-columns:minmax(220px,.65fr) minmax(0,1.6fr)}.feature-assistant-grid .feature-panel{padding:24px}.feature-prompts{gap:8px}.feature-prompts .button{font-size:.8rem;padding:12px 14px;min-height:48px;border-color:var(--line)}.feature-chat{height:auto;min-height:160px;max-height:380px;padding-right:12px;scrollbar-width:thin;scrollbar-color:#82957b #f4f6f1}.feature-bubble{padding:16px 18px;margin-bottom:12px;border-radius:8px}.user-bubble{margin-left:40px}.feature-composer{border-top:1px solid var(--line);padding-top:20px}.feature-composer .field{margin-bottom:12px}.feature-composer .actions{margin-top:14px}.feature-composer .small{margin-top:10px;color:var(--muted);font-size:.8rem}.feature-composer label{font-size:.88rem}.feature-checklist{max-width:950px}.feature-checklist .checklist-row{padding-block:14px}.feature-footer{gap:20px}.staff-handoff{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;font-size:.82rem}.staff-handoff p{color:var(--muted);font-size:.78rem;margin:8px 0 0}
.review-main{padding-block:38px 56px}.review-main>h1{font-size:clamp(2rem,3.3vw,2.8rem)}.review-main>section{margin-top:36px}.review-head .container{padding-block:18px}.review-head nav{gap:12px}.review-head nav a{min-height:44px;display:inline-flex;align-items:center}.copy-page{border-radius:8px;padding:22px}.facts{background:#edf2e8;border-color:var(--green)}.photo-board figure{border-radius:8px}.review-grid{gap:18px}.question{border-radius:8px}.check-table th,.check-table td{padding:12px}.review-main .actions{gap:12px}
.hub-intro{padding-right:180px}.hub-section{margin-bottom:32px}.hub-primary-actions{display:flex;flex-wrap:wrap;gap:10px}.hub-primary-actions .button{min-width:0;flex:1 1 180px}.hub-row-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.hub-row{padding:18px 24px;gap:20px}.hub-row-compact{padding:12px 0}.hub-row h3{font-weight:600;font-size:.94rem}.hub-row-title{gap:8px 12px}.hub-section-heading h2{font-size:1.65rem}.hub-jump{gap:6px 18px}.hub-jump a{font-weight:600}.hub-staff{border-top:3px solid var(--green);padding-top:24px}.hub-quick-staff{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 30px;border-top:1px solid var(--line);background:#f7f9f4}.hub-quick-staff p{font-size:.9rem;font-weight:600}.hub-website-primary{padding:24px 28px}.hub-rows{overflow:visible}.hub-status{font-size:.7rem}.hub-directory-grid .hub-pair{flex-wrap:nowrap}
@media(max-width:1100px){.hero-grid{gap:30px}.intro-grid,.hr-hero-grid,.hr-method-grid,.hr-expertise,.hr-contact-grid,.service-layout{gap:36px}.hub-intro{padding-right:0}.hub-row-actions{max-width:340px}.feature-assistant-grid{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr)}}
@media(max-width:767px){.section{padding-block:42px}.container{width:calc(100% - 36px)}.header-inner{padding-block:16px}.hero{padding-block:32px}.hero-grid,.intro-grid,.feature-grid,.contact-layout{grid-template-columns:1fr;gap:24px}.hero h1{font-size:2.25rem}.hero .actions{flex-direction:row;align-items:center;gap:10px}.hero .lead{margin-top:16px}.service-grid{gap:12px}.service-card{padding:22px}.commit-grid{gap:16px}.commit-grid article{padding:20px}.hr-hero-grid,.hr-method-grid,.hr-expertise,.hr-contact-grid{gap:28px}.hr-hero,.hr-needs,.hr-contact{padding-block:36px}.page-head{padding-block:22px 30px}.page-head h1{font-size:2rem}.feature-shell{padding-block:22px 40px}.feature-panel,.feature-assistant-grid .feature-panel{padding:20px}.feature-toolbar{gap:12px}.feature-toolbar p{flex-basis:100%}.feature-toolbar .actions{flex-wrap:wrap}.feature-steps li{font-size:.73rem;flex-direction:column;align-items:flex-start;gap:8px}.feature-summary>div{grid-template-columns:86px minmax(0,1fr);gap:8px}.feature-panel .actions .button{flex:0 1 auto}.feature-resource-grid{grid-template-columns:1fr}.feature-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-prompts .button{font-size:.76rem;padding:10px;line-height:1.5}.feature-chat{min-height:140px;max-height:320px}.feature-assistant-grid{gap:16px}.feature-assistant-grid aside h2{font-size:1.15rem;margin-bottom:14px}.feature-composer .actions{gap:8px}.feature-composer .button{font-size:.76rem;padding:11px 14px}.feature-message-options{grid-template-columns:1fr}.feature-message-options .field:last-child{grid-column:auto}.form-panel{padding:22px}.review-main{padding-block:28px 40px}.review-head nav{gap:8px 16px}.hub-primary-actions{display:flex;width:100%;flex-direction:row}.hub-primary-actions .button{flex:1 1 145px;width:auto;font-size:.75rem;padding:10px}.hub-row-actions{justify-content:flex-start;max-width:none}.hub-row{padding:18px;gap:12px}.hub-row-compact{padding:12px 0}.hub-row-title{flex-direction:row;align-items:center}.hub-section-heading h2{font-size:1.4rem}.hub-quick-staff{padding:16px 18px;flex-wrap:wrap}.hub-section{margin-bottom:28px}.hub-website-primary{padding:20px}.hub-shortcuts{padding:4px 20px}.hub-row-compact h3{font-size:.8rem}.hub-pair a{min-width:44px}.hub-disclosure{padding:18px}.site-footer{padding-bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:420px){.feature-panel,.feature-assistant-grid .feature-panel{padding:18px}.feature-prompts{grid-template-columns:1fr}.feature-chat{min-height:140px;max-height:300px}.user-bubble{margin-left:18px}.feature-panel .actions{gap:8px}.feature-panel .button{font-size:.75rem;padding:11px 13px}.hero .actions{flex-direction:row}.team-grid{gap:26px}.hub-header>.container{gap:10px}.hub-header img{width:158px}.hub-header nav a{padding:8px}.hub-primary-actions .button{flex-basis:100px}.hub-quick-staff p{flex:1 1 120px}.feature-summary>div{grid-template-columns:1fr;gap:2px}}
@media(forced-colors:active){.service-card,.team-card,.feature-panel,.hub-staff,.hub-quick-staff{border:1px solid CanvasText}.button:disabled{opacity:1}.feature-chat{scrollbar-color:auto}}
@media print{.staff-handoff{display:none}.review-main{padding:15px 0}.review-main>section{margin-top:20px}.section{padding-block:20px}.question{border-radius:0}.feature-checklist{max-width:none}}

.collaborator-name{display:block;font-weight:600;color:var(--green);margin-bottom:7px}.collaborator-role{display:block;color:var(--muted);font-size:.88rem}.directory li{padding-block:22px}
@media(min-width:768px){.hub-primary-actions .button{min-width:200px;white-space:nowrap}}
.hr-hero-copy h1{max-width:18ch;font-size:clamp(2rem,3.4vw,3.05rem)}
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:26px}
.team-card{flex:0 1 calc((100% - 104px)/5);max-width:220px;margin:0;border:0;padding:0;display:flex;flex-direction:column}
.team-card-profile{flex:1;padding-bottom:14px;border-bottom:2px solid var(--line)}
.team-card-actions{min-height:54px;padding-top:8px;display:flex;align-items:flex-start}
.team-card-actions .text-link{margin:0;min-height:44px;font-size:.82rem;overflow-wrap:anywhere}
@media(max-width:1100px){.team-card{flex-basis:calc((100% - 52px)/3)}}
@media(max-width:767px){.team-card{flex-basis:calc((100% - 26px)/2)}}
@media(max-width:600px){.team-card{flex-basis:220px}.team-card-actions:empty{display:none}.team-card-actions{min-height:0}}

/* Approved final interface corrections: one rhythm for navigation and actions. */
.icon-link{display:inline-flex;align-items:center;gap:8px;max-width:100%}
.icon-link>.icon{flex:0 0 16px;width:16px;height:16px}
.icon-link>span{min-width:0;overflow-wrap:anywhere}
.login-mobile{display:none}
.collaborator-separator{display:none}
.directory li>a:has(.collaborator-name){display:block;width:fit-content;max-width:100%;text-decoration:none}
.directory li>a:has(.collaborator-name):hover .collaborator-name{text-decoration:underline;text-underline-offset:4px}
.directory .collaborator-name{margin-bottom:6px;line-height:1.6}
.directory .collaborator-role{line-height:1.7}
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:19;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;box-shadow:0 3px 12px #22491d20;cursor:pointer}
.back-to-top[hidden]{display:none}
.back-to-top .icon{width:22px;height:22px}
.back-to-top:hover{background:var(--leaf);border-color:var(--leaf)}
.back-to-top:focus-visible{outline:3px solid var(--green);outline-offset:3px;box-shadow:0 0 0 3px #fff}
#page-top:focus{outline:none}
@media(min-width:1101px){
 .header-inner{gap:18px}
 .nav{gap:4px}
 .nav>a:not(.button),.nav summary{padding:10px 8px}
 .nav .nav-book{margin-left:8px;padding-inline:14px}
 .header-utility{gap:12px}
}
@media(min-width:1101px) and (max-width:1240px){
 .header-inner{gap:12px}.brand img{width:210px}
 .nav{font-size:.73rem;gap:2px}.nav>a:not(.button),.nav summary{padding-inline:6px}
 .nav .nav-book{padding-inline:10px;font-size:.72rem}
 .header-utility{gap:8px}.login{font-size:.7rem}.language{padding-left:10px}
 html[lang=fr] .brand img{width:200px}
}
@media(max-width:1100px){
 .nav{gap:4px}.nav>a:not(.button){padding:12px 8px}.nav details{padding:0}.nav summary{padding:12px 8px}
}
@media(max-width:767px){
 .back-to-top{right:18px;bottom:18px}
 body:has(.mobile-actions) .back-to-top{bottom:calc(88px + env(safe-area-inset-bottom))}
 .field-focused .back-to-top,.menu-open .back-to-top{display:none}
}
@media(max-width:420px){.header-utility .login{display:none}.login-mobile{display:inline-flex}}
@media(forced-colors:active){.back-to-top{background:ButtonFace;color:ButtonText;border:2px solid ButtonText}.back-to-top:focus-visible{outline-color:Highlight;box-shadow:none}}
@media print{.back-to-top{display:none!important}}
