:root{--navy:#08274d;--blue:#2d70bd;--ink:#18334d;--muted:#536779;--line:#d7e2ed;--pale:#f2f6fb;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer}p{font-size:1.02rem;line-height:1.7;color:var(--muted);margin:0 0 1.2rem}h1,h2,h3{color:var(--navy);margin:0;font-weight:500}h1{font-size:clamp(2.5rem,4.25vw,3.65rem);line-height:1.12;letter-spacing:-.045em}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.2;letter-spacing:-.03em}h3{font-size:1.3rem;line-height:1.35;letter-spacing:-.018em}.wrap{width:calc(100% - 80px);max-width:1200px;margin-inline:auto}.review-bar{text-align:center;padding:6px 18px;background:var(--navy);color:#e8f0f8;font-size:.72rem;letter-spacing:.03em;line-height:1.5}header{border-bottom:1px solid var(--line);background:#fff}.header{display:flex;align-items:center;gap:26px;min-height:94px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand:hover{text-decoration:none}.small-mark{width:48px;height:38px;object-fit:contain}.brand-type{display:flex;flex-direction:column;color:var(--navy);line-height:1.15}.brand-type strong{font-size:1.6rem;font-weight:500;letter-spacing:.2em}.brand-type small{color:var(--blue);font-size:.62rem;letter-spacing:.055em;text-transform:uppercase;margin-top:5px}html[lang=fr] .brand-type small{margin:0 0 4px;letter-spacing:0;text-transform:none;font-size:.72rem}.header nav{display:flex;gap:23px;align-items:center;margin-left:auto}.header nav a{font-size:.875rem;line-height:1.45}.header nav [aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.language{font-size:.85rem;border-left:1px solid var(--line);padding-left:22px}.menu-toggle{display:none}.eyebrow{font-size:.71rem;letter-spacing:.12em;font-weight:700;line-height:1.6;text-transform:uppercase;color:var(--blue);margin-bottom:18px}.home-hero{background:linear-gradient(120deg,#fff 35%,#f2f6fb 100%);border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.28fr 1fr;gap:60px;padding-top:44px;padding-bottom:34px;align-items:center}.hero .lead{max-width:640px;margin:22px 0 25px;font-size:1.06rem}.hero-panel{background:white;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:5px;padding:26px 30px;box-shadow:0 12px 35px #08274d08}.panel-heading{display:flex;align-items:center;gap:18px;margin-bottom:21px}.panel-heading img{width:56px;height:43px;object-fit:contain}.panel-heading h2{font-size:1.3rem;letter-spacing:-.015em}.service-fact{padding:13px 0;border-top:1px solid var(--line)}.service-fact:last-child{padding-bottom:0}.service-fact h3{font-size:1rem;font-weight:600;margin-bottom:5px}.service-fact p{font-size:.9rem;line-height:1.5;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:3px;padding:15px 22px;font-size:.93rem;font-weight:600;line-height:1.5;text-align:center}.button:hover{background:var(--navy);border-color:var(--navy);text-decoration:none}.text-link{font-size:.92rem;font-weight:600;color:var(--navy);line-height:1.6;display:inline-block}.text-link span{color:var(--blue);margin-left:6px}.proof{display:grid;grid-template-columns:170px 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px}.proof p{margin:0}.proof .eyebrow{font-size:.65rem}.proof>p:not(.eyebrow){font-size:.88rem;line-height:1.6;max-width:700px}.proof .text-link{font-size:.83rem;white-space:nowrap}.section{padding:60px 0}.section-intro{max-width:850px;margin-top:20px}.pale{background:var(--pale)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.audience-grid article{padding:30px;border:1px solid var(--line);border-radius:4px;border-top:3px solid var(--blue)}.audience-grid article:nth-child(2){border-top-color:var(--navy)}.audience-grid .eyebrow{font-size:.64rem;margin-bottom:13px}.audience-grid h3{font-size:1.6rem;margin-bottom:14px}.audience-grid p:not(.eyebrow){font-size:.98rem}.services-overview,.three-columns,.example-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:32px}.services-overview article{display:flex;flex-direction:column;align-items:flex-start}.services-overview h3{margin:14px 0}.services-overview .text-link{margin-top:auto}.index{color:var(--blue);font-size:.8rem}.page-head{padding:46px 0 42px;background:linear-gradient(110deg,#fff,#f2f6fb);border-bottom:1px solid var(--line)}.page-head .lead{max-width:820px;margin:22px 0 0;font-size:1.08rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;margin-top:30px}.cards article,.three-columns article{border-top:1px solid var(--line);padding-top:20px}.cards h3,.three-columns h3,.example-steps h3{margin-bottom:12px}.cards p,.three-columns p{margin:0}.goal-list{margin-top:28px}.goal-list article{display:grid;grid-template-columns:1fr 1.8fr;gap:60px;border-top:1px solid var(--line);padding:24px 0}.goal-list article:last-child{padding-bottom:0}.goal-list p{margin:0}.schedule-note{margin:30px 0 0;padding-top:24px;border-top:1px solid var(--line);max-width:1000px}.fine-note{font-size:.87rem;max-width:920px;margin-top:28px}.method-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:30px}.method-steps article{border-top:2px solid var(--blue);padding-top:18px}.method-steps h3{font-size:1.18rem;margin:12px 0}.method-steps article:before{counter-increment:step;content:'0' counter(step);font-size:.75rem;color:var(--blue)}.method-steps p{font-size:.94rem;margin:0}.example-detail{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.example-detail summary{font-weight:600;cursor:pointer;line-height:1.6}.example-detail p{margin:18px 0 0;max-width:900px}.learner-note{margin:26px 0 0;max-width:880px}.criteria-note{font-size:.9rem;border-top:1px solid var(--line);padding-top:22px;margin:27px 0 0}.example-label{margin-top:22px;margin-bottom:0;font-size:.65rem}.example-steps{counter-reset:step}.example-steps article{border-left:2px solid var(--blue);padding-left:20px}.example-steps p{font-size:.96rem;margin:0}.history-section .wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:65px}.history-copy p:last-child{margin:0}.end-note{margin-top:35px}.closing{background:var(--navy);padding:42px 0}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:48px}.closing h2{color:#fff;font-size:1.9rem}.closing p{color:#d0deec;max-width:680px;margin:14px 0 0}.button-white{background:white;border-color:white;color:var(--navy);flex-shrink:0}.button-white:hover{background:#e4eef8;color:var(--navy);border-color:#e4eef8}footer{padding-top:40px}.footer-top{display:flex;justify-content:space-between;gap:55px;padding-bottom:35px}.footer-top p{font-size:.87rem;max-width:360px;margin:18px 0 10px}.footer-email{font-size:.9rem;color:var(--blue)}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:17px 35px;align-content:start;font-size:.86rem}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:.78rem;line-height:1.6;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:65px;padding-top:45px;padding-bottom:65px}.contact-layout h2{font-size:1.5rem;margin-bottom:20px}.contact-email{display:inline-block;font-size:1.04rem;color:var(--blue);margin:0 0 18px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-layout aside p{font-size:.9rem}dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:22px}dd{margin:6px 0 0;line-height:1.5}fieldset{border:0;padding:0;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.91rem;line-height:1.6;color:var(--navy)}input,textarea,select{display:block;width:100%;border:1px solid #99adbf;background:white;color:var(--ink);padding:12px;border-radius:3px;margin-top:7px;min-height:46px}textarea{resize:vertical}#enquiry fieldset>label{font-size:1.2rem}.fine{font-size:.8rem;margin-top:14px}.optional-details{border-block:1px solid var(--line);margin-top:25px;padding:20px 0}.optional-details summary{font-weight:600;cursor:pointer;line-height:1.6}.optional-details[open] summary{margin-bottom:16px}.optional-details p{font-size:.92rem}#form-status{margin-top:20px;font-size:.9rem}.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}.skip{position:absolute;top:-100px;left:15px;background:var(--navy);color:white;padding:15px;z-index:20}.skip:focus{top:5px}:focus-visible{outline:3px solid #b6760c;outline-offset:5px}[hidden]{display:none!important}section[id]{scroll-margin-top:25px}
@media(max-width:1100px){.header{gap:18px}.header nav{gap:17px}.header nav a{font-size:.8rem}.language{padding-left:16px}.hero{gap:32px}.hero-panel{padding:22px}.proof{grid-template-columns:140px 1fr auto;gap:18px}.wrap{width:calc(100% - 56px)}}
@media(max-width:950px){.header{min-height:82px;flex-wrap:wrap;padding:16px 0}.menu-toggle{display:flex;gap:9px;align-items:center;background:white;border:1px solid var(--line);padding:9px 12px;margin-left:auto;color:var(--navy);border-radius:3px}.header nav{display:none;order:4;width:100%;margin:0;padding-top:12px;border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{font-size:1rem;padding:11px 0}.hero{grid-template-columns:1.1fr 1fr;gap:25px}.hero h1{font-size:2.7rem}.hero-panel{padding:20px}.panel-heading{gap:12px}.panel-heading img{width:40px;height:32px}.panel-heading h2{font-size:1.15rem}.proof{grid-template-columns:1fr auto}.proof .eyebrow{grid-column:1/-1}.proof{gap:9px 20px}.method-steps{grid-template-columns:1fr 1fr}.closing .wrap{align-items:flex-start;flex-direction:column;gap:25px}.contact-layout{gap:35px}.history-section .wrap{gap:35px}.goal-list article{gap:35px}.services-overview,.three-columns,.example-steps{gap:25px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.header{gap:12px}.brand{gap:8px}.small-mark{width:37px;height:30px}.brand-type strong{font-size:1.35rem}.brand-type small{font-size:.54rem}html[lang=fr] .brand-type small{font-size:.61rem}.menu-toggle{font-size:.8rem;padding:8px 10px}.language{font-size:.77rem;border:0;padding:0}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:25px;gap:28px}.hero h1{font-size:clamp(2.25rem,8.2vw,3rem)}.hero .eyebrow{font-size:.64rem}.hero .lead{font-size:1rem;margin:19px 0 23px}.hero-panel{padding:20px 22px}.panel-heading{margin-bottom:15px}.panel-heading h2{font-size:1.2rem}.panel-heading img{width:45px;height:35px}.service-fact{padding:11px 0}.proof{grid-template-columns:1fr;padding-block:20px;gap:10px}.proof .text-link{white-space:normal}.section{padding:40px 0}.section-intro{margin-top:17px}.audience-grid,.cards,.services-overview,.three-columns,.example-steps{grid-template-columns:1fr;gap:25px;margin-top:25px}.audience-grid article{padding:24px}.audience-grid h3{font-size:1.45rem}.services-overview article+article{border-top:1px solid var(--line);padding-top:24px}.page-head{padding:32px 0}.page-head h1{font-size:2.35rem}.page-head .lead{font-size:1rem}.goal-list article{grid-template-columns:1fr;gap:13px;padding:22px 0}.history-section .wrap{grid-template-columns:1fr;gap:22px}.method-steps{gap:25px 20px}.method-steps h3{font-size:1.06rem}.method-steps p{font-size:.9rem}.closing{padding:35px 0}.closing h2{font-size:1.7rem}.contact-layout{grid-template-columns:1fr;padding-block:35px;gap:25px}.contact-layout aside dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.contact-layout dt{margin:5px 0}.contact-layout dd{margin:5px 0;font-size:.9rem}.form-grid{grid-template-columns:1fr}.footer-top{display:block}.footer-top nav{margin-top:30px}.footer-bottom{flex-direction:column;gap:8px}.button{font-size:.88rem;padding:14px 18px}.eyebrow{font-size:.66rem}}
@media(max-width:360px){.header{gap:8px}.small-mark{display:none}.brand-type strong{font-size:1.3rem}.method-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Descriptive links within service explanations retain the paragraph typography. */
.inline-link{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.inline-link:hover{color:var(--blue)}

/* Review layout: a human image beside the headline, followed by one buyer journey. */
.home-hero{background:#fff;border-bottom:0;overflow:hidden}
.hero{grid-template-columns:1.08fr 1fr;gap:54px;padding-top:48px;padding-bottom:48px}
.hero-copy{padding-block:10px}
.hero-photo{align-self:stretch;min-height:370px;overflow:hidden;border-radius:7px}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:48% 50%}
.hero .eyebrow{font-size:.875rem;letter-spacing:.07em}
.requirements{padding:27px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.requirements h2{font-size:1.25rem;letter-spacing:-.015em;margin-bottom:23px}
.requirements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.requirements .service-fact{border:0;padding:0}
.requirements .service-fact h3{font-size:1.02rem;margin-bottom:9px}
.requirements .service-fact p{font-size:1rem;line-height:1.6}
.requirements .service-fact+.service-fact{padding-left:30px;border-left:1px solid var(--line)}
.buyer-layout{display:grid;grid-template-columns:1fr 1.18fr;gap:65px;align-items:start}
.buyer-layout .section-intro{max-width:470px}
.buyer-plan{border-left:3px solid var(--blue);padding-left:32px}
.buyer-plan .eyebrow{font-size:.875rem;letter-spacing:.06em;margin-bottom:14px}
.buyer-plan h3{font-size:1.6rem;margin-bottom:16px}
.services-overview{gap:38px}
.services-overview article{border-top:2px solid var(--blue);padding-top:18px}
.services-overview h3{font-size:1.4rem}
.services-overview p{margin-bottom:20px}
.index{font-size:.9rem}
.experience{background:#fff;border-bottom:1px solid var(--line)}
.experience .proof{border-top:0;padding-block:29px;grid-template-columns:185px 1fr auto}
.experience .proof .eyebrow{font-size:.875rem;letter-spacing:.055em}
.experience .proof>p:not(.eyebrow){font-size:1rem}
.experience .proof .text-link{font-size:.92rem}
.expectations-list{margin-top:30px;margin-bottom:25px;display:grid;gap:0}
.expectations-list article{display:grid;grid-template-columns:1fr 1.8fr;gap:55px;padding:25px 0;border-top:1px solid var(--line)}
.expectations-list p{margin:0}
.eyebrow{font-size:.875rem;letter-spacing:.07em}
.page-head .eyebrow{font-size:.875rem}
.fine,.fine-note,dt,.example-label{font-size:.875rem}
@media(max-width:1100px){.hero{gap:32px}.hero-photo{min-height:360px}.buyer-layout{gap:38px}.requirements-grid{gap:25px}.requirements .service-fact+.service-fact{padding-left:22px}.experience .proof{grid-template-columns:165px 1fr auto;gap:20px}}
@media(max-width:950px){.hero{grid-template-columns:1fr 1fr;gap:28px}.hero-photo{min-height:390px}.hero h1{font-size:2.75rem}.buyer-layout{gap:30px}.buyer-plan{padding-left:24px}.experience .proof{grid-template-columns:1fr auto}.experience .proof .eyebrow{grid-column:1/-1}.requirements-grid{gap:20px}.requirements .service-fact+.service-fact{padding-left:18px}.expectations-list article{gap:35px}}
@media(max-width:680px){.hero{grid-template-columns:1fr;gap:28px;padding-top:30px;padding-bottom:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.25rem,8.2vw,3rem)}.hero-photo{min-height:0;aspect-ratio:3/2;align-self:auto}.hero-photo img{height:100%;object-position:center}.hero .eyebrow{font-size:.875rem}.requirements{padding-block:24px}.requirements-grid{grid-template-columns:1fr;gap:19px}.requirements .service-fact+.service-fact{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:19px}.buyer-layout{grid-template-columns:1fr;gap:25px}.buyer-layout .section-intro{max-width:none}.buyer-plan{padding-left:22px}.buyer-plan .eyebrow{font-size:.875rem}.services-overview article+article{border-top:2px solid var(--blue);padding-top:18px}.experience .proof{grid-template-columns:1fr;gap:12px;padding-block:26px}.expectations-list article{grid-template-columns:1fr;gap:13px;padding-block:23px}.eyebrow,.example-label{font-size:.875rem}.method-steps{grid-template-columns:1fr}.method-steps p{font-size:1rem}.header nav a{font-size:1rem}.language{font-size:.875rem}.menu-toggle{font-size:.875rem}.button{font-size:.95rem}.footer-bottom{font-size:.875rem}}
/* Keep long bilingual headings and enlarged text within their layout columns. */
.hero>*,.buyer-layout>*,.requirements-grid>*,.services-overview>*,.cards>*,.method-steps>*,.history-section .wrap>*,.expectations-list article>*,.contact-layout>*{min-width:0}
h1,h2,h3{overflow-wrap:break-word}
/* Supporting delivery details follow the experience statement. */
.requirements{padding-block:20px;border-top:0;border-bottom:1px solid var(--line)}
.requirements h2{font-size:1rem;font-weight:600;margin-bottom:15px}
.requirements-grid{gap:24px}
.requirements .service-fact h3{font-size:.875rem;margin-bottom:5px}
.requirements .service-fact p{font-size:.875rem;line-height:1.5}
@media(max-width:680px){.requirements{padding-block:20px}.requirements-grid{gap:13px}.requirements .service-fact+.service-fact{padding-top:13px}}

/* Slightly larger reading text, requested after publication. */
p{font-size:1.125rem}
.hero .lead,.page-head .lead{font-size:1.125rem}
.text-link,.experience .proof .text-link{font-size:1rem}
.method-steps p,.example-steps p{font-size:1.0625rem}
.criteria-note,.contact-layout aside p,.optional-details p,label{font-size:1rem}
.experience .proof>p:not(.eyebrow){font-size:1.0625rem}
.header nav a,.language{font-size:.9375rem}
.footer-top p,.footer-email,.footer-top nav{font-size:1rem}
@media(max-width:950px){.header nav a{font-size:1rem}}
@media(max-width:680px){.hero .lead,.page-head .lead{font-size:1.125rem}.method-steps p{font-size:1.0625rem}}

/* Readability adjustments from the desktop review, keeping the main headings. */
header .small-mark{width:57.6px;height:45.6px}
header .brand-type strong{font-size:1.92rem}
header .brand-type small{font-size:.75rem}
html[lang=fr] header .brand-type small{font-size:.864rem}
.header nav a,.language{font-size:1.078125rem}
main .eyebrow,.hero .eyebrow,.buyer-plan .eyebrow,.page-head .eyebrow,.audience-grid .eyebrow{font-size:1rem}
.text-link,.experience .proof .text-link{font-size:1.15rem;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.text-link:hover,.text-link:focus-visible{color:var(--blue)}
main .fine,main .fine-note,main dt,main .example-label,main .index{font-size:1rem}
.requirements h2{font-size:1.25rem;line-height:1.35;margin-bottom:20px}
.requirements .service-fact h3,.requirements .service-fact p{font-size:1rem}
.experience .proof{grid-template-columns:max-content minmax(0,1fr) auto;gap:30px}
.experience .proof .eyebrow{font-size:1rem;grid-column:auto}
.experience .proof>*{min-width:0}
@media(max-width:1100px){
 .experience .proof{grid-template-columns:minmax(0,1fr) auto;gap:14px 25px}
 .experience .proof .eyebrow{grid-column:1/-1}
}
@media(max-width:950px){.header nav a{font-size:1.15rem}}
@media(max-width:680px){
 header .small-mark{width:44.4px;height:36px}
 header .brand-type strong{font-size:1.62rem}
 header .brand-type small{font-size:.75rem}
 html[lang=fr] header .brand-type small{font-size:.75rem}
 .language{font-size:1.00625rem}
 .experience .proof{grid-template-columns:minmax(0,1fr);gap:12px}
 .experience .proof .eyebrow{grid-column:auto}
 .requirements h2{font-size:1.25rem}
}
@media(max-width:360px){header .brand-type strong{font-size:1.56rem}}

/* Give the experience statement a distinct panel below the requirements. */
.experience{padding:24px 0 32px;border-bottom:0}
.experience .proof{background:#fff;border:1px solid var(--blue);border-radius:5px;padding:26px 30px}
@media(max-width:680px){
 .experience{padding:20px 0 26px}
 .experience .proof{padding:24px 22px}
}

.footer-facebook{display:inline-flex;vertical-align:middle;margin-left:16px;color:#2d70bd;align-items:center}.footer-facebook:hover,.footer-facebook:focus-visible{color:#08274d}.footer-facebook:focus-visible{outline:2px solid currentColor;outline-offset:4px}
