/* ==========================================================================
   PRIVATE WORLD STUDIO — site stylesheet (V15.1)

   V15.0 shipped this as twenty separate <style> blocks scattered through
   the head and the body. They are concatenated here in their original
   document order, so the cascade — including every later block that
   deliberately overrides an earlier one — resolves exactly as before.

   Section banners mark where each original block began, so any rule can
   still be traced back to the revision that introduced it.
   ========================================================================== */



/* ==========================================================================
   ORIGIN: base
   ========================================================================== */
:root{
  --bg:#080808;
  --bg-soft:#0e0f10;
  --panel:#111214;
  --panel-soft:#151618;
  --line:rgba(255,255,255,.085);
  --text:#f4eee6;
  --muted:#c9bfb4;
  --soft:#958a7f;
  --champ:#d3ae89;
  --radius:28px;
  --shadow:0 28px 90px rgba(0,0,0,.38);
  --content:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% 8%,rgba(145,83,58,.07),transparent 22%),
    radial-gradient(circle at 92% 9%,rgba(80,102,148,.07),transparent 25%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
img,video{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
.skip-link{position:fixed;z-index:200;top:12px;left:12px;min-height:44px;padding:11px 16px;border-radius:999px;background:var(--text);color:#111;font-size:.82rem;font-weight:600;transform:translateY(-160%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:none}
:where(a,button,summary,input:not([type="radio"]),textarea,select):focus-visible{outline:2px solid var(--champ);outline-offset:3px}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-synthesis:none}
/* LOCKED TITLE SYSTEM — visual V11.8/iPad reference. Explicit Georgia prevents webfont/fallback drift across devices. */
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-synthesis:none}
.container{width:min(var(--content),calc(100% - 36px));margin:auto}
.section{padding:96px 0;border-top:1px solid var(--line)}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--champ)}
.lead{font-size:1.04rem;line-height:1.8;color:var(--muted)}
.panel{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.006)),var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:.94rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:.2s ease}
.button.primary{background:var(--text);color:#111}
@media(hover:hover){.button:hover{transform:translateY(-1px)}}
/* Header */
.header{position:fixed;inset:0 0 auto 0;z-index:80;background:linear-gradient(to bottom,rgba(7,7,7,.78),rgba(7,7,7,.40) 65%,transparent);backdrop-filter:blur(6px)}
.header-inner{width:min(1320px,calc(100% - 36px));margin:auto;min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
.brand{display:flex;flex-direction:column;line-height:.88;font-size:1.08rem;letter-spacing:.15em;text-transform:uppercase}
.brand span{font-family:Inter,sans-serif;font-size:.55rem;letter-spacing:.34em;color:#b4aa9f;margin-top:7px}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:24px}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-size:.91rem;color:#ded5cb;position:relative}
.desktop-nav a:after{content:"";position:absolute;height:1px;left:2px;right:calc(100% - 2px);bottom:3px;background:var(--champ);transition:.2s ease}
.desktop-nav a:hover:after{right:0}
.header-commission{min-height:44px;padding:9px 16px;background:rgba(244,238,230,.96);color:#111;font-size:.82rem}
/* Mobile nav */
.hamburger{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:50%;align-items:center;justify-content:center;gap:4px;flex-direction:column;background:rgba(0,0,0,.18);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hamburger span{width:15px;height:1px;background:#fff}
.mobile-menu{position:fixed;inset:0;z-index:110;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(7,7,7,.992);opacity:0;visibility:hidden;pointer-events:none;transition:.25s ease}
.mobile-menu:target{opacity:1;visibility:visible;pointer-events:auto}
body.menu-open{overflow:hidden}
.mobile-menu-inner{min-height:100%;width:min(100%,680px);margin:auto;padding:22px 24px 28px;display:grid;grid-template-rows:auto 1fr auto}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between}
.mobile-close{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.45rem;color:#fff;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mobile-links{display:grid;align-content:center;gap:17px}
.mobile-links a{display:flex;align-items:center;min-height:44px;font-family:"Cormorant Garamond",Georgia,serif;font-size:2.5rem;line-height:1;color:#f0e9e1}
.mobile-links a:hover{color:var(--champ)}
.mobile-bottom{display:grid;gap:12px}
.mobile-bottom small{color:var(--soft)}
/* Hero */
.hero{position:relative;min-height:96svh;display:grid;align-items:end;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(1.08) saturate(1.06)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.84),rgba(8,8,8,.33) 34%,rgba(8,8,8,.09) 67%,rgba(8,8,8,.16)),linear-gradient(90deg,rgba(8,8,8,.70) 0%,rgba(8,8,8,.34) 38%,rgba(8,8,8,.10) 100%)}
.hero-inner{position:relative;z-index:2;width:min(1320px,calc(100% - 36px));margin:auto;padding:138px 0 58px}
.hero-copy{max-width:650px}
.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,8vw,5.9rem);line-height:.87;letter-spacing:-.052em;margin:14px 0 19px;font-weight:700;font-synthesis:none}
.hero-copy h1 em{font-style:normal;color:var(--champ)}
.hero-copy p{max-width:560px}
.hero-actions{margin-top:27px}
/* What that means — single transition after the hero */
.promise{position:relative;padding:78px 0 82px;border-top:0;margin-top:-2px;background:#080808}
.promise:before{content:"";position:absolute;left:0;right:0;top:-110px;height:110px;pointer-events:none;background:linear-gradient(180deg,rgba(8,8,8,0),#080808 92%)}
.promise-layout{display:flex;justify-content:flex-end}
.promise-meaning{position:relative;display:grid;gap:17px;width:min(44%,760px);max-width:760px;margin-left:auto;padding:0 26px 0 0;text-align:right}
.promise-meaning:after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,rgba(208,174,137,.06),rgba(208,174,137,.45),rgba(208,174,137,.12))}
.promise-meaning .eyebrow{font-size:.68rem;color:#bba891}
.promise-points{display:grid;gap:11px;justify-items:end}
.promise-point{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-synthesis:none;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.16;letter-spacing:-.024em;color:var(--champ)}
/* Shared section heading */
.section-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:30px}
.section-head h2{font-size:clamp(2.7rem,5vw,4.65rem);line-height:.94;letter-spacing:-.04em;margin-top:11px}
.section-head p{max-width:560px}
.section-head .lead strong{display:block;margin-top:8px;color:var(--text);font-weight:700}
.experience-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.experience-card{position:relative;min-height:190px;padding:0;border:1px solid var(--line);border-radius:22px;background:#0d0e10;overflow:hidden;box-shadow:0 18px 54px rgba(0,0,0,.24)}
.experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.02) 22%,rgba(7,7,7,.18) 48%,rgba(7,7,7,.92) 100%);pointer-events:none}
.experience-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.01)}
.experience-card .experience-copy{position:relative;z-index:2;min-height:190px;padding:18px 17px;display:flex;flex-direction:column;justify-content:flex-end}
.experience-card b{display:block;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.experience-card p{margin-top:7px;color:var(--muted);font-size:.84rem;line-height:1.48}
.experience-card.appearance img{object-position:50% 37%}
.experience-card.personality img{object-position:50% 39%}
.experience-card.voice img{object-position:72% 50%}
.experience-card.connection img{object-position:50% 40%}
.experience-card.cinematic-world img{object-position:52% 38%}
/* Ruby showcase */
.ruby-intro{display:grid;grid-template-columns:1fr;gap:0;align-items:end;margin-bottom:28px;max-width:900px}
.ruby-title-wrap .eyebrow{margin-bottom:12px}
.ruby-title{font-size:clamp(3rem,5.6vw,5.4rem);line-height:.9;letter-spacing:-.045em}
.ruby-title .top{display:block;color:var(--text)}
.ruby-title .bottom{display:block;color:var(--champ)}
.ruby-grid{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:20px;align-items:stretch}
.ruby-film-stage{position:relative;padding:22px;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),#0c0d10;box-shadow:var(--shadow);display:grid;align-content:start;justify-items:center;gap:14px}
.ruby-film-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(120,72,166,.14),transparent 38%),radial-gradient(circle at 70% 68%,rgba(208,174,137,.14),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));pointer-events:none}
.ruby-video-shell{position:relative;z-index:2;width:min(100%,340px);aspect-ratio:9/16;border-radius:24px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 58px rgba(0,0,0,.46)}
.ruby-video{width:100%;height:100%;object-fit:cover;background:#000}
.ruby-video-caption{position:static;z-index:3;width:min(100%,340px);margin:0 auto;display:grid;gap:4px;text-align:left;color:var(--muted)}
.ruby-video-caption strong{font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.1;letter-spacing:.04em;color:var(--text)}
.ruby-video-caption span{font-size:.72rem;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--muted)}
.ruby-side{display:grid;grid-template-rows:auto auto;gap:20px}
.ruby-copy-card{padding:24px 24px 22px;display:grid;gap:12px}
.ruby-copy-card h3{font-size:2rem;line-height:.92;color:var(--text)}
.ruby-copy-card h3 span{display:block;color:var(--champ)}
.ruby-copy-card p{color:var(--muted);opacity:1}
.ruby-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ruby-proof{min-height:230px}
.visual-proof{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#0b0c0d}
.visual-proof img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visual-proof:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.02) 35%,rgba(7,7,7,.78) 100%);pointer-events:none}
.visual-proof .proof-label{position:absolute;z-index:2;left:20px;right:20px;bottom:17px}
.visual-proof .proof-label strong{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1;color:var(--text)}
.ruby-moment img{object-position:52% 48%}
.ruby-world img{object-position:50% 50%}
/* How It Works — narrative timeline */
.privacy-shell{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:72px;align-items:start}
.privacy-intro{position:sticky;top:118px;display:grid;gap:19px}
.privacy-intro h2{font-size:clamp(3.35rem,5.3vw,5.3rem);line-height:.9;letter-spacing:-.045em;max-width:560px}
.privacy-intro h2 span{display:block;color:var(--champ)}
.privacy-intro .lead{max-width:510px;font-size:1rem;line-height:1.72}
.privacy-commitments{border-top:1px solid rgba(208,174,137,.28)}
.privacy-commitment{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:25px 0 27px;border-bottom:1px solid rgba(208,174,137,.18)}
.privacy-commitment .n{padding-top:6px;color:var(--champ);font-size:.68rem;letter-spacing:.16em}
.privacy-commitment h3{font-size:1.62rem;line-height:.98;letter-spacing:-.025em;color:var(--text)}
.privacy-commitment p{margin-top:9px;max-width:640px;color:var(--muted);font-size:.94rem;line-height:1.62}
/* V13.14 — Terms & Conditions integration; retains V13.13 Safari width fix */
.privacy-film{
  position:relative;
  width:min(100%,560px);
  aspect-ratio:2/1;
  overflow:hidden;
  isolation:isolate;
  margin-top:2px;
  background:#070707;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 87%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 87%,transparent 100%);
}
.privacy-film img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:52% 50%;
  filter:saturate(.84) contrast(1.03) brightness(.88);
}
@media(max-width:820px){#privacy .privacy-shell{gap:26px}
#privacy .privacy-film{width:100%;max-width:none;aspect-ratio:1.92}}
@media(max-width:560px){#privacy{padding-bottom:46px}
#privacy .privacy-shell{gap:18px}
#privacy .privacy-film{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    margin-top:1px;
    aspect-ratio:1.72;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 86%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 86%,transparent 100%);
  }
