@font-face { font-family:Manrope; src:url('/programme/assets/fonts/manrope-normal.woff2') format('woff2'); font-weight:200 800; font-display:swap; }
:root { --paper:#f8f5f1; --ink:#352e42; --muted:#746d7c; --sage:#516b5a; --line:rgba(53,46,66,.15); --lime:#e6ff00; --serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif; }
* { box-sizing:border-box; }
html { min-height:100%; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
::selection { color:var(--ink); background:#e8dff1; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid var(--sage); outline-offset:7px; }
p,h1 { margin:0; }
.skip-link { position:absolute; top:-100px; left:24px; z-index:5; padding:14px 20px; background:var(--paper); }
.skip-link:focus { top:14px; }
.site-shell { width:min(1440px,100%); min-height:100svh; padding:0 6.1%; margin:auto; display:flex; flex-direction:column; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:35px 0 25px; }
.brand { display:inline-flex; align-items:baseline; gap:14px; }
.brand img { display:block; width:108px; height:auto; }
.brand > span { color:var(--muted); font-size:12px; line-height:1; letter-spacing:.12em; }
.development { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:11px; letter-spacing:.07em; }
.development > span { width:6px; height:6px; border-radius:50%; background:var(--sage); }
main { flex:1; display:flex; }
.hero { width:100%; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:4%; padding:64px 0 72px; min-height:600px; }
.hero-copy { position:relative; z-index:1; }
.eyebrow { margin-bottom:34px; color:var(--sage); text-transform:uppercase; font-size:10px; line-height:1.7; letter-spacing:.19em; }
h1 { font-family:var(--serif); font-weight:400; font-size:clamp(3.2rem,5.25vw,5.4rem); line-height:1.03; letter-spacing:-.055em; text-wrap:balance; }
h1 em { font-style:normal; color:var(--sage); }
.intro { max-width:440px; margin-top:31px; color:var(--muted); font-size:15px; line-height:1.95; }
.contact { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; border-bottom:1px solid var(--ink); margin-top:37px; padding:12px 0; font-size:13px; line-height:1.6; transition:color .2s; }
.contact > span { font-size:21px; line-height:1; }
.contact:hover { color:var(--sage); }
 .sain-word { position:relative; display:inline-block; isolation:isolate; color:var(--ink); white-space:nowrap; }
.sain-word::before { content:''; position:absolute; z-index:-1; inset:25% -.09em 2% -.08em; border-radius:48% 52% 44% 55%; background:rgba(230,255,0,.72); transform:rotate(-2deg); }
.visual { position:relative; min-width:0; width:92%; max-width:450px; height:530px; margin:0; justify-self:end; border-radius:42% 42% 26px 26px / 24% 24% 26px 26px; overflow:hidden; background:#dfe8df; box-shadow:0 25px 60px rgba(53,46,66,.09); }
.visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 18%; }
.visual figcaption { position:absolute; bottom:23px; left:20px; right:20px; padding:13px 16px; border:1px solid rgba(255,255,255,.85); border-radius:999px; background:rgba(255,253,249,.92); color:var(--ink); font-size:11px; line-height:1.5; text-align:center; }
.site-footer { padding:25px 0 28px; border-top:1px solid var(--line); display:flex; align-items:center; flex-wrap:wrap; gap:24px; font-size:10px; line-height:1.8; color:var(--muted); }
.site-footer p { margin-right:auto; letter-spacing:.05em; }
.site-footer nav { display:flex; gap:26px; }
.site-footer a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.footer-signature { margin-left:22px; font-size:9px; letter-spacing:.09em; }
@media(min-width:1600px) { .hero { min-height:720px; } }
@media(max-width:1000px) { .site-shell { padding:0 6%; } .hero { gap:1%; min-height:560px; padding:65px 0 80px; } h1 { font-size:clamp(2.8rem,5.8vw,4.3rem); } .intro { max-width:340px; font-size:14px; } .visual { height:470px; } }
@media(max-width:700px) {
  .site-shell { padding:0 7%; }
  .site-header { padding:27px 0 20px; gap:15px; }
  .brand { gap:10px; } .brand img { width:85px; } .brand > span { font-size:10px; }
  .development { font-size:9px; gap:7px; letter-spacing:.03em; }
  .hero { grid-template-columns:minmax(0,1fr); gap:18px; padding:61px 0 37px; min-height:0; }
  .eyebrow { font-size:9px; margin-bottom:25px; }
  h1 { font-size:clamp(2.65rem,10.2vw,4.3rem); line-height:1.06; }
  .intro { margin-top:26px; max-width:350px; font-size:14px; line-height:1.9; }
  .contact { margin-top:23px; font-size:12px; gap:35px; }
  .visual { width:min(100%,370px); height:420px; justify-self:center; margin:18px 0 0; }
  .visual figcaption { bottom:20px; left:17px; right:17px; font-size:10px; }
  .site-footer { padding:22px 0; gap:18px; }
  .site-footer p { flex-basis:100%; }
  .site-footer nav { gap:20px; }
  .footer-signature { margin-left:auto; font-size:8px; }
}
@media(max-width:360px) { .development { font-size:8px; } .brand img { width:78px; } h1 { font-size:2.45rem; } .visual { height:360px; } .hero { padding-top:48px; } .site-footer { font-size:9px; } }
