:root{--navy:#0d1b2a;--wine:#7c2d3b;--ivory:#f0efec;--muted:rgba(13,27,42,.72);--line:rgba(13,27,42,.16);--font:'Raleway',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--navy);background:#ffffff;font-family:var(--font);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.15}header{padding:23px 5%;display:flex;justify-content:space-between;align-items:center;background:#ffffff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;gap:24px}.brand{display:inline-flex;flex-direction:column;min-width:124px;line-height:1}.brand>span:first-child{font-size:32px;font-weight:400;letter-spacing:-1.3px}.squares{display:flex;gap:4px;margin:7px 0 0 2px}.squares i{display:block;width:10px;height:10px;background:var(--navy);opacity:.12}.squares i:nth-child(2){opacity:.38}.squares i:nth-child(3){background:var(--wine);opacity:1}nav{display:flex;gap:32px;align-items:center}nav>a:not(.button){font-size:14px}nav>a:hover,.text-link:hover{color:var(--wine)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--wine);color:white;border:1px solid var(--wine);padding:16px 24px;font-size:14px;font-weight:500;line-height:1.4;text-align:center;transition:background .2s,transform .2s}.button:hover{background:var(--navy);transform:translateY(-2px)}.button.small{padding:13px 20px;background:var(--navy);border-color:var(--navy)}.button.light{background:var(--ivory);border-color:var(--ivory);color:var(--navy)}.button.light:hover{background:white}.menu-toggle{display:none}.hero{background:var(--navy);color:var(--ivory);padding:68px 7% 0;display:grid;grid-template-columns:1.25fr .9fr;column-gap:8%;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-weight:500;font-size:12px;line-height:1.7}.hero .eyebrow{color:var(--ivory)}h1{font-size:clamp(64px,7.2vw,112px);letter-spacing:-4px;font-weight:300;line-height:1.02;margin:30px 0 32px}h1 em{font-style:normal;color:var(--ivory);display:inline-block}h2{font-size:clamp(34px,3.6vw,53px);letter-spacing:-1.8px;font-weight:300}.hero-bottom p{color:rgba(240,239,236,.82);line-height:1.7;font-size:17px}.hero-bottom .button{margin-top:27px}.orientation{background:var(--ivory);color:var(--navy);padding:34px 32px 22px;align-self:center;border-top:3px solid var(--wine)}.orientation .eyebrow{color:var(--wine)}.orientation h2{font-size:35px;margin:18px 0 12px;letter-spacing:-1px}.muted{color:var(--muted)}.orientation>.muted{font-size:14px}.choices{margin-top:25px;border-top:1px solid rgba(13,27,42,.16)}.choices button{background:none;width:100%;border:0;border-bottom:1px solid rgba(13,27,42,.16);display:flex;text-align:left;align-items:center;gap:12px;padding:16px 0;font-size:14px;line-height:1.5}.choices button span{font-size:12px;opacity:.6}.choices button b{margin-left:auto;font-size:20px;font-weight:400}.choices button[aria-pressed=true]{color:var(--wine);font-weight:600}.choices button[aria-pressed=true] b{transform:rotate(45deg)}.orientation-result{padding-top:20px;min-height:137px}.orientation-result p{font-size:14px;line-height:1.7}.text-link{display:inline-block;padding:0 0 5px;border:0;border-bottom:1px solid currentColor;background:none;font-size:14px;font-weight:500;margin-top:20px}.small-note{font-size:12px;color:var(--muted)}.orientation>.small-note{margin-top:19px}.hero-caption{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(240,239,236,.18);color:rgba(240,239,236,.72);font-size:12px;padding:19px 0;margin-top:55px;letter-spacing:.6px}.section{padding:100px 7%}.burgundy{color:var(--wine)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%}.section h2{margin-top:20px}.intro-copy{padding-top:4px}.intro-copy p+p{margin-top:18px}.lead{font-size:23px;line-height:1.5}.intro-copy p:not(.lead):not(.credentials){color:var(--muted)}.signature{display:flex;gap:16px;align-items:center;margin-top:28px}.signature-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(13,27,42,.25);font-size:16px}.signature strong{font-size:15px;font-weight:500}.signature div>span{display:block;font-size:13px;color:var(--muted)}.credentials{font-size:12px;color:var(--muted);margin-top:20px!important}.credentials span{margin:0 12px}.domains{background:var(--ivory)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px}.section-heading>p{font-size:15px;color:var(--muted);padding-bottom:4px}.domain-grid{display:grid;grid-template-columns:repeat(3,1fr)}.domain-grid article{padding:0 32px;border-left:1px solid rgba(13,27,42,.16)}.domain-grid article:first-child{padding-left:0;border:0}.domain-grid article:last-child{padding-right:0}.index{color:var(--wine);font-size:12px;text-transform:uppercase;letter-spacing:1.6px}.domain-grid h3{font-size:35px;letter-spacing:-1px;margin:22px 0;font-weight:300}.domain-grid p{font-size:15px;color:var(--muted);min-height:100px}.domain-grid details{margin-top:25px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:300;flex-shrink:0}details[open]>summary span{transform:rotate(45deg)}details ul{padding-left:20px;font-size:14px;color:var(--muted);margin:18px 0 0}details li{margin:8px 0}.approach{background:var(--navy);color:var(--ivory);display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.approach .eyebrow{color:var(--ivory)}.approach h2{font-size:60px}.approach em{color:var(--ivory);font-style:normal}.approach-intro>p:not(.eyebrow){margin-top:28px;color:rgba(240,239,236,.82);font-size:15px}.approach .text-link:hover{color:var(--ivory)}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:28px;padding:26px 0;border-top:1px solid rgba(240,239,236,.18)}.steps li:first-child{padding-top:0;border:0}.steps li>span{font-size:13px;color:var(--ivory);padding-top:5px}.steps h3{font-size:24px;font-weight:400;margin-bottom:12px}.steps p{font-size:15px;color:rgba(240,239,236,.82)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.faq h2{font-size:42px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list summary{font-size:16px}.faq-list p{padding:18px 28px 0 0;font-size:15px;color:var(--muted)}.contact{background:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.contact h2{margin-bottom:26px}.contact>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}.contact>div>.button{margin-top:30px}.direct-contact{display:flex;flex-direction:column;gap:8px;margin:30px 0 17px}.direct-contact a{width:fit-content;border-bottom:1px solid rgba(13,27,42,.25)}footer{padding:48px 7% 25px}.footer-top{display:flex;align-items:center;gap:55px;padding-bottom:40px}.footer-top p{font-size:14px;color:var(--muted)}.footer-top>a:last-child{margin-left:auto;font-size:24px;font-weight:300}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:24px;font-size:12px;color:var(--muted)}.footer-bottom div{display:flex;gap:25px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:0}@media(min-width:1600px){header,footer,.section,.hero{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:1000px){nav{gap:18px}.hero{column-gap:5%;padding-left:5%;padding-right:5%}h1{font-size:76px}.orientation{padding:27px 23px}.section{padding:75px 5%}.domain-grid article{padding:0 23px}.domain-grid p{min-height:130px}.approach{gap:6%}.contact{gap:5%}}@media(max-width:760px){html{scroll-padding-top:100px}header{padding:17px 6%;flex-wrap:wrap}.brand>span:first-child{font-size:30px}.menu-toggle{display:block;background:none;border:1px solid rgba(240,239,236,.38);padding:8px 14px;font-size:14px}nav{display:none;width:100%;padding:12px 0 5px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a:not(.button){padding:12px 0}nav .button{margin-top:12px}.hero{display:block;padding:45px 6% 0}.hero .eyebrow{font-size:11px;letter-spacing:1.6px}h1{font-size:clamp(57px,12vw,87px);letter-spacing:-2.5px;margin:25px 0}.hero-bottom p{font-size:16px}.orientation{margin-top:40px;padding:27px}.orientation h2 br{display:none}.orientation h2{font-size:31px}.orientation-result{min-height:0}.hero-caption{margin-top:35px;font-size:11px}.hero-caption span:last-child{display:none}.section{padding:62px 6%}.intro,.approach,.faq,.contact{display:block}.intro-copy{margin-top:30px}.section h2{font-size:39px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.domain-grid{display:block}.domain-grid article,.domain-grid article:first-child,.domain-grid article:last-child{padding:28px 0;border:0;border-top:1px solid rgba(13,27,42,.16)}.domain-grid h3 br{display:none}.domain-grid h3{font-size:31px;margin:18px 0}.domain-grid p{min-height:0}.domain-grid details{margin-top:20px}.approach h2{font-size:52px}.steps{margin-top:46px}.steps li{gap:20px}.faq-list{margin-top:34px}footer{padding:38px 6% 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Charte Castling : marine, bordeaux, ivoire, blanc; secondary shades use opacity. */
header{background:var(--navy);color:var(--ivory);border-bottom:1px solid rgba(240,239,236,.12)}
.brand-logo{display:block;width:150px;height:58px}.brand>span:first-child{letter-spacing:0}.squares i{width:12px;height:12px}.squares{gap:3px}
header .button.small{background:var(--wine);border-color:var(--wine);color:var(--ivory)}
header .button.small:hover{background:var(--ivory);border-color:var(--ivory);color:var(--navy)}
nav>a:not(.button):hover{color:var(--ivory);text-decoration:underline;text-underline-offset:7px}
header :focus-visible,.hero :focus-visible,.approach :focus-visible{outline-color:var(--ivory)}
.orientation :focus-visible{outline-color:var(--wine)}
h1 em{text-decoration:underline;text-decoration-color:var(--wine);text-decoration-thickness:4px;text-underline-offset:12px}
.contact-options{border-top:1px solid var(--line)}.contact-option{display:block;padding:23px 0;border-bottom:1px solid var(--line)}
.contact-option h3{font-size:26px;margin:10px 0 8px}.contact-option p{font-size:16px;color:var(--muted)}.contact-option:hover h3{text-decoration:underline;text-underline-offset:5px;color:var(--wine)}
.contact>div>.small-note{display:block;margin-top:26px}
@media(max-width:760px){.brand-logo{width:140px;height:54px}.contact-options{margin-top:35px}.menu-toggle{color:var(--ivory)}}
@media(max-width:760px){.footer-top{gap:24px;flex-wrap:wrap}.footer-top>a:last-child{margin:0;font-size:22px;width:100%}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap;gap:12px 22px}}