#privacy .privacy-commitments{border-top:0}
#privacy .privacy-commitment:first-child{padding-top:10px}}
.worlds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:stretch}
.world-card{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#0b0c0d;box-shadow:0 18px 54px rgba(0,0,0,.22);min-height:420px}
.world-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.005)}
.world-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.02) 30%,rgba(7,7,7,.14) 55%,rgba(7,7,7,.88) 100%);pointer-events:none}
.world-card-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}
.world-card-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;line-height:.96;letter-spacing:-.025em;color:var(--text)}
.world-card-copy p{margin-top:7px;color:var(--muted);font-size:.84rem;line-height:1.45;max-width:280px}
.world-card.pale img{object-position:55% 46%}
.world-card.wild img{object-position:50% 42%}
.world-card.eclipse img{object-position:56% 48%}
.world-card.idea img{object-position:50% 50%}
.world-card.idea{background:radial-gradient(120% 120% at 18% 10%,rgba(211,174,137,.11),transparent 42%),radial-gradient(120% 120% at 82% 78%,rgba(141,106,78,.10),transparent 46%),linear-gradient(180deg,#11100f 0%,#0d0d0d 48%,#090909 100%)}
.world-card.idea:before{content:none}
.world-card.idea:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.02) 12%,rgba(7,7,7,.18) 48%,rgba(7,7,7,.90) 100%);pointer-events:none}
.world-card.idea .world-card-copy p{max-width:none}
.world-card.idea .world-card-copy .tiny{display:block;margin-bottom:10px;color:var(--champ);font-size:.6rem;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.world-card.idea .world-card-copy p strong{display:block;margin-bottom:2px;color:var(--text);font-weight:500}
.worlds-outro{margin:40px auto 0;width:100%;max-width:none;text-align:center;display:grid;justify-items:center;gap:9px}
.worlds-outro strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.2vw,3rem);font-weight:700;line-height:.98;letter-spacing:-.04em;color:var(--champ);white-space:nowrap}
.worlds-outro span{display:block;margin:0 auto;max-width:620px;color:var(--muted);font-size:.98rem;line-height:1.55;text-align:center}
.worlds-commission-link{display:flex;align-items:baseline;justify-content:center;gap:12px;max-width:680px;margin:28px auto 0;padding-top:20px;border-top:1px solid rgba(211,174,137,.14);color:var(--soft);font-size:.78rem;line-height:1.5;text-align:center}
.worlds-commission-link a{color:var(--champ);font-size:.78rem;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid rgba(211,174,137,.34);padding-bottom:2px}
.worlds-commission-link a:hover{color:var(--text);border-bottom-color:rgba(244,238,230,.55)}
.beyond-feature{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;align-items:center;min-width:0}
#beyond{overflow:hidden}
.beyond-copy,.beyond-visual{min-width:0}
.beyond-copy{display:grid;align-content:center;gap:0;padding-right:8px}
.beyond-copy h2{font-size:clamp(3.15rem,4.65vw,4.55rem);line-height:.94;letter-spacing:-.045em;margin-top:16px;color:var(--text)}
.beyond-copy h2 span{display:block;white-space:nowrap}
.beyond-copy .lead{margin-top:24px;max-width:500px;font-size:1rem;line-height:1.72;color:var(--muted)}
.beyond-visual{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#0b0c0e;box-shadow:var(--shadow);aspect-ratio:1.35/1}
.beyond-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.faq{display:grid;gap:10px}
.faq summary{cursor:pointer;font-size:1rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin-top:12px;max-width:760px;opacity:.78}
.commission-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}
.commission-intro{padding:28px}
.form-shell{padding:28px}
.footer{padding:48px 0 60px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.15fr;gap:22px}
.hero-copy h1 .ref-line{display:block}
.hero-copy h1 em{display:block}
@media(min-width:821px){#worlds .section-head{align-items:end;margin-bottom:28px}
#worlds .worlds-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;justify-items:stretch;visibility:visible;opacity:1}
#worlds .world-card{aspect-ratio:auto;min-height:468px;height:468px}
#worlds .world-card img{display:block}
#worlds .world-card.pale img{object-position:54% 45%}
#worlds .world-card.wild img{object-position:52% 40%}
#worlds .world-card.eclipse img{object-position:55% 48%}
#worlds .worlds-outro{margin-top:34px}}
@media(max-width:1100px){.experience-grid{grid-template-columns:repeat(3,1fr)}
.ruby-intro,.ruby-grid,.commission-grid{grid-template-columns:1fr}
.ruby-grid{gap:18px}
.beyond-feature{gap:34px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.beyond-copy h2{font-size:3.25rem}
.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.desktop-nav,.header-commission{display:none}
.hamburger{display:flex;justify-self:end}
.header-inner{grid-template-columns:auto 1fr auto;min-height:62px}
.hero{min-height:88svh}
.hero-bg{object-position:60% center}
.hero-inner{padding:108px 0 38px}
.hero-copy{max-width:100%}
.hero-copy h1{font-size:2.95rem;max-width:350px}
.hero-copy p{font-size:.96rem;line-height:1.62;max-width:340px}
.hero-actions{display:flex;justify-content:flex-start}
.hero-actions .button{width:auto;min-height:44px;padding:10px 17px;font-size:.86rem}
.section{padding:72px 0}
.promise{padding:58px 0 62px}
.promise-layout{display:flex;justify-content:flex-end}
.promise-meaning{width:min(62%,620px);max-width:620px;margin-left:auto;padding:0 22px 0 0;gap:14px;text-align:right}
.promise-meaning:after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,rgba(208,174,137,.06),rgba(208,174,137,.42),rgba(208,174,137,.12))}
.promise-meaning .eyebrow{font-size:.62rem;letter-spacing:.2em}
.promise-points{grid-template-columns:1fr;gap:9px;justify-items:end}
.promise-point{font-size:1.25rem;line-height:1.18}
.section-head{grid-template-columns:1fr}
.experience-grid{grid-template-columns:1fr 1fr}
.experience-card{aspect-ratio:4/3;min-height:0}
.experience-card .experience-copy{height:100%;min-height:0}
.ruby-intro{gap:18px;margin-bottom:22px}
.ruby-title{font-size:2.95rem}
.ruby-film-stage{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    justify-items:stretch;
    overflow:visible;
  }
.ruby-film-stage:before{display:none}
.ruby-video-shell{
    width:100%;
    max-width:none;
    border-radius:20px;
    margin:0;
  }
.ruby-video-caption{position:static;width:100%;margin-top:11px;left:auto;bottom:auto}
.ruby-proof-grid{grid-template-columns:1fr 1fr;gap:10px}
.ruby-proof{min-height:150px;border-radius:18px}
.visual-proof .proof-label{left:12px;right:12px;bottom:12px}
.visual-proof .proof-label strong{font-size:1.15rem}
.ruby-moment img{object-position:53% 50%}
.ruby-world img{object-position:50% 50%}
.ruby-proof:before{inset:10px;border-radius:12px}
.privacy-shell{grid-template-columns:1fr;gap:38px}
.privacy-intro{position:static;gap:16px}
.privacy-intro h2{font-size:3.15rem;max-width:620px}
.privacy-intro .lead{max-width:620px}
.privacy-commitment{grid-template-columns:44px minmax(0,1fr);gap:15px;padding:21px 0 23px}
.privacy-commitment h3{font-size:1.48rem}
.worlds-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.beyond-feature{grid-template-columns:1fr;gap:28px}
.beyond-copy{padding-right:0}
.beyond-copy h2{font-size:3.05rem;max-width:640px}
.beyond-copy .lead{margin-top:22px;max-width:560px}
.beyond-visual{aspect-ratio:4/3;border-radius:22px}
.worlds-outro{margin-top:28px;width:100%;max-width:100%;gap:8px;text-align:center}
.worlds-outro strong{font-size:1.85rem;line-height:1;white-space:normal}
.worlds-outro span{font-size:.88rem;line-height:1.48;max-width:320px;margin:0 auto;text-align:center}
.worlds-commission-link{flex-wrap:wrap;gap:5px 10px;max-width:320px;margin-top:22px;padding-top:17px;font-size:.74rem}
.worlds-commission-link a{font-size:.74rem}
.world-card{aspect-ratio:4/5;border-radius:22px;min-height:0;height:auto}
.world-card-copy{left:18px;right:18px;bottom:17px}
.world-card-copy h3{font-size:1.55rem}
.world-card.pale img{object-position:54% 40%}
.world-card.wild img{object-position:56% 36%}
.world-card.eclipse img{object-position:56% 48%}}
@media(max-width:560px){.container,.header-inner,.hero-inner{width:calc(100% - 24px)}
.beyond-feature{gap:22px}
.beyond-copy h2{font-size:clamp(2.18rem,10.88vw,2.55rem);line-height:.95}
.beyond-copy .lead{margin-top:18px;font-size:.92rem;line-height:1.62}
.beyond-visual{border-radius:20px}
.promise-layout{display:flex;justify-content:flex-end}
.promise-meaning{width:76%;max-width:310px;margin-left:auto;padding:0 18px 0 0;gap:12px;text-align:right}
.promise-meaning:after{content:"";position:absolute;right:0;top:2px;bottom:2px;width:1px;background:linear-gradient(180deg,rgba(208,174,137,.06),rgba(208,174,137,.42),rgba(208,174,137,.12))}
.promise-meaning .eyebrow{font-size:.57rem;letter-spacing:.2em}
.promise-points{grid-template-columns:1fr;gap:8px;justify-items:end}
.promise-point{font-size:.92rem;line-height:1.22}
.privacy-shell{gap:30px}
.privacy-intro{gap:14px}
.privacy-intro h2{font-size:2.6rem;line-height:.92}
.privacy-intro .lead{font-size:.92rem;line-height:1.62}
.privacy-commitment{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 0 19px}
.privacy-commitment .n{font-size:.61rem;padding-top:4px}
.privacy-commitment h3{font-size:1.28rem}
.privacy-commitment p{font-size:.85rem;line-height:1.52;margin-top:7px}
/* V11.9.11 — compact 2 + 3 Experience mosaic on phone */
.experience-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.experience-card{min-height:0;border-radius:18px}
.experience-card:nth-child(-n+2){grid-column:span 3;aspect-ratio:4/5}
.experience-card:nth-child(n+3){grid-column:span 2;aspect-ratio:3/4}
.experience-card .experience-copy{height:100%;min-height:0;padding:14px 12px}
.experience-card b{font-size:.62rem;letter-spacing:.08em}
.experience-card p{margin-top:5px;font-size:.66rem;line-height:1.3}
.experience-card:nth-child(n+3) .experience-copy{padding:11px 8px}
.experience-card:nth-child(n+3) b{font-size:.53rem;letter-spacing:.06em}
.experience-card:nth-child(n+3) p{font-size:.56rem;line-height:1.24}
.experience-card.appearance img{object-position:50% 38%}
.experience-card.personality img{object-position:50% 35%}
.experience-card.voice img{object-position:73% 50%}
.experience-card.connection img{object-position:50% 35%}
.experience-card.cinematic-world img{object-position:52% 38%}
.ruby-title{font-size:2.55rem}
.ruby-film-stage{padding:0;border-radius:0}
.ruby-video-shell{width:100%;max-width:none;border-radius:18px}
.ruby-copy-card{padding:20px 18px}
.footer-grid{grid-template-columns:1fr}
.worlds-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.world-card{border-radius:20px;min-height:0;height:auto}
.world-card-copy{left:14px;right:14px;bottom:14px}
.world-card-copy h3{font-size:1.18rem;line-height:.98}
.world-card-copy p{margin-top:5px;font-size:.75rem;line-height:1.34;max-width:none}
.world-card.idea .world-card-copy .tiny{margin-bottom:8px;font-size:.5rem;letter-spacing:.1em;white-space:nowrap}}
@media (min-width:700px) and (max-width:1100px) and (orientation:portrait){/* Dedicated tablet portrait treatment */
.promise-layout{display:flex;justify-content:flex-end}
.promise-meaning{width:min(62%,620px);max-width:620px;margin-left:auto;padding:0 22px 0 0;gap:14px;text-align:right}
.promise-meaning:after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,rgba(208,174,137,.06),rgba(208,174,137,.42),rgba(208,174,137,.12))}
.promise-meaning .eyebrow{font-size:.62rem;letter-spacing:.2em}
.promise-points{grid-template-columns:1fr;gap:9px;justify-items:end}
.promise-point{font-size:1.28rem;line-height:1.18}
.privacy-shell{grid-template-columns:1fr;gap:40px}
.privacy-intro{position:static;gap:16px}
.privacy-intro h2{font-size:3.3rem;max-width:620px}
.privacy-commitment{grid-template-columns:44px minmax(0,1fr);gap:15px;padding:22px 0 24px}
.privacy-commitment h3{font-size:1.5rem}
.ruby-intro{grid-template-columns:1fr;gap:18px;margin-bottom:22px}
.ruby-grid{grid-template-columns:1fr;gap:18px}
.ruby-film-stage{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    justify-items:stretch;
    overflow:visible;
  }
