.cinematic{--ink:#0b0908;--ink-2:#12100d;--ink-3:#1a1712;--ink-line:#2a251d;--gold:#c8a45c;--gold-soft:#e2c785;--gold-deep:#8a6d34;--teal:#16645a;--teal-lit:#2a8c7e;--parchment:#f4ecdc;--parchment-2:#cbc2b0;--parchment-3:#8f8873;--cg-maxw:1180px;--cg-ease:cubic-bezier(.22, 1, .36, 1);--cg-ease-soft:cubic-bezier(.4, 0, .2, 1);--cg-serif:var(--font-heading);--cg-sans:var(--font-body);background:var(--ink);color:var(--parchment);font-family:var(--cg-sans);line-height:1.6;position:relative;overflow-x:hidden}.cinematic ::selection{color:var(--parchment);background:#c8a45c47}.cinematic a{color:inherit;text-decoration:none}.cg-grain,.cg-vignette{pointer-events:none;z-index:60;position:fixed;inset:0}.cg-grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.6s steps(2,end) infinite cg-grainShift}@keyframes cg-grainShift{0%{transform:translate(0)}to{transform:translate(-3%,2%)}}.cg-vignette{z-index:59;background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#0000008c 100%)}.cg-wrap{max-width:var(--cg-maxw);margin:0 auto;padding:0 32px}.cg-eyebrow{font-family:var(--cg-sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:600}.cg-section-title{font-family:var(--cg-serif);letter-spacing:.005em;color:var(--parchment);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.02}.cg-section-title em{color:var(--gold-soft);font-style:italic}.cg-lede{color:var(--parchment-2);max-width:52ch;font-size:1.06rem}.cg-gold-rule{background:linear-gradient(90deg, transparent, var(--gold-deep) 20%, var(--gold) 50%, var(--gold-deep) 80%, transparent);opacity:.55;width:100%;height:1px}.cg-nav{z-index:50;-webkit-backdrop-filter:blur(10px)saturate(120%);transition:background .5s var(--cg-ease-soft), border-color .5s var(--cg-ease-soft);background:#0b09088c;border-bottom:1px solid #0000;position:sticky;top:0}.cg-nav.cg-scrolled{border-bottom:1px solid var(--ink-line);background:#0b0908e0}.cg-nav-inner{max-width:var(--cg-maxw);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:14px 32px;display:flex}.cg-wordmark{font-family:var(--cg-serif);letter-spacing:.01em;color:var(--parchment);white-space:nowrap;align-items:center;gap:12px;font-size:1.32rem;font-weight:600;display:flex}.cg-mark{filter:drop-shadow(0 2px 8px #c8a45c40);flex:none;display:block}.cg-wordmark .cg-sub{font-family:var(--cg-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--parchment-3);align-self:center;margin-left:-2px;padding-left:12px;font-size:.6rem;font-weight:500;position:relative}.cg-wordmark .cg-sub:before{content:"";background:var(--ink-line);width:1px;height:13px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.cg-nav-links{letter-spacing:.02em;color:var(--parchment-2);align-items:center;gap:34px;font-size:.83rem;display:flex}.cg-nav-links a{transition:color .3s;position:relative}.cg-nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .4s var(--cg-ease);position:absolute;bottom:-6px;left:0}.cg-nav-links a:hover{color:var(--parchment)}.cg-nav-links a:hover:after{width:100%}.cg-btn{font-family:var(--cg-sans);letter-spacing:.04em;cursor:pointer;transition:transform .4s var(--cg-ease), box-shadow .4s var(--cg-ease), background .4s, color .4s, border-color .4s;white-space:nowrap;border:1px solid #0000;border-radius:2px;align-items:center;gap:9px;padding:11px 22px;font-size:.82rem;font-weight:600;display:inline-flex}.cg-btn-gold{background:linear-gradient(180deg, var(--gold-soft), var(--gold));color:#26200f;box-shadow:0 6px 24px #c8a45c3d,0 0 0 1px #c8a45c59}.cg-btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 34px #c8a45c66,0 0 0 1px #e2c78599}.cg-btn-ghost{color:var(--parchment);border:1px solid var(--ink-line);background:0 0}.cg-btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);transform:translateY(-2px)}.cg-nav .cg-btn{padding:9px 18px}.cg-hero{align-items:center;min-height:92vh;padding:120px 0 90px;display:flex;position:relative;overflow:hidden}.cg-hero:before{content:"";filter:blur(6px);z-index:0;width:1100px;height:1100px;animation:cg-breathe 9s var(--cg-ease-soft) infinite;background:radial-gradient(circle at 50% 42%,#c8a45c33 0%,#c8a45c1a 22%,#16645a14 42%,#0000 62%);position:absolute;top:-10%;left:50%;transform:translate(-50%)}@keyframes cg-breathe{0%,to{opacity:.75;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.06)}}.cg-hero:after{content:"";z-index:0;background:linear-gradient(#0000,#0009);height:40%;position:absolute;bottom:0;left:0;right:0}.cg-hero-inner{z-index:2;text-align:center;position:relative}.cg-hero .cg-eyebrow{border:1px solid var(--ink-line);background:#c8a45c0d;border-radius:999px;padding:8px 18px;display:inline-block}.cg-hero h1{font-family:var(--cg-serif);letter-spacing:.004em;max-width:15ch;color:var(--parchment);margin:30px auto 0;font-size:clamp(2.6rem,7vw,5.6rem);font-weight:500;line-height:1.02}.cg-hero h1 .cg-line2{color:var(--gold-soft);letter-spacing:.01em;margin-top:.18em;font-size:.62em;font-style:italic;display:block}.cg-hero .cg-subhead{max-width:60ch;color:var(--parchment-2);margin:30px auto 0;font-size:clamp(1rem,1.6vw,1.18rem)}.cg-hero .cg-subhead strong{color:var(--parchment);font-weight:600}.cg-hero .cg-subhead .cg-glint{color:var(--gold-soft);font-weight:500}.cg-hero-ctas{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}.cg-hero .cg-btn{padding:15px 30px;font-size:.9rem}.cg-hero-meta{color:var(--parchment-3);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:42px;font-size:.78rem;display:flex}.cg-hero-meta span{align-items:center;gap:9px;display:inline-flex}.cg-hero-meta .cg-dot{background:var(--gold);width:5px;height:5px;box-shadow:0 0 10px var(--gold);border-radius:50%}.cg-reveal{opacity:0;transform:translateY(26px)}.cg-reveal.cg-in{opacity:1;transition:opacity 1.1s var(--cg-ease), transform 1.1s var(--cg-ease);transform:none}.cg-d1{transition-delay:.12s}.cg-d2{transition-delay:.26s}.cg-d3{transition-delay:.4s}.cg-d4{transition-delay:.54s}.cg-d5{transition-delay:.68s}.cinematic section{position:relative}.cg-band{padding:110px 0}.cg-band-head{text-align:center;max-width:720px;margin:0 auto 64px}.cg-band-head .cg-eyebrow{margin-bottom:18px;display:block}.cg-band-head .cg-lede{margin:20px auto 0}.cg-steps{counter-reset:cg-step;grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.cg-step{border:1px solid var(--ink-line);background:radial-gradient(120% 80% at 50% -10%, #c8a45c17, transparent 60%), linear-gradient(180deg, var(--ink-3), var(--ink-2));transition:transform .6s var(--cg-ease), border-color .6s var(--cg-ease), box-shadow .6s var(--cg-ease);border-radius:4px;padding:40px 32px 44px;position:relative;overflow:hidden}.cg-step:before{content:"";opacity:.5;width:220px;height:160px;transition:opacity .6s var(--cg-ease);background:radial-gradient(circle,#c8a45c40,#0000 70%);position:absolute;top:-60px;left:50%;transform:translate(-50%)}.cg-step:hover{border-color:#c8a45c80;transform:translateY(-8px);box-shadow:0 24px 60px #0000008c}.cg-step:hover:before{opacity:1}.cg-step-num{font-family:var(--cg-serif);color:var(--gold);opacity:.9;font-size:3.4rem;font-style:italic;line-height:1;position:relative}.cg-step-num:after{content:counter(cg-step, decimal-leading-zero);counter-increment:cg-step}.cg-step h3{font-family:var(--cg-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--parchment);margin:18px 0 12px;font-size:1.7rem;font-weight:600}.cg-step h3 .cg-tk{color:var(--gold-soft)}.cg-step p{color:var(--parchment-2);font-size:.98rem}.cg-step .cg-glyph{color:var(--gold-deep);opacity:.7;position:absolute;top:32px;right:28px}.cg-gallery{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.cg-portrait{background:linear-gradient(180deg, var(--ink-3), var(--ink));border:1px solid var(--ink-line);cursor:pointer;transition:transform .6s var(--cg-ease), box-shadow .6s var(--cg-ease), border-color .6s var(--cg-ease);border-radius:3px;padding:14px;position:relative}.cg-frame{aspect-ratio:3/4;border:1px solid #c8a45c47;border-radius:2px;position:relative;overflow:hidden}.cg-canvas{background:radial-gradient(130% 100% at 50% 8%, var(--c-lit) 0%, transparent 55%), linear-gradient(160deg, var(--c-a) 0%, var(--c-b) 100%);transition:filter .6s var(--cg-ease), transform 1.2s var(--cg-ease);position:absolute;inset:0}.cg-spot{opacity:.55;transition:opacity .6s var(--cg-ease);mix-blend-mode:screen;background:radial-gradient(70% 55% at 50% 30%,#fff0d238,#0000 60%);position:absolute;inset:0}.cg-mono{font-family:var(--cg-serif);letter-spacing:.02em;color:#f4ecdceb;text-shadow:0 6px 30px #00000080,0 0 40px #c8a45c40;transition:transform 1.1s var(--cg-ease);place-items:center;font-size:4.6rem;font-weight:600;display:grid;position:absolute;inset:0}.cg-vign{background:radial-gradient(120% 90% at 50% 40%,#0000 50%,#0009 100%);position:absolute;inset:0}.cg-placard{border:1px solid var(--ink-line);border-left:2px solid var(--gold);background:linear-gradient(#171310,#100d0a);border-radius:1px;margin-top:12px;padding:12px 12px 10px}.cg-pname{font-family:var(--cg-serif);color:var(--parchment);font-size:1.16rem;font-weight:600;line-height:1.1}.cg-pyears{letter-spacing:.16em;color:var(--gold);margin-top:3px;font-size:.72rem}.cg-pdesc{color:var(--parchment-3);margin-top:7px;font-size:.8rem;line-height:1.4}.cg-portrait:hover{border-color:#c8a45c8c;transform:translateY(-10px);box-shadow:0 30px 70px #0009}.cg-portrait:hover .cg-spot{opacity:1}.cg-portrait:hover .cg-canvas{filter:brightness(1.18)saturate(1.15);transform:scale(1.05)}.cg-portrait:hover .cg-mono{transform:scale(1.06)}.cg-gallery-foot{text-align:center;color:var(--parchment-3);letter-spacing:.02em;margin-top:46px;font-size:.86rem}.cg-gallery-foot .cg-flag{color:var(--gold-soft);font-family:var(--cg-serif);font-size:1.05rem;font-style:italic}.cg-convo-band{background:radial-gradient(90% 60% at 50% 0%, #16645a1a, transparent 60%), linear-gradient(180deg, var(--ink), var(--ink-2));border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line)}.cg-convo-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:54px;display:grid}.cg-convo-copy .cg-eyebrow{margin-bottom:18px;display:block}.cg-convo-copy .cg-section-title{margin-bottom:22px}.cg-convo-features{flex-direction:column;gap:16px;margin-top:28px;display:flex}.cg-cf{align-items:flex-start;gap:14px;display:flex}.cg-cf .cg-ic{border:1px solid var(--gold-deep);width:30px;height:30px;color:var(--gold);background:#c8a45c0f;border-radius:50%;flex:none;place-items:center;display:grid}.cg-cf .cg-t strong{color:var(--parchment);font-size:.98rem;font-weight:600;display:block}.cg-cf .cg-t span{color:var(--parchment-2);font-size:.9rem}.cg-chat{border:1px solid var(--ink-line);background:linear-gradient(#16120e,#0e0b09);border-radius:10px;padding:20px;position:relative;box-shadow:0 40px 90px #0009,0 0 0 1px #c8a45c14}.cg-chat:before{content:"";pointer-events:none;background:radial-gradient(circle,#c8a45c2e,#0000 70%);width:60%;height:120px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.cg-chat-head{border-bottom:1px solid var(--ink-line);align-items:center;gap:13px;margin-bottom:18px;padding-bottom:16px;display:flex}.cg-chat-ava{width:42px;height:42px;font-family:var(--cg-serif);color:var(--parchment);background:radial-gradient(120% 100% at 50% 10%,#6fb0a6,#0000 60%),linear-gradient(160deg,#16645a,#0c2b27);border:1px solid #c8a45c66;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.cg-chat-head .cg-who{font-family:var(--cg-serif);color:var(--parchment);font-size:1.14rem;font-weight:600}.cg-chat-head .cg-role{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.72rem}.cg-chat-head .cg-live{letter-spacing:.16em;text-transform:uppercase;color:var(--parchment-3);align-items:center;gap:7px;margin-left:auto;font-size:.66rem;display:inline-flex}.cg-chat-head .cg-pulse{background:var(--teal-lit);border-radius:50%;width:7px;height:7px;animation:2.4s infinite cg-pulse;box-shadow:0 0 #2a8c7e99}@keyframes cg-pulse{0%{box-shadow:0 0 #2a8c7e8c}70%{box-shadow:0 0 0 9px #2a8c7e00}to{box-shadow:0 0 #2a8c7e00}}.cg-msgs{flex-direction:column;gap:16px;display:flex}.cg-bubble{border-radius:14px;max-width:82%;padding:13px 16px;font-size:.94rem;line-height:1.55;position:relative}.cg-bubble.cg-student{border:1px solid var(--ink-line);color:var(--parchment);background:linear-gradient(#1f1a13,#171208);border-bottom-right-radius:4px;align-self:flex-end}.cg-bubble.cg-figure{color:var(--parchment);background:linear-gradient(#16645a29,#16645a0d);border:1px solid #2a8c7e47;border-bottom-left-radius:4px;align-self:flex-start}.cg-bubble .cg-lbl{letter-spacing:.16em;text-transform:uppercase;color:var(--parchment-3);margin-bottom:6px;font-size:.62rem}.cg-bubble.cg-figure .cg-lbl{color:var(--teal-lit)}.cg-cite{letter-spacing:.01em;color:var(--gold-soft);cursor:pointer;transition:background .3s, border-color .3s, transform .3s var(--cg-ease);vertical-align:baseline;background:#c8a45c14;border:1px solid #c8a45c59;border-radius:999px;align-items:center;gap:6px;margin:8px 4px 0 0;padding:4px 10px;font-size:.74rem;font-weight:500;display:inline-flex}.cg-cite:hover{border-color:var(--gold);background:#c8a45c2e;transform:translateY(-1px)}.cg-cite .cg-qmark{font-family:var(--cg-serif);font-style:italic}.cg-cite-note{color:var(--parchment-3);border-left:2px solid var(--gold-deep);margin-top:10px;padding-left:12px;font-size:.76rem;font-style:italic}.cg-typing{background:#16645a1a;border:1px solid #2a8c7e38;border-radius:14px 14px 14px 4px;align-self:flex-start;gap:5px;padding:12px 16px;display:inline-flex}.cg-typing i{background:var(--teal-lit);border-radius:50%;width:7px;height:7px;animation:1.4s infinite cg-typing;display:inline-block}.cg-typing i:nth-child(2){animation-delay:.2s}.cg-typing i:nth-child(3){animation-delay:.4s}@keyframes cg-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.cg-chat-input{border-top:1px solid var(--ink-line);align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.cg-chat-input .cg-field{border:1px solid var(--ink-line);color:var(--parchment-3);background:#0b0908;border-radius:999px;flex:1;padding:12px 18px;font-size:.9rem;transition:border-color .3s}.cg-chat-input .cg-field:hover{border-color:var(--gold-deep)}.cg-chat-input .cg-send{border-radius:999px;flex:none;padding:12px 20px;font-size:.82rem}.cg-footer{border-top:1px solid var(--ink-line);background:linear-gradient(180deg, var(--ink-2), var(--ink));text-align:center;padding:80px 0 48px;position:relative}.cg-footer:before{content:"";pointer-events:none;background:radial-gradient(circle,#c8a45c1f,#0000 70%);width:40%;height:100px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.cg-fmark{font-family:var(--cg-serif);color:var(--parchment);letter-spacing:.01em;font-size:2rem;font-weight:600}.cg-fmark em{color:var(--gold-soft);font-style:italic}.cg-access{max-width:46ch;color:var(--parchment-2);margin:20px auto 0;font-size:.95rem}.cg-access .cg-code{color:var(--gold-soft);font-weight:600}.cg-footer-cta{flex-wrap:wrap;justify-content:center;gap:14px;margin:30px 0 40px;display:flex}.cg-footer-links{color:var(--parchment-3);letter-spacing:.02em;flex-wrap:wrap;justify-content:center;gap:26px;margin-bottom:26px;font-size:.8rem;display:flex}.cg-footer-links a:hover{color:var(--gold-soft)}.cg-copy{letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-3);font-size:.78rem}.cg-copy .cg-pilot{color:var(--gold)}@media (max-width:940px){.cg-gallery{grid-template-columns:repeat(2,1fr)}.cg-convo-grid{grid-template-columns:1fr;gap:40px}.cg-nav-links{display:none}}@media (max-width:680px){.cg-wrap,.cg-nav-inner{padding-left:20px;padding-right:20px}.cg-steps{grid-template-columns:1fr}.cg-band{padding:80px 0}.cg-hero{min-height:auto;padding:90px 0 70px}.cg-wordmark .cg-sub{display:none}.cg-hero-meta{gap:16px;font-size:.68rem}}@media (prefers-reduced-motion:reduce){.cinematic .cg-reveal{opacity:1!important;transform:none!important}.cg-hero:before,.cg-grain{animation:none}}