:root {
  --sand: #f7efe4;
  --sand-deep: #eee1d2;
  --ink: #132c56;
  --cobalt: #1458c7;
  --orange: #e05220;
  --orange-soft: #f28339;
  --wine: #83263c;
  --ink-soft: #5c6d86;
  --line: rgba(19,44,86,.19);
  --white: #fffaf4;
  --max: 1320px;
  --pad: clamp(1.25rem, 4vw, 4.5rem);
  --ease: cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--sand);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.5;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:100;top:-4rem;left:1rem;padding:.65rem .9rem;background:var(--ink);color:var(--sand)}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.site-shell{position:relative}.site-header{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.2rem var(--pad);transition:background .3s ease,box-shadow .3s ease}.site-header.is-scrolled{background:rgba(247,239,228,.92);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:"Space Grotesk",sans-serif;font-size:.84rem;line-height:1.05;letter-spacing:.12em;text-transform:uppercase}.brand-symbol{width:2.45rem;height:2.45rem;flex:none}.brand strong{font-weight:700}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.6vw,2.3rem);font-size:.75rem;font-weight:500}.site-nav a{transition:color .2s ease}.site-nav a:hover{color:var(--orange)}.nav-cta{display:inline-flex;align-items:center;gap:.65rem;padding:.7rem 1.15rem;border-radius:999px;background:var(--orange);color:var(--white)!important}.nav-cta:hover{background:var(--wine)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);align-items:center;gap:.7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.menu-toggle i,.menu-toggle i:after{display:block;width:1.35rem;height:1px;background:var(--ink);content:"";transition:transform .25s ease}.menu-toggle i:after{transform:translateY(5px)}.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{transform:translateY(0) rotate(-90deg)}