.ruby-film-stage:before{display:none}
.ruby-video-shell{width:100%;max-width:none;border-radius:22px;margin:0}
.ruby-video-caption{position:static;width:100%;max-width:none;margin-top:12px;left:auto;bottom:auto;text-align:left}
.ruby-proof-grid{grid-template-columns:1fr 1fr;gap:14px}
.ruby-proof{min-height:180px;border-radius:22px}
.visual-proof .proof-label{left:16px;right:16px;bottom:14px}
.visual-proof .proof-label strong{font-size:1.35rem}
.ruby-proof:before{inset:14px;border-radius:14px}}
@media (min-width:900px) and (max-width:1100px) and (orientation:landscape){/* iPad landscape stays visually aligned with desktop for the Ruby section */
.ruby-intro{grid-template-columns:1fr;gap:0;align-items:end;margin-bottom:28px;max-width:900px}
.ruby-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:20px;align-items:stretch}
.ruby-film-stage{padding:22px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),#0c0d10;box-shadow:var(--shadow);justify-items:center;gap:14px}
.ruby-film-stage:before{display:block}
.ruby-video-shell{width:min(100%,320px);border-radius:24px;margin-left:0}
.ruby-video-caption{position:static;left:auto;bottom:auto;width:min(100%,320px);margin:0 auto}
.ruby-proof-grid{grid-template-columns:1fr 1fr;gap:18px}
.ruby-proof{min-height:205px;border-radius:26px}
.ruby-proof:before{inset:18px;border-radius:18px}}
/* V12.1 — preserve the validated Beyond composition on iPad landscape / compact desktop */
@media (min-width:821px) and (max-width:1366px) and (orientation:landscape){#beyond .beyond-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:42px;width:100%;max-width:100%;}
#beyond .beyond-copy{min-width:0;padding-right:0;}
#beyond .beyond-copy h2{font-size:clamp(2.65rem,3.85vw,3.45rem);line-height:.94;max-width:none;}
#beyond .beyond-visual{min-width:0;width:100%;aspect-ratio:1.35/1;}}
/* V11.9.10 — How It Works alignment + compact mobile only */
@media(max-width:560px){/* V11.9.11 — larger mobile How It Works while keeping all four steps together */
#process{padding:50px 0 52px}}
/* V12.2 — validated finishing patch only */
#beyond .beyond-visual{border:0 !important;}
.ruby-video-caption{
  text-align:center;
  justify-items:center;
  gap:3px;
}
.ruby-video-caption strong{
  white-space:nowrap;
}
.ruby-video-caption span{
  font-size:.58rem;
  line-height:1.2;
  white-space:nowrap;
  letter-spacing:-.005em;
}
@media(max-width:560px){.ruby-title .bottom .ruby-world-a,.ruby-title .bottom .ruby-world-b{display:block;}
.ruby-title .bottom .ruby-world-b{margin-left:0;}
.ruby-copy-card .ruby-continuity-a,.ruby-copy-card .ruby-continuity-b{display:block;}
.ruby-copy-card .ruby-continuity-b{margin-left:0;}
.ruby-film-stage{gap:7px;}
.ruby-video-caption{
    width:100%;
    max-width:100%;
    margin:7px auto 0;
    gap:2px;
  }
.ruby-video-caption strong{
    font-size:.94rem;
    line-height:1.05;
  }
.ruby-video-caption span{
    font-size:.50rem;
    line-height:1.1;
    white-space:nowrap;
    letter-spacing:-.012em;
  }}
/* V12.4 — pending validated corrections carried forward */
#beyond .beyond-visual{border:0 !important;outline:0 !important;}
@media(max-width:560px){#experience .section-head h2{font-size:clamp(1.9rem,8.2vw,2.05rem);line-height:.98;letter-spacing:-.035em;white-space:nowrap;}}
/* V12.5 — exact Ruby promo video integration; all validated design remains unchanged */

/* V12.11 — balanced 5:4 continuation pair */
#continue{overflow:hidden}
.continue-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(48px,7vw,112px);align-items:end;margin-bottom:42px}
.continue-intro h2{margin-top:16px;font-size:clamp(4rem,6.3vw,6.65rem);line-height:.84;letter-spacing:-.052em;color:var(--text)}
.continue-intro h2 span{display:block;color:var(--champ)}
.continue-intro .lead{max-width:570px;padding:4px 0 4px 24px;border-left:1px solid rgba(211,174,137,.38);color:var(--muted);font-size:1rem;line-height:1.72}
.continuity-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr);gap:clamp(30px,4vw,64px);align-items:stretch}
.continuity-visual{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;overflow:visible;aspect-ratio:5/4;background:transparent}
.continuity-visual:before{content:none}
.continuity-frame{position:relative;overflow:hidden;min-width:0;margin:0;border:1px solid rgba(255,255,255,.075);border-radius:24px;background:#0b0c0d;box-shadow:0 22px 62px rgba(0,0,0,.30)}
.continuity-frame+.continuity-frame{border-left:1px solid rgba(255,255,255,.075)}
.continuity-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.continuity-frame:first-child img{object-position:50% 44%}
.continuity-frame:last-child img{object-position:50% 43%}
.continuity-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.01) 42%,rgba(7,7,7,.12) 61%,rgba(7,7,7,.88) 100%);pointer-events:none}
.continuity-frame-caption{position:absolute;z-index:2;left:clamp(19px,2.4vw,34px);right:clamp(19px,2.4vw,34px);bottom:clamp(22px,2.6vw,34px)}
.continuity-frame-caption small{display:block;margin-bottom:9px;color:var(--champ);font-size:.61rem;letter-spacing:.16em;text-transform:uppercase}
.continuity-frame-caption strong{display:block;color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2vw,2.15rem);line-height:1.02;letter-spacing:-.032em}
.continuity-index{display:grid;grid-template-rows:repeat(3,1fr);border-top:1px solid rgba(211,174,137,.28);border-bottom:1px solid rgba(211,174,137,.18)}
.continuity-entry{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;align-content:center;padding:24px 0;border-bottom:1px solid rgba(211,174,137,.18)}
.continuity-entry:last-child{border-bottom:0}
.continuity-entry .n{padding-top:5px;color:var(--champ);font-size:.66rem;letter-spacing:.15em}
.continuity-entry .tiny{display:block;margin-bottom:10px;color:#9f9286;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}
.continuity-entry h3{color:var(--text);font-size:clamp(1.7rem,2.35vw,2.2rem);line-height:.94;letter-spacing:-.032em}
.continuity-entry p{margin-top:10px;max-width:410px;color:var(--muted);font-size:.88rem;line-height:1.58}
.faq{gap:0;border-top:1px solid rgba(211,174,137,.26)}
.faq details{border-bottom:1px solid rgba(211,174,137,.18);padding:0;color:var(--text)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:22px 0;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.24rem;line-height:1.25;letter-spacing:-.015em;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.faq summary:after{content:"+";flex:0 0 auto;color:var(--champ);font-family:Inter,sans-serif;font-size:1.2rem;font-weight:300;transition:transform .2s ease}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin:0 0 24px;max-width:820px;color:var(--muted);font-size:.94rem;line-height:1.75;opacity:1}
@media(hover:hover){.faq summary:hover:after{transform:scale(1.12)}
.faq details[open] summary:hover:after{transform:rotate(45deg) scale(1.12)}}
.commission-grid{align-items:stretch}
.commission-intro{padding:38px 34px;display:flex;flex-direction:column;min-height:100%}
.commission-intro h2{font-size:clamp(3rem,5vw,4.5rem);line-height:.92;color:var(--text);margin:15px 0 22px}
.commission-intro>p{color:var(--muted);font-size:.96rem;line-height:1.72}
.commission-promise{margin-top:auto;padding-top:34px}
.commission-promise strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.02;color:var(--champ)}
.commission-promise span{display:block;margin-top:12px;color:var(--soft);font-size:.83rem;line-height:1.55}
.form-shell{padding:34px;min-height:640px}
.commission-form{display:flex;flex-direction:column;min-height:570px;height:100%}
.wizard-head{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(211,174,137,.2)}
.wizard-count{color:var(--champ);font-size:.64rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.wizard-progress{height:2px;overflow:hidden;background:rgba(255,255,255,.08)}
.wizard-progress span{display:block;width:20%;height:100%;background:var(--champ);transition:width .34s ease}
.form-intro{padding:18px 0 7px;color:var(--soft);font-size:.78rem;line-height:1.55}
.form-intro .form-legal-links{display:inline-flex;flex-wrap:wrap;gap:0 10px;margin-left:9px;font-size:.68rem;line-height:1.45;vertical-align:baseline}
.form-intro .form-legal-links a{color:var(--soft);text-decoration:none;border-bottom:1px solid rgba(211,174,137,.28)}
@media(hover:hover){.form-intro .form-legal-links a:hover{color:var(--champ);border-bottom-color:rgba(211,174,137,.6)}}
@media(max-width:700px){.form-intro .form-legal-links{display:flex;margin:6px 0 0;gap:8px 14px}}
.wizard-stage{position:relative;flex:1;padding-top:22px}
.wizard-step[hidden]{display:none}
.wizard-step{animation:wizard-in .28s ease both}
@keyframes wizard-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.wizard-kicker,.field-label{display:block;color:var(--champ);font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.wizard-step h3{margin-top:9px;max-width:580px;color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.2vw,2.8rem);line-height:.98;letter-spacing:-.035em}
.wizard-question-note{margin-top:11px;max-width:590px;color:var(--muted);font-size:.84rem;line-height:1.58}
.wizard-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.wizard-choice{position:relative;min-width:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wizard-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.wizard-choice span{display:flex;min-height:88px;flex-direction:column;justify-content:center;padding:15px 16px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.018);transition:border-color .18s ease,background .18s ease,transform .18s ease;pointer-events:none}
.wizard-choice strong{color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.08;letter-spacing:-.018em}
.wizard-choice small{display:block;margin-top:6px;color:var(--soft);font-size:.75rem;line-height:1.45}
.wizard-choice input:focus-visible+span{outline:2px solid var(--champ);outline-offset:2px}
.wizard-choice input:checked+span{border-color:rgba(211,174,137,.72);background:linear-gradient(135deg,rgba(211,174,137,.13),rgba(211,174,137,.045));transform:translateY(-1px)}
@media(hover:hover){.wizard-choice:hover span{border-color:rgba(211,174,137,.42);background:rgba(211,174,137,.055)}}
.animal-policy{margin-top:14px;padding-left:13px;border-left:1px solid rgba(211,174,137,.45);color:var(--soft);font-size:.72rem;line-height:1.55}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field input,.field textarea,.field select{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:#0c0d0f;color:var(--text);font:inherit;font-size:.88rem;padding:13px 14px;outline:none}
.field input,.field select{min-height:48px}
.field textarea{min-height:148px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(211,174,137,.72);box-shadow:0 0 0 3px rgba(211,174,137,.08)}
.field input::placeholder,.field textarea::placeholder{color:#746c64}
.rights-check{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;min-height:44px;margin:17px 0 0;color:var(--soft);font-size:.75rem;line-height:1.5;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rights-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--champ)}
.content-boundary{margin-top:17px;padding:14px 15px;border:1px solid rgba(211,174,137,.18);border-radius:15px;background:rgba(211,174,137,.028)}
.content-boundary .field-label{margin-bottom:9px}
.content-boundary .rights-check{margin:0}
.sensitive-declaration{margin-top:11px;padding-top:11px;border-top:1px solid rgba(211,174,137,.15)}
.policy-links{margin-top:10px;color:var(--soft);font-size:.69rem;line-height:1.5}
.policy-links a{color:var(--champ);text-decoration:none;border-bottom:1px solid rgba(211,174,137,.3)}
.policy-links a:hover{color:var(--text)}
.wizard-review{margin-top:20px;border-top:1px solid rgba(211,174,137,.22)}
.wizard-review-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.wizard-review dt{color:var(--soft);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.wizard-review dd{margin:0;color:var(--text);font-size:.82rem;line-height:1.45}
.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(211,174,137,.2)}
.wizard-back{min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--soft);font:inherit;font-size:.76rem;cursor:pointer}
.wizard-back:hover{color:var(--text)}
.wizard-next,.wizard-submit,.wizard-back{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wizard-next:disabled{cursor:not-allowed;opacity:.34}
.wizard-submit[hidden],.wizard-next[hidden],.wizard-back[hidden]{display:none}
.wizard-nav[hidden],.wizard-head[hidden],.form-intro[hidden]{display:none!important}
.form-status{margin-top:12px;color:var(--soft);font-size:.69rem;line-height:1.45}
.wizard-js .wizard-fallback{display:none}
html:not(.wizard-js) .wizard-live{display:none!important}
.wizard-fallback{width:100%;min-height:570px}
.wizard-fallback-step{display:none;animation:wizard-in .28s ease both}
.wizard-fallback-step:first-of-type{display:block}
.wizard-fallback:has(.wizard-fallback-step:target) .wizard-fallback-step:first-of-type:not(:target){display:none}
.wizard-fallback-step:target{display:block}
.wizard-fallback-choice{display:block;color:inherit}
.wizard-fallback-choice span{height:100%}
.wizard-fallback-choice:focus-visible span{outline:2px solid var(--champ);outline-offset:2px}
.wizard-fallback-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(211,174,137,.2)}
.wizard-fallback-nav .button{min-width:142px;text-align:center}
.wizard-fallback-note{margin-top:20px;padding:16px 17px;border:1px solid rgba(211,174,137,.2);border-radius:16px;background:rgba(211,174,137,.045);color:var(--muted);font-size:.78rem;line-height:1.55}
.footer{padding:58px 0 34px;background:#070707}
.footer-grid{grid-template-columns:1.25fr .7fr .7fr 1.15fr;gap:34px}
.footer .brand{color:var(--text)}
.footer .brand span{color:#b4aa9f}
.footer-title{font-size:.68rem;color:var(--champ);letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}
.footer a,.footer p{display:block;color:var(--soft);font-size:.84rem;line-height:1.6;margin-bottom:8px}
.footer a:hover{color:var(--text)}
.footer-statement{max-width:330px;margin-top:18px}
.footer-standard{padding-left:18px;border-left:1px solid rgba(211,174,137,.28)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);color:#706861;font-size:.72rem;line-height:1.5}
@media(max-width:1100px){.continue-intro{grid-template-columns:1fr;gap:26px;margin-bottom:34px}
.continue-intro .lead{max-width:680px}
.continuity-layout{grid-template-columns:1fr;gap:30px}
.continuity-index{grid-template-rows:none;grid-template-columns:repeat(3,1fr);border-bottom:0}
.continuity-entry{grid-template-columns:34px minmax(0,1fr);gap:12px;align-content:start;padding:22px 18px 6px 0;border-right:1px solid rgba(211,174,137,.18);border-bottom:0}
.continuity-entry+.continuity-entry{padding-left:18px}
.continuity-entry:last-child{border-right:0}
.footer-grid{grid-template-columns:1.2fr .8fr .8fr}
.footer-standard{grid-column:1/-1;padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:700px){.continue-intro{gap:22px;margin-bottom:28px}
.continue-intro h2{font-size:clamp(3.15rem,15vw,4.2rem);line-height:.88}
.continue-intro .lead{padding-left:17px;font-size:.92rem}
.continuity-layout{gap:18px}
.continuity-visual{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;aspect-ratio:5/4}
.continuity-visual:before{content:none}
.continuity-frame{aspect-ratio:auto;border-radius:15px}
.continuity-frame+.continuity-frame{border-left:1px solid rgba(255,255,255,.075);border-top:1px solid rgba(255,255,255,.075)}
.continuity-frame:first-child img{object-position:50% 41%}
.continuity-frame:last-child img{object-position:50% 40%}
.continuity-frame-caption{left:11px;right:11px;bottom:12px}
.continuity-frame-caption small{margin-bottom:5px;font-size:.46rem;letter-spacing:.1em;white-space:nowrap}
.continuity-frame-caption strong{font-size:clamp(1.02rem,5vw,1.25rem);line-height:.98}
.continuity-index{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(211,174,137,.18)}
.continuity-entry,.continuity-entry+.continuity-entry{display:block;padding:14px 8px 13px;border-right:1px solid rgba(211,174,137,.18);border-bottom:0}
.continuity-entry:last-child{border-right:0;border-bottom:0}
.continuity-entry .n{padding:0;margin-bottom:8px;font-size:.55rem}
.continuity-entry .tiny,.continuity-entry p{display:none}
.continuity-entry h3{font-size:clamp(.98rem,4.8vw,1.12rem);line-height:.95}
.faq summary{font-size:1.08rem;padding:19px 0}
.commission-intro,.form-shell{padding:26px 21px}
.commission-intro{min-height:430px}
.form-shell{min-height:0}
.commission-form{min-height:560px}
.wizard-head{grid-template-columns:auto 1fr;gap:13px}
.wizard-stage{padding-top:19px}
.wizard-step h3{font-size:clamp(1.82rem,9vw,2.25rem)}
.wizard-question-note{font-size:.78rem}
.wizard-options{gap:8px;margin-top:18px}
.wizard-choice span{min-height:78px;padding:12px 11px;border-radius:14px}
.wizard-choice strong{font-size:.88rem}
.wizard-choice small{margin-top:4px;font-size:.61rem;line-height:1.32}
.form-fields{grid-template-columns:1fr}
.field.full{grid-column:auto}
.field textarea{min-height:135px}
.wizard-review-row{grid-template-columns:95px minmax(0,1fr);gap:12px}
.wizard-nav{gap:12px}
.wizard-next,.wizard-submit{flex:1}
.wizard-submit{padding-left:13px;padding-right:13px}
.footer-grid{grid-template-columns:1fr 1fr;gap:30px 18px}
.footer-grid>div:first-child,.footer-standard{grid-column:1/-1}
.footer-bottom{display:grid;margin-top:34px}}
/* V12.22 — editorial Ruby continuity, without a UI-card treatment */
.ruby-side{grid-template-rows:minmax(210px,.36fr) minmax(0,1fr)}
.ruby-copy-card{
  position:relative;
  align-content:end;
  gap:20px;
  padding:28px 4px 30px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ruby-copy-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,rgba(211,174,137,.58),rgba(211,174,137,.12) 58%,transparent);
}
.ruby-copy-card h3{
  font-size:clamp(3.25rem,5vw,5rem);
  line-height:.86;
  letter-spacing:-.047em;
}
.ruby-copy-card h3 .ruby-copy-line{display:block;white-space:nowrap}
.ruby-copy-card h3 .ruby-copy-line:first-child{color:var(--text)}
.ruby-copy-card h3 .ruby-copy-line:last-child{color:var(--champ)}
.ruby-copy-card p{
  position:relative;
  width:min(100%,440px);
  margin-left:auto;
  padding:1px 0 2px 24px;
  font-size:.98rem;
  line-height:1.72;
}
.ruby-copy-card p:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,rgba(211,174,137,.52),rgba(211,174,137,.12));
}
@media(max-width:1100px){.ruby-side{grid-template-rows:auto auto;gap:18px}
.ruby-copy-card{padding:26px 2px 28px}
.ruby-copy-card h3{font-size:clamp(3rem,6vw,4.35rem)}}
@media(max-width:560px){.ruby-copy-card{gap:15px;padding:22px 0 7px}
.ruby-copy-card h3{font-size:2.35rem;line-height:.88}
.ruby-copy-card p{width:100%;padding-left:17px;font-size:.86rem;line-height:1.58}
/* V12.26 — center only the six approved mobile editorial titles. */
#ruby .ruby-title,#ruby .ruby-copy-card h3,#privacy .privacy-intro h2,#beyond .beyond-copy h2,#continue .continue-intro h2{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
/* V12.27 — three additional approved mobile title corrections. */
#experience .section-head h2,#worlds .section-head h2{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
#beyond .beyond-copy h2{
    width:100%;
    max-width:100%;
    min-width:0;
  }
/* V12.28 — center only the nine approved mobile section eyebrow labels. */
#experience .section-head .eyebrow,#ruby .ruby-intro .eyebrow,#privacy .privacy-intro .eyebrow,#worlds .section-head .eyebrow,#beyond .beyond-copy .eyebrow,#continue .continue-intro .eyebrow,#faq .section-head .eyebrow,#commission .commission-intro .eyebrow{
    text-align:center;
  }}
