:root{--ink:#14100f;--gold:#eda233;--wine:#83242c;--paper:#fbf7f4;--cream:#f4edea;--edge:clamp(26px,3.8vw,66px);--ease:cubic-bezier(.22,1,.36,1)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;background:#080809}
a{-webkit-tap-highlight-color:transparent}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.gateway{position:relative;display:flex;width:100%;min-height:100svh;min-height:100dvh;overflow:hidden;background:#050505}
.world{position:relative;isolation:isolate;min-width:0;min-height:100svh;min-height:100dvh;flex:50 1 0;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:flex-grow 950ms var(--ease);outline:none;cursor:pointer}
.world:focus-visible{outline:3px solid #fff;outline-offset:-6px;z-index:4}
.world--7d{background:#090807;color:#fff}
.world--teatro{background:var(--paper);color:var(--ink)}
.gateway__seam{position:absolute;z-index:5;pointer-events:none;left:50%;width:1px;top:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(245,233,218,.1) 20%,rgba(255,255,255,.25) 80%,rgba(255,255,255,.08));transform:translateX(-50%);transition:left 950ms var(--ease)}
@media (hover:hover) and (min-width:1025px){
 .gateway:has(.world--7d:hover) .world--7d,.gateway:has(.world--7d:focus-visible) .world--7d{flex-grow:56}
 .gateway:has(.world--7d:hover) .world--teatro,.gateway:has(.world--7d:focus-visible) .world--teatro{flex-grow:44}
 .gateway:has(.world--teatro:hover) .world--7d,.gateway:has(.world--teatro:focus-visible) .world--7d{flex-grow:44}
 .gateway:has(.world--teatro:hover) .world--teatro,.gateway:has(.world--teatro:focus-visible) .world--teatro{flex-grow:56}
 .gateway:has(.world--7d:hover) .gateway__seam,.gateway:has(.world--7d:focus-visible) .gateway__seam{left:56%}
 .gateway:has(.world--teatro:hover) .gateway__seam,.gateway:has(.world--teatro:focus-visible) .gateway__seam{left:44%}
}
.world__header,.world__footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:var(--edge)}
.world__header{padding-top:clamp(26px,3.7vw,58px)}
.world__footer{margin-top:auto;padding-bottom:clamp(22px,2.8vw,43px);min-height:56px}
.world__corner-link{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(239,207,155,.32);border-radius:50%;color:#f8e7c8;transition:background .35s,color .35s,transform .6s var(--ease)}
.world__corner-link svg{width:19px;height:19px}
.world:hover .world__corner-link{background:var(--gold);color:#17100a;transform:rotate(45deg)}
.world__index{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.185em;color:rgba(248,235,211,.8);white-space:nowrap}
.world__index span:nth-child(2){font-weight:700;font-size:12px;color:#e4a95b}
.world__index-sep{opacity:.45}
.world__index-line{width:26px;height:1px;background:var(--gold);display:inline-block;margin-right:4px}
.world__cta{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-width:215px;padding:15px 15px 15px 20px;border:1px solid;font-size:10px;font-weight:700;letter-spacing:.17em;white-space:nowrap;transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.world__cta-arrow{font-size:22px;font-weight:400;line-height:.7;transition:transform .4s var(--ease)}
.world:hover .world__cta-arrow{transform:translate(3px,-3px)}
.world:hover .world__cta{transform:translateY(-3px)}
/* 7D: cinematic, warm light / black, actual brand wordmark */
.world__wash--7d{position:absolute;z-index:-3;inset:-1px;background:#080707 url('assets/7d-atmosphere.webp') center/cover no-repeat;opacity:.83;transform:scale(1.045);transition:transform 1600ms var(--ease),opacity 1s}
.world:hover .world__wash--7d{transform:scale(1.11);opacity:1}
.world--7d:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.62),rgba(3,3,3,.33) 53%,rgba(4,4,4,.44)),linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.08) 32%,rgba(1,1,1,.34) 75%,rgba(0,0,0,.82))}
.world--7d:after{content:"";position:absolute;pointer-events:none;z-index:-1;inset:0;background:radial-gradient(ellipse 70% 34% at 47% 58%,rgba(212,114,25,.12),transparent 72%)}
.seven__orb{position:absolute;z-index:-1;top:calc(50% - 285px);left:calc(50% - 260px);width:520px;height:520px;border:1px solid rgba(248,178,83,.075);border-radius:50%;pointer-events:none;transform:rotate(-25deg)}
.seven__orb:after{content:"";position:absolute;inset:44px;border:1px solid rgba(248,178,83,.055);border-radius:50%}
.seven__orb span:first-child{position:absolute;top:50%;left:-10%;width:120%;height:1px;background:linear-gradient(90deg,transparent,rgba(250,199,110,.13),transparent)}
.seven__orb span:last-child{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--gold);filter:blur(2px)}
.seven__vertical-label{position:absolute;right:18px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:9px;letter-spacing:.24em;color:rgba(253,202,124,.32);z-index:2}
.seven__main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;min-height:0;padding:32px var(--edge) 34px;max-width:660px}
.seven__micro{display:inline-flex;align-items:center;gap:11px;color:#eac18b;font-size:10px;letter-spacing:.21em;margin-bottom:clamp(25px,4vh,49px)}
.seven__pulse{position:relative;height:6px;width:6px;border-radius:50%;background:#f0b364;box-shadow:0 0 0 4px rgba(237,162,51,.12),0 0 17px #eda233}
.seven__logo{display:block;width:clamp(185px,22vw,315px);max-width:85%;height:auto;filter:drop-shadow(0 10px 28px rgba(0,0,0,.35))}
.seven__rule{width:44px;height:1px;background:#d89b59;margin-block:clamp(19px,3.3vh,34px) clamp(18px,3.4vh,36px)}
.seven__headline{font-family:Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;font-weight:700;font-size:clamp(39px,4.4vw,82px);letter-spacing:-.072em;line-height:1.015;margin:0;max-width:630px;text-wrap:balance}
.seven__headline em{font-style:normal;color:#f4bd75;letter-spacing:-.075em}
.seven__description{color:rgba(245,239,230,.67);max-width:360px;line-height:1.75;font-size:clamp(12px,.95vw,15px);margin:clamp(17px,2.7vh,28px) 0 clamp(27px,4vh,42px)}
.world__cta--7d{color:#f8e9d2;border-color:rgba(238,189,119,.57);background:rgba(13,9,5,.55)}
.world--7d:hover .world__cta--7d{background:var(--gold);color:#17100a;border-color:var(--gold)}
.seven__footer{color:rgba(240,225,202,.5);font-size:9px;letter-spacing:.14em;white-space:nowrap}
.seven__dot{color:var(--gold);padding:0 5px}
.seven__coordinates{font-size:9px;color:rgba(248,216,166,.43)}
/* Teatro: editorial creative design canvas, original mark and stage visual */
.world--teatro:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 70% 60%,rgba(130,36,43,.075),transparent 60%),linear-gradient(135deg,rgba(255,255,255,.6),transparent 46%)}
.teatro__dot-grid{position:absolute;z-index:-1;inset:0;background-image:radial-gradient(#c1b2ad 0.8px,transparent 0.8px);background-size:22px 22px;opacity:.42;mask-image:linear-gradient(90deg,transparent 7%,#000 100%);pointer-events:none}
.teatro__cross{position:absolute;z-index:-1;width:20px;height:20px;opacity:.35}
.teatro__cross:before,.teatro__cross:after{content:"";position:absolute;top:9px;left:0;width:20px;height:1px;background:#9a7b75}
.teatro__cross:after{transform:rotate(90deg)}
.teatro__cross--a{top:24%;right:12%}.teatro__cross--b{bottom:14%;left:12%}
.teatro__header{min-height:77px}
.teatro__brand{display:flex;align-items:center;gap:11px;white-space:nowrap}
.teatro__file{display:flex;align-items:center;gap:8px;color:#746966;white-space:nowrap;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:10px;letter-spacing:.01em;border:1px solid #dfd4cf;background:rgba(255,255,255,.7);border-radius:3px;padding:9px 10px}
.teatro__file-dot{width:6px;height:6px;background:#799b78;border-radius:50%}
.teatro__body{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);align-items:center;gap:clamp(4px,1vw,26px);flex:1;min-height:0;padding:24px var(--edge) 20px}
.teatro__copy{position:relative;z-index:2;min-width:0}
.teatro__eyebrow{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:10px;letter-spacing:.055em;color:#8a6a68;white-space:nowrap;margin-bottom:clamp(18px,3vh,33px)}
.teatro__eyebrow-no{font-weight:700;color:var(--wine)}
.teatro__headline{font-family:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;letter-spacing:-.073em;line-height:1.035;font-weight:700;font-size:clamp(31px,3.4vw,61px);margin:0;color:#22191a}
.teatro__headline em{font-style:normal;color:var(--wine);white-space:nowrap;font-size:.87em}
.teatro__description{margin:clamp(16px,2.6vh,28px) 0 clamp(23px,3.2vh,38px);font-size:clamp(11px,.95vw,15px);line-height:1.75;color:#786966;max-width:290px}
.world__cta--teatro{border-color:var(--wine);background:var(--wine);color:#fff;min-width:193px}
.world--teatro:hover .world__cta--teatro{background:#56141d;border-color:#56141d}
.teatro__visual{position:relative;align-self:center;justify-self:end;width:100%;max-width:365px;transform:rotate(3deg);transition:transform 900ms var(--ease)}
.world--teatro:hover .teatro__visual{transform:rotate(0deg) translateY(-7px)}
.teatro__artboard-label{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid #daccc6;border-bottom:0;background:#fffdfa;color:#806f6b;padding:10px 10px;font-size:clamp(7px,.58vw,9px);white-space:nowrap;letter-spacing:.01em}
.teatro__tiny-diamond{width:6px;height:6px;transform:rotate(45deg);background:var(--wine);margin-right:auto;flex-shrink:0}
.teatro__artboard-label span:last-child{color:var(--wine);font-size:15px;margin-left:auto}
.teatro__artboard{position:relative;aspect-ratio:.83;background:#ede3db;border:1px solid #d7c8c2;outline:1px solid #cdb7ae;outline-offset:7px;box-shadow:12px 18px 0 rgba(131,36,44,.065),16px 23px 30px rgba(48,22,15,.095)}
.teatro__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.85) contrast(1.07)}
.teatro__handle{position:absolute;z-index:2;width:7px;height:7px;background:#fff;border:1px solid var(--wine)}
.teatro__handle--tl{top:-4px;left:-4px}.teatro__handle--tr{top:-4px;right:-4px}.teatro__handle--bl{bottom:-4px;left:-4px}.teatro__handle--br{bottom:-4px;right:-4px}
.teatro__picture-caption{position:absolute;bottom:13px;left:14px;padding:7px 9px;background:rgba(20,9,8,.82);color:#fff;font:9px 'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.06em}
.teatro__toolbar{position:absolute;z-index:2;right:-13px;bottom:-24px;display:flex;align-items:center;gap:13px;padding:9px 12px;background:#fdfaf6;border:1px solid #ddd1cb;box-shadow:0 8px 20px rgba(55,20,15,.12);font:12px 'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;color:#624d4b;transition:transform .5s var(--ease)}
.world--teatro:hover .teatro__toolbar{transform:translateY(5px)}
.teatro__toolbar-pointer{color:var(--wine);font-size:17px}.teatro__toolbar-sep{width:1px;height:15px;background:#ded1ca}
.teatro__toolbar span:last-child{font-size:10px}
.teatro__footer{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.09em;color:#806f6a;font-size:9px;white-space:nowrap}
.teatro__swatches{display:flex;align-items:center;gap:5px}
.teatro__swatches span:not(.teatro__swatches-label){width:14px;height:14px;border:1px solid rgba(30,20,20,.1)}
.teatro__swatches span:first-child{background:#83242c}.teatro__swatches span:nth-child(2){background:#14100f}.teatro__swatches span:nth-child(3){background:#e1d4cd}
.teatro__swatches-label{padding-left:8px}
.teatro__footer-spark{color:var(--wine);font-size:13px;padding-left:5px}
/* Small desktop + large tablet landscape still split when useful. */
@media (min-width:1025px) and (max-width:1400px){
 .teatro__body{grid-template-columns:minmax(0,1fr) minmax(0,.91fr)}
 .teatro__visual{max-width:305px}
 .teatro__headline{font-size:clamp(31px,3.25vw,52px)}
 .seven__headline{font-size:clamp(39px,4.7vw,68px)}
 .world__cta{min-width:unset}
}
/* Tablet and mobile: a deliberate top-bottom split, not squashed mini desktop. */
@media (max-width:1024px){
 .gateway{display:flex;flex-direction:column;min-height:100dvh;overflow:visible}
 .world{flex:none;min-height:580px;height:auto;overflow:hidden}
 .gateway__seam{top:50%;bottom:auto;left:0;right:0;height:1px;width:100%;transform:none;background:rgba(255,255,255,.22)}
 .world__header{padding-top:30px}
 .seven__main{padding-top:55px;padding-bottom:66px}
 .seven__headline{font-size:clamp(52px,7.7vw,90px)}
 .seven__logo{width:clamp(190px,25vw,270px)}
 .seven__vertical-label{right:27px}
 .seven__footer{padding-bottom:27px}
 .teatro__body{width:100%;max-width:960px;margin:0 auto;gap:28px;padding-top:45px;padding-bottom:70px;grid-template-columns:1fr 1fr}
 .teatro__headline{font-size:clamp(43px,6vw,72px)}
 .teatro__visual{max-width:340px}
 .teatro__footer{padding-bottom:25px}
 .teatro__dot-grid{mask-image:none}
}
@media (max-width:600px){
 :root{--edge:24px}
 .world__header{padding-top:22px}
 .world__footer{padding-bottom:22px}
 .world__corner-link{width:39px;height:39px}
 .world__index{font-size:8px;letter-spacing:.1em;gap:8px}
 .world__index-line{width:18px}
 .seven__vertical-label{display:none}
 .seven__orb{width:360px;height:360px;top:20%;left:calc(50% - 180px)}
 .world--7d{min-height:620px}
 .world__wash--7d{background-image:url('assets/7d-atmosphere-mobile.webp');background-position:center 44%}
 .seven__main{min-height:0;padding-top:68px;padding-bottom:67px}
 .seven__micro{font-size:9px;letter-spacing:.14em;margin-bottom:26px}
 .seven__logo{width:220px;max-width:80%}
 .seven__rule{margin-block:24px}
 .seven__headline{font-size:clamp(40px,10.5vw,57px);line-height:1.05}
 .seven__description{font-size:13px;line-height:1.6;max-width:300px;margin:19px 0 27px}
 .seven__footer{font-size:8px;letter-spacing:.08em}
 .seven__coordinates{display:none}
 .world__cta{font-size:10px;min-width:205px;padding:13px 13px 13px 17px}
 .teatro__header{min-height:60px}
 .teatro__file{font-size:8px;padding:8px;gap:6px}
 .world--teatro{min-height:770px}
 .teatro__body{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding-top:52px;padding-bottom:54px}
 .teatro__eyebrow{font-size:10px;margin-bottom:18px}
 .teatro__headline{font-size:clamp(41px,10vw,58px);line-height:.985}
 .teatro__description{font-size:12px;margin:16px 0 22px}
 .teatro__visual{align-self:center;max-width:280px;width:min(72vw,280px);transform:rotate(2.5deg)}
 .teatro__toolbar{bottom:-19px;right:-9px;font-size:10px}
 .teatro__footer{font-size:8px;letter-spacing:.035em}
 .teatro__footer>span{display:none}
 .teatro__cross--a{top:35%;right:12%}
}
@media (max-width:370px){
 :root{--edge:19px}
 .world--7d{min-height:610px}
 .world--teatro{min-height:745px}
 .seven__headline{font-size:38px}
 .teatro__headline{font-size:39px}
 .teatro__body{gap:25px;padding-top:42px}
 .teatro__visual{width:min(69vw,255px)}
 .teatro__file{font-size:7px}
}
@media (min-width:1025px) and (max-height:700px){
 .world__header{padding-top:22px}
 .world__footer{padding-bottom:20px}
 .seven__micro{margin-bottom:20px}
 .seven__rule{margin-block:18px}
 .seven__headline{font-size:clamp(32px,4vw,58px)}
 .seven__description{margin:13px 0 19px}
 .teatro__body{padding-top:12px;padding-bottom:15px}
 .teatro__visual{max-width:min(250px,34vh)}
 .teatro__headline{font-size:clamp(28px,3.25vw,52px)}
 .teatro__eyebrow{margin-bottom:14px}
 .teatro__description{margin:11px 0 16px}
}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* ==============================================================
   PREMIUM MOTION LAYER / V2
   All source website files remain unchanged. Strong brand fidelity,
   restrained animation and readable, locally hosted 7D typography.
   ============================================================== */
/* 7D headline uses a bold display treatment, with fluid size and stable kerning. */
.seven__headline {
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 800;
  font-size: clamp(39px, 4.2vw, 75px);
  line-height: 1.095;
  letter-spacing: -.052em;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  max-width: min(100%, 670px);
}
.seven__headline-line {
  display: inline-block;
  max-width: 100%;
}
.seven__headline em {
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-style: normal;
  font-weight: 800;
  font-size: .91em;
  letter-spacing: -.06em;
  line-height: 1.16;
  color: #f6c281;
  background: linear-gradient(110deg, #f3b463 0%, #ffe6a8 48%, #d8964c 100%);
  background-size: 180% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.seven__micro { font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; font-weight: 600; letter-spacing: .12em; }
.seven__description { max-width: 390px; letter-spacing: .003em; }
.seven__logo { transition: transform 850ms var(--ease); transform-origin: left center; }
.world--7d:is(:hover, :focus-visible) .seven__logo {
  transform: translateY(-3px) scale(1.018);
}
.seven__rule { transform-origin:left center; transition: transform 850ms var(--ease); }
.world--7d:is(:hover,:focus-visible) .seven__rule { transform:scaleX(1.95); box-shadow: 0 0 16px rgba(237,162,51,.45); }

/* Two brand-specific cursor spotlights. Non-blocking, pointer inert. */
.world__glow {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 920px;
  height: 920px;
  margin: -460px 0 0 -460px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 650ms var(--ease);
}
.world__glow--7d {
  background: radial-gradient(circle closest-side,
     rgba(229,144,52,.13), rgba(209,109,20,.044) 46%, transparent 71%);
}
.world__glow--teatro {
  width: 680px;
  height: 680px;
  margin: -340px 0 0 -340px;
  background: radial-gradient(circle closest-side,
     rgba(131,36,44,.095), rgba(131,36,44,.035) 48%, transparent 75%);
}
.world:is(:hover,:focus-visible) .world__glow { opacity: 1; }

/* 7D: gallery-like warm beam, drifting orbital lines, spark points. */
.world__wash--7d {
  transform: scale(1.048);
  transition: transform 1200ms var(--ease), opacity 1100ms var(--ease);
  filter: saturate(.94);
}
.world--7d:is(:hover,:focus-visible) .world__wash--7d {
  transform: scale(1.095);
  opacity: 1;
}
.seven__light-beam {
  position:absolute;
  z-index:-1;
  top: -22%;
  right: -36%;
  width: 64%;
  height: 145%;
  transform:rotate(17deg) translateX(100%);
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(243,174,76,.07) 43%,rgba(246,199,124,.11) 49%,transparent 59%);
  opacity:0;
  transition: transform 1650ms var(--ease),opacity 1s var(--ease);
}
.world--7d:is(:hover,:focus-visible) .seven__light-beam {
  transform:rotate(17deg) translateX(-110%);
  opacity:.85;
}
.seven__orb {
  animation: orbital-drift 38s linear infinite;
  transition: border-color 700ms;
}
.world--7d:is(:hover,:focus-visible) .seven__orb { border-color:rgba(248,178,83,.19); }
.seven__orb span:last-child { animation: star-breathe 3.8s ease-in-out infinite; }
.seven__sparkles { position:absolute; z-index:1; inset:0; pointer-events:none; overflow:hidden; }
.seven__sparkles i {
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#fbd092;
  box-shadow:0 0 14px 2px rgba(241,151,49,.4);
  opacity:.2;
  animation: star-breathe 5s ease-in-out infinite;
}
.seven__sparkles i:nth-child(1) { top:18%;left:63%;animation-delay:-1.1s; }
.seven__sparkles i:nth-child(2) { top:36%;left:85%;animation-delay:-3.4s; }
.seven__sparkles i:nth-child(3) { top:68%;left:77%;animation-delay:-2s; }
.seven__sparkles i:nth-child(4) { top:81%;left:26%;animation-delay:-4.5s; }
.seven__sparkles i:nth-child(5) { top:28%;left:23%;animation-delay:-.6s; }
.seven__pulse::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid rgba(237,162,51,.55);
  opacity: 0;
  animation: pulse-ring 3.4s ease-out infinite;
}

/* Panel hover feels physically connected, without covering either logo. */
.world__corner-link { transition: background .4s, color .4s, transform 700ms var(--ease), box-shadow .7s; }
.world--7d:is(:hover,:focus-visible) .world__corner-link {
  transform: rotate(45deg) scale(1.06);
  box-shadow: 0 0 0 7px rgba(237,162,51,.07),0 0 32px rgba(237,162,51,.18);
}
.world__cta {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transition: background .45s,color .45s,border-color .45s,transform .6s var(--ease),box-shadow .5s var(--ease);
}
.world__cta:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(110deg,transparent 24%,rgba(255,255,255,.3) 48%,transparent 70%);
  transform:translateX(-170%);
  transition:transform 1.1s var(--ease);
}
.world:is(:hover,:focus-visible) .world__cta:before { transform:translateX(170%); }
.world:is(:hover,:focus-visible) .world__cta { transform:translateY(-4px); }
.world--7d:is(:hover,:focus-visible) .world__cta--7d {
  background:var(--gold);color:#17100a;border-color:var(--gold);
  box-shadow:0 11px 36px rgba(211,121,30,.22);
}
.world--teatro:is(:hover,:focus-visible) .world__cta--teatro {
  background:#5b1921;border-color:#5b1921;
  box-shadow:0 12px 32px rgba(111,26,35,.2);
}
.world:is(:hover,:focus-visible) .world__cta-arrow { transform:translate(5px,-5px) rotate(5deg); }

/* Teatro: rulers + refined artboard and the subtle sensation of a live canvas. */
.teatro__ruler {
  position:absolute;
  top:110px;
  right:0;
  width:17px;
  height:calc(100% - 175px);
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  align-items:flex-end;
  gap:10px;
  font:8px 'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  letter-spacing:-.025em;
  color:#ad9b94;
  opacity:.68;
  border-left:1px solid rgba(131,36,44,.075);
  pointer-events:none;
}
.teatro__ruler span { transform:rotate(90deg) translateX(-5px); }
.teatro__dot-grid { transition:opacity 900ms var(--ease); }
.world--teatro:is(:hover,:focus-visible) .teatro__dot-grid { opacity:.64; }
.teatro__brand,.teatro__file { position:relative;z-index:2; }
.teatro__brand { transition:transform 700ms var(--ease); }
.world--teatro:is(:hover,:focus-visible) .teatro__brand {transform:translateY(-3px)}
.teatro__visual {
  transform:perspective(900px) rotate(3deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform 900ms var(--ease);
  transform-style:preserve-3d;
}
.world--teatro:is(:hover,:focus-visible) .teatro__visual {
  transform:perspective(900px) rotate(0deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-9px);
}
.teatro__floating-note {
  position:absolute;
  top:-37px;
  right:0;
  z-index:3;
  color:#8e313a;
  background:#fbf7f4;
  border:1px solid #e7d8d2;
  padding:7px 10px;
  font:8px 'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  white-space:nowrap;
  letter-spacing:.05em;
  transform:translateY(7px);
  opacity:0;
  transition:opacity 700ms var(--ease),transform 700ms var(--ease);
}
.world--teatro:is(:hover,:focus-visible) .teatro__floating-note {
  opacity:1;transform:translateY(0);
}
.teatro__artboard {
  transition: outline-color .7s,border-color .7s,box-shadow .85s var(--ease);
}
.world--teatro:is(:hover,:focus-visible) .teatro__artboard {
  outline-color:rgba(131,36,44,.63);
  border-color:rgba(131,36,44,.65);
  box-shadow:8px 12px 0 rgba(131,36,44,.08),22px 28px 47px rgba(67,28,20,.17);
}
.teatro__image-window { position:absolute;inset:0;overflow:hidden; }
.teatro__image {
  transform:scale(1.012);
  transition: transform 1400ms var(--ease);
}
.world--teatro:is(:hover,:focus-visible) .teatro__image {
  transform:scale(1.065) translateY(-1%);
}
.teatro__image-glint {
  position:absolute;inset:0;
  background:linear-gradient(113deg,transparent 37%,rgba(255,245,234,.22) 50%,transparent 63%);
  transform:translateX(-170%);
  pointer-events:none;
  transition:transform 1.25s var(--ease);
}
.world--teatro:is(:hover,:focus-visible) .teatro__image-glint { transform:translateX(170%); }
.teatro__handle { transition:background .45s,box-shadow .45s,transform .45s var(--ease); }
.world--teatro:is(:hover,:focus-visible) .teatro__handle { background:#83242c;box-shadow:0 0 0 4px rgba(131,36,44,.13);transform:scale(1.1); }
.teatro__toolbar { transition:transform 850ms var(--ease),box-shadow 850ms var(--ease); }
.world--teatro:is(:hover,:focus-visible) .teatro__toolbar {
  transform:translate(2px,7px);box-shadow:0 12px 30px rgba(97,34,27,.21);
}
.teatro__cross { transition:opacity .65s,transform 900ms var(--ease); }
.world--teatro:is(:hover,:focus-visible) .teatro__cross--a {opacity:.75;transform:rotate(90deg)}
.world--teatro:is(:hover,:focus-visible) .teatro__cross--b {opacity:.75;transform:rotate(-90deg)}
.teatro__swatches span:not(.teatro__swatches-label){transition:transform 500ms var(--ease)}
.world--teatro:is(:hover,:focus-visible) .teatro__swatches span:not(.teatro__swatches-label){transform:translateY(-3px)}
.gateway__seam {box-shadow:0 0 16px rgba(255,242,224,.09);}
.gateway__seam:after {
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:8px;height:8px;
  border:1px solid rgba(243,193,136,.7);
  background:#22140f;
  transform:translate(-50%,-50%) rotate(45deg);
  box-shadow:0 0 0 5px rgba(7,7,7,.12);
}

/* Load-in: consistent order, no white flash or heavy animation libraries. */
@media (prefers-reduced-motion:no-preference) {
  .seven__header,.teatro__header {animation:premium-intro 850ms both cubic-bezier(.2,.8,.25,1);}
  .seven__main > *,.teatro__copy > * {animation:premium-intro 900ms both cubic-bezier(.2,.8,.25,1);}
  .seven__main > :nth-child(1),.teatro__copy > :nth-child(1){animation-delay:110ms}
  .seven__main > :nth-child(2),.teatro__copy > :nth-child(2){animation-delay:185ms}
  .seven__main > :nth-child(3),.teatro__copy > :nth-child(3){animation-delay:250ms}
  .seven__main > :nth-child(4),.teatro__copy > :nth-child(4){animation-delay:310ms}
  .seven__main > :nth-child(5),.teatro__copy > :nth-child(5){animation-delay:365ms}
  .seven__main > :nth-child(6),.teatro__copy > :nth-child(6){animation-delay:425ms}
  .teatro__visual {animation:premium-artboard-intro 1050ms 170ms both var(--ease);}
}
@keyframes premium-intro {from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes premium-artboard-intro {from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@keyframes orbital-drift {from{rotate:0deg}to{rotate:360deg}}
@keyframes star-breathe {0%,100%{opacity:.14;scale:.8}50%{opacity:.75;scale:1.28}}
@keyframes pulse-ring {0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.6);opacity:0}}

/* Pause ambient motion while a panel is off-screen or the tab is hidden. */
.world.is-idle *,
html.is-hidden .gateway *{animation-play-state:paused!important}

/* Responsive: consistent, legible 7D copy and no forced hover motion on touch. */
@media (min-width:1025px) and (max-width:1400px){
  .seven__headline { font-size:clamp(39px,4.1vw,66px); }
}
@media (max-width:1024px){
  .seven__headline {font-size:clamp(49px,7.25vw,76px)}
  .teatro__ruler{display:none}
  .gateway__seam:after{display:none}
  .world__glow{display:none}
  .teatro__floating-note{display:none}
}
@media (max-width:600px){
  .seven__headline {font-size:clamp(39px,10.7vw,54px);line-height:1.115;letter-spacing:-.049em}
  .seven__headline em {font-size:.90em;letter-spacing:-.06em}
  .seven__micro {font-size:9px;letter-spacing:.07em}
  .seven__sparkles i:nth-child(n+4){display:none}
  .seven__light-beam {display:none}
}
@media (max-width:370px){
  .seven__headline{font-size:clamp(36px,10.6vw,41px)}
  .seven__headline em{font-size:.9em}
}
@media (min-width:1025px) and (max-height:700px){
  .seven__headline{font-size:clamp(34px,3.7vw,58px)}
}
@media (hover:none),(pointer:coarse){
  .world__glow{display:none}
  .teatro__visual{transform:rotate(2deg)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .seven__orb{rotate:0deg}
  .world__wash--7d{transform:none!important}
  .teatro__visual{transform:rotate(2deg)!important}
  .teatro__image{transform:none!important}
  .seven__sparkles i{opacity:.2}
  .seven__pulse{box-shadow:none}
}
/* Panel-relative typography: the word never clips during 56/44 expansion. */
.world--7d { container-type:inline-size; }
@media (min-width:1025px) {
  .seven__headline { font-size:clamp(34px,7.8cqw,72px); }
}
@media (max-width:1024px) and (min-width:601px) {
  .seven__headline { font-size:clamp(42px,6.8cqw,71px); }
}
@media (max-width:600px) {
  .seven__headline { font-size:clamp(30px,9vw,40px); }
  .seven__headline em { font-size:.88em;letter-spacing:-.055em; }
}
@media (max-width:370px) {
  .seven__headline { font-size:clamp(29px,9.25vw,34px); }
  .seven__headline em { font-size:.86em; }
}

/* ==============================================================
   V3 · Authentic Teatro SVG + 7D headline correction
   The two source websites are references. No source website is edited.
   ============================================================== */
/* Full-width split headline sizing: typography scales relative to each panel. */
.world--7d { container-type: inline-size; }
.seven__headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .115em;
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 800;
  font-size: clamp(33px, 7.55cqw, 77px);
  line-height: 1;
  letter-spacing: -.043em;
  text-wrap: nowrap;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}
.seven__headline-line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}
.seven__headline .seven__headline-line--accent {
  font-family: inherit;
  font-weight: 800;
  font-size: .79em;
  line-height: 1.13;
  letter-spacing: -.052em;
}
.teatro__brand { gap:0; min-width:0; }
.teatro__logo-svg {
  display: block;
  width: clamp(44px, 4.35vw, 65px);
  height: auto;
  aspect-ratio: 176.6 / 140.4;
  object-fit: contain;
  transform-origin: left center;
  transition: transform .7s var(--ease);
  filter: drop-shadow(0 5px 12px rgba(131,36,44,.035));
}
.world--teatro:is(:hover,:focus-visible) .teatro__logo-svg {
  transform: translateY(-2px) rotate(-3deg) scale(1.045);
}
@media (min-width: 1025px) and (max-width: 1250px) {
  .seven__headline { font-size: clamp(31px, 7.4cqw, 60px); }
}
@media (max-width: 1024px) {
  .seven__headline { font-size: clamp(38px, 7.5cqw, 68px); }
  .teatro__logo-svg { width:clamp(48px,6vw,63px); }
}
@media (max-width: 600px) {
  .seven__headline { font-size: clamp(32px, 9cqw, 44px); gap:.18em; }
  .seven__headline .seven__headline-line--accent { font-size:.79em; }
  .teatro__logo-svg { width:clamp(45px,14vw,60px); }
}
@media (max-width: 370px) {
  .seven__headline { font-size: clamp(29px, 9cqw, 36px); }
}
@media (prefers-reduced-motion: reduce) {
  .teatro__logo-svg { transition:none; }
}

/* ===============================================================
   V4 TYPOGRAPHY — explicit per-brand system
   7D: Inter · Teatro: Poppins
   Both font families are requested from Google Fonts in index.html.
   All brand source files and hover behavior remain unchanged.
   =============================================================== */
.world--7d,
.world--7d * {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.world--teatro,
.world--teatro * {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
/* Inter has measured, balanced letter widths; avoid cramped display typography. */
.seven__headline {
  font-weight: 800;
  font-size: clamp(34px, 8.4cqw, 79px);
  line-height: 1.015;
  letter-spacing: -.052em;
  gap: .11em;
}
.seven__headline .seven__headline-line--accent {
  font-size: .88em;
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.09;
}
.seven__micro {
  font-weight: 600;
  letter-spacing: .16em;
}
.teatro__headline {
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.075;
}
.teatro__headline em { font-weight: 700; letter-spacing:-.055em; }
.teatro__eyebrow, .teatro__file, .teatro__ruler, .teatro__floating-note,
.teatro__artboard-label, .teatro__picture-caption, .teatro__toolbar {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
@media (min-width: 1025px) and (max-width: 1250px) {
  .seven__headline { font-size: clamp(33px, 8.2cqw, 65px); }
}
@media (max-width: 1024px) {
  .seven__headline { font-size: clamp(39px, 8.4cqw, 72px); }
}
@media (max-width: 600px) {
  .seven__headline { font-size: clamp(32px, 9.4cqw, 46px); }
  .seven__headline .seven__headline-line--accent { font-size: .86em; }
  .teatro__headline { font-size: clamp(39px, 10vw, 54px); }
}
@media (max-width: 370px) {
  .seven__headline { font-size: clamp(29px, 9.2cqw, 37px); }
  .teatro__headline { font-size: 38px; }
}