.hero{position:relative;display:grid;grid-template-columns:minmax(20rem,.85fr) minmax(30rem,1.45fr);align-items:center;gap:clamp(2rem,5vw,6rem);min-height:clamp(43rem,100svh,57rem);padding:7.5rem var(--pad) 3rem;max-width:var(--max);margin:auto;overflow:hidden}.hero:after{content:"";position:absolute;right:var(--pad);bottom:1.4rem;left:var(--pad);height:1px;background:var(--line)}.hero-copy{position:relative;z-index:3;padding-bottom:1.5rem}.eyebrow,.card-kicker{margin:0 0 1.1rem;color:var(--wine);font-size:.63rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero h1,.section h2{margin:0;font-family:"Space Grotesk",sans-serif;font-weight:500;letter-spacing:-.07em;line-height:.9}.hero h1{font-size:clamp(4.8rem,8.5vw,9.3rem)}.hero h1 span,.section h2 span{color:var(--orange)}.hero-lede{max-width:30rem;margin:1.7rem 0 0;color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.2rem)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:3.15rem;padding:.85rem 1.15rem;border:0;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s var(--ease),background .25s ease}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--orange);color:var(--white)}.button-primary:hover{background:var(--wine)}.text-link{display:inline-flex;align-items:center;gap:.55rem;padding-bottom:.35rem;border-bottom:1px solid var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.text-link:hover{color:var(--orange);border-color:var(--orange)}.hero-note{display:flex;align-items:center;gap:.7rem;margin:3rem 0 0;color:var(--ink-soft);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.hero-note span{width:2rem;height:1px;background:var(--orange)}
.path-scene{position:relative;align-self:stretch;min-height:34rem;overflow:hidden}.path-scene:after{content:"";position:absolute;inset:12% 0 0;background:linear-gradient(180deg,transparent 0 20%,rgba(244,230,214,.62) 65%,transparent);pointer-events:none}.path-cloud{position:absolute;border-radius:50%;background:rgba(255,250,244,.65);filter:blur(1px)}.cloud-a{width:17rem;height:11rem;left:17%;top:30%}.cloud-b{width:14rem;height:9rem;right:18%;top:26%}.cloud-c{width:13rem;height:8rem;right:38%;top:36%}.pathway{position:absolute;bottom:0;height:39%;transform-origin:right bottom;border-radius:100% 0 0 0;opacity:.94}.path-blue{width:75%;left:4%;background:var(--cobalt);transform:skewY(-11deg) rotate(-8deg);clip-path:polygon(0 60%,100% 0,100% 35%,0 100%)}.path-orange{width:78%;right:0;background:var(--orange);transform:skewY(12deg) rotate(3deg);clip-path:polygon(0 48%,100% 0,100% 25%,0 100%)}.path-wine{width:80%;left:18%;background:var(--wine);transform:skewY(7deg) rotate(-4deg);clip-path:polygon(0 66%,100% 17%,100% 42%,0 100%);opacity:.78}.portal-mark{position:absolute;z-index:2;top:12%;right:22%;width:12rem;height:9.8rem}.portal-mark:before,.portal-mark:after{content:"";position:absolute;top:0;width:4.6rem;height:9.8rem;border-radius:0 3.5rem 3.5rem 0;background:var(--cobalt);transform:skewY(-10deg)}.portal-mark:before{left:0}.portal-mark:after{right:0;background:var(--orange);border-radius:3.5rem 0 0 3.5rem;transform:skewY(10deg)}.portal-mark span{position:absolute;z-index:2;left:4.9rem;top:3.3rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--orange)}.portal-mark i{position:absolute;z-index:3;left:5.7rem;top:4.1rem;width:1rem;height:1rem;border-radius:50%;background:var(--sand)}.portal-mark b{position:absolute;z-index:1;left:2.95rem;top:1rem;width:6.1rem;height:7.9rem;border:1.5rem solid var(--sand);border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(0)}.signpost{position:absolute;z-index:4;right:2%;top:31%;display:grid;gap:.45rem;width:7rem}.signpost:before{content:"";position:absolute;top:1.25rem;left:3.1rem;width:3px;height:11rem;background:var(--ink)}.signpost span{position:relative;z-index:1;padding:.42rem .5rem;background:var(--sand-deep);box-shadow:0 1px 0 rgba(19,44,86,.12);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-align:center}.lost-character{position:absolute;z-index:6;bottom:15%;left:43%;width:8rem;height:14rem;color:#101010;transform:rotate(-2deg)}.head{position:absolute;top:2.35rem;left:2.65rem;width:2rem;height:2rem;border-radius:50%;background:#101010}.hair{position:absolute;top:1.75rem;left:2.35rem;width:2.6rem;height:1.5rem;border-radius:50% 50% 42% 42%;background:#101010;transform:rotate(-10deg)}.body{position:absolute;top:4.2rem;left:2.2rem;width:3.05rem;height:5.2rem;border-radius:1.2rem .9rem .6rem .6rem;background:#101010}.strap{position:absolute;z-index:2;top:4.1rem;left:4.15rem;width:1.1rem;height:5.1rem;border:3px solid var(--sand);border-top:0;border-bottom:0;transform:rotate(-8deg)}.arm{position:absolute;top:5rem;width:.45rem;height:4.4rem;border-radius:1rem;background:#101010}.arm-left{left:1.65rem;transform:rotate(25deg)}.arm-right{left:4.9rem;transform:rotate(-34deg)}.leg{position:absolute;top:8.8rem;width:.7rem;height:3.7rem;border-radius:1rem;background:#101010}.leg-left{left:2.55rem;transform:rotate(7deg)}.leg-right{left:4.25rem;transform:rotate(-4deg)}.shoe{position:absolute;top:12.1rem;width:1.65rem;height:.55rem;border-radius:70% 20% 20% 20%;background:#101010}.shoe-left{left:1.8rem;transform:rotate(-8deg)}.shoe-right{left:4rem;transform:rotate(4deg)}.map{position:absolute;z-index:5;top:6.1rem;left:5.25rem;width:3.2rem;height:2.45rem;padding-top:.45rem;background:var(--white);border:2px solid #101010;font-family:monospace;font-size:.55rem;font-weight:700;line-height:1.2;text-align:center;transform:rotate(12deg)}.map small{color:var(--orange);font-size:1rem}.question{position:absolute;top:0;left:1.3rem;font-family:"Space Grotesk",sans-serif;font-size:2.5rem;font-weight:700;transform:rotate(-10deg)}.question-two{top:.5rem;left:5.1rem;font-size:1.7rem;transform:rotate(13deg)}.scene-note{position:absolute;right:1rem;bottom:2.5rem;z-index:7;color:var(--ink-soft);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-align:right;text-transform:uppercase}
.section{max-width:var(--max);margin:auto;padding:clamp(5rem,9vw,9rem) var(--pad)}.faculties{display:grid;grid-template-columns:minmax(15rem,.7fr) 1.6fr;gap:clamp(2rem,6vw,6rem);align-items:center;border-top:1px solid var(--line)}.section h2{font-size:clamp(3rem,5.5vw,6rem)}.faculty-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem}.faculty-card{display:flex;min-height:10rem;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .6rem;border-radius:.55rem;background:rgba(255,250,244,.7);box-shadow:0 1px 0 rgba(19,44,86,.08);text-align:center;transition:transform .3s var(--ease),box-shadow .3s ease}.faculty-card:hover{transform:translateY(-7px);box-shadow:0 12px 24px rgba(19,44,86,.1)}.faculty-card i{display:block;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--orange)}.faculty-card strong{font-size:.74rem}.faculty-card small{max-width:7rem;color:var(--ink-soft);font-size:.65rem;line-height:1.35}.faculty-humanities{background:#edf3fa}.faculty-humanities i{background:linear-gradient(90deg,var(--cobalt) 50%,#8ca6d2 50%)}.faculty-social{background:#f8e9e8}.faculty-social i{background:linear-gradient(90deg,#d8a8aa 50%,var(--wine) 50%)}.faculty-arts{background:#f4e9dd}.faculty-arts i{border-radius:70% 20% 70% 20%;background:#a87b58}.faculty-languages{background:#eaf0f6}.faculty-languages i{background:linear-gradient(90deg,#9eb1cc 40%,var(--ink) 40% 60%,#9eb1cc 60%)}
.tutor-directory{background:var(--ink);color:var(--white);max-width:none;padding-inline:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.tutor-directory .eyebrow{color:#f5a17a}.tutor-directory h2 span{color:#ff8656}.directory-lead{margin-bottom:3rem}.tutor-row{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}.tutor-card,.coming-card{display:grid;grid-template-columns:16rem 1fr;min-height:16rem;background:#1d3a67;border:1px solid rgba(255,250,244,.15)}.tutor-photo{overflow:hidden;background:#d8d9da}.tutor-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 34%;filter:saturate(.9)}.tutor-info{display:flex;flex-direction:column;align-items:flex-start;padding:2rem}.tutor-info .card-kicker,.coming-card .card-kicker{color:#f5a17a}.tutor-info h3,.coming-card h3{margin:.1rem 0;font-family:"Space Grotesk",sans-serif;font-size:clamp(1.6rem,2.5vw,2.35rem);line-height:1;letter-spacing:-.05em}.tutor-field{margin:.35rem 0;color:#ffb08d;font-weight:600}.tutor-summary,.coming-card p{max-width:25rem;margin:.9rem 0;color:rgba(255,250,244,.75);font-size:.9rem}.rating-state{margin-top:auto;padding:.45rem .7rem;border:1px solid rgba(255,250,244,.2);border-radius:999px;color:#ffe0cf;font-size:.68rem}.profile-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;color:#ffb08d;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.profile-link:hover{color:var(--white)}.coming-card{display:flex;flex-direction:column;justify-content:center;padding:2rem;background:transparent}.coming-icon{display:flex;align-items:center;gap:.25rem;margin-bottom:1.7rem}.coming-icon span{width:1.2rem;height:1.2rem;border:2px solid #ffb08d;border-radius:50%}.coming-card h3{color:var(--white)}
.how{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,6vw,6rem);border-bottom:1px solid var(--line)}.steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.steps b{color:var(--orange);font-family:"Space Grotesk",sans-serif}.steps h3{margin:0;font-family:"Space Grotesk",sans-serif;font-size:1.25rem;letter-spacing:-.04em}.steps p{max-width:34rem;margin:.3rem 0 0;color:var(--ink-soft)}.news-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,10rem);align-items:end}.section-copy{max-width:30rem;margin:1.4rem 0;color:var(--ink-soft);font-size:1.1rem}.dark-link{color:var(--ink)}.contact-card{padding:2.5rem;background:var(--sand-deep);border-top:5px solid var(--orange)}.contact-card .card-kicker{color:var(--wine)}.contact-card h3{margin:.2rem 0;font-family:"Space Grotesk",sans-serif;font-size:clamp(2rem,4vw,3.8rem);line-height:.95;letter-spacing:-.06em}.contact-card p:not(.card-kicker){max-width:30rem;color:var(--ink-soft)}.site-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem var(--pad);border-top:1px solid var(--line);color:var(--ink-soft);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.footer-brand{color:var(--ink);font-weight:700}
@media (max-width:1050px){.site-nav{gap:1rem;font-size:.68rem}.hero{grid-template-columns:minmax(18rem,.9fr) minmax(26rem,1.1fr)}.faculty-grid{grid-template-columns:repeat(3,1fr)}.faculty-card{min-height:8.5rem}.tutor-card{grid-template-columns:12rem 1fr}}
@media (max-width:780px){.site-header{padding:1rem var(--pad)}.menu-toggle{display:flex}.site-nav{position:absolute;top:100%;left:var(--pad);right:var(--pad);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.7rem;background:rgba(247,239,228,.98);box-shadow:0 14px 25px rgba(19,44,86,.12);opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.site-nav.is-open{opacity:1;visibility:visible;transform:none}.site-nav a{padding:.8rem .7rem;border-bottom:1px solid var(--line)}.site-nav .nav-cta{justify-content:center;margin-top:.5rem;border:0}.hero{display:block;min-height:0;padding-top:8rem}.hero-copy{padding-bottom:1rem}.hero h1{font-size:clamp(4rem,18vw,7rem)}.path-scene{min-height:28rem;margin-top:1rem}.path-scene .portal-mark{right:18%;top:12%;transform:scale(.78);transform-origin:top right}.lost-character{left:37%;bottom:13%;transform:scale(.82) rotate(-2deg);transform-origin:bottom}.scene-note{right:.5rem;bottom:1rem}.faculties,.how,.news-contact{display:block}.section-lead{margin-bottom:2.4rem}.faculty-grid{grid-template-columns:repeat(2,1fr)}.faculty-card:last-child{grid-column:span 2}.tutor-row{display:block}.tutor-card{grid-template-columns:8.5rem 1fr}.tutor-info{padding:1.25rem}.tutor-summary{font-size:.82rem}.coming-card{min-height:12rem;padding:2rem 0}.site-footer{flex-wrap:wrap}}
@media (prefers-reduced-motion:no-preference){.hero-copy,.path-scene,.faculty-card,.tutor-card,.coming-card,.steps li,.contact-card{animation:rise .7s var(--ease) both}.path-scene{animation-delay:.12s}.faculty-card:nth-child(2){animation-delay:.05s}.faculty-card:nth-child(3){animation-delay:.1s}.faculty-card:nth-child(4){animation-delay:.15s}.faculty-card:nth-child(5){animation-delay:.2s}}@keyframes rise{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}

/* Approved Orbit hero artwork: crossroads, portal, and lost-student character */
.hero-visual { position: relative; align-self: center; min-width: 0; margin: 0; }
.hero-visual::after { content: ""; position: absolute; inset: 5% 4% 7%; border: 1px solid rgba(20, 88, 199, .16); pointer-events: none; }
.hero-visual img { position: relative; z-index: 1; display: block; width: 100%; height: auto; max-height: 37rem; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
@media (max-width: 780px) {
  .hero-visual { margin-top: 1.5rem; }
  .hero-visual img { max-height: 28rem; }
}

/* Final desktop alignment to the approved Orbit mockup */
.hero { min-height: clamp(34rem, 74vh, 46rem); padding-top: 6.5rem; padding-bottom: 1.5rem; grid-template-columns: minmax(23rem, .8fr) minmax(34rem, 1.9fr); gap: clamp(1rem, 3vw, 3rem); }
.hero-copy { padding-left: clamp(5.5rem, 9vw, 9.5rem); padding-bottom: 0; }
.hero-mascot { position: absolute; z-index: 2; left: var(--pad); bottom: 2.1rem; width: clamp(5rem, 9vw, 8.5rem); height: auto; mix-blend-mode: multiply; }
.hero-subtitle { margin: 1.25rem 0 .15rem; color: var(--ink); font-family: "Space Grotesk", sans-serif; font-size: clamp(1.2rem, 1.8vw, 1.65rem); font-weight: 600; letter-spacing: -.04em; }
.hero-lede { max-width: 27rem; margin-top: .2rem; }
.hero-visual { width: 100%; }
.hero-visual::after { inset: 0; border: 0; }
.hero-visual img { max-height: 31rem; }
.faculties { padding-top: 3.25rem; padding-bottom: 3.25rem; gap: clamp(2rem, 4vw, 4rem); }
.faculty-grid { gap: .55rem; }
.faculty-card { min-height: 8.2rem; }
.tutor-directory { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.65fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); max-width: var(--max); margin: auto; padding: 3.25rem var(--pad); background: transparent; color: var(--ink); }
.tutor-directory .eyebrow { color: var(--wine); }
.tutor-directory h2 span { color: var(--orange); }
.directory-lead { margin-bottom: 0; }
.tutor-row { display: grid; grid-template-columns: 1.35fr 1fr; gap: .8rem; }
.tutor-card, .coming-card { min-height: 10.5rem; border: 1px solid var(--line); }
.tutor-card { grid-template-columns: 8rem 1fr; background: rgba(255,250,244,.72); color: var(--ink); }
.tutor-photo { width: 8rem; height: 10.5rem; background: var(--sand-deep); }
.tutor-info { padding: 1.2rem 1.25rem; }
.tutor-info .card-kicker, .coming-card .card-kicker { color: var(--wine); }
.tutor-info h3, .coming-card h3 { color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.8rem); }
.tutor-field { color: var(--cobalt); }
.tutor-summary { display: none; }
.rating-state { margin-top: auto; border-color: var(--line); background: var(--sand-deep); color: var(--wine); font-size: .6rem; }
.profile-link { color: var(--cobalt); }
.coming-card { display: flex; justify-content: center; padding: 1.35rem; background: rgba(238,225,210,.72); color: var(--ink); }
.coming-card p { color: var(--ink-soft); font-size: .78rem; }
.coming-card h3 { font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.coming-icon span { border-color: var(--wine); }
.about-anchor { padding: .7rem var(--pad); border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .68rem; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
@media (max-width: 1050px) {
  .hero { grid-template-columns: minmax(20rem, .9fr) minmax(28rem, 1.4fr); }
  .hero-copy { padding-left: 5rem; }
  .tutor-directory { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .hero { min-height: 0; padding-top: 7.5rem; display: block; }
  .hero-copy { padding-left: 0; }
  .hero-mascot { left: auto; right: 1rem; bottom: auto; top: 6.2rem; width: 4.2rem; opacity: .78; }
  .hero-visual { margin-top: 1.5rem; }
  .faculties { padding-top: 4rem; padding-bottom: 4rem; }
  .tutor-directory { display: block; padding-top: 4rem; padding-bottom: 4rem; }
  .directory-lead { margin-bottom: 2rem; }
  .tutor-row { display: block; }
  .tutor-card { grid-template-columns: 7rem 1fr; }
  .tutor-photo { width: 7rem; height: 10rem; }
  .coming-card { min-height: 10rem; margin-top: .8rem; }
}

.hero-line { display: block; white-space: nowrap; }
@media (max-width: 780px) { .hero-line { white-space: normal; } }

.hero h1 .hero-line { color: var(--ink); }
.hero h1 .hero-line em { color: var(--orange); font-style: normal; }

/* Final Orbit logo lockup */
.brand { gap: 0; }
.brand-logo { display: block; width: clamp(10.5rem, 15vw, 15rem); height: auto; }