/* V12.29 — responsive refinement pass approved from the V12.28 visual review.
   Scope: tablet/mobile Experience, What That Means transition, Ruby portrait scale,
   Commission finish, and light header/footer polish only. */

/* Make the fixed navigation recede slightly over cinematic imagery. */
.header{
  background:linear-gradient(to bottom,rgba(7,7,7,.68),rgba(7,7,7,.27) 66%,transparent);
  backdrop-filter:blur(4px);
}
@media(min-width:821px){.header-inner{min-height:66px}}
/* iPad portrait: a deliberate 2 + 3 Experience mosaic instead of a stranded fifth card. */
@media (min-width:700px) and (max-width:820px) and (orientation:portrait){#experience .experience-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
#experience .experience-card:nth-child(-n+2){grid-column:span 3;aspect-ratio:4/3}
#experience .experience-card:nth-child(n+3){grid-column:span 2;aspect-ratio:4/3}
#experience .experience-card .experience-copy{padding:17px 15px}
#experience .experience-card:nth-child(n+3) .experience-copy{padding:15px 13px}
#experience .experience-card b{font-size:.70rem}
#experience .experience-card p{font-size:.77rem;line-height:1.42}
#experience .experience-card:nth-child(n+3) b{font-size:.64rem}
#experience .experience-card:nth-child(n+3) p{font-size:.70rem;line-height:1.38}}
/* Tablet/mobile: keep the promise secondary and right-weighted, but remove the empty black gulf. */
@media(max-width:820px){.promise{padding:34px 0 48px}
.promise-meaning{width:min(84%,560px);max-width:560px;padding-right:18px;gap:12px}
.promise-point{font-size:clamp(1rem,3.7vw,1.28rem);line-height:1.18}
.promise-points{gap:8px}
.header-inner{min-height:58px}}
@media(max-width:560px){.promise{padding:28px 0 42px}
.promise-meaning{width:88%;max-width:340px;padding-right:16px}
.promise-point{font-size:clamp(.96rem,4.1vw,1.06rem)}
/* Restore readable type in the three compact Experience cards. */
#experience .experience-card:nth-child(n+3){aspect-ratio:2/3}
#experience .experience-card:nth-child(n+3) b{font-size:.60rem;letter-spacing:.05em}
#experience .experience-card:nth-child(n+3) p{font-size:.64rem;line-height:1.31}}
/* iPad portrait: Ruby stays cinematic without becoming a full-screen poster. */
@media (min-width:700px) and (max-width:820px) and (orientation:portrait){#ruby .ruby-film-stage{justify-items:center}
#ruby .ruby-video-shell{width:min(100%,440px);max-width:440px;margin:0 auto}
#ruby .ruby-video-caption{width:min(100%,440px);max-width:440px;margin:12px auto 0;text-align:center;justify-items:center}}
/* Commission: quieter, more editorial surfaces; same questions, flow and interaction. */
#commission .form-shell{
  background:linear-gradient(180deg,rgba(211,174,137,.018),rgba(255,255,255,.004)),#0b0c0d;
  border-color:rgba(211,174,137,.16);
  border-radius:18px;
  box-shadow:0 22px 70px rgba(0,0,0,.24);
}
#commission .commission-intro{
  border-color:rgba(255,255,255,.07);
  box-shadow:0 22px 70px rgba(0,0,0,.22);
}
#commission .wizard-choice span{
  border-color:rgba(211,174,137,.17);
  border-radius:7px;
  background:rgba(255,255,255,.008);
}
#commission .wizard-choice input:checked+span{
  border-color:rgba(211,174,137,.68);
  background:linear-gradient(135deg,rgba(211,174,137,.105),rgba(211,174,137,.018));
}
#commission .field input,#commission .field textarea,#commission .field select{
  border-radius:7px;
  background:#090a0b;
}
#commission .wizard-fallback-note{border-radius:7px}
@media(hover:hover){#commission .wizard-choice:hover span{border-color:rgba(211,174,137,.42);background:rgba(211,174,137,.032)}}
/* Footer: preserve all legal/standard copy while letting the cinematic experience end more softly. */
.footer{padding:46px 0 28px}
.footer-standard{border-left-color:rgba(211,174,137,.18)}
.footer-standard p{color:#817970;font-size:.77rem;line-height:1.55;max-width:390px}
.footer-bottom{margin-top:34px;padding-top:18px;color:#625c56;font-size:.68rem}
@media(max-width:1100px){.footer-standard{border-top-color:rgba(255,255,255,.06)}}
@media(max-width:700px){.footer{padding:40px 0 25px}
.footer-standard p{max-width:520px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.button:hover,.wizard-choice input:checked+span,.faq summary:hover:after,.faq details[open] summary:after{transform:none}}
/* V12.30 — iPhone composition corrections approved from real-device review.
   Mobile only: rebalance secondary copy and restore full Continue Your World text. */
@media(max-width:560px){/* Ruby: secondary continuity statement belongs to the centered mobile composition. */
#ruby .ruby-copy-card p{
    width:min(88%,340px);
    margin-left:auto;
    margin-right:auto;
    padding:0;
    text-align:center;
    font-size:.88rem;
    line-height:1.58;
  }
#ruby .ruby-copy-card p:before{content:none}
/* Selected Worlds: keep the explanatory copy visually tied to the centered heading. */
#worlds .section-head .lead{
    width:min(92%,350px);
    max-width:350px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    font-size:.92rem;
    line-height:1.58;
  }
#worlds .section-head .lead strong{margin-top:10px}
/* Beyond: avoid a desktop-width paragraph sitting under a centered mobile title. */
#beyond .beyond-copy .lead{
    width:min(92%,350px);
    max-width:350px;
    margin:18px auto 0;
    text-align:center;
    font-size:.90rem;
    line-height:1.58;
  }
/* Continue Your World: three readable full-width editorial rows, with all copy restored. */
#continue .continuity-index{
    grid-template-columns:1fr;
    border-top:1px solid rgba(211,174,137,.28);
    border-bottom:1px solid rgba(211,174,137,.18);
  }
#continue .continuity-entry,#continue .continuity-entry+.continuity-entry{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:18px 2px;
    border-right:0;
    border-bottom:1px solid rgba(211,174,137,.18);
  }
