/* Official brand artwork gives the interface its own visual vocabulary. */
.brand-graphic{object-fit:contain;mix-blend-mode:multiply;pointer-events:none;user-select:none}
.brand-motto{display:flex;align-items:center;gap:26px;padding-top:22px;padding-bottom:24px;border-block:1px solid var(--line)}
.motto-marks{display:flex;align-items:center;gap:11px}.motto-marks img{width:35px;height:25px}.brand-motto p{margin:0;white-space:nowrap;font-size:18px;font-weight:700;letter-spacing:-.02em}.motto-line{height:1px;flex:1;background:var(--line)}
.hero-visual{perspective:1000px;isolation:isolate;background:var(--paper)}
.hero-visual .hero-photo,.hero-visual .hero-photo:hover{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .3s ease,opacity .3s;transform-origin:center}
.hero-shape{position:absolute;z-index:2;pointer-events:none;width:65px;height:65px;object-fit:contain;mix-blend-mode:multiply;transform:translate(var(--float-x,0px),var(--float-y,0px));transition:transform .4s ease}
.hero-shape.shape-rosette{width:70px;height:70px;left:-28px;top:17px;rotate:-12deg}
.hero-shape.shape-arch{width:74px;height:43px;right:-16px;bottom:115px;rotate:17deg}
.hero-shape.shape-wave{width:26px;height:70px;left:-21px;bottom:123px;rotate:-8deg}
.hero-controls .pause:disabled{width:auto;min-width:140px;font-size:10px;color:#706779;opacity:1;transform:none;background:transparent}
.segment-photo{position:relative}.segment-mark{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #28213d17;transition:transform .35s ease}
.segment-mark img{width:100%;height:100%;object-fit:cover;transform:none!important;transition:none!important}
.segment-mark.motif{padding:8px}.segment-mark.motif img{object-fit:contain}
.segment:hover .segment-mark,.segment:focus-visible .segment-mark{transform:translateY(-3px) rotate(-5deg)}
.segment-invitation .invitation-symbol{display:block;width:66px;height:66px;padding:10px;background:var(--paper);border-radius:50%;font-size:0}
.segment-invitation .invitation-symbol img{width:100%;height:100%}
.step-brand{width:66px;flex-shrink:0;display:grid;justify-items:center;gap:8px}.step-brand img{width:52px;height:36px;transition:transform .35s ease}.step-index{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--purple)}
.steps li:hover .step-brand img{transform:translateY(-4px) rotate(5deg)}
.nav-links>a[aria-current]{color:var(--purple)}.nav-links>a[aria-current]:after{width:100%}
.mobile-dock>a[aria-current]{background:#504060}.mobile-dock .dock-project[aria-current]{background:#ff795d}
.mobile-dock .dock-mark{display:block;width:27px;height:24px;object-fit:contain}.mobile-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.menu-toggle svg{display:inline-block;vertical-align:middle;width:17px;height:17px;margin-left:7px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.global-search-field>svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round}
.instagram-placeholder-icon{display:grid;place-items:center;width:70px;height:70px!important;margin:auto auto 16px;padding:10px;border-radius:20px;background:var(--paper);font-size:0!important}.instagram-placeholder-icon img{width:100%;height:100%}
.certifications{display:grid;grid-template-columns:1fr 1.6fr;gap:55px;align-items:center;margin:12px 0 72px;padding:48px;background:#312346;color:#faf7f1;border-radius:28px;position:relative;overflow:hidden}
.certification-intro h2{font-size:clamp(32px,3.6vw,48px);margin:18px 0 20px}.certification-intro p{font-size:15px;color:#d7cee2}.certification-intro .text-link{font-size:12px}.certification-content{min-width:0}
.certification-art{margin:0 -10% 8px}.certification-art img{display:block;width:100%;height:auto;max-width:none}
.certification-scopes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;border-bottom:1px solid #ffffff2b;padding-bottom:25px}
.certification-scopes dt{font-size:13px;font-weight:700;line-height:1.4;margin-bottom:6px}.certification-scopes dd{margin:0;font-size:11px;line-height:1.55;color:#ded5e9}
.certification-details{font-size:12px;line-height:1.6;margin-top:18px}.certification-details summary{cursor:pointer;padding:8px 0;min-height:36px}.certification-details p{color:#ded5e9;margin:10px 0}.certification-details .certification-status{padding:12px 15px;border-left:2px solid #ffb296;background:#ffffff09;font-size:11px}
.journal-card small{margin-top:16px}.home-final-cta{padding:0 0 15px}.home-final-cta .cta{margin-top:0}
@media(max-width:1000px){.certifications{gap:25px;padding:34px;grid-template-columns:.9fr 1.4fr}.certification-scopes{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.hero-shape.shape-rosette{left:-12px}}
@media(max-width:800px){.certifications{grid-template-columns:1fr;gap:18px;margin-bottom:45px}.certification-intro h2 br{display:none}.certification-intro h2{max-width:460px}.certification-art{max-width:610px;margin:-12px auto 10px}.certification-scopes{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-motto{gap:18px}.hero-shape.shape-rosette{top:3px;left:-18px;width:55px;height:55px}.hero-shape.shape-wave{display:none}}
@media(max-width:540px){.brand-motto{gap:14px;padding-top:18px;padding-bottom:18px}.motto-marks{gap:6px}.motto-marks img{width:22px;height:18px}.brand-motto p{font-size:14px}.motto-line{display:none}.hero-shape.shape-arch{width:50px;right:-11px;bottom:102px}.segment-mark{width:32px;height:32px;border-radius:9px;right:8px;bottom:8px}.segment-mark.motif{padding:6px}.step-brand{width:48px}.step-brand img{width:39px;height:29px}.certifications{padding:28px 22px;border-radius:22px}.certification-art{width:128%;max-width:none;margin:0 -14% 8px}.certification-scopes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:19px}.certification-scopes dt{font-size:13px}.certification-scopes dd{font-size:12px}.certification-intro p{font-size:14px}.certification-details{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-photo,.hero-shape,.segment-mark,.step-brand img{transform:none!important;transition:none!important}}
html.motion-off{scroll-behavior:auto!important}.motion-off .hero-visual .hero-photo,.motion-off .hero-shape,.motion-off .segment-mark,.motion-off .step-brand img{transform:none!important}
/* Editorial artwork includes text: show each complete cover instead of clipping its title. */
.journal-card img{aspect-ratio:16/9;height:auto;object-fit:contain;background:#f1ece4}
main.pattern-ground{background-color:var(--paper)}
.steps li{grid-template-columns:66px minmax(0,1fr);gap:22px}
@media(max-width:540px){.steps li{grid-template-columns:48px minmax(0,1fr);gap:17px}}
