/* Rose satin, champagne metal and translucent glass, without a heavy renderer. */
.site-header,.site-header.is-scrolled { background:linear-gradient(115deg,#fff8edc9,#f7e6dfad); border-bottom:1px solid #ffffffa8; box-shadow:0 4px 25px #7042360a,inset 0 1px 0 #fff9; }
.desktop-nav { gap:3px; padding:5px; border:1px solid #ffffffad; border-radius:50px; background:linear-gradient(135deg,#ffffff73,#efcdc236); box-shadow:inset 0 1px 1px #fff9,0 7px 22px #7c4d3b0b; }
.desktop-nav>a { padding:9px 15px; border-radius:40px; border:1px solid transparent; transition:background .3s,box-shadow .3s,color .3s; }
.desktop-nav>a:after { display:none; }
.desktop-nav>a:hover,.desktop-nav>a[aria-current="location"] { background:linear-gradient(130deg,#fffaf1c9,#f3d9ce70); border-color:#ffffffdc; color:#704046; box-shadow:0 3px 12px #774a3b12,inset 0 1px 1px #fff; }
.site-header .button-dark { box-shadow:0 4px 18px #4e302621,inset 0 1px 0 #ffffff25; }
.nav-short,.cta-label-short { display:none; }
.desktop-nav .nav-short { display:none; }
.button .cta-label-long,.button .cta-label-short { font:inherit; }
.promo-link>span:not(.nav-glow) { height:auto; width:auto; background:none; border-radius:0; box-shadow:none; }
.hero-art { perspective:1000px; }
.hero-ring { border-color:#b79360a8; box-shadow:1px 1px 0 #fff9,-1px -1px 0 #91643818,8px 12px 30px #825d3b09; }
.hero-ring:after { content:''; position:absolute; inset:10px -8px -5px 9px; border:1px solid #d3b98c64; border-radius:inherit; transform:rotate(-6deg); box-shadow:inset 1px 1px 0 #ffffff68; }
.hero-photo { box-shadow:18px 25px 55px #774a3b30,inset 1px 1px 0 #fff6; }
.photo-label { background:linear-gradient(125deg,#fff8edb8,#fae2d59c); border:1px solid #ffffffe0; box-shadow:0 12px 30px #603d2e20,inset 0 1px 0 #fff; backdrop-filter:blur(18px); }
.orb,.art-orb {
  background:radial-gradient(ellipse at 28% 23%,#fffef4fa 0,#fff1d7b8 13%,#f5c9b272 32%,#b9897330 56%,#d9ad7c6e 77%,#fff3cfbd 93%,#fff9e4d9 100%);
  border:1px solid #ffffffa6;
  box-shadow:inset 4px 5px 10px #fff9,inset -6px -8px 14px #9e72502b,0 8px 18px #b48c5d16,0 0 35px #edbc7b33;
}
.orb { opacity:.78; }
.orb-a { width:70px; height:70px; }
.orb-c { width:15px; height:15px; }
.orb-e { width:45px; height:45px; left:95%; }
.art-orb-one { width:91px; height:91px; }
.art-orb-two { width:43px; height:43px; }
.quality { border-color:#ffffffa8; box-shadow:inset 0 1px 1px #fffb,0 16px 45px #8f5c4310; }
.photo-open,.formation-zoom { background:linear-gradient(130deg,#fff8e6d9,#f5d6c6ab); backdrop-filter:blur(12px); border:1px solid #fffd; box-shadow:0 5px 15px #704b301b,inset 0 1px 0 #fff9; }
.promo-stamp { background:linear-gradient(145deg,#fff7e9f0,#f1dacbd6); box-shadow:6px 10px 25px #6d4b2c19,inset 1px 1px 0 #fff; }
.formation-section { display:grid; grid-template-columns:1fr 1.45fr; gap:7%; align-items:center; margin-top:75px; padding-top:55px; border-top:1px solid var(--line); }
.formation-copy h3 { font-size:45px; margin-bottom:22px; }
.formation-copy>p:not(.eyebrow) { font-size:14px; color:var(--muted); line-height:1.95; }
.formation-copy .text-link { padding:8px 0; min-height:44px; }
.formation-section figure { margin:0; }
.formation-photo { position:relative; display:block; width:100%; padding:0; border-radius:7px; overflow:hidden; box-shadow:0 14px 35px #67462d20; transform:rotate(-1deg); transition:transform .5s; }
.formation-photo img { width:100%; height:auto; }
.formation-zoom { position:absolute; display:grid; place-items:center; right:15px; bottom:15px; height:40px; width:40px; border-radius:50%; font-size:22px; }
.formation-section figcaption { font-size:10px; margin-top:16px; text-align:center; color:var(--muted); }
.certificate-dialog { width:1100px; padding:30px; }
.certificate-dialog :is(h1,h2) { font-size:42px; margin-bottom:25px; }
.certificate-dialog .eyebrow { margin-right:35px; margin-bottom:18px; }
.certificate-dialog>img { width:100%; height:auto; border-radius:4px; }
.certificate-dialog>p:not(.eyebrow) { font-size:12px; line-height:1.8; margin:18px 0 5px; color:var(--muted); }
.certificate-dialog .text-link { min-height:44px; }
.gallery-card[data-work="french"] { grid-column:1/-1; width:min(100%,820px); justify-self:center; padding-top:8px; }
.gallery-card[data-work="french"] .gallery-photo { height:auto; aspect-ratio:3/2; }
.lightbox #lightbox-art { height:auto; aspect-ratio:var(--image-aspect,1); max-height:65svh; }
@supports(backdrop-filter:blur(10px)) { .desktop-nav { backdrop-filter:blur(15px); } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .formation-photo:hover { transform:perspective(1000px) rotateY(-3deg) rotate(-.3deg) translateY(-3px); } .hero-art .photo-label:hover { transform:rotate(-3deg) translateY(-4px); } }
@media(max-width:1200px) and (min-width:901px) { .site-header { gap:15px; padding-inline:3%; } .desktop-nav>a { padding-inline:10px; } .desktop-nav { font-size:11px; } .header-cta { font-size:10px; padding-inline:16px; gap:14px; } .site-header .brand { width:150px; } }
@media(max-width:900px) { .mobile-nav { background:linear-gradient(120deg,#fff7ebed,#f0d6cce8); backdrop-filter:blur(22px); border:1px solid #fff9; border-radius:0 0 22px 22px; box-shadow:0 20px 50px #6f413224,inset 0 1px 0 #fff; } .mobile-nav>a { border:1px solid #fff5; border-radius:15px; padding:10px 16px; background:#fff3; margin-bottom:5px; } .mobile-nav a[aria-current="location"] { background:#fff8; border-color:#fffb; box-shadow:inset 0 1px 0 #fff; } .mobile-nav .button { margin-top:15px; } }
@media(max-width:800px) { .formation-section { gap:5%; margin-top:55px; padding-top:40px; } .formation-copy h3 { font-size:38px; } .formation-copy>p:not(.eyebrow) { font-size:13px; } }
@media(max-width:560px) { .formation-section { grid-template-columns:1fr; gap:28px; } .formation-copy h3 { font-size:44px; } .formation-copy>p:not(.eyebrow) { font-size:14px; } .formation-section figcaption { font-size:10px; } .formation-photo { transform:none; } .certificate-dialog { padding:35px 14px 20px; } .certificate-dialog :is(h1,h2) { font-size:34px; } .certificate-dialog>p:not(.eyebrow) { font-size:12px; } .certificate-dialog .text-link { font-size:12px; } .gallery-card[data-work="french"] .gallery-meta { flex-direction:row; align-items:center; gap:15px; } .gallery-card[data-work="french"] .gallery-meta span { text-align:right; } .art-orb-one { width:66px; height:66px; } .art-orb-two { width:34px; height:34px; } .ambient .orb { box-shadow:inset 2px 3px 7px #fff9,inset -3px -4px 8px #9e72501f,0 0 18px #edbc7b22; } }

/* Page-by-page progression keeps every primary tab visible on every device. */
.paged-site main { min-height:calc(100svh - var(--header-height)); }
.paged-site .section-pad { min-height:calc(100svh - var(--header-height) - 70px); }
.paged-site .hero { height:calc(100svh - var(--header-height)); max-height:none; }
.paged-site footer { padding-bottom:110px; }
.paged-site main :is(h1,h2):focus,.paged-site main :is(h1,h2):focus,.paged-site main h3:focus { outline:none; }
.page-controls { position:fixed; z-index:8; left:50%; bottom:max(16px,env(safe-area-inset-bottom)); transform:translateX(-50%); display:flex; align-items:center; gap:20px; padding:6px 8px 6px 15px; border:1px solid #ffffffe6; border-radius:50px; background:linear-gradient(120deg,#fff7e7d6,#f7ded2c4); backdrop-filter:blur(18px); box-shadow:0 8px 30px #6d403c22,inset 0 1px 0 #fff; }
.page-controls button { min-height:44px; white-space:nowrap; font-size:12px; padding:10px 16px; border-radius:30px; }
.page-controls button:disabled { opacity:.32; }
.page-controls #page-next { color:var(--cream); background:var(--ink); padding-inline:24px; }
#page-counter { font-size:10px; letter-spacing:.15em; white-space:nowrap; }
@keyframes satin-page-out { to { opacity:0; transform:translateX(-12px) scale(.993); filter:blur(2px); } }
@keyframes satin-page-in { from { opacity:0; transform:translateX(15px) scale(1.005); filter:blur(2px); } to { opacity:1; transform:none; filter:blur(0); } }
::view-transition-old(root) { animation:satin-page-out .32s cubic-bezier(.4,0,.7,1) both; }
::view-transition-new(root) { animation:satin-page-in .56s cubic-bezier(.2,.65,.3,1) both; }
::view-transition { pointer-events:none; }
@media(max-width:900px) {
 :root { --header-height:140px; }
 .site-header { height:140px; display:grid; grid-template-columns:1fr auto; grid-template-rows:60px 52px; row-gap:8px; column-gap:12px; padding:10px 4%; }
 .site-header .brand { width:120px; grid-column:1; grid-row:1; }
 .site-header .header-cta { display:inline-flex; grid-column:2; grid-row:1; font-size:11px; padding:11px 17px; gap:15px; }
 .cta-label-long,.nav-full { display:none; }
 .cta-label-short,.nav-short { display:inline; }
 .desktop-nav .nav-full { display:none; }
 .desktop-nav .nav-short { display:inline; }
 .site-header .menu-toggle,.mobile-nav { display:none!important; }
 .site-header .desktop-nav { display:flex; grid-row:2; grid-column:1/-1; width:100%; height:52px; gap:2px; padding:3px; font-size:11px; justify-content:space-between; }
 .desktop-nav>a { flex:1; justify-content:center; padding:6px; min-height:44px; white-space:nowrap; }
 .promo-link { gap:5px; }
 .page-controls { gap:15px; }
}
@media(max-width:800px) { .paged-site .hero { height:auto; min-height:0; } }
@media(max-width:560px) {
 .page-controls { width:calc(100% - 32px); max-width:360px; justify-content:space-between; gap:5px; padding:5px 6px 5px 9px; }
 .page-controls button { font-size:11px; padding:10px 11px; }
 .page-controls #page-next { padding-inline:20px; }
 #page-counter { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { ::view-transition-old(root),::view-transition-new(root) { animation:none; } }
html.reduced-motion::view-transition-old(root),html.reduced-motion::view-transition-new(root) { animation:none; }