#continue .continuity-entry:last-child{border-bottom:0}
#continue .continuity-entry .n{
    margin:2px 0 0;
    padding:0;
    font-size:.56rem;
    line-height:1.2;
  }
#continue .continuity-entry .tiny{
    display:block;
    margin-bottom:7px;
    color:#9f9286;
    font-size:.52rem;
    line-height:1.25;
    letter-spacing:.13em;
  }
#continue .continuity-entry h3{
    font-size:1.42rem;
    line-height:.98;
    letter-spacing:-.028em;
  }
#continue .continuity-entry p{
    display:block;
    margin-top:8px;
    max-width:330px;
    color:var(--muted);
    font-size:.75rem;
    line-height:1.52;
  }
/* FAQ: intro copy should read as supporting text, not a full-width competing block. */
#faq .section-head .lead{
    width:min(92%,350px);
    max-width:350px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    font-size:.90rem;
    line-height:1.58;
  }}
/* AUDIT PASS 1 — pre-launch conversion, privacy and targeted UX corrections. */
.footer-contact{margin-top:12px}
.footer-contact a{display:inline;color:var(--champ);font-size:.8rem}
.privacy-notice{margin-top:13px;color:var(--soft);font-size:.75rem;line-height:1.55}
.privacy-notice a{color:var(--champ);text-decoration:underline;text-decoration-color:rgba(211,174,137,.35);text-underline-offset:3px}
.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.form-status.is-error{color:#d9a6a0}
.form-status.is-success{color:#c7d8bd}
.wizard-submit[aria-busy="true"]{opacity:.62;cursor:wait}
.form-success{display:grid;align-content:center;min-height:410px;padding:24px 0}
.form-success[hidden]{display:none}
.form-success .wizard-kicker{margin-bottom:10px}
.form-success h3{max-width:560px;color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4vw,3.4rem);line-height:.96;letter-spacing:-.035em}
.form-success p{max-width:560px;margin-top:16px;color:var(--muted);font-size:.92rem;line-height:1.65}
.form-success .receipt{margin-top:18px;color:var(--soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.footer-legal a{margin:0;font-size:.76rem}
@media(max-width:700px){#commission .wizard-choice small{font-size:.76rem;line-height:1.42}
#commission .wizard-question-note{font-size:.84rem;line-height:1.58}
#commission .rights-check{font-size:.78rem;line-height:1.52}
#commission .privacy-notice{font-size:.78rem;line-height:1.52}}
@media (min-width:900px) and (max-width:1100px) and (orientation:landscape){#beyond .beyond-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:32px}
#beyond .beyond-copy h2{font-size:clamp(2.45rem,3.65vw,3.1rem)}}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
/* V13.3 — iPad landscape / desktop composition polish approved from real-device review.
   Scope: Ruby editorial hierarchy, privacy title rhythm, Selected Worlds explanatory copy,
   FAQ single-line heading, section-eyebrow alignment, and footer navigation cleanup only. */

/* Keep the small section labels centred over the editorial block they introduce. */
#experience .section-head .eyebrow,#ruby .ruby-intro .eyebrow,#privacy .privacy-intro .eyebrow,#worlds .section-head .eyebrow,#beyond .beyond-copy .eyebrow,#continue .continue-intro .eyebrow,#faq .section-head .eyebrow,#commission .commission-intro .eyebrow{
  text-align:center;
}
/* Composition changes requested specifically for iPad landscape / desktop. */
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){/* Ruby: make the continuity sentence belong to the headline instead of floating beside it. */
#ruby .ruby-copy-card{
    align-content:center;
    gap:16px;
    padding:30px 4px 28px;
  }
#ruby .ruby-copy-card p{
    width:min(100%,620px);
    max-width:620px;
    margin:0;
    padding:0;
    font-size:.96rem;
    line-height:1.62;
    text-align:left;
  }
#ruby .ruby-copy-card p:before{content:none;}
/* Privacy: preserve the statement, but keep the champagne continuation as one deliberate line. */
#privacy .privacy-intro h2 span{
    font-size:.78em;
    line-height:1.02;
    white-space:nowrap;
    letter-spacing:-.035em;
    margin-top:.08em;
  }
/* Selected Worlds: tie the explanatory note to the two left examples instead of floating at far right. */
#worlds .section-head{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:30px;
    row-gap:14px;
    align-items:end;
    margin-bottom:28px;
  }
#worlds .section-head>div{
    grid-column:1;
    grid-row:1;
    min-width:0;
  }
#worlds .section-head .lead{
    grid-column:1;
    grid-row:2;
    justify-self:center;
    width:min(92%,520px);
    max-width:520px;
    margin:0 auto;
    text-align:center;
    line-height:1.58;
  }
/* FAQ: one clean headline line, with supporting copy beneath it. */
#faq .section-head{
    grid-template-columns:1fr;
    gap:16px;
    align-items:start;
  }
#faq .section-head>div{
    width:fit-content;
    max-width:100%;
  }
#faq .section-head h2{
    white-space:nowrap;
    font-size:clamp(2.8rem,4.55vw,4.35rem);
  }
#faq .section-head .lead{max-width:640px;}}
@media(min-width:900px) and (max-width:1100px) and (orientation:landscape){#privacy .privacy-shell{
    grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
    gap:48px;
  }
#privacy .privacy-intro h2{font-size:clamp(3rem,4.8vw,4.25rem);}
#privacy .privacy-intro h2 span{font-size:.78em;}
#ruby .ruby-copy-card h3{font-size:clamp(2.85rem,5.3vw,4rem);}
#ruby .ruby-copy-card p{font-size:.92rem;line-height:1.58;}
#faq .section-head h2{font-size:clamp(2.9rem,4.6vw,3.45rem);}}
/* V13.4 — composition correction from annotated iPad landscape review.
   Scope only: Privacy eyebrow centring, Selected Worlds explanatory note position,
   and FAQ intro centring on iPad landscape / desktop. */
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){/* PRIVATE BY DESIGN: centre the eyebrow over the actual headline box, not the whole column. */
#privacy .privacy-intro .eyebrow{
    width:min(100%,560px);
    justify-self:start;
    text-align:center;
  }
/* SELECTED WORLDS: the note belongs over the two right-hand cards.
     Spanning columns 3–4 makes its centre exactly the gap between Red Eclipse and Your Own World. */
#worlds .section-head{
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:15px;
    row-gap:14px;
    align-items:end;
    margin-bottom:28px;
  }
#worlds .section-head>div{
    grid-column:1 / span 2;
    grid-row:1;
    min-width:0;
  }
#worlds .section-head .lead{
    grid-column:3 / span 2;
    grid-row:2;
    align-self:end;
    justify-self:stretch;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 10px;
    text-align:center;
    line-height:1.58;
  }
/* FAQ: one centred editorial stack. */
#faq .section-head{
    grid-template-columns:1fr;
    justify-items:center;
    align-items:start;
    gap:15px;
    text-align:center;
  }
#faq .section-head>div{
    width:100%;
    max-width:100%;
    text-align:center;
  }
#faq .section-head .eyebrow{
    width:100%;
    text-align:center;
  }
#faq .section-head h2{
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    white-space:nowrap;
  }
#faq .section-head .lead{
    width:auto;
    max-width:none;
    margin:0 auto;
    text-align:center;
    white-space:nowrap;
    font-size:clamp(.82rem,1.35vw,1rem);
  }}
/* V13.5 — optical-alignment and Beyond → Continue transition polish from annotated iPad review.
   Scope only: Ruby eyebrow/copy alignment and Beyond/Continue optical labels + transition on iPad landscape / desktop. */
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){/* Ruby: A PRIVATE WORLD follows the visual centre of the word Ruby, not the full two-line heading. */
#ruby .ruby-title-wrap{
    --v135-ruby-title-size:clamp(3rem,5.6vw,5.4rem);
  }
#ruby .ruby-title{
    font-size:var(--v135-ruby-title-size);
  }
#ruby .ruby-title-wrap .eyebrow{
    width:min(100%,calc(var(--v135-ruby-title-size) * 2.23));
    max-width:100%;
    margin-left:0;
    margin-right:0;
    text-align:center;
  }
/* Ruby continuity: centre the complete editorial block on the axis between the two proof images. */
#ruby .ruby-copy-card{
    justify-items:center;
    text-align:center;
  }
#ruby .ruby-copy-card h3{
    width:100%;
    text-align:center;
  }
#ruby .ruby-copy-card p{
    width:min(100%,620px);
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
/* Beyond: optical rather than bounding-box centring. The width follows the average visual mass of the four title lines. */
#beyond .beyond-copy{
    --v135-beyond-title-size:clamp(2.65rem,3.85vw,3.45rem);
  }
#beyond .beyond-copy h2{
    font-size:var(--v135-beyond-title-size);
  }
#beyond .beyond-copy .eyebrow{
    width:min(100%,calc(var(--v135-beyond-title-size) * 6));
    max-width:100%;
    margin:0;
    text-align:center;
  }
/* Clean the hand-off between Beyond and Continue: no double pause and no decorative rule competing with the copy. */
#beyond{
    padding-bottom:64px;
  }
#continue{
    border-top:0;
    padding-top:48px;
  }
#continue .continue-intro .lead{
    padding-left:0;
    border-left:0;
  }
/* Continue: centre the eyebrow on the optical mass between the short first line and longer second line. */
#continue .continue-intro{
    --v135-continue-title-size:clamp(4rem,6.3vw,6.65rem);
  }
#continue .continue-intro h2{
    font-size:var(--v135-continue-title-size);
  }
#continue .continue-intro>div{
    min-width:0;
  }
#continue .continue-intro .eyebrow{
    width:min(100%,calc(var(--v135-continue-title-size) * 5.1));
    max-width:100%;
    margin:0;
    text-align:center;
  }}
/* V13.6 — annotated alignment pass.
   Scope: Ruby title-frame centring, first-line eyebrow axes for How It Works / Private by Design,
   Beyond visual-axis centring, and a smaller Ruby film caption across all breakpoints. */

/* THE PERFECT GIRLFRIEND: deliberately quieter on every device size. */
#ruby .ruby-video-caption strong{
  font-size:.86rem;
  line-height:1.06;
  letter-spacing:.035em;
}
#ruby .ruby-video-caption span{
  font-size:.50rem;
  line-height:1.16;
}
@media(max-width:560px){#ruby .ruby-video-caption strong{font-size:.78rem;line-height:1.04;}
#ruby .ruby-video-caption span{font-size:.44rem;line-height:1.08;}}
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){/* Ruby: centre the complete title composition within the section frame.
     Ruby and A PRIVATE WORLD share the same axis as A world, brought to life. */
#ruby .ruby-intro{
    width:100%;
    max-width:none;
    justify-items:center;
    text-align:center;
  }
#ruby .ruby-title-wrap{
    width:fit-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
#ruby .ruby-title{
    width:fit-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
#ruby .ruby-title .top,#ruby .ruby-title .bottom{
    text-align:center;
  }
#ruby .ruby-title .bottom{white-space:nowrap;}
#ruby .ruby-title-wrap .eyebrow{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
/* These widths are calculated from the rendered text by the V13.6 alignment helper below. */
#privacy .privacy-intro .eyebrow{
    width:var(--v136-privacy-axis-width,auto);
    max-width:100%;
    margin-left:0;
    margin-right:0;
    text-align:center;
  }
