:root{
  --paper:#f3efe6;--paper2:#fffdf8;--ink:#17212b;--navy:#172f46;--blue:#2b62d9;
  --yellow:#f3c84b;--coral:#ef735a;--mint:#61b894;--violet:#7763d7;--line:#d8d0c2;
  --muted:#6d7880;--shadow:#d9d0c2;--sans:"DM Sans",system-ui,sans-serif;--display:"Libre Franklin",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}
.gc-grid-bg{background-image:linear-gradient(rgba(23,47,70,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(23,47,70,.055) 1px,transparent 1px);background-size:24px 24px}
.gc-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(247,243,234,.94);backdrop-filter:blur(14px)}
.gc-nav-inner{max-width:1380px;margin:auto;display:flex;align-items:center;gap:20px;padding:11px 22px}
.gc-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.gc-logo{width:39px;height:39px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font:900 14px var(--display);box-shadow:4px 4px 0 #d5cbb9}.gc-brand b{display:block;color:var(--navy);font:800 13px var(--display)}.gc-brand small{display:block;color:#7c878e;font-size:10px}
.gc-links{display:flex;gap:3px;margin-left:auto}.gc-link{border:0;background:transparent;padding:8px 10px;border-radius:8px;color:#5e6971;font-size:12px;font-weight:700}.gc-link:hover,.gc-link.active{background:#fff;color:var(--navy);box-shadow:2px 2px 0 #ddd4c6}
.gc-back{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;color:var(--navy);font-weight:800;font-size:11px}
.gc-shell{max-width:1380px;margin:auto;padding:0 22px 70px}
.gc-hero{margin-top:22px;min-height:445px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:25px;border:1px solid var(--line);border-radius:20px;background:var(--paper2);overflow:hidden;box-shadow:8px 8px 0 var(--shadow)}
.gc-hero-copy{padding:46px 48px}.gc-kicker,.gc-mini{font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}
.gc-hero h1{max-width:780px;margin:14px 0 14px;font:900 clamp(48px,7vw,92px)/.9 var(--display);letter-spacing:-.065em;color:var(--navy)}.gc-hero h1 em{color:var(--coral);font-style:normal}
.gc-hero p{max-width:690px;margin:0;color:#5f6d76;font-size:15px;line-height:1.65}.gc-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.gc-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 13px;color:var(--navy);font-size:11.5px;font-weight:800}.gc-btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.gc-btn.yellow{background:var(--yellow);border-color:#c69d2e;color:var(--navy)}.gc-btn.coral{background:var(--coral);border-color:#c85f4b;color:#fff}
.gc-hero-board{position:relative;min-height:445px;background:#172f46;overflow:hidden}
.gc-poster{position:absolute;background:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:12px 15px 0 rgba(0,0,0,.18);overflow:hidden}
.gc-poster.a{width:215px;height:292px;left:60px;top:58px;transform:rotate(-7deg);background:#f3c84b;padding:22px}.gc-poster.a b{display:block;font:900 41px/.9 var(--display);letter-spacing:-.06em;color:#172f46}.gc-poster.a i{display:block;width:72px;height:72px;border-radius:50%;border:13px solid #ef735a;margin:28px 0 0 auto}
.gc-poster.b{width:184px;height:250px;right:42px;bottom:48px;transform:rotate(8deg);padding:17px;background:#fff}.gc-poster.b .bars{display:grid;gap:8px}.gc-poster.b .bars i{height:17px;background:#172f46}.gc-poster.b .bars i:nth-child(2){width:73%;background:#ef735a}.gc-poster.b .bars i:nth-child(3){width:45%;background:#61b894}.gc-poster.b strong{display:block;margin-top:28px;font:900 29px/1 var(--display);color:#172f46}
.gc-crop{position:absolute;width:46px;height:46px;border-color:#fff;opacity:.45}.gc-crop.tl{top:19px;left:19px;border-left:1px solid;border-top:1px solid}.gc-crop.br{right:19px;bottom:19px;border-right:1px solid;border-bottom:1px solid}
.gc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 36px}.gc-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:4px 4px 0 #ded5c8}.gc-stat b{display:block;font:900 26px var(--display);color:var(--navy)}.gc-stat span{display:block;margin-top:2px;color:#728089;font-size:10.5px}
.gc-section{margin:38px 0}.gc-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px}.gc-section-head h2{margin:5px 0 0;font:900 30px var(--display);letter-spacing:-.04em;color:var(--navy)}.gc-section-head p{max-width:600px;margin:0;color:#6c7880;font-size:12px;line-height:1.55}
.gc-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gc-module{position:relative;min-height:225px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:6px 6px 0 var(--shadow);overflow:hidden;transition:transform .15s,box-shadow .15s}.gc-module:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--shadow)}
.gc-module-top{display:flex;justify-content:space-between;gap:12px}.gc-module-no{font:700 10px var(--mono);color:var(--blue)}.gc-module-aos{display:flex;gap:4px}.gc-ao{padding:4px 6px;border:1px solid var(--line);border-radius:999px;background:#f8f5ee;font:700 8.5px var(--mono);color:#6c7880}.gc-module h3{margin:18px 0 7px;font:900 20px/1.08 var(--display);letter-spacing:-.025em;color:var(--navy)}.gc-module p{margin:0;color:#69767e;font-size:11.5px;line-height:1.55}.gc-module-foot{position:absolute;left:17px;right:17px;bottom:15px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee8dd;padding-top:10px;color:#69767e;font-size:10px}.gc-module-foot button{border:0;background:none;color:var(--blue);font-weight:800}.gc-done{width:8px;height:8px;border-radius:50%;background:#ddd4c7}.gc-module.complete .gc-done{background:var(--mint)}
.gc-ao-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:6px 6px 0 var(--shadow);background:#fff}.gc-ao-card{padding:18px;border-right:1px solid var(--line)}.gc-ao-card:last-child{border-right:0}.gc-ao-card b{font:900 27px var(--display);color:var(--navy)}.gc-ao-card strong{display:block;margin:4px 0;color:var(--coral);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.gc-ao-card p{margin:0;color:#69767e;font-size:10.8px;line-height:1.55}
.gc-labs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gc-lab-card{min-height:190px;border-radius:15px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:6px 6px 0 var(--shadow)}.gc-lab-card:nth-child(1){background:var(--navy)}.gc-lab-card:nth-child(2){background:var(--coral)}.gc-lab-card:nth-child(3){background:var(--violet)}.gc-lab-card b{font:900 24px var(--display)}.gc-lab-card p{max-width:300px;font-size:11px;line-height:1.5;opacity:.88}.gc-lab-card button{position:absolute;left:18px;bottom:17px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;color:#fff;font-weight:800;font-size:10.5px}
.gc-assess{display:grid;grid-template-columns:3fr 2fr;gap:12px}.gc-assess-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:6px 6px 0 var(--shadow)}.gc-assess-card h3{margin:6px 0;font:900 25px var(--display);color:var(--navy)}.gc-assess-card p{color:#68747c;font-size:11.5px;line-height:1.55}.gc-weight{height:16px;border-radius:999px;background:#e8e1d6;overflow:hidden;display:flex;margin:18px 0 8px}.gc-weight i:first-child{width:60%;background:var(--navy)}.gc-weight i:last-child{width:40%;background:var(--coral)}.gc-weight-label{display:flex;justify-content:space-between;color:#6e7980;font-size:10px}
.gc-footer{margin-top:52px;border-top:1px solid var(--line);padding:20px 0 35px;display:flex;justify-content:space-between;gap:20px;color:#758089;font-size:10px}
.gc-course{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding-top:20px}.gc-side{position:sticky;top:76px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:5px 5px 0 var(--shadow);max-height:calc(100vh - 95px);overflow:auto}.gc-side-head{padding:8px 8px 13px;border-bottom:1px solid var(--line)}.gc-side-head b{display:block;font:900 15px var(--display);color:var(--navy)}.gc-side-head small{color:#79858c}.gc-side button{width:100%;border:0;background:none;text-align:left;padding:8px;border-radius:8px;color:#65727a;font-size:10.5px;font-weight:700}.gc-side button.active{background:#f3efe6;color:var(--navy)}.gc-course-main{min-width:0}.gc-course-hero{background:#fff;border:1px solid var(--line);border-radius:17px;padding:25px;box-shadow:6px 6px 0 var(--shadow)}.gc-course-hero h1{margin:8px 0 7px;font:900 38px var(--display);letter-spacing:-.04em;color:var(--navy)}.gc-course-hero p{max-width:800px;color:#66737b;line-height:1.6}.gc-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.gc-tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;color:#68747c;font-weight:800;font-size:10.5px}.gc-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.gc-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:6px 6px 0 var(--shadow)}.gc-panel h2{margin:0 0 9px;font:900 24px var(--display);color:var(--navy)}.gc-panel p,.gc-panel li{color:#64727a;font-size:12px;line-height:1.65}.gc-panel ul{padding-left:19px}
.gc-example{margin:14px 0;border-left:4px solid var(--yellow);background:#faf7ef;border-radius:0 10px 10px 0;padding:13px}.gc-example b{color:var(--navy)}.gc-check{display:grid;gap:8px}.gc-q{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.gc-q strong{display:block;color:var(--navy);margin-bottom:8px}.gc-options{display:grid;gap:6px}.gc-options button{border:1px solid #dcd4c8;background:#faf8f3;border-radius:8px;padding:8px 10px;text-align:left;color:#4f5d66;font-size:11px}.gc-options button.correct{border-color:#7cc5a3;background:#edf8f2}.gc-options button.wrong{border-color:#dd998c;background:#fff1ee}
.gc-feedback{margin-top:8px;color:#66747c;font-size:10.5px;line-height:1.5}.gc-complete{margin-top:14px}
.gc-playground{display:grid;grid-template-columns:270px 1fr;gap:14px}.gc-controls{border:1px solid var(--line);border-radius:12px;padding:13px;background:#f8f5ee}.gc-control{display:block;margin-bottom:12px}.gc-control span{display:flex;justify-content:space-between;margin-bottom:5px;color:#68747c;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.gc-control input,.gc-control select{width:100%}.gc-canvas{min-height:380px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;padding:24px;overflow:hidden}.gc-live-poster{width:min(330px,90%);aspect-ratio:3/4;background:#f3c84b;padding:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:10px 10px 0 #d5cbb9}.gc-live-poster .headline{font-family:var(--display);font-size:58px;line-height:.86;font-weight:900;letter-spacing:-.06em;color:var(--navy)}.gc-live-poster .caption{font-size:13px;font-weight:700;color:var(--navy)}
.gc-layout-canvas{width:min(520px,95%);aspect-ratio:1.414/1;background:#fff;border:1px solid #d2c9bc;display:grid;grid-template-columns:1.35fr .65fr;gap:12px;padding:22px;box-shadow:8px 8px 0 #ded5c8}.gc-layout-main{background:var(--navy);padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.gc-layout-main b{font:900 36px/.92 var(--display)}.gc-layout-side{display:grid;grid-template-rows:1fr 1fr;gap:12px}.gc-layout-side i:first-child{background:var(--coral)}.gc-layout-side i:last-child{background:var(--yellow)}
.gc-ao-mapper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gc-ao-drop{border:1px dashed #aaa08f;border-radius:12px;padding:12px;min-height:150px;background:#fbf8f1}.gc-ao-drop b{font:900 20px var(--display);color:var(--navy)}.gc-ao-drop span{display:block;color:#77838a;font-size:9.5px;margin:4px 0 10px}.gc-ao-drop label{display:flex;gap:7px;align-items:start;font-size:10px;color:#53616b;margin:7px 0}
@media(max-width:1050px){.gc-module-grid{grid-template-columns:repeat(2,1fr)}.gc-hero{grid-template-columns:1fr}.gc-hero-board{min-height:360px}.gc-course{grid-template-columns:1fr}.gc-side{position:static;display:flex;gap:4px;overflow:auto;max-height:none}.gc-side-head{display:none}.gc-side button{min-width:155px}.gc-playground{grid-template-columns:1fr}}
@media(max-width:720px){.gc-nav-inner{padding:9px 12px;flex-wrap:wrap;row-gap:6px}.gc-links{display:flex;order:3;width:100%;overflow-x:auto;gap:4px;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.gc-links>*{flex:none}.gc-shell{padding:0 13px 50px}.gc-hero-copy{padding:30px 24px}.gc-hero h1{font-size:51px}.gc-hero-board{min-height:315px}.gc-poster.a{left:33px;top:34px}.gc-poster.b{right:21px;bottom:25px}.gc-stats,.gc-ao-band,.gc-labs,.gc-assess,.gc-module-grid{grid-template-columns:1fr}.gc-ao-card{border-right:0;border-bottom:1px solid var(--line)}.gc-ao-card:last-child{border-bottom:0}.gc-section-head{display:block}.gc-section-head p{margin-top:7px}.gc-module{min-height:210px}.gc-ao-mapper{grid-template-columns:1fr 1fr}.gc-footer{display:block}.gc-back{font-size:0}.gc-back:after{content:"DT";font-size:11px}}

/* Second-pass interactive studios */
.gc-labs{grid-template-columns:repeat(4,1fr)}
.gc-lab-card:nth-child(4){background:#2e765f}.gc-lab-card:nth-child(5){background:#9b5b35}.gc-lab-card:nth-child(6){background:#355d88}.gc-lab-card:nth-child(7){background:#65524b}.gc-lab-card:nth-child(8){background:#274a63}.gc-lab-card:nth-child(9){background:#5a4f76}
.gc-colour-board{width:min(520px,95%);aspect-ratio:1.25/1;border-radius:5px;background:#fff;padding:22px;box-shadow:9px 9px 0 #ded5c8;display:grid;grid-template-rows:1fr auto;gap:16px}
.gc-colour-main{border-radius:2px;display:grid;place-items:end start;padding:22px;transition:background .2s}.gc-colour-main b{font:900 44px/.9 var(--display);letter-spacing:-.055em}.gc-swatch-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gc-swatch-row i{height:42px;border-radius:4px;border:1px solid rgba(23,47,70,.16)}
.gc-image-board{width:min(540px,96%);aspect-ratio:1.28/1;background:#f3efe6;border:1px solid #cbc1b4;padding:24px;box-shadow:9px 9px 0 #ded5c8;display:grid;place-items:center;overflow:hidden}
.gc-image-shape{width:74%;aspect-ratio:1/1;position:relative;filter:contrast(1);transition:.25s}.gc-image-shape:before,.gc-image-shape:after{content:"";position:absolute;inset:0;border-radius:48% 52% 46% 54%}.gc-image-shape:before{background:var(--img-a,#172f46);transform:rotate(22deg) scale(.84,.61)}.gc-image-shape:after{background:var(--img-b,#ef735a);clip-path:polygon(8% 55%,40% 8%,94% 30%,72% 92%,22% 84%);mix-blend-mode:multiply}.gc-image-shape[data-mode="line"]:after{background:transparent;border:15px solid var(--img-b,#ef735a);mix-blend-mode:normal}.gc-image-shape[data-mode="crop"]{transform:scale(1.35) translate(11%,-5%)}.gc-image-shape[data-mode="mono"]:after{filter:grayscale(1)}.gc-image-shape[data-mode="mono"]:before{background:#111}
.gc-pack-stage{width:min(560px,96%);min-height:390px;border:1px solid #cfc4b5;background:linear-gradient(160deg,#fff,#eee6da);border-radius:8px;display:grid;place-items:center;perspective:900px;box-shadow:8px 8px 0 #ded5c8}.gc-box{width:220px;height:285px;position:relative;transform-style:preserve-3d;transform:rotateY(-28deg) rotateX(8deg);transition:.3s}.gc-face{position:absolute;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid rgba(23,47,70,.2);background:var(--pack-bg,#f3c84b);color:var(--pack-ink,#172f46)}.gc-face.front{width:220px;height:285px;transform:translateZ(50px)}.gc-face.side{width:100px;height:285px;right:-50px;transform:rotateY(90deg)}.gc-face.top{width:220px;height:100px;top:-50px;transform:rotateX(90deg)}.gc-face b{font:900 34px/.9 var(--display);letter-spacing:-.045em}.gc-face small{font-weight:800}
.gc-sign-stage{width:min(580px,96%);aspect-ratio:1.4/1;background:#d8e2e8;border-radius:8px;display:grid;place-items:center;padding:24px;box-shadow:8px 8px 0 #ded5c8;position:relative;overflow:hidden}.gc-sign-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:#b5c3ca}.gc-sign{z-index:2;min-width:310px;background:var(--sign-bg,#172f46);color:var(--sign-ink,#fff);padding:18px 22px;border-radius:3px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;box-shadow:0 10px 24px rgba(0,0,0,.22);transform:scale(var(--sign-scale,1))}.gc-sign .icon{width:48px;height:48px;border:5px solid currentColor;border-radius:50%;display:grid;place-items:center;font-weight:900}.gc-sign b{font:900 25px var(--display)}.gc-sign span{font-size:13px;font-weight:700}.gc-sign .arrow{font-size:32px;font-weight:900}
.gc-quick-btn{margin-top:14px}
.gc-quick-overlay{position:fixed;inset:0;z-index:100;background:rgba(8,16,23,.78);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px}.gc-quick{width:min(920px,100%);min-height:510px;background:#f7f3ea;border:1px solid rgba(255,255,255,.18);border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.42);overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr}.gc-quick-visual{min-height:510px;background:#172f46;position:relative;display:grid;place-items:center;overflow:hidden}.gc-quick-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}.gc-quick-card{padding:30px;display:flex;flex-direction:column}.gc-quick-bars{display:flex;gap:5px}.gc-quick-bars i{height:4px;border-radius:99px;background:#ddd5c9;flex:1}.gc-quick-bars i.on{background:var(--coral)}.gc-quick-meta{margin-top:18px;font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--blue)}.gc-quick h2{font:900 31px/1 var(--display);letter-spacing:-.04em;color:var(--navy);margin:10px 0}.gc-quick p{color:#65727a;font-size:13px;line-height:1.6}.gc-quick-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gc-quick-close{position:absolute;top:16px;right:16px;z-index:2;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.15);color:#fff;width:34px;height:34px;border-radius:50%;font-size:20px}.gc-quick-options{display:grid;gap:7px;margin-top:12px}.gc-quick-options button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;text-align:left;color:#53616b}.gc-quick-options button.correct{background:#edf8f2;border-color:#70bd96}.gc-quick-options button.wrong{background:#fff1ee;border-color:#dc9689}.gc-quick-demo{position:relative;z-index:1;width:72%;aspect-ratio:1/1;background:#f3c84b;display:grid;place-items:center;transform:rotate(-5deg);box-shadow:13px 13px 0 rgba(0,0,0,.16)}.gc-quick-demo b{font:900 44px/.88 var(--display);color:#172f46;letter-spacing:-.055em;text-align:center}.gc-quick-demo.round{border-radius:50%;background:#ef735a}.gc-quick-demo.lines{background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:12px;transform:none}.gc-quick-demo.lines i{height:23px;background:#fff;display:block}.gc-quick-demo.lines i:nth-child(2){width:72%;background:#f3c84b}.gc-quick-demo.lines i:nth-child(3){width:46%;background:#ef735a}
@media(max-width:1100px){.gc-labs{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.gc-labs{grid-template-columns:1fr}.gc-quick{grid-template-columns:1fr;max-height:92vh;overflow:auto}.gc-quick-visual{min-height:250px}.gc-quick-card{min-height:360px}.gc-ao-mapper{grid-template-columns:1fr}}

@keyframes gcQuickEnter{0%{transform:translateY(18px) rotate(-9deg) scale(.92);opacity:.2}70%{transform:translateY(-3px) rotate(-4deg) scale(1.02);opacity:1}100%{transform:rotate(-5deg);opacity:1}}
@keyframes gcQuickBars{0%{transform:translateX(-22px);opacity:.18}100%{transform:none;opacity:1}}
.gc-quick-demo{animation:gcQuickEnter .72s cubic-bezier(.2,.8,.2,1) both}.gc-quick-demo.lines{animation:gcQuickBars .65s ease both}
@media(prefers-reduced-motion:reduce){.gc-quick-demo,.gc-quick-demo.lines{animation:none}}

/* 2026 Graphic Communication remaster: live studio, adaptive route and visual inspection */
.gc-hero-remaster{grid-template-columns:minmax(0,1fr) minmax(440px,.96fr);min-height:500px}
.gc-hero-remaster .gc-hero-board{min-height:500px;background:radial-gradient(circle at 70% 18%,#274866 0,#172f46 45%,#0d1c2a 100%)}
.gc-hero-board canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .7s ease}
.gc-hero-board.is-ready canvas,.gc-hero-board.has-live-hero canvas{opacity:1}.gc-hero-board.is-ready .gc-hero-fallback,.gc-hero-board.has-live-hero .gc-hero-fallback{opacity:0}
.gc-hero-fallback{position:absolute;inset:0;transition:opacity .45s ease}.gc-hero-label{position:absolute;left:20px;right:20px;bottom:18px;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:16px;color:#fff;pointer-events:none}.gc-hero-label span{font:700 9px var(--mono);letter-spacing:.14em;color:#9eb6c7}.gc-hero-label b{font-size:10.5px;color:#d7e3ea}
.gc-hero-progress{max-width:560px;margin-top:21px;display:grid;gap:7px}.gc-hero-progress>div{display:flex;justify-content:space-between;gap:16px;font-size:10.5px;color:#78848b}.gc-hero-progress>div b{color:var(--navy)}.gc-hero-progress>i{display:block;height:7px;background:#e6ded1;border-radius:999px;overflow:hidden}.gc-hero-progress>i span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--coral));border-radius:inherit}
.gc-route-band{margin:18px 0 24px;padding:18px 20px;border:1px solid #c8d4dc;border-radius:14px;background:linear-gradient(135deg,#edf5fa 0,#fffdf8 72%);display:flex;justify-content:space-between;gap:22px;align-items:center;box-shadow:5px 5px 0 #d9d0c2}.gc-route-band h2{margin:4px 0 5px;font:900 21px var(--display);letter-spacing:-.035em;color:var(--navy)}.gc-route-band p{margin:0;max-width:780px;color:#66737b;font-size:11.5px;line-height:1.55}.gc-route-band .gc-actions{margin:0;flex:0 0 auto}
.gc-module{padding:0 17px 17px}.gc-module-visual{margin:0 -17px 12px;border-bottom:1px solid var(--line);height:118px;background:#f4f0e8;overflow:hidden}.gc-module-top{margin-top:0}
.gc-thumb{position:relative;width:100%;height:100%;overflow:hidden;background:#f3efe6;color:var(--navy)}
.gc-thumb-type{background:#f3c84b;padding:15px}.gc-thumb-type b{font:900 39px/.82 var(--display);letter-spacing:-.065em}.gc-thumb-type span{position:absolute;right:15px;bottom:10px;font:900 30px var(--display);color:var(--coral)}.gc-thumb-type i{position:absolute;left:15px;right:64px;bottom:18px;height:7px;background:var(--navy)}
.gc-thumb-layout{padding:14px;display:grid;grid-template-columns:1.4fr .6fr;gap:8px;background:#fff}.gc-thumb-layout i{display:block;background:var(--navy)}.gc-thumb-layout i:nth-child(2){background:var(--coral)}.gc-thumb-layout i:nth-child(3){position:absolute;left:14px;right:44%;bottom:14px;height:15px;background:var(--yellow)}.gc-thumb-layout b{position:absolute;right:14px;bottom:13px;font:800 11px var(--mono)}
.gc-thumb-colour{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:0}.gc-thumb-colour i:nth-child(1){background:#172f46;grid-row:1/3}.gc-thumb-colour i:nth-child(2){background:#ef735a}.gc-thumb-colour i:nth-child(3){background:#f3c84b}.gc-thumb-colour i:nth-child(4){position:absolute;width:36px;height:36px;border-radius:50%;background:#61b894;left:calc(60% - 18px);top:calc(50% - 18px);box-shadow:0 0 0 8px #fff}
.gc-thumb-image{background:#dde9ee}.gc-thumb-image i:first-child{position:absolute;width:82px;height:82px;border-radius:52% 48% 58% 42%;background:#172f46;left:25px;top:17px;transform:rotate(24deg)}.gc-thumb-image i:nth-child(2){position:absolute;width:92px;height:72px;background:#ef735a;right:22px;bottom:15px;clip-path:polygon(12% 55%,44% 0,100% 30%,75% 100%,22% 87%);mix-blend-mode:multiply}.gc-thumb-image b{position:absolute;right:14px;top:8px;font-size:22px}
.gc-thumb-pack{background:#dce3e7;perspective:500px;display:grid;place-items:center}.gc-thumb-pack div{width:64px;height:79px;background:#172f46;color:#fff;transform:rotateY(-28deg) rotateX(5deg);padding:10px;box-shadow:18px 7px 0 #ef735a}.gc-thumb-pack div b{font:900 20px var(--display)}.gc-thumb-pack div span{position:absolute;left:8px;bottom:8px;font:700 7px var(--mono);color:#f3c84b}.gc-thumb-pack>i{position:absolute;width:86px;height:5px;background:#172f46;bottom:15px;right:18px}
.gc-thumb-sign{background:#d9e3e8;display:flex;align-items:center;justify-content:center;gap:16px}.gc-thumb-sign:before{content:"i";width:36px;height:36px;border-radius:50%;border:4px solid #fff;display:grid;place-items:center;font-weight:900;color:#fff;background:#172f46}.gc-thumb-sign b{background:#172f46;color:#fff;padding:12px 15px;font:800 11px var(--display)}.gc-thumb-sign span{font-size:28px;font-weight:900;color:#172f46}
.gc-thumb-ui{background:#edf1f3;padding:14px}.gc-thumb-ui i{display:block;height:10px;background:#d0d8dd;margin-bottom:7px}.gc-thumb-ui i:first-child{width:45%;background:#172f46}.gc-thumb-ui b{position:absolute;left:14px;bottom:16px;background:#2b62d9;color:#fff;padding:8px 13px;border-radius:8px;font-size:10px}.gc-thumb-ui span{position:absolute;right:17px;bottom:17px;font-size:23px}
.gc-thumb-motion{background:#101923;display:flex;align-items:center;justify-content:center;gap:6px}.gc-thumb-motion i{width:18px;height:56px;background:#f3c84b}.gc-thumb-motion i:nth-child(2){height:78px;background:#ef735a}.gc-thumb-motion i:nth-child(3){height:40px;background:#61b894}.gc-thumb-motion b{position:absolute;color:#fff;font-size:26px}
.gc-thumb-ao{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.gc-thumb-ao b{display:grid;place-items:center;font:900 16px var(--display);border-right:1px solid #fff;border-bottom:1px solid #fff}.gc-thumb-ao b:nth-child(1){background:#2b62d9;color:#fff}.gc-thumb-ao b:nth-child(2){background:#61b894}.gc-thumb-ao b:nth-child(3){background:#7763d7;color:#fff}.gc-thumb-ao b:nth-child(4){background:#ef735a;color:#fff}
.gc-thumb-generic{background:linear-gradient(145deg,#172f46,#355d88);color:#fff;padding:15px}.gc-thumb-generic b{display:block;max-width:70%;font:900 17px/1 var(--display)}.gc-thumb-generic i{position:absolute;right:20px;bottom:16px;width:46px;height:46px;border:9px solid #f3c84b;border-radius:50%}.gc-thumb-generic span{position:absolute;right:13px;top:10px;font:700 9px var(--mono);color:#a9bed0}
.gc-inspect-board{margin:18px 0;display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(220px,.75fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f4f0e8;min-height:300px}.gc-inspect-art{position:relative;padding:32px;display:grid;place-items:center;background-image:linear-gradient(rgba(23,47,70,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,47,70,.05) 1px,transparent 1px);background-size:20px 20px}.gc-inspect-art>.gc-thumb{width:min(430px,90%);height:220px;box-shadow:10px 10px 0 #d5cbbb}.gc-inspect-hotspots button{position:absolute;width:31px;height:31px;border-radius:50%;border:2px solid #fff;background:#172f46;color:#fff;font:800 11px var(--mono);box-shadow:0 0 0 5px rgba(43,98,217,.14)}.gc-inspect-hotspots button:nth-child(1){left:22%;top:27%}.gc-inspect-hotspots button:nth-child(2){right:22%;top:38%}.gc-inspect-hotspots button:nth-child(3){left:48%;bottom:18%}.gc-inspect-hotspots button.on{background:var(--coral);transform:scale(1.08)}.gc-inspect-copy{background:#fff;padding:26px;display:flex;flex-direction:column;justify-content:center}.gc-inspect-copy h3{margin:7px 0;font:900 25px var(--display);color:var(--navy)}.gc-inspect-copy p{font-size:13px;line-height:1.6}.gc-inspect-copy small{margin-top:18px;color:#7a858c}
.gc-diagnostic{width:min(900px,100%);background:#f7f3ea;border:1px solid rgba(255,255,255,.22);border-radius:20px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.4);position:relative}.gc-diagnostic-visual{min-height:480px;background:#172f46;display:grid;place-items:center;padding:46px}.gc-diagnostic-visual .gc-thumb{width:100%;height:260px;box-shadow:14px 14px 0 rgba(0,0,0,.19)}.gc-diagnostic-card{padding:30px;position:relative;display:flex;flex-direction:column;justify-content:center}.gc-diagnostic-card h2{font:900 31px/1.05 var(--display);letter-spacing:-.04em;color:var(--navy)}.gc-diagnostic-note{font-size:10.5px;color:#7a858c;line-height:1.5;margin-top:15px}
.gc-diagnostic-result{width:min(780px,100%);background:#f7f3ea;border-radius:20px;padding:34px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.4)}.gc-diagnostic-result h2{font:900 40px var(--display);color:var(--navy);margin:8px 0}.gc-diagnostic-route{display:grid;gap:8px;margin:20px 0}.gc-diagnostic-route button{border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;grid-template-columns:120px 1fr;text-align:left;overflow:hidden;padding:0;color:var(--ink)}.gc-diagnostic-route .gc-thumb{height:92px}.gc-diagnostic-route button>span{padding:12px}.gc-diagnostic-route b{display:block;color:var(--navy);font-size:12px}.gc-diagnostic-route small{display:block;color:#6e7980;margin-top:4px;line-height:1.4}
.gc-module:hover .gc-thumb{transform:scale(1.015)}.gc-thumb{transition:transform .18s ease}.gc-inspect-hotspots button,.gc-diagnostic-route button{transition:transform .16s,box-shadow .16s}.gc-diagnostic-route button:hover{transform:translateY(-1px);box-shadow:4px 4px 0 #d9d0c2}
@media(max-width:980px){.gc-hero-remaster{grid-template-columns:1fr}.gc-hero-remaster .gc-hero-board{min-height:390px}.gc-inspect-board{grid-template-columns:1fr}.gc-diagnostic{grid-template-columns:1fr}.gc-diagnostic-visual{min-height:250px}.gc-diagnostic-visual .gc-thumb{height:180px}.gc-route-band{align-items:flex-start;flex-direction:column}.gc-route-band .gc-actions{width:100%}}
@media(max-width:620px){.gc-module-visual{height:104px}.gc-inspect-art{padding:18px}.gc-inspect-art>.gc-thumb{height:175px}.gc-diagnostic-card{padding:24px}.gc-diagnostic-result{padding:25px}.gc-diagnostic-route button{grid-template-columns:88px 1fr}.gc-hero-label{display:none}}
@media(prefers-reduced-motion:reduce){.gc-hero-board canvas,.gc-hero-fallback,.gc-thumb,.gc-inspect-hotspots button,.gc-diagnostic-route button{transition:none!important}}

.gc-variant{margin:18px 0 20px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#f8f5ee}.gc-variant-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:12px}.gc-variant-head h3{margin:4px 0 0;font:900 22px var(--display);color:var(--navy);letter-spacing:-.035em}.gc-variant-head p{max-width:520px;margin:0;color:#6c7880;font-size:10.8px;line-height:1.5}.gc-variant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gc-variant-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 0 12px;text-align:left;color:var(--ink);overflow:hidden;transition:transform .16s,box-shadow .16s,border-color .16s}.gc-variant-card:hover,.gc-variant-card.on{transform:translateY(-2px);box-shadow:5px 5px 0 #d9d0c2;border-color:#aabccc}.gc-variant-card.on{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent)}.gc-variant-art{height:118px;overflow:hidden;border-bottom:1px solid var(--line);background:#f3efe6}.gc-variant-art .gc-thumb{height:100%}.gc-variant-card[data-variant="expressive"] .gc-variant-art{transform:skewY(-2deg) scale(1.03);transform-origin:center}.gc-variant-card[data-variant="expressive"] .gc-thumb{filter:saturate(1.25) contrast(1.08)}.gc-variant-card[data-variant="refined"] .gc-variant-art{filter:saturate(.86)}.gc-variant-card>b,.gc-variant-card>span{display:block;margin-left:12px;margin-right:12px}.gc-variant-card>b{margin-top:10px;color:var(--navy);font-size:11.5px}.gc-variant-card>span{margin-top:3px;color:#6d7981;font-size:10px;line-height:1.45}.gc-variant-note{margin-top:10px;border-left:4px solid var(--yellow);background:#fff;padding:10px 12px;color:#59666f;font-size:10.8px;line-height:1.5}
@media(max-width:760px){.gc-variant-head{display:block}.gc-variant-head p{margin-top:6px}.gc-variant-grid{grid-template-columns:1fr}}

.gc-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gc-resource-set{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--shadow)}.gc-resource-cover{min-height:126px;background:#e9e4da;overflow:hidden}.gc-resource-cover img{width:100%;height:100%;object-fit:cover;display:block}.gc-resource-body{padding:15px}.gc-resource-body h3{margin:5px 0 12px;font:900 18px var(--display);color:var(--navy)}.gc-resource-actions{display:flex;gap:6px;flex-wrap:wrap}.gc-resource-actions .gc-btn{padding:7px 9px;font-size:9.5px;text-decoration:none}
@media(max-width:900px){.gc-resource-grid{grid-template-columns:1fr}}@media(max-width:560px){.gc-resource-set{grid-template-columns:1fr}.gc-resource-cover{height:170px}}

/* Subject-polish: composition and print-production studios */
.gc-poster-composer{--poster-bg:#f3c84b;--poster-ink:#172f46;--poster-accent:#ef735a;width:min(360px,90%);aspect-ratio:3/4;background:var(--poster-bg);padding:28px;position:relative;overflow:hidden;box-shadow:11px 11px 0 #d6cdbf;transition:background .18s}
.gc-poster-head{position:relative;z-index:2;font:900 68px/.84 var(--display);letter-spacing:-.05em;color:var(--poster-ink);transform-origin:left top}
.gc-poster-orbit{position:absolute;width:190px;height:190px;border:26px solid var(--poster-accent);border-radius:50%;right:-34px;bottom:92px;transform-origin:center;transition:transform .16s}
.gc-poster-meta{position:absolute;left:28px;right:28px;bottom:24px;border-top:2px solid var(--poster-ink);padding-top:8px;font:700 9px var(--mono);letter-spacing:.08em;color:var(--poster-ink)}
.gc-print-proof{width:min(690px,96%);background:#fff;border:1px solid #cec5b8;padding:30px;box-shadow:10px 10px 0 #d8cfc2}.gc-print-sheet{position:relative;aspect-ratio:1.414/1;border:1px solid #6f7478;background:#fff}.gc-print-art{position:absolute;inset:0;background:linear-gradient(135deg,#f3c84b 0 46%,#ef735a 46% 64%,#172f46 64%);display:grid;place-items:center}.gc-print-art b{font:900 44px/.9 var(--display);color:#fff;text-align:center;letter-spacing:-.04em}.gc-print-bleed{position:absolute;inset:-12px;border:1px dashed #d14a5b;pointer-events:none}.gc-print-safe{position:absolute;inset:24px;border:1px dashed #2b62d9;pointer-events:none}.gc-print-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.gc-print-stats div{padding:11px;background:#f8f5ee}.gc-print-stats b{display:block;color:#172f46;font-size:13px}.gc-print-stats span{font-size:9px;color:#748087}
.gc-labs{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.gc-print-stats{grid-template-columns:1fr}.gc-poster-head{font-size:56px}}

.gc-brief-card{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:7px 7px 0 var(--shadow)}.gc-brief-main{padding:28px}.gc-brief-main h3,.gc-brief-side h3{font:900 30px/1.05 var(--display);letter-spacing:-.035em;color:var(--navy);margin:8px 0 18px}.gc-brief-line{display:grid;grid-template-columns:130px 1fr;gap:14px;border-top:1px solid var(--line);padding:13px 0}.gc-brief-line span{font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}.gc-brief-line b{color:var(--navy)}.gc-brief-side{padding:28px;background:#f7f3ea;border-left:1px solid var(--line)}.gc-brief-side p{font-size:12px;line-height:1.65;color:#68757d}
@media(max-width:760px){.gc-brief-card{grid-template-columns:1fr}.gc-brief-side{border-left:0;border-top:1px solid var(--line)}.gc-brief-line{grid-template-columns:1fr;gap:4px}}

/* True 3D packaging prototype: renders only when this studio is open. */
.gc-pack-stage{position:relative;isolation:isolate;overflow:hidden}
.gc-pack-webgl{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;touch-action:pan-y;cursor:grab;outline-offset:-5px}
.gc-pack-webgl:active{cursor:grabbing}
.gc-pack-webgl:focus-visible{outline:3px solid #f3c84b}
.gc-pack-stage [hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.gc-pack-stage *, .gc-pack-webgl{animation:none!important;transition:none!important}}

/* Teachers library (matches the main hub: filter chips, grouped cards, preview strips) */
.gc-rl{display:block}.gc-rl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.gc-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:800 12px var(--display);cursor:pointer;color:var(--navy)}.gc-chip small{opacity:.6;margin-left:4px}.gc-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.gc-rl-group{margin:0 0 26px}.gc-rl-head h3{margin:0 0 4px;font:900 20px var(--display);color:var(--navy)}.gc-rl-head p{margin:0 0 12px;opacity:.75;font-size:14px;max-width:70ch}
.gc-rl-list{display:grid;gap:12px}.gc-rl-card{display:grid;grid-template-columns:260px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--shadow)}
.gc-rl-cover{display:block;background:#e9e4da;overflow:hidden;min-height:150px}.gc-rl-cover img{width:100%;height:100%;object-fit:cover;display:block}.gc-rl-body{padding:16px 18px}.gc-rl-body h3{margin:4px 0 6px;font:900 20px var(--display);color:var(--navy)}.gc-rl-body p{margin:0 0 10px;font-size:14px;line-height:1.5}
.gc-rl-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.gc-rl-meta span{font:800 10.5px var(--display);background:#f1ede4;border-radius:999px;padding:4px 9px}
.gc-rl-prev{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.gc-rl-prev img{width:100%;border:1px solid var(--line);border-radius:6px;display:block}
.gc-rl .gc-resource-actions .gc-btn{padding:9px 12px;font-size:11px}
@media(max-width:760px){.gc-rl-card{grid-template-columns:1fr}.gc-rl-cover{height:170px}.gc-rl-prev{grid-template-columns:repeat(3,1fr)}}

/* Hero headline must fit its column: the longest word ("communicate.") was running under the 3D panel on desktop and past the card edge on phones. */
.gc-hero-copy{min-width:0}
.gc-hero h1{font-size:clamp(38px,5.2vw,84px);max-width:100%;overflow-wrap:break-word}
@media(max-width:600px){.gc-hero-copy{padding:30px 22px}}
