@font-face{font-family:Syne;src:url('assets/syne.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-serif-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#efeee8;--ink:#484a48;--blue:#6750c8;--rule:#c7c8bd;--gutter:clamp(22px,4.5vw,88px)}
*{box-sizing:border-box}
html,body{margin:0;height:100%;width:100%;overflow:hidden}
body{background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue);color:var(--paper)}
.page{height:100vh;height:100dvh;max-width:2300px;margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
.header{height:clamp(66px,11vh,112px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:20px}
a{color:inherit;text-decoration:none}
.brand{font-family:Syne,Arial,sans-serif;font-weight:800;font-size:clamp(18px,1.7vw,29px);white-space:nowrap;letter-spacing:-.04em}
.brand span{color:var(--blue)}
.header-note{font-size:10px;letter-spacing:.13em}
main{display:flex;min-width:0;min-height:0;flex-direction:column;justify-content:space-evenly;padding:clamp(14px,3vh,38px) 0;gap:clamp(14px,3vh,40px)}
.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.11em;margin:0 0 clamp(12px,2.5vh,28px)}
.blue-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;flex-shrink:0}
h1{font-family:Syne,Arial,sans-serif;font-weight:500;font-size:clamp(32px,min(5.5vw,8.8vh),100px);line-height:1.02;letter-spacing:-.055em;margin:0}
h1 em{font-family:Instrument,Georgia,serif;font-weight:400;font-size:1.17em;line-height:.8;color:var(--blue);letter-spacing:-.035em}
.signature{width:clamp(160px,20vw,310px);height:clamp(155px,25vh,270px);position:relative;display:grid;place-items:center;flex-shrink:0;color:var(--blue)}
.orbits{width:100%;height:100%;overflow:visible;position:absolute;inset:0;fill:none;stroke:currentColor;stroke-width:.65}
.orbits circle{fill:currentColor;stroke:none}
.signature-si{font:800 clamp(38px,5vw,76px)/1 Syne,Arial,sans-serif;letter-spacing:-.065em}
.signature-caption{position:absolute;bottom:-24px;font-size:14.4px;white-space:nowrap;letter-spacing:.15em}
.domain-block{width:100%;min-width:0}
.domain{display:flex;white-space:nowrap;font-family:Syne,Arial,sans-serif;font-size:11.1vw;font-weight:800;line-height:.88;letter-spacing:-.055em;margin:0;padding:0 0 .12em;width:100%}
.extension{color:var(--blue)}
.domain-caption{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:clamp(12px,2.5vh,28px)}
.domain-caption p{font-size:clamp(12px,1.15vw,19px);line-height:1.45;margin:0}
.domain-caption p:last-child{color:#666a60;text-align:right}
.footer{min-height:clamp(76px,12vh,126px);border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0 max(14px,env(safe-area-inset-bottom))}
.footer p{margin:0;font-size:clamp(12px,1.1vw,17px);line-height:1.45}
.contact{min-width:clamp(170px,22vw,330px);height:clamp(46px,7vh,68px);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:var(--paper);font-size:12px;letter-spacing:.12em;transition:background .2s}
.contact span{font-size:27px;line-height:1}
.contact:hover{background:#5138ad}
a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.mobile-break{display:none}
@media(min-width:1800px){.domain{font-size:210px}}
@media(max-width:700px){
 .header{height:70px}.header-note{font-size:8px;letter-spacing:.07em;max-width:98px;text-align:right;line-height:1.6}
 main{padding:24px 0;gap:28px;justify-content:space-evenly}
 .intro{position:relative;align-items:flex-start;flex-direction:column;gap:22px}
 .intro-copy{position:relative;z-index:1}
 .eyebrow{font-size:8px;letter-spacing:.07em;margin-bottom:20px}
 h1{font-size:clamp(32px,8.4vw,57px);line-height:1.08}
 .signature{width:120px;height:105px;align-self:flex-end;margin-top:-5px;margin-right:8px}
 .signature-si{font-size:38px}.signature-caption{font-size:11.2px;bottom:-14px}
 .domain-caption{gap:12px;padding-top:17px;flex-direction:column}
 .domain-caption p{font-size:13px}.domain-caption p:last-child{text-align:left;font-size:11px}
 .domain-caption .mobile-break{display:none}
 .footer{min-height:88px;gap:12px}.footer p{font-size:11px}.contact{min-width:140px;padding:0 18px;font-size:11px;height:48px}
 .mobile-break{display:block}
}
@media(max-height:680px) and (max-width:700px){
 .header{height:58px}.footer{min-height:72px}.contact{height:42px}
 main{padding:16px 0;gap:18px}.intro{gap:10px}.eyebrow{margin-bottom:12px}
 h1{font-size:clamp(30px,8vw,48px)}.signature{width:94px;height:76px;margin-top:-6px}.signature-si{font-size:30px}.signature-caption{font-size:9.6px}
 .domain-caption{padding-top:12px;gap:7px}
}
@media(max-height:470px){
 .header{height:48px}.footer{min-height:58px;padding:8px 0}.contact{height:38px}
 main{padding:12px 0;gap:12px}.intro{flex-direction:row;gap:15px}.eyebrow{margin-bottom:10px;font-size:8px}
 h1{font-size:clamp(25px,7vh,35px)}.signature{width:100px;height:76px;margin:0 10px 0 0}.signature-si{font-size:30px}.signature-caption{font-size:9.6px}
 .domain{max-height:24vh;width:100%}.domain-caption{padding-top:9px;flex-direction:row}.domain-caption p,.domain-caption p:last-child{font-size:10px}
 .header-note{max-width:none}.mobile-break{display:none}
}

.domain-caption{justify-content:center;align-items:center}
.domain-caption p:last-child{text-align:center;width:100%}

.domain-caption p{font-weight:600}

/* Ajustement des accroches et noms longs sans changer la composition. */
.intro-copy{min-width:0;flex:1;width:100%}
.headline-line{display:block;white-space:nowrap;width:max-content}
.domain>span{flex-shrink:0}

.signature{transform:translateX(clamp(-38px,-2.7vw,-12px))}

/* Ajustement des accroches et noms longs sans changer la composition. */
.intro-copy{min-width:0;flex:1;width:100%}
.headline-line{display:block;white-space:nowrap;width:max-content}
.domain>span{flex-shrink:0}

.signature-caption{font-weight:700}

/* Le symbole suit la largeur réelle de l’accroche. */
.intro{justify-content:flex-start;gap:7cm}
.intro-copy{flex:0 0 auto;width:max-content}
.signature{transform:none}
@media(max-width:1100px) and (min-width:701px){.intro{gap:clamp(32px,12vw,7cm)}}
@media(max-width:700px){.intro{gap:22px}.intro-copy{max-width:100%}}
@media(max-height:680px) and (max-width:700px){.intro{gap:10px}}
@media(max-height:470px){.intro{gap:24px}}

@media(max-width:700px){.signature{margin-right:48px}}

h1 .headline-line + .headline-line{margin-top:.14em}