#beyond .beyond-copy .eyebrow{
    width:var(--v136-beyond-axis-width,100%);
    max-width:100%;
    margin-left:0;
    margin-right:0;
    text-align:center;
  }}
/* V13.7 — final alignment correction from the latest annotated iPad review.
   Scope only: hero lead single-line fit, Ruby title breathing room,
   and true first-line centring for How It Works / Private by Design / Beyond. */
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){.hero-copy{
    max-width:760px;
  }
.hero-copy .lead,.hero-copy p{
    width:fit-content;
    max-width:100%;
    white-space:nowrap;
  }
#ruby .ruby-intro{
    margin-bottom:42px;
  }
#privacy .privacy-intro .eyebrow{
    width:var(--v137-privacy-axis-width,var(--v136-privacy-axis-width,auto));
    max-width:100%;
    margin-left:0;
    margin-right:0;
    text-align:center;
  }
#beyond .beyond-copy .eyebrow{
    width:var(--v137-beyond-axis-width,var(--v136-beyond-axis-width,auto));
    max-width:100%;
    margin-left:0;
    margin-right:0;
    text-align:center;
  }}
/* V13.8 — autonomous consolidation pass.
   New Studio trust section + concise post-brief sequence only. */
.studio-section{
  background:linear-gradient(180deg,rgba(211,174,137,.018),transparent 35%);
}
.studio-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:clamp(38px,6vw,86px);
  align-items:end;
  margin-bottom:38px;
}
.studio-title h2{
  margin-top:14px;
  font-size:clamp(3.4rem,5.6vw,5.65rem);
  line-height:.88;
  letter-spacing:-.048em;
}
.studio-title h2 span{display:block;color:var(--champ)}
.studio-head .lead{
  max-width:570px;
  margin-left:auto;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.72;
}
.studio-disciplines{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.studio-discipline{
  grid-column:span 2;
  min-height:218px;
  padding:25px 23px 23px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008));
}
.studio-discipline:nth-child(4),.studio-discipline:nth-child(5){grid-column:span 3}
.studio-discipline .n{
  display:block;
  margin-bottom:42px;
  color:var(--champ);
  font-size:.64rem;
  letter-spacing:.16em;
}
.studio-discipline h3{
  font-size:1.48rem;
  line-height:1;
  letter-spacing:-.025em;
}
.studio-discipline p{
  margin-top:11px;
  max-width:390px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.58;
}
.studio-note{
  margin:24px auto 0;
  color:var(--soft);
  font-size:.72rem;
  line-height:1.5;
  letter-spacing:.07em;
  text-align:center;
  text-transform:uppercase;
}
.commission-next{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(211,174,137,.18);
  display:grid;
  gap:13px;
}
.commission-next-label{
  color:var(--champ);
  font-size:.62rem;
  letter-spacing:.16em;
}
.commission-next-step{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  align-items:baseline;
}
.commission-next-step span{
  color:var(--soft);
  font-size:.58rem;
  letter-spacing:.12em;
  white-space:nowrap;
}
.commission-next-step strong{
  color:var(--text);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.98rem;
  line-height:1.25;
  font-weight:700;
}
@media(max-width:820px){.studio-head{grid-template-columns:1fr;gap:20px;margin-bottom:28px;text-align:center}
.studio-title .eyebrow{text-align:center}
.studio-title h2{text-align:center;margin-left:auto;margin-right:auto}
.studio-head .lead{margin:0 auto;max-width:650px;text-align:center}
.studio-disciplines{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-discipline,.studio-discipline:nth-child(4),.studio-discipline:nth-child(5){grid-column:auto;min-height:200px}
.studio-discipline:last-child{grid-column:1 / -1;min-height:auto}}
@media(max-width:560px){.studio-section{padding-top:54px;padding-bottom:58px}
.studio-head{gap:16px;margin-bottom:23px}
.studio-title h2{font-size:2.78rem;line-height:.9}
.studio-head .lead{font-size:.88rem;line-height:1.62}
.studio-disciplines{grid-template-columns:1fr;gap:10px}
.studio-discipline,.studio-discipline:nth-child(4),.studio-discipline:nth-child(5),.studio-discipline:last-child{grid-column:auto;min-height:auto;padding:20px 18px}
.studio-discipline .n{margin-bottom:24px}
.studio-discipline h3{font-size:1.32rem}
.studio-discipline p{font-size:.84rem}
.studio-note{font-size:.62rem;margin-top:19px}
.commission-next-step{grid-template-columns:1fr;gap:4px}
.commission-next-step strong{font-size:.94rem}}
/* ==========================================================================
   ORIGIN: v13-9-evening-preview-refinement
   ========================================================================== */

/* V13.9 TEST PREVIEW — real-device refinement.
   Scope: Studio, Selected Worlds outro and Commission intro only.
   Existing validated sections, media and form behaviour remain untouched. */

/* Tablet / iPad: make the new Studio section editorial rather than card-heavy. */
@media (min-width:700px) and (max-width:1250px){#studio.studio-section{padding-top:62px;padding-bottom:66px}
#studio .studio-head{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;margin-bottom:28px;text-align:left}
#studio .studio-title .eyebrow,#studio .studio-title h2{text-align:left}
#studio .studio-title h2{font-size:clamp(3rem,5.1vw,3.8rem);line-height:.9;margin-top:12px}
#studio .studio-head .lead{font-size:.9rem;line-height:1.62;max-width:520px;text-align:left}
#studio .studio-disciplines{display:block;border-top:1px solid rgba(211,174,137,.20)}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{
    display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:6px;
    min-height:0;padding:18px 0 19px;border:0;border-bottom:1px solid rgba(211,174,137,.16);border-radius:0;background:transparent;
  }
#studio .studio-discipline .n{grid-column:1;grid-row:1 / span 2;margin:3px 0 0;font-size:.61rem}
#studio .studio-discipline h3{grid-column:2;grid-row:1;font-size:1.28rem;line-height:1}
#studio .studio-discipline p{grid-column:2;grid-row:2;margin:0;max-width:720px;font-size:.82rem;line-height:1.48}
#studio .studio-note{margin-top:18px;font-size:.6rem;letter-spacing:.065em}
#commission .commission-grid{align-items:start}
#commission .commission-intro{padding:28px 28px;min-height:0;align-self:start}
#commission .commission-intro h2{font-size:2.75rem;line-height:.91;margin:12px 0 16px}
#commission .commission-intro>p{font-size:.9rem;line-height:1.62;max-width:720px}
#commission .commission-promise{margin-top:24px;padding-top:22px}
#commission .commission-promise strong{font-size:1.62rem;line-height:1}
#commission .commission-promise span{margin-top:9px;font-size:.78rem;line-height:1.5}
#commission .commission-next{margin-top:20px;padding-top:18px;gap:10px}
#commission .commission-next-step{grid-template-columns:112px minmax(0,1fr);gap:12px}
#commission .commission-next-step strong{font-size:.92rem;line-height:1.2}
#worlds .worlds-outro span{max-width:none;font-size:.84rem;line-height:1.35;white-space:nowrap}}
/* Phone: mirror the compact numbered-list rhythm already used successfully in Private by Design. */
@media (max-width:699px){#studio.studio-section{padding-top:48px;padding-bottom:52px}
#studio .studio-head{display:block;margin-bottom:22px;text-align:center}
#studio .studio-title .eyebrow{text-align:center}
#studio .studio-title h2{font-size:2.32rem;line-height:.91;margin:10px auto 0;text-align:center}
#studio .studio-head .lead{max-width:330px;margin:14px auto 0;font-size:.82rem;line-height:1.52;text-align:center}
#studio .studio-disciplines{display:block;border-top:1px solid rgba(211,174,137,.20)}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{
    display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:5px;
    min-height:0;padding:15px 0 16px;border:0;border-bottom:1px solid rgba(211,174,137,.16);border-radius:0;background:transparent;
  }
#studio .studio-discipline .n{grid-column:1;grid-row:1 / span 2;margin:2px 0 0;font-size:.56rem;letter-spacing:.14em}
#studio .studio-discipline h3{grid-column:2;grid-row:1;font-size:1.12rem;line-height:1.02}
#studio .studio-discipline p{grid-column:2;grid-row:2;margin:0;max-width:none;font-size:.76rem;line-height:1.44}
#studio .studio-note{max-width:320px;margin:16px auto 0;font-size:.55rem;line-height:1.45;letter-spacing:.055em}
#worlds .worlds-outro{gap:7px;margin-top:24px}
#worlds .worlds-outro span{max-width:none;width:auto;font-size:.76rem;line-height:1.25;white-space:nowrap}
#commission .commission-intro{padding:23px 19px;min-height:0}
#commission .commission-intro .eyebrow{font-size:.58rem}
#commission .commission-intro h2{font-size:2.28rem;line-height:.91;margin:10px 0 14px;max-width:310px}
#commission .commission-intro>p{font-size:.83rem;line-height:1.58}
#commission .commission-promise{margin-top:21px;padding-top:18px}
#commission .commission-promise strong{font-size:1.34rem;line-height:1.02}
#commission .commission-promise span{margin-top:8px;font-size:.73rem;line-height:1.45}
#commission .commission-next{margin-top:18px;padding-top:16px;gap:9px}
#commission .commission-next-label{font-size:.56rem}
#commission .commission-next-step{grid-template-columns:102px minmax(0,1fr);gap:9px;align-items:start}
#commission .commission-next-step span{font-size:.53rem;line-height:1.35}
#commission .commission-next-step strong{font-size:.84rem;line-height:1.18}}
@media (max-width:370px){#worlds .worlds-outro span{font-size:.72rem}
#commission .commission-intro h2{font-size:2.16rem}}
/* ==========================================================================
   ORIGIN: v13-10-readability-and-policy-refinement
   ========================================================================== */
@media(max-width:560px){#experience .experience-card p{font-size:.75rem;line-height:1.36}
#experience .experience-card:nth-child(n+3) p{font-size:.75rem;line-height:1.35}
#studio .studio-note{font-size:.68rem;line-height:1.48;letter-spacing:.045em}
#commission .commission-next-step{grid-template-columns:118px minmax(0,1fr)}
#commission .commission-next-step span{font-size:.72rem;line-height:1.38;white-space:nowrap}
#commission .form-status{font-size:.75rem;line-height:1.48}
#ruby .ruby-video-caption span{font-size:.58rem;line-height:1.2}}
/* ==========================================================================
   ORIGIN: v13-11-tablet-header-and-readability
   ========================================================================== */

/* V13.11 — tester polish: tablet-portrait navigation and last mobile microcopy readability only. */
@media (min-width:821px) and (max-width:900px){.desktop-nav,.header-commission{display:none}
.hamburger{display:flex;justify-self:end}
.header-inner{grid-template-columns:auto 1fr auto;min-height:62px}}
@media(max-width:560px){#experience .experience-card b{font-size:.70rem;line-height:1.16;letter-spacing:.075em}
#experience .experience-card:nth-child(n+3) b{font-size:.66rem;line-height:1.16;letter-spacing:.055em}
#ruby .ruby-video-caption span{font-size:.62rem;line-height:1.2}
.promise-meaning .eyebrow{font-size:.62rem}
.world-card.idea .world-card-copy .tiny{font-size:.58rem;letter-spacing:.09em}
#studio .studio-note{font-size:.72rem;line-height:1.48}}
/* ==========================================================================
   ORIGIN: v13-11-small-phone-experience
   ========================================================================== */

/* Very narrow phones: avoid three sub-105px Experience cards. */
@media(max-width:350px){#experience .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#experience .experience-card:nth-child(n){grid-column:auto;aspect-ratio:4/5}
#experience .experience-card:last-child{grid-column:1 / -1;aspect-ratio:16/9}
#experience .experience-card:nth-child(n+3) .experience-copy{padding:12px 11px}
#experience .experience-card:nth-child(n+3) b{font-size:.68rem}}
/* ==========================================================================
   ORIGIN: pws-legal-modal-style
   ========================================================================== */

/* V13.15 — robust in-page legal viewer for local iPhone tester + deployed site */
#pws-legal-modal[hidden]{display:none!important}
#pws-legal-modal{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;background:#070707;color:#f1ece6;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
#pws-legal-modal .pws-legal-bar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.09);background:rgba(7,7,7,.97)}
#pws-legal-modal .pws-legal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d3ae89;font-family:Inter,Arial,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
#pws-legal-modal .pws-legal-close{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#0b0c0d;color:#f1ece6;font:300 27px/1 Arial,sans-serif;cursor:pointer}
#pws-legal-modal .pws-legal-close:focus-visible{outline:2px solid #d3ae89;outline-offset:3px}
#pws-legal-modal .pws-legal-frame{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto;border:0;background:#070707}
/* ==========================================================================
   ORIGIN: v13-16-desktop-editorial-fixes
   ========================================================================== */

/* V13.16 — user-approved desktop / iPad-landscape editorial correction only.
   Scope: centre three section eyebrows and replace wide-screen Studio cards with editorial rows.
   Mobile, iPad portrait, copy, media, navigation, legal modal and interactions remain unchanged. */
@media (min-width:1101px), (min-width:821px) and (max-width:1100px) and (orientation:landscape){#privacy .privacy-intro .eyebrow,#studio .studio-title .eyebrow{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }}
@media (min-width:1101px){#studio .studio-disciplines{
    display:block;
    border-top:1px solid rgba(211,174,137,.20);
  }
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{
    display:grid;
    grid-template-columns:54px minmax(235px,.76fr) minmax(0,1.24fr);
    grid-template-rows:auto;
    column-gap:26px;
    align-items:baseline;
    min-height:0;
    padding:21px 0 22px;
    border:0;
    border-bottom:1px solid rgba(211,174,137,.16);
    border-radius:0;
    background:transparent;
  }
#studio .studio-discipline .n{
    grid-column:1;
    grid-row:1;
    margin:0;
    color:var(--champ);
    font-size:.61rem;
    letter-spacing:.16em;
  }
#studio .studio-discipline h3{
    grid-column:2;
    grid-row:1;
    margin:0;
    font-size:1.34rem;
    line-height:1.04;
    letter-spacing:-.025em;
  }
#studio .studio-discipline p{
    grid-column:3;
    grid-row:1;
    margin:0;
    max-width:650px;
    color:var(--muted);
    font-size:.86rem;
    line-height:1.56;
  }
#studio .studio-note{margin-top:20px}}
/* ==========================================================================
   ORIGIN: v13-18-studio-film
   ========================================================================== */

/* V13.18 — Studio film integration only. Original MP4 is used without transcoding. */
#studio .studio-film{
  width:100%;
  aspect-ratio:16 / 9;
  margin:0 0 34px;
  background:#050607;
  overflow:hidden;
  border-top:1px solid rgba(211,174,137,.16);
  border-bottom:1px solid rgba(211,174,137,.16);
}
#studio .studio-film video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#050607;
}
@media (min-width:700px) and (max-width:1250px){#studio .studio-film{margin-bottom:28px}}
@media (max-width:699px){#studio .studio-film{margin:0 0 22px;aspect-ratio:16 / 9}}
/* ==========================================================================
   ORIGIN: v13-19-studio-layout
   ========================================================================== */

/* V13.19 — approved The Studio composition from deterministic V4 reference.
   Scope only: The Studio media/layout. Existing copy and original MP4 are preserved. */
#studio.studio-section{
  padding-top:clamp(58px,7vw,92px);
  padding-bottom:clamp(64px,8vw,108px);
}
#studio .studio-head{
  display:grid;
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.42fr);
  gap:0;
  align-items:stretch;
  margin:0 0 clamp(28px,3vw,42px);
}
#studio .studio-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:clamp(330px,30vw,455px);
  padding:clamp(34px,4vw,64px) clamp(34px,4vw,62px) clamp(34px,4vw,58px) 0;
  background:linear-gradient(90deg,var(--bg, #070707) 0%,var(--bg, #070707) 72%,rgba(7,7,7,.92) 88%,rgba(7,7,7,0) 100%);
}
#studio .studio-title{max-width:620px}
#studio .studio-title h2{
  margin-top:14px;
  font-size:clamp(3.7rem,5.55vw,5.65rem);
  line-height:.88;
  letter-spacing:-.048em;
}
#studio .studio-copy .lead{
  max-width:520px;
  margin:clamp(24px,2.5vw,34px) 0 0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.72;
}
#studio .studio-hero{
  position:relative;
  min-width:0;
  min-height:clamp(330px,30vw,455px);
  margin:0;
  overflow:hidden;
  background:#080909;
}
#studio .studio-hero img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}
#studio .studio-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:26%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(7,7,7,.88),rgba(7,7,7,.42) 48%,transparent);
}
#studio .studio-production-grid{
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(350px,.88fr);
  gap:clamp(28px,3.4vw,52px);
  align-items:stretch;
  margin-bottom:clamp(34px,4vw,54px);
}
#studio .studio-film{
  width:100%;
  aspect-ratio:16 / 9;
  margin:0;
  align-self:start;
  background:#050607;
  border:1px solid rgba(211,174,137,.16);
  overflow:hidden;
}
#studio .studio-film video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#050607;
}
#studio .studio-disciplines{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:repeat(5,minmax(0,1fr));
  gap:0 !important;
  border-top:1px solid rgba(211,174,137,.20);
  min-width:0;
}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:20px !important;
  align-content:center !important;
  min-height:0 !important;
  padding:10px 0 12px !important;
  border:0 !important;
  border-bottom:1px solid rgba(211,174,137,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
}
#studio .studio-discipline .n{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  align-self:start;
  margin:4px 0 0 !important;
  color:var(--champ);
  font-size:.61rem !important;
  letter-spacing:.16em;
}
#studio .studio-discipline h3{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  font-size:clamp(1.03rem,1.35vw,1.34rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em;
}
#studio .studio-discipline p{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:8px 0 0 !important;
  max-width:none !important;
  color:var(--muted);
  font-size:clamp(.72rem,.8vw,.86rem) !important;
  line-height:1.48 !important;
}
#studio .studio-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  width:100%;
  margin:0;
  border-top:1px solid rgba(211,174,137,.16);
  border-bottom:1px solid rgba(211,174,137,.16);
}
#studio .studio-gallery figure{
  position:relative;
  aspect-ratio:16 / 9;
  margin:0;
  overflow:hidden;
  background:#080909;
}
#studio .studio-gallery figure:first-child{border-right:1px solid rgba(7,7,7,.9)}
#studio .studio-gallery img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
#studio .studio-gallery figure:first-child img{object-position:50% 48%}
#studio .studio-gallery figure:last-child img{object-position:50% 50%}
#studio .studio-note{margin:22px auto 0}
@media (min-width:901px) and (max-width:1250px){#studio .studio-head{grid-template-columns:minmax(315px,.82fr) minmax(0,1.38fr)}
#studio .studio-copy{min-height:330px;padding-right:34px}
#studio .studio-hero{min-height:330px}
#studio .studio-title h2{font-size:clamp(3.25rem,5.3vw,4.7rem)}
#studio .studio-copy .lead{font-size:.88rem;line-height:1.62}
#studio .studio-production-grid{grid-template-columns:minmax(0,1.55fr) minmax(315px,.95fr);gap:28px}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{padding:8px 0 9px !important;grid-template-columns:40px minmax(0,1fr) !important;column-gap:14px !important}
#studio .studio-discipline h3{font-size:1rem !important}
#studio .studio-discipline p{font-size:.70rem !important;line-height:1.42 !important;margin-top:6px !important}}
@media (max-width:900px){#studio .studio-head{grid-template-columns:1fr;gap:0;margin-bottom:24px}
#studio .studio-copy{min-height:0;padding:34px 0 30px;background:none;text-align:center}
#studio .studio-title{max-width:650px;margin:0 auto}
#studio .studio-title .eyebrow{text-align:center}
#studio .studio-title h2{text-align:center;margin-left:auto;margin-right:auto}
#studio .studio-copy .lead{margin:24px auto 0;max-width:650px;text-align:center}
#studio .studio-hero{min-height:0;aspect-ratio:16 / 9}
#studio .studio-hero::before{display:none}
#studio .studio-production-grid{grid-template-columns:1fr;gap:26px;margin-bottom:28px}
#studio .studio-disciplines{display:block !important}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{grid-template-columns:46px minmax(0,1fr) !important;grid-template-rows:auto auto !important;padding:17px 0 18px !important}
#studio .studio-discipline h3{font-size:1.18rem !important}
#studio .studio-discipline p{font-size:.82rem !important;line-height:1.52 !important}
#studio .studio-gallery{grid-template-columns:1fr 1fr}}
@media (max-width:560px){#studio .studio-copy{padding-top:10px}
#studio .studio-title h2{font-size:2.78rem;line-height:.9}
#studio .studio-copy .lead{font-size:.88rem;line-height:1.62}
#studio .studio-production-grid{gap:20px}
#studio .studio-discipline,#studio .studio-discipline:nth-child(4),#studio .studio-discipline:nth-child(5),#studio .studio-discipline:last-child{grid-template-columns:38px minmax(0,1fr) !important;padding:14px 0 15px !important}
#studio .studio-discipline h3{font-size:1.06rem !important}
#studio .studio-discipline p{font-size:.78rem !important}
#studio .studio-gallery{grid-template-columns:1fr;gap:1px;background:rgba(211,174,137,.14)}
#studio .studio-gallery figure:first-child{border-right:0}}
/* ==========================================================================
   ORIGIN: v13-22-explicit-first-line-axis
   ========================================================================== */

/* V13.22 — explicit visual axis: every eyebrow is centered on the actual first title line. */
#experience .eyebrow-axis-line,#studio .eyebrow-axis-line,#privacy .eyebrow-axis-line,#beyond .eyebrow-axis-line,#continue .eyebrow-axis-line{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  color:inherit !important;
}
#experience .section-head .eyebrow,#studio .studio-title .eyebrow,#privacy .privacy-intro .eyebrow,#beyond .beyond-copy .eyebrow,#continue .continue-intro .eyebrow{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:center !important;
}
/* ==========================================================================
   ORIGIN: pws-v149-how-it-works-cinematic
   ========================================================================== */

/* V14.9 — How It Works cinematic zigzag. Local redesign only. */
#process.process-cinematic{padding:clamp(78px,9vw,132px) 0 clamp(84px,10vw,144px);overflow:hidden}
#process .process-cinematic-shell{max-width:1220px}
#process .process-cinematic-head{text-align:center;margin:0 auto clamp(48px,6vw,78px);max-width:980px}
#process .process-cinematic-head .eyebrow{margin:0 0 17px;color:var(--champ);text-align:center}
#process .process-cinematic-head h2{font-size:clamp(3rem,5.5vw,5.4rem);line-height:.89;letter-spacing:-.047em;max-width:none;margin:0 auto;overflow-wrap:normal}
#process .process-cinematic-head h2 span{display:block;color:var(--text)}
#process .process-cinematic-head h2 span:last-child{color:var(--champ)}
#process .process-cinematic-steps{display:grid;gap:0;position:relative}
#process .process-cinematic-step{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:330px;isolation:isolate;background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,.004));border-top:1px solid rgba(211,174,137,.16)}
#process .process-cinematic-step:last-child{border-bottom:1px solid rgba(211,174,137,.16)}
#process .process-cinematic-step:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(231,183,133,.9) 22%,rgba(211,174,137,.32) 72%,transparent);box-shadow:0 0 18px rgba(211,174,137,.24);pointer-events:none}
#process .process-image-left:after{left:52%}
#process .process-image-right:after{left:52%}
#process .process-image-right .process-cinematic-media{grid-column:2;grid-row:1}
#process .process-image-right .process-cinematic-copy{grid-column:1;grid-row:1}
#process .process-cinematic-media{position:relative;min-width:0;overflow:hidden;background:#080808;margin:0;display:grid;place-items:center}
#process .process-cinematic-media:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}
#process .process-image-left .process-cinematic-media:after{background:linear-gradient(90deg,rgba(7,7,7,.18) 0%,transparent 20%,transparent 74%,rgba(7,7,7,.72) 100%)}
#process .process-image-right .process-cinematic-media:after{background:linear-gradient(270deg,rgba(7,7,7,.16) 0%,transparent 20%,transparent 74%,rgba(7,7,7,.72) 100%)}
#process .process-cinematic-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#080808}
#process .process-step-imagine .process-cinematic-media{aspect-ratio:1/1}
#process .process-step-imagine .process-cinematic-media img{object-fit:contain;object-position:center}
#process .process-step-shape .process-cinematic-media{aspect-ratio:16/10}
#process .process-step-shape .process-cinematic-media img{object-position:50% 50%}
#process .process-step-life .process-cinematic-media{aspect-ratio:4/3}
#process .process-step-life .process-cinematic-media img{object-position:50% 38%}
#process .process-step-writing .process-cinematic-media{aspect-ratio:4/3}
#process .process-step-writing .process-cinematic-media img{object-position:50% 42%}
#process .process-cinematic-copy{position:relative;z-index:4;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,72px);background:radial-gradient(circle at 20% 50%,rgba(211,174,137,.055),transparent 48%),linear-gradient(180deg,rgba(10,10,10,.9),rgba(7,7,7,.96))}
#process .process-image-right .process-cinematic-copy{background:radial-gradient(circle at 80% 50%,rgba(211,174,137,.055),transparent 48%),linear-gradient(180deg,rgba(10,10,10,.9),rgba(7,7,7,.96))}
#process .process-cinematic-copy .n{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--champ);margin-bottom:18px}
#process .process-cinematic-copy .n:after{content:"";display:block;width:31px;height:1px;background:rgba(211,174,137,.72);margin-top:15px}
#process .process-cinematic-copy h3{font-size:clamp(1.8rem,3vw,2.65rem);line-height:.98;letter-spacing:-.034em;color:var(--text);max-width:480px}
#process .process-cinematic-copy p{margin-top:13px;color:var(--champ);font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(.96rem,1.45vw,1.18rem);line-height:1.34;max-width:490px}
@media (max-width:900px){#process.process-cinematic{padding:66px 0 72px}
#process .process-cinematic-head{margin-bottom:40px;max-width:720px}
#process .process-cinematic-head h2{font-size:clamp(2.6rem,7vw,4.15rem)}
#process .process-cinematic-step{grid-template-columns:1fr 1fr;min-height:280px}
#process .process-cinematic-copy{padding:clamp(28px,4.2vw,48px)}
#process .process-cinematic-copy h3{font-size:clamp(1.55rem,3.8vw,2.2rem)}
#process .process-cinematic-copy p{font-size:clamp(.92rem,2vw,1.05rem)}
#process .process-image-left:after{left:50%}
#process .process-image-right:after{left:50%}
#process .process-step-imagine .process-cinematic-media,#process .process-step-shape .process-cinematic-media,#process .process-step-life .process-cinematic-media,#process .process-step-writing .process-cinematic-media{aspect-ratio:auto}}
@media (max-width:560px){#process.process-cinematic{padding:52px 0 58px}
#process .process-cinematic-shell{width:min(100% - 24px,1220px)}
#process .process-cinematic-head{margin-bottom:30px;padding:0 8px}
#process .process-cinematic-head .eyebrow{margin-bottom:10px;font-size:.62rem}
#process .process-cinematic-head h2{font-size:clamp(2rem,10.1vw,2.78rem);line-height:.9;letter-spacing:-.043em}
#process .process-cinematic-step{grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:190px}
#process .process-image-right{grid-template-columns:minmax(0,57%) minmax(0,43%)}
#process .process-cinematic-copy{padding:22px 17px 22px 20px}
#process .process-image-right .process-cinematic-copy{padding:22px 20px 22px 17px}
#process .process-cinematic-copy .n{font-size:.57rem;letter-spacing:.14em;margin-bottom:11px;white-space:nowrap}
#process .process-cinematic-copy .n:after{width:22px;margin-top:9px}
#process .process-cinematic-copy h3{font-size:clamp(1.02rem,4.8vw,1.28rem);line-height:1.02;letter-spacing:-.026em}
#process .process-cinematic-copy p{margin-top:8px;font-size:clamp(.72rem,3.35vw,.86rem);line-height:1.28;font-weight:600}
#process .process-cinematic-media{aspect-ratio:auto !important;min-height:190px}
#process .process-cinematic-media img{object-fit:cover}
#process .process-step-imagine .process-cinematic-media img{object-fit:contain}
#process .process-step-shape .process-cinematic-media img{object-position:53% 50%}
#process .process-step-life .process-cinematic-media img{object-position:50% 37%}
#process .process-step-writing .process-cinematic-media img{object-position:50% 44%}
#process .process-image-left:after{left:43%}
#process .process-image-right:after{left:57%}
#process .process-image-left .process-cinematic-media:after{background:linear-gradient(90deg,rgba(7,7,7,.1),transparent 52%,rgba(7,7,7,.72) 100%)}
#process .process-image-right .process-cinematic-media:after{background:linear-gradient(270deg,rgba(7,7,7,.1),transparent 52%,rgba(7,7,7,.72) 100%)}}
/* ==========================================================================
   ORIGIN: pws-v14-layout-fixes
   ========================================================================== */

/* ---------------------------------------------------------------
   PWS v14.1 — layout corrections from annotated iPad review.
   --------------------------------------------------------------- */

/* FIX 1 — Privacy title overlapping the commitments column.
   The V13.3 rule applied `white-space:nowrap` to `h2 span`, which matched
   BOTH spans. It was only ever meant for the champagne continuation
   ("Discreet by design."). Forcing the first line to nowrap made it
   overflow its column and collide with "Confidential". */
#privacy .privacy-intro h2 span.eyebrow-axis-line{
  white-space:normal !important;
}
/* FIX 2 — safety net: no editorial title may exceed its grid column. */
#privacy .privacy-intro,#beyond .beyond-copy,#continue .continue-intro{
  min-width:0;
}
#privacy .privacy-intro h2{
  max-width:min(560px,100%);
}
#privacy .privacy-intro h2,#beyond .beyond-copy h2,#continue .continue-intro h2,#experience .section-head h2{
  overflow-wrap:break-word;
}
/* ==========================================================================
   ORIGIN: pws-v143-film-chrome
   ========================================================================== */

  /* The films play as clean picture. Controls are summoned, not permanent. */