/* One shared horizontal alignment for the header and all page sections. */
:root{--page-gutter:7%}header,.hero,.section,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.document-hero{background:var(--navy);color:var(--ivory);padding-top:40px;padding-bottom:60px}.document-hero>.text-link{margin:0 0 32px}.document-hero .eyebrow{color:var(--ivory)}
.document-hero h1{font-size:clamp(38px,5.4vw,76px);letter-spacing:-2px;line-height:1.15;max-width:1000px;margin:20px 0 0;overflow-wrap:break-word}
.document-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:8%;align-items:start;padding-top:64px;padding-bottom:80px}
.document-aside{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.document-aside>a{font-size:15px}.document-content{max-width:820px;min-width:0}.document-content h2{font-size:28px;font-weight:400;letter-spacing:-.6px;margin:40px 0 18px}.document-content h2:first-child{margin-top:0}.document-content p{margin:0 0 18px;font-size:16px}.document-content ul{padding-left:24px;margin-bottom:24px}.document-content li{margin:8px 0}.document-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.document-content .def-block{border-left:2px solid var(--wine);padding-left:20px;margin-bottom:20px}.document-content .def-block strong{font-weight:600}.document-content .faq-list p{margin:0;padding-top:18px}.document-content .document-intro{font-size:19px;color:var(--muted)}.footer-bottom div{flex-wrap:wrap}
@media(min-width:1600px){:root{--page-gutter:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:1000px){:root{--page-gutter:5%}.document-layout{grid-template-columns:200px minmax(0,1fr);gap:5%}}
@media(max-width:760px){:root{--page-gutter:6%}.document-layout{display:flex;flex-direction:column;gap:40px}.document-aside{order:2}.document-content{width:100%}.document-hero h1{font-size:40px;letter-spacing:-1px}.document-hero{padding-top:28px;padding-bottom:40px}.document-content h2{font-size:27px}.footer-bottom{flex-direction:column}}
