.protocol-sim,.protocol-page {
  --protocol-ink:#0B192C;
  --protocol-paper:#F2EBDD;
  --protocol-gold:#d4bd94;
  --protocol-muted:#c4cad4;
  color:var(--protocol-paper);
  background:var(--protocol-ink);
  font:16px/1.62 Inter,system-ui,sans-serif;
}
.protocol-sim *, .protocol-page * { box-sizing:border-box }
.protocol-sim [hidden], .protocol-page [hidden] { display:none !important }
.protocol-sim { display:grid;isolation:isolate;padding-top:86px }
.protocol-scene,.protocol-console { grid-area:1 / 1 }
.protocol-scene { position:relative;min-width:0;min-height:clamp(590px,52vw,820px);overflow:hidden }
.protocol-scene img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 54%;display:block }
.protocol-scene::after {
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0b192cf7 0%,#0b192ce8 34%,#0b192cbf 49%,#0b192c2b 73%,transparent),
    linear-gradient(0deg,#0b192caa,transparent 26%);
}
.protocol-caption { position:absolute;z-index:1;inset:auto clamp(28px,5vw,85px) 28px auto;display:flex;gap:24px;color:#f2ebdd;font-size:10px;letter-spacing:.19em;border-top:1px solid #e8d9bb6b;padding-top:10px }
.protocol-console { z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:min(100%,clamp(580px,50vw,770px));padding:52px clamp(28px,5vw,85px);min-width:0 }
.protocol-console [data-screen="scene"],.protocol-console [data-screen="result"] {
  background:#0b192c;
  padding:clamp(16px,3vw,26px);
  border:1px solid #d4bd9460;
}
.protocol-console h2 { max-width:13ch }
.protocol-hero-actions .protocol-button:hover { background:#ead6ad;color:var(--protocol-ink);border-color:#ead6ad }
.protocol-console h2,.protocol-console h3,.protocol-page h1,.protocol-page h2,.protocol-page h3 {
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:.99;color:inherit;
}
.protocol-console h2 { font-size:clamp(40px,4.6vw,74px);letter-spacing:-.035em;margin:14px 0 20px }
.protocol-console h3 { font-size:clamp(34px,4vw,60px);margin:10px 0 15px }
.protocol-label { font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--protocol-gold);margin:0 }
.protocol-lead { color:var(--protocol-muted);max-width:44ch;margin:0 0 24px }
.protocol-actions { display:flex;gap:12px 21px;align-items:center;flex-wrap:wrap;margin:18px 0 12px }
.protocol-button,.protocol-link,.protocol-choice {
  cursor:pointer;font:inherit;min-height:44px;text-decoration:none;border-radius:0;
}
.protocol-button { display:inline-flex;align-items:center;justify-content:center;background:var(--protocol-paper);color:var(--protocol-ink);border:1px solid var(--protocol-paper);padding:10px 20px;font-size:14px;font-weight:600;transition:background .25s,color .25s }
.protocol-button:hover { background:transparent;color:var(--protocol-paper) }
.protocol-link { border:0;background:transparent;color:inherit;padding:8px 0;text-decoration:underline;text-underline-offset:5px;font-size:13px }
.protocol-note { color:var(--protocol-muted);font-size:12px;margin:10px 0 }
.protocol-offer-link { color:var(--protocol-gold);font-size:13px;text-decoration:none;margin-top:20px;border-bottom:1px solid #d4bd9470 }
.protocol-console [data-score-panel],.protocol-console [data-screen] { width:100%;min-width:0 }
.protocol-instruments { display:flex;align-items:baseline;gap:14px;color:var(--protocol-muted);font-size:12px }
.protocol-instruments [data-score] { margin-left:auto;color:var(--protocol-paper) }
.protocol-instruments [data-clock] { min-width:4ch;font-variant-numeric:tabular-nums;color:var(--protocol-gold) }
.protocol-gauge { height:3px;margin:10px 0 20px;background:#ffffff28 }
.protocol-gauge span { display:block;height:100%;width:50%;background:var(--protocol-gold);transition:width .52s cubic-bezier(.18,.7,.25,1),background .32s }
.protocol-gauge.is-friction span { background:#efa899 }
.protocol-choices { display:grid;gap:8px;margin:16px 0 }
.protocol-choice { color:var(--protocol-paper);text-align:left;background:#ffffff09;border:1px solid #f2ebdd35;padding:10px 13px;font-size:14px;transition:background .2s,border-color .2s }
.protocol-choice:hover,.protocol-choice[aria-pressed=true] { border-color:var(--protocol-gold);background:#ffffff16 }
.protocol-choice:disabled { cursor:default;opacity:.72 }
.protocol-feedback { padding:12px 15px;border-left:2px solid var(--protocol-gold);background:#ffffff0b }
.protocol-feedback.is-friction { border-left-color:#efa899 }
.protocol-feedback p { margin:0 0 10px }
.protocol-share-input { width:100%;padding:10px;font:inherit }
.protocol-sim :focus-visible,.protocol-page :focus-visible { outline:2px solid #f1cf91;outline-offset:4px }
.protocol-page { margin:0 }
.protocol-page a { color:inherit }
.protocol-page .protocol-button { color:var(--protocol-ink) }
.protocol-page .protocol-button:hover { color:var(--protocol-paper) }
.protocol-shell { width:min(1080px,calc(100% - 40px));margin:0 auto }
.protocol-masthead { padding:24px 0;border-bottom:1px solid #f2ebdd33;font-size:14px }
.protocol-masthead a { text-decoration:none }
.protocol-intro { padding:clamp(45px,8vw,104px) 0 44px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center }
.protocol-intro h1 { font-size:clamp(44px,6vw,85px);margin:14px 0 20px }
.protocol-intro img { width:100%;height:auto;display:block;border:1px solid #d4bd9455 }
.protocol-price { color:var(--protocol-gold);font-size:15px;margin:18px 0 }
.protocol-pillars { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 35px;padding:10px 0 50px }
.protocol-pillars article { border-top:1px solid #d4bd9463;padding:16px 0 }
.protocol-pillars h3 { font-size:32px;margin:0 0 10px }
.protocol-pillars p,.protocol-page .protocol-lead { color:var(--protocol-muted) }
.protocol-admission { border-top:1px solid #d4bd9463;padding:40px 0 55px;scroll-margin-top:12px }
.protocol-admission h2 { font-size:clamp(38px,5.5vw,59px);margin:12px 0 20px }
.protocol-form { max-width:660px;display:grid;gap:9px }
.protocol-form label { margin-top:8px }
.protocol-form input:not([type=checkbox]),.protocol-form textarea,.protocol-form select {
  width:100%;font:inherit;background:#14263c;color:var(--protocol-paper);border:1px solid #f2ebdd55;padding:10px 12px;border-radius:0;
}
.protocol-form textarea { min-height:96px;resize:vertical }
.protocol-form .protocol-button { justify-self:start;margin-top:12px }
.protocol-trap { position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%) }
.protocol-footer { border-top:1px solid #f2ebdd33;padding:24px 0 35px;font-size:13px }
@media(max-width:850px){
  .protocol-sim { padding-top:76px }
  .protocol-scene { align-self:start;min-height:0;height:clamp(345px,69vw,455px) }
  .protocol-scene img { object-position:90% 54% }
  .protocol-scene::after { background:linear-gradient(180deg,transparent 34%,#0b192c50 51%,#0b192ce8 73%,#0b192c 100%) }
  .protocol-caption { display:none }
  .protocol-console { width:100%;padding:clamp(205px,43vw,320px) max(22px,env(safe-area-inset-right)) 34px max(22px,env(safe-area-inset-left)) }
  .protocol-console h2 { max-width:16ch }
  .protocol-intro { grid-template-columns:1fr }
  .protocol-intro img { max-height:310px;object-fit:cover }
}
@media(max-width:540px){.protocol-pillars{grid-template-columns:1fr;gap:6px}.protocol-console h2{font-size:clamp(36px,9.8vw,50px)}.protocol-instruments{gap:8px}}
@media(prefers-reduced-motion:reduce){.protocol-sim *,.protocol-page *{transition:none !important;animation:none !important}}

.protocol-hero-actions [data-start-actions] { display:flex;gap:0 14px;flex-wrap:wrap }
.protocol-debrief { display:flex;flex-wrap:wrap;gap:10px }
.protocol-button-secondary { background:transparent;color:var(--protocol-paper);border-color:#f2ebdd60 }
.protocol-button-secondary:hover { background:var(--protocol-paper);color:var(--protocol-ink) }
.studio-offers { background:#f2ebdd;color:#0b192c;padding:clamp(35px,5.2vw,76px) 0 }
.studio-offers .protocol-label { color:#64532f }
.studio-offers h1 { font-size:clamp(40px,5.5vw,76px);margin:10px 0 24px }
.studio-offer-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px }
.studio-offer { display:flex;flex-direction:column;align-items:flex-start;border:1px solid #0b192c30;padding:22px;min-width:0 }
.studio-offer h2 { font-size:clamp(30px,3.1vw,43px);margin:8px 0 12px }
.studio-offer p:not(.protocol-label) { font-size:14px;margin:0 0 18px }
.studio-offer a { margin-top:auto;padding:9px 0;min-height:44px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px }
.studio-offer-featured { background:#0b192c;color:#f2ebdd }
.studio-offer-featured .protocol-label { color:#d4bd94 }
.studio-offer-featured a { background:#f2ebdd;color:#0b192c;text-decoration:none;padding:10px 14px }
.protocol-timeline { padding:0 0 24px }
.protocol-timeline h2,.protocol-charter h2 { font-size:clamp(38px,5vw,62px);margin:10px 0 22px }
.protocol-charter { margin:12px 0 34px;padding:clamp(22px,4vw,42px);background:#f2ebdd;color:#0b192c }
.protocol-charter .protocol-label { color:#64532f }
.protocol-charter dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 8px }
.protocol-charter dl div { border-top:1px solid #0b192c40;padding-top:12px }
.protocol-charter dt { font-weight:600 }
.protocol-charter dd { margin:7px 0 0 }
.protocol-proof { color:#c4cad4;margin:0 0 40px }
.protocol-consent { position:fixed;inset:auto 14px 14px;z-index:40;max-width:580px;margin:auto;padding:14px 16px;border:1px solid #d4bd9466;background:#0b192c;color:#f2ebdd;box-shadow:0 8px 24px #0005;font-size:13px }
.protocol-consent p { margin:0 0 8px }
.protocol-consent button { min-height:44px }
@media(max-width:740px){.studio-offer-grid,.protocol-charter dl{grid-template-columns:1fr}}
@media(max-width:540px){.protocol-hero-actions{align-items:flex-start;flex-direction:column;gap:3px}}