video[data-autoplay="on-view"]{ cursor:pointer; }
video[data-autoplay="on-view"]::-webkit-media-controls-start-playback-button{
    display:none !important; -webkit-appearance:none;
  }
/* ==========================================================================
   ORIGIN: pws-v144
   ========================================================================== */

/* =============================================================
   PWS v14.4
   ============================================================= */

/* --- 1. nowrap on editorial text -----------------------------
   Same failure mode as the Privacy collision: a headline that
   cannot break will overflow its column between roughly 1101px
   and 1250px. These now hold one line while there is room and
   break evenly when there isn't. */
.hero-copy .lead,.hero-copy p,#experience .section-head h2,#faq .section-head h2,#faq .section-head .lead{
  white-space:normal !important;
  text-wrap:balance;
}
/* --- 2. Studio section on mobile -----------------------------
   In one column the section stacked four full-width 16:9 blocks
   of the same character, and closed on two unanchored photos.
   Now: the film is the only full-width medium, the two stills
   read as one continuity strip beneath it, and the section ends
   on text. The head photo is dropped here - it shows what the
   film already shows, and it is what created the repetition.
   (lazy + display:none means it is never downloaded on mobile.) */
@media (max-width:900px){/* let the section's blocks be reordered as one column */
#studio .container{ display:flex; flex-direction:column; }
/* dissolve the wrapper so film and disciplines can be placed apart */
#studio .studio-production-grid{ display:contents; }
#studio .studio-head{ order:1; }
#studio .studio-film{ order:2; margin:0 0 18px; }
#studio .studio-gallery{ order:3; margin:0 0 26px; }
#studio .studio-disciplines{ order:4; }
#studio .studio-note{ order:5; }
/* the head photo is the redundant one */
#studio .studio-hero{ display:none !important; }
/* two frames side by side: one object, not two blocks */
#studio .studio-gallery{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:1px !important;
    background:rgba(211,174,137,.16);
    border-top:1px solid rgba(211,174,137,.16);
    border-bottom:1px solid rgba(211,174,137,.16);
  }
