/* Editorial layout: quiet navigation, expressive chapter content. */
html{scroll-padding-top:30px}
aside{width:202px;padding-left:15px;padding-right:15px}
.workspace{margin-left:202px}
.wordmark{width:140px}
.menu-toggle{display:none}
main{max-width:1600px}
section{padding:88px 0}
.overview{padding-top:28px;padding-bottom:64px}
header{height:68px}
.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:490px}
.hero-copy{padding:42px 0 42px 38px}
h1{font-size:clamp(36px,4.05vw,62px);letter-spacing:-2px;margin:24px 0}
.hero-copy p{max-width:340px;font-size:15px}
.character-stage{min-height:490px}
.character-stage img{filter:none;transition:transform .35s ease;max-width:none;object-fit:contain}
.character-stage .aron{width:64%;height:240px;left:4%;top:12%;transform:rotate(-9deg)}
.character-stage .vito{width:55%;height:205px;right:3%;bottom:13%;transform:rotate(10deg)}
.character-stage:hover .aron{transform:translateY(-6px) rotate(-5deg)}
.character-stage:hover .vito{transform:translateY(4px) rotate(6deg)}
.orbit{width:80%;height:auto;aspect-ratio:1;border-color:#6b469c;left:4%;top:20%;transform:none}
.stage-caption{left:0;right:0;bottom:25px;text-align:center;font-size:8px;letter-spacing:1px}
.intro-bottom{margin-top:34px;gap:50px;align-items:start}
.intro-bottom h2{font-size:24px;margin:0}
.intro-bottom p{font-size:14px}
.chapter-index{margin-top:56px;scroll-margin-top:0}
.chapter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}
.chapter-heading>span:last-child{font-size:12px;color:#686871}
.chapter-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;grid-template-rows:245px 205px;gap:12px}
.chapter{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:21px;border-radius:3px;min-width:0;transition:box-shadow .2s ease}
.chapter:hover{box-shadow:inset 0 0 0 2px currentColor}
.tile-label{font-size:13px;font-weight:550;display:flex;justify-content:space-between;gap:8px;position:relative;z-index:1}
.tile-label b{font-weight:400;transition:transform .2s ease}
.chapter:hover .tile-label b{transform:translate(2px,-2px)}
.tile-foot{font-size:10px;position:relative;z-index:1;margin-top:auto}
.chapter-logo{background:#230068;color:#fff;grid-row:1/3}
.chapter-logo img{width:68%;max-height:240px;object-fit:contain;margin:auto;transition:transform .3s ease}
.chapter-logo:hover img{transform:none}
.chapter-colours{background:#d4c4ff;color:#230068}
.tile-palette{display:flex;align-items:center;justify-content:center;margin:auto;height:105px;width:100%}
.tile-palette i{width:25%;height:80px;border-radius:50%;background:#230068;margin-left:-8px;transition:transform .25s ease}
.tile-palette i:nth-child(2){background:#6214ff}.tile-palette i:nth-child(3){background:#8e69ff}.tile-palette i:nth-child(4){background:#b9a1ff}
.chapter-colours:hover i:nth-child(2n){transform:translateY(-7px)}
.chapter-type{background:#eeede8;color:#230068}
.tile-aa{font:450 clamp(65px,7.4vw,112px)/1 Unbounded,sans-serif;letter-spacing:-7px;margin:auto;transition:font-weight .25s ease}
.chapter-type:hover .tile-aa{font-weight:650}
.chapter-voice{background:#f0e9ff;color:#230068}
.chapter-voice p{font:500 clamp(20px,2.1vw,30px)/1.2 Unbounded,sans-serif;letter-spacing:-1px;margin:auto 0}
.chapter-layout{background:#e9e9e5;color:#24242a}
.tile-composition{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:30px 50px;gap:7px;width:70%;margin:auto;transform:rotate(-5deg);transition:transform .3s ease}
.tile-composition i{background:#230068}.tile-composition i:first-child{grid-column:1/3;background:#8e69ff}.tile-composition i:last-child{background:#b9a1ff}
.chapter-layout:hover .tile-composition{transform:rotate(0)}
.chapter-imagery{display:none}
/* One tall tile plus four compact tiles keeps the index restrained; imagery spans the closing row. */
.chapter-grid{grid-template-rows:225px 205px 150px}
.chapter-imagery{display:flex;grid-column:1/4;background:#d4c4ff;color:#230068}
.chapter-imagery img{position:absolute;right:12%;top:13px;width:125px;height:130px;object-fit:contain;transform:rotate(10deg);transition:transform .3s ease}
.chapter-imagery:hover img{transform:rotate(4deg) translateY(-4px)}
.chapter-imagery .tile-foot{font:450 clamp(18px,2vw,27px)/1.2 Unbounded,sans-serif;max-width:65%;letter-spacing:-.8px}
.section-heading{margin-bottom:36px}
.section-heading p{font-size:15px}
.logo-grid{grid-template-columns:1fr 1fr;gap:12px}
.logo-panel:first-child{grid-column:1/3;height:320px;background:#eae8e3;color:#24242a}
.logo-panel:first-child img{width:55%;max-height:115px}
.logo-panel{height:205px}
.logo-panel.lilac{background:#230068;color:#fff}
.logo-panel.lilac img{filter:none}
.logo-panel.paper{background:#eee7ff}
.note{grid-template-columns:1fr 2fr;margin:26px 0}
#colours{margin:0;background:#eee8f8;padding:72px 4.2%;border:0}
.swatches{gap:0;grid-template-columns:1.1fr 1.3fr 1.2fr 1fr 1fr 1fr}
.swatch{position:relative;color:white;transition:transform .2s ease}
.swatch i{height:220px;border-radius:0}
.swatch span{position:absolute;bottom:12px;left:14px;font-size:11px;padding:0}
.swatch:nth-child(n+4){color:#230068}
.swatch:hover,.swatch:focus-visible{transform:translateY(-6px);z-index:1}
.colour-application{display:grid;grid-template-columns:1.4fr 1fr;gap:38px;margin-top:42px;align-items:center}
.colour-poster{min-height:365px;background:#230068;color:#fff;padding:28px;position:relative;overflow:hidden}
.colour-poster>.eyebrow{font-size:8px;position:relative;z-index:1;color:#d4c4ff}
.colour-poster h3{font:500 clamp(23px,2.7vw,38px)/1.2 Unbounded,sans-serif;letter-spacing:-1px;margin-top:35px;position:relative;z-index:1}
.colour-poster h3 em{font-style:normal;color:#d4c4ff}
.colour-poster>img:not(.poster-logo){position:absolute;width:155px;height:180px;object-fit:contain;right:-25px;bottom:15px;transform:rotate(-12deg)}
.colour-poster .poster-logo{width:84px;height:25px;object-fit:contain;margin-top:30px}
.colour-notes h3{font-size:25px;margin:14px 0}.colour-notes p{font-size:14px;color:#665d73}.colour-notes .eyebrow{color:#665d73}
.colour-dots{width:auto;flex-wrap:nowrap;margin:25px 0;gap:8px}
.colour-dots i{width:38px;height:38px}
#typography>.section-heading{max-width:100%}
.type-editorial{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:stretch}
.type-specimen{padding:30px;background:transparent;border:1px solid #ddd9df;display:flex;flex-direction:column;min-width:0}
.type-specimen>.eyebrow{font-size:8px}
.giant-type{font-size:clamp(30px,3.7vw,54px);margin:45px 0;line-height:1.15;min-height:190px}
.type-specimen label{margin-top:auto}
.type-specimen input{font-size:13px}
.type-caption{font-size:10px;gap:16px}
.type-poster{background:#d4c4ff;color:#230068;position:relative;padding:30px;overflow:hidden}
.type-poster>.eyebrow{font-size:8px}
.type-poster>p{font:550 clamp(32px,4.2vw,61px)/1.04 Unbounded,sans-serif;letter-spacing:-2px;margin:32px 0}
.type-poster>p em{font-style:normal;color:#6214ff}
.type-poster figcaption{font-size:11px;line-height:1.6;max-width:80%}
.type-poster>img{position:absolute;right:24px;bottom:28px;width:33px;height:38px}
#voice{margin:0;padding:76px 4.2%;background:#230068;color:#fff;border:0}
#voice .section-heading .eyebrow,#voice .section-heading p,#voice>.caption{color:#d4c4ff}
.voice-examples{display:flex;flex-direction:column}
.voice-example{display:grid;grid-template-columns:.8fr 1.3fr;gap:45px;padding:30px 0;border-top:1px solid #644591;align-items:center}
.voice-principle>span{font-size:10px;letter-spacing:1.4px;color:#b9a1ff}
.voice-principle h3{font-size:25px;margin:16px 0 12px}
.voice-principle p{font-size:14px;color:#d4c4ff;max-width:270px}
.voice-sample{padding:26px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.voice-sample>.eyebrow{font-size:9px}
.sample-headline{background:#d4c4ff;color:#230068}
.sample-headline blockquote{font:500 clamp(26px,3.2vw,44px)/1.13 Unbounded,sans-serif;letter-spacing:-1.2px;margin:0}
.sample-headline blockquote em{font-style:normal;color:#6214ff}
.sample-foot{font-size:11px}
.sample-caption{background:#fafaf8;color:#230068}
.mini-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mini-frames span{padding:14px 10px;background:#eee7ff;font-size:12px;line-height:1.8}
.mini-frames span:nth-child(2){background:#d4c4ff}.mini-frames span:nth-child(3){background:#b9a1ff}
.sample-caption blockquote{margin:0;font-size:19px;line-height:1.5}
.sample-message{background:#39177b;color:#fff}
.message-bubble{background:#d4c4ff;color:#230068;border-radius:16px 16px 16px 0;padding:22px;font-size:20px;line-height:1.5;max-width:95%}
#layout>.section-heading{grid-template-columns:1fr;gap:20px}
#layout>.section-heading p{max-width:620px}
.layout-example{min-height:360px;background:#eeede8;gap:20px;padding:42px}
.layout-example>div{min-width:0}
.layout-example img{transition:transform .35s ease}
.layout-example:hover img{transform:rotate(6deg)}
.character-line{padding:0;background:transparent;gap:12px}
.character-line figure{background:#efeeeb;padding:24px 12px 18px}
.character-line figure:nth-child(2n){background:#eee7ff}
.character-line img{height:175px;transition:transform .3s ease}
.character-line figure:hover img{transform:translateY(-6px) rotate(-3deg)}
.character-line figcaption{margin-top:18px;text-align:left;font-size:12px}
.banner img{max-height:500px}
.pending{display:grid;grid-template-columns:1fr 2fr;gap:8px 20px;margin-top:26px;border-top:1px solid var(--line);padding-top:22px}
.pending .eyebrow{grid-row:1/3;margin-top:7px}.pending h3{margin:0;font-size:18px}
footer{margin-top:0}footer .light-button{margin-top:26px}
@media(min-width:1500px){.hero{min-height:560px}.character-stage{min-height:560px}.character-stage .aron{height:290px}.character-stage .vito{height:250px}.chapter-grid{grid-template-rows:260px 230px 160px}}
@media(max-width:1150px){
  aside{position:sticky;top:0;width:100%;padding:15px 24px;background:#fafaf8f5;border-right:0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
  .brand-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{width:120px;height:28px;margin:0}
  .menu-toggle{display:flex;align-items:center;gap:20px;cursor:pointer;background:transparent;color:#230068;border:1px solid #d5cfdf;border-radius:4px;padding:6px 12px;font-size:12px}
  .menu-toggle span{font-size:17px;line-height:1}
  .nav-label,.sidebar-bottom{display:none}
  aside nav{display:none;grid-template-columns:1fr 1fr;margin:15px 0 0;max-height:60vh;overflow:auto;gap:4px}
  aside.menu-open nav{display:grid}
  aside nav a{font-size:13px;padding:10px 12px}
  .workspace{margin-left:0}header{height:52px}
  html{scroll-padding-top:90px}
  .hero{min-height:460px;grid-template-columns:1.2fr 1fr}.character-stage{min-height:460px}
  .hero-copy{padding-left:32px}h1{font-size:clamp(38px,5.1vw,56px)}
  .section-heading{grid-template-columns:1.1fr 1fr;gap:32px}
  .tile-aa{font-size:90px}.chapter-voice p{font-size:26px}
  .giant-type{font-size:clamp(34px,4.7vw,52px)}.type-poster>p{font-size:clamp(40px,5.6vw,60px)}
  .voice-sample blockquote{max-width:100%}
}
@media(max-width:700px){
  section{margin:0 20px;padding:54px 0}.overview{padding-top:22px;padding-bottom:42px}header{padding:0 20px}.draft{font-size:10px}
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:30px 26px 0}h1{font-size:clamp(32px,8vw,50px);letter-spacing:-1.6px}.hero-copy p{max-width:370px;font-size:14px}
  .character-stage{min-height:250px}.character-stage .aron{left:13%;top:12%;width:43%;height:170px}.character-stage .vito{right:12%;bottom:14%;width:34%;height:135px}
  .orbit{width:57%;height:185px;aspect-ratio:auto;top:13%;left:22%}.stage-caption{bottom:17px;font-size:7px}
  .intro-bottom{grid-template-columns:1fr;gap:18px;margin-top:26px}.intro-bottom h2{font-size:23px}
  .chapter-index{margin-top:36px}.chapter-heading>span:last-child{display:none}
  .chapter-grid{grid-template-columns:1fr 1fr;grid-template-rows:205px 185px 185px;gap:8px}
  .chapter{padding:16px}.chapter-logo{grid-row:auto}.chapter-logo img{height:85px;width:70%}
  .tile-label{font-size:11px}.tile-foot{font-size:9px;line-height:1.4}.tile-palette{height:90px}.tile-palette i{height:52px;margin-left:-5px}.tile-aa{font-size:65px;letter-spacing:-4px}
  .chapter-voice p{font-size:20px;letter-spacing:-.7px}.chapter-imagery{grid-column:auto}.chapter-imagery img{position:static;width:72px;height:82px;margin:auto}.chapter-imagery .tile-foot{font:400 9px/1.4 Google,Arial,sans-serif;letter-spacing:0;max-width:100%}
  .tile-composition{width:85%;grid-template-rows:23px 43px}
  .section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.section-heading p{font-size:14px}h2{font-size:27px;letter-spacing:-1px}
  .logo-panel:first-child{height:220px}.logo-panel:first-child img{width:75%;max-width:none}.logo-panel{height:165px;padding:32px 25px}.logo-panel img{max-height:85px}.logo-panel figcaption{left:16px;font-size:10px}
  .note{grid-template-columns:1fr;gap:10px}
  #colours,#voice{padding:52px 20px}
  .swatches{grid-template-columns:repeat(3,1fr)}.swatch i{height:130px}.swatch span{left:10px;font-size:10px}
  .colour-application{grid-template-columns:1fr;gap:28px;margin-top:30px}.colour-poster{min-height:330px;padding:24px}.colour-poster h3{font-size:30px}.colour-poster>img:not(.poster-logo){width:125px;right:-12px;bottom:10px}
  .colour-notes h3{font-size:23px}.colour-dots{margin:20px 0}.colour-dots i{width:35px;height:35px}
  .type-editorial{grid-template-columns:1fr}.type-specimen{padding:24px}.giant-type{font-size:38px;min-height:120px;margin:30px 0}.type-poster{padding:26px}.type-poster>p{font-size:clamp(42px,12vw,68px);margin:25px 0}
  .type-details{grid-template-columns:1fr;gap:24px}
  .voice-example{grid-template-columns:1fr;gap:22px;padding:28px 0}.voice-principle h3{font-size:23px;margin:10px 0}.voice-principle p{max-width:100%}
  .voice-sample{padding:22px;min-height:230px}.sample-headline blockquote{font-size:35px}.sample-caption blockquote{font-size:18px}.message-bubble{font-size:18px;max-width:100%;padding:20px}
  .layout-example{min-height:350px;padding:26px;display:flex;flex-direction:column;align-items:start}.layout-example h3{font-size:28px;max-width:none;margin:24px 0 15px}.layout-example img{position:static;align-self:flex-end;width:100px;max-height:110px;opacity:1;margin-top:-22px}
  .character-line{grid-template-columns:1fr 1fr;gap:8px}.character-line img{height:130px}.character-line figure{padding:20px 12px 14px}
  .pending{grid-template-columns:1fr}.pending .eyebrow{grid-row:auto;margin-bottom:8px}footer{padding:40px 20px 22px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