#studio .studio-gallery figure{
    aspect-ratio:4 / 5;          /* portrait reads better at half width */
    border-right:0 !important;
  }}
/* ==========================================================================
   ORIGIN: pws-v145
   ========================================================================== */

/* =============================================================
   PWS v14.5
   ============================================================= */

/* --- 1. Continue: title block centred over the photo pair -----
   .continue-intro used 1.08fr / .72fr while .continuity-layout
   below it uses 1.42fr / .58fr, so the text column and the photo
   column were never the same width. Matching the two grids makes
   the left column identical, and centring inside it puts the
   eyebrow and the headline on the photo pair's axis.
   Bonus: the lead now lines up with the 01/02/03 index below. */
@media (min-width:1101px){#continue .continue-intro{
    grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr) !important;
    gap:clamp(30px,4vw,64px) !important;
  }
#continue .continue-intro > div{
    text-align:center;
  }
#continue .continue-intro h2{
    text-align:center;
  }
#continue .continue-intro .eyebrow{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    text-align:center !important;
    transform:none !important;
  }}
/* --- 2. Studio strip on mobile -------------------------------
   The portrait frame sat directly under the film showing the same
   framing of the same character in a different grade, which read
   as an inconsistency rather than a series. On mobile the strip is
   now the single 16:9 detail frame: the film carries the face, the
   still carries the texture. */
@media (max-width:900px){#studio .studio-gallery{
    grid-template-columns:1fr !important;
    gap:0 !important;
    background:transparent;
  }
#studio .studio-gallery figure:first-child{
    display:none !important;
  }
#studio .studio-gallery figure:last-child{
    aspect-ratio:16 / 9 !important;
  }}
/* ==========================================================================
   ORIGIN: pws-v146
   ========================================================================== */

/* PWS v14.6 — the Continue title block is positioned on the photo pair's
   real rendered box, not on its grid column. .continuity-visual carries an
   aspect-ratio, so it is narrower than the column it sits in: matching the
   two grid templates (v14.5) aligned the columns but left the text centred
   ~120px right of the photos. Measured at runtime instead. */
@media (min-width:1101px){#continue .continue-intro > div{ justify-self:start; }}
/* ==========================================================================
   ORIGIN: pws-v147
   ========================================================================== */

/* PWS v14.7 — mobile: two section titles were never added to the centring list.
   Seven of the nine editorial headlines are centred below 560px (rules V12.26
   and V12.27). #faq and #commission were left out, so they stayed left-aligned
   while their own eyebrow and lead were centred above and below them.
   Aligned with the other seven. */
@media (max-width:1100px){#faq .section-head h2,#commission .commission-intro h2{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }}
/* ==========================================================================
   ORIGIN: pws-v148
   ========================================================================== */

/* PWS v14.8 — "Begin with an idea."
   Mobile: one line. It was capped at max-width:310px while the string needs
   about 9.5em (measured: 0.50em average advance x 19 characters), so it broke
   after "an". The cap is removed and the size is driven by viewport width, so
   nowrap here cannot overflow - the type shrinks with the screen instead.
   iPad / desktop: unchanged at two lines, now centred. */
@media (max-width:820px){#commission .commission-intro h2{
    max-width:none !important;
    white-space:nowrap;
    font-size:min(2.4rem, 8.6vw) !important;
    line-height:1.02;
  }}
/* centred at every width, not only below 1100px */
#commission .commission-intro h2{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
/* ==========================================================================
   ORIGIN: pws-v149-mobile-commission-polish
   ========================================================================== */

/* PWS v14.9 — mobile commission polish only.
   1) AFTER YOUR BRIEF becomes quieter supporting information, not a second headline.
   2) The form context note is placed below the active question title/note on phone.
   Desktop / iPad layouts are unchanged. */
@media (max-width:699px){#commission .commission-next-step{
    grid-template-columns:112px minmax(0,1fr);
    gap:10px;
    align-items:start;
  }
#commission .commission-next-step span{
    color:var(--champ);
    opacity:.74;
    font-size:.62rem;
    line-height:1.42;
    letter-spacing:.12em;
    white-space:nowrap;
  }
#commission .commission-next-step strong{
    color:var(--muted);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:.78rem;
    line-height:1.42;
    font-weight:500;
    letter-spacing:0;
  }
#commission .wizard-step > .form-intro.mobile-question-context{
    margin:15px 0 0;
    padding:13px 0 0;
    border-top:1px solid rgba(211,174,137,.16);
    color:var(--soft);
    font-size:.72rem;
    line-height:1.5;
  }
#commission .wizard-step > .form-intro.mobile-question-context .form-legal-links{
    margin:8px 0 0;
    gap:7px 14px;
    font-size:.66rem;
  }
#commission .wizard-options{margin-top:18px}}