:root{--stage:#0a0a0a;--spotlight:#f8e5a8;--house:#e9e2d0;--backstage:#1f1d1a;--curtain:#e85d3a;--paper:#fff;--ink:#0a0a0a;--rule:#0a0a0a29;--rule-light:#e9e2d02e;--muted:#0a0a0a8c;--muted-dark:#e9e2d08c}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--house);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--spotlight);color:var(--ink)}.brand-dot{color:var(--curtain)}.nav{z-index:100;background:var(--stage);color:var(--house);border-bottom:1px solid #f8e5a81f;justify-content:space-between;align-items:center;padding:18px 40px;transition:background .3s,color .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav .brand{align-items:center;display:flex}.nav .brand img{width:auto;height:26px}.nav .links{letter-spacing:.22em;text-transform:uppercase;gap:36px;font-family:"Source Sans 3",sans-serif;font-size:11.5px;font-weight:500;display:flex}.nav .links a{opacity:.7;transition:opacity .15s}.nav .links a:hover{opacity:1}.nav .cta{letter-spacing:.22em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:10px 18px;font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:600;transition:all .18s}.nav .cta:hover{background:var(--spotlight);color:var(--ink);border-color:var(--spotlight)}@media (max-width:800px){.nav{padding:14px 20px}.nav .links{display:none}}.hero{background:var(--spotlight);grid-template-columns:1.05fr .95fr;align-items:stretch;gap:48px;min-height:100vh;padding:120px 40px 40px;display:grid;position:relative}.hero-copy{flex-direction:column;justify-content:space-between;padding:20px 0 12px;display:flex}.hero-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--curtain);font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:600}.hero-logo{margin:28px 0 0}.hero-logo img{width:min(560px,100%);height:auto}.hero-headline{letter-spacing:-.028em;text-wrap:balance;max-width:14ch;margin:40px 0 0;font-family:Montserrat,sans-serif;font-size:clamp(36px,4.4vw,64px);font-weight:700;line-height:1.02}.hero-headline em{color:var(--curtain);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.hero-foot{border-top:1px solid #0a0a0a2e;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;padding-top:22px;display:grid}.hero-foot .lede{color:#0a0a0ac7;max-width:38ch;font-family:"Source Sans 3",sans-serif;font-size:15px;line-height:1.6}.hero-foot .meta{letter-spacing:.24em;text-transform:uppercase;color:#0a0a0a8c;flex-direction:column;align-items:flex-start;gap:6px;font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:500;display:flex}.hero-foot .meta b{color:var(--ink);font-weight:600}.hero-collage{grid-template-rows:1.1fr .9fr;grid-template-columns:1fr 1fr;gap:14px;height:calc(100vh - 160px);min-height:540px;display:grid}.hero-collage .slot-tall{grid-row:1/3}.hero-collage .photo-frame{width:100%;height:100%}@media (max-width:1100px){.hero{grid-template-columns:1fr;padding-top:110px}.hero-collage{height:70vh;min-height:480px}}@media (max-width:640px){.hero{gap:32px;padding:100px 22px 32px}.hero-collage{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;height:65vh}.hero-collage .slot-tall{grid-row:1/3}.hero-foot{grid-template-columns:1fr}}.quote-ribbon{background:var(--stage);color:var(--house);padding:90px 40px;position:relative;overflow:hidden}.quote-ribbon:before{content:"";background:var(--spotlight);width:6px;height:110px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.quote-ribbon .inner{grid-template-columns:auto 1fr;align-items:center;gap:48px;max-width:1200px;margin:0 auto;display:grid}.quote-ribbon .label{letter-spacing:.32em;text-transform:uppercase;color:var(--spotlight);writing-mode:vertical-rl;border-left:1px solid #f8e5a84d;padding-left:14px;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:600;transform:rotate(180deg)}.quote-ribbon .q{letter-spacing:-.025em;text-wrap:balance;font-family:Montserrat,sans-serif;font-size:clamp(34px,4.5vw,68px);font-weight:500;line-height:1.05}.quote-ribbon .q em{color:var(--spotlight);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.quote-ribbon .attr{letter-spacing:.3em;text-transform:uppercase;color:var(--muted-dark);margin-top:28px;font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:500}.quote-ribbon .attr b{color:var(--house);font-weight:600}@media (max-width:720px){.quote-ribbon{padding:64px 24px}.quote-ribbon .inner{grid-template-columns:1fr;gap:20px}.quote-ribbon .label{writing-mode:horizontal-tb;border-left:0;padding:0;transform:none}}.practice{background:var(--stage);color:var(--house);border-top:1px solid var(--rule-light);padding:120px 40px 140px}.practice .inner{grid-template-columns:1fr 1fr;gap:64px;max-width:1280px;margin:0 auto;display:grid}.practice .left{position:relative}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--curtain);margin-bottom:28px;font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:600}.section-title{letter-spacing:-.03em;text-wrap:balance;margin:0 0 32px;font-family:Montserrat,sans-serif;font-size:clamp(40px,5vw,76px);font-weight:700;line-height:.98}.section-title em{color:var(--spotlight);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.practice p{color:#e9e2d0d9;max-width:52ch;margin:0 0 18px;font-family:"Source Sans 3",sans-serif;font-size:17px;font-weight:400;line-height:1.7}.practice .right{grid-template-rows:1.2fr auto;gap:14px;min-height:520px;display:grid}.practice .right .photo-frame{width:100%;height:100%}.practice .stat-row{border-top:1px solid var(--rule-light);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.practice .stat{flex-direction:column;gap:4px;padding:22px 16px 4px 0;display:flex}.practice .stat .l{letter-spacing:.28em;text-transform:uppercase;color:var(--spotlight);font-family:"Source Sans 3",sans-serif;font-size:9.5px;font-weight:600}.practice .stat .v{letter-spacing:-.005em;color:var(--house);font-family:Montserrat,sans-serif;font-size:16px;font-weight:500}@media (max-width:980px){.practice .inner{grid-template-columns:1fr;gap:48px}.practice{padding:80px 24px 100px}}.impact{background:var(--house);padding:140px 40px 120px;position:relative}.impact .inner{max-width:1280px;margin:0 auto}.impact .head{grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin-bottom:80px;display:grid}.impact .head p{color:#0a0a0ab8;max-width:48ch;margin:0;font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.65}.impact .acronym{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(6,1fr);align-items:end;gap:14px 12px;margin-bottom:80px;padding:44px 0 36px;display:grid}.impact .acronym .pair{text-align:center;flex-direction:column;align-items:center;gap:16px;min-width:0;display:flex}.impact .acronym .pair:last-of-type .letter{color:var(--curtain)}.impact .acronym .letter{letter-spacing:-.04em;color:var(--ink);font-family:Montserrat,sans-serif;font-size:clamp(56px,9vw,144px);font-weight:800;line-height:.9;display:block}.impact .acronym .word{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);max-width:18ch;font-family:"Source Sans 3",sans-serif;font-size:11.5px;font-weight:500;line-height:1.45}.impact .acronym .word b{color:var(--ink);letter-spacing:.04em;text-transform:none;margin-bottom:4px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;display:block}.impact .body{grid-template-columns:.95fr 1.05fr;align-items:start;gap:64px;display:grid}.impact .body .photo-frame{aspect-ratio:4/5;width:100%}.impact .body .copy h3{letter-spacing:-.015em;margin:0 0 14px;font-family:Montserrat,sans-serif;font-size:22px;font-weight:600}.impact .body .copy p{color:#0a0a0ac7;margin:0 0 18px;font-family:"Source Sans 3",sans-serif;font-size:16px;line-height:1.7}.impact .body .copy .pull{background:var(--stage);color:var(--house);border-left:3px solid var(--spotlight);margin-top:28px;padding:22px 24px;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic;font-weight:500;line-height:1.4}.impact .body .copy .pull b{color:var(--spotlight);letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px;font-family:Montserrat,sans-serif;font-size:11px;font-style:normal;font-weight:500;display:block}@media (max-width:980px){.impact{padding:80px 24px}.impact .head{grid-template-columns:1fr;gap:32px;margin-bottom:48px}.impact .acronym{grid-template-columns:repeat(3,1fr);gap:24px 16px;padding:28px 0}.impact .acronym .word{font-size:11px}.impact .body{grid-template-columns:1fr;gap:40px}}.curriculum{background:var(--backstage);color:var(--house);padding:140px 40px}.curriculum .inner{max-width:1280px;margin:0 auto}.curriculum .head{grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:64px;display:grid}.curriculum .head p{color:#e9e2d0c7;max-width:50ch;margin:0;font-family:"Source Sans 3",sans-serif;font-size:16px;line-height:1.7}.curriculum .grid{grid-template-columns:1.05fr .95fr;align-items:stretch;gap:48px;display:grid}.curriculum .list{counter-reset:topic;flex-direction:column;display:flex}.curriculum .topic{counter-increment:topic;border-top:1px solid #f8e5a82e;grid-template-columns:60px 1fr;align-items:baseline;gap:24px;padding:22px 0;display:grid}.curriculum .topic:last-child{border-bottom:1px solid #f8e5a82e}.curriculum .topic .n{letter-spacing:.22em;color:var(--spotlight);font-family:"Source Sans 3",sans-serif;font-size:11px;font-weight:500}.curriculum .topic .n:before{content:"0" counter(topic)}.curriculum .topic .t{letter-spacing:-.012em;color:var(--house);font-family:Montserrat,sans-serif;font-size:clamp(17px,1.6vw,22px);font-weight:500;line-height:1.3}.curriculum .topic .t em{color:var(--spotlight);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.curriculum .photo{grid-template-rows:1fr 1fr;gap:14px;min-height:600px;display:grid}.curriculum .photo .photo-frame{width:100%;height:100%}.curriculum .footer-note{color:#e9e2d099;border-top:1px solid #f8e5a82e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:40px;padding-top:24px;font-family:"Source Sans 3",sans-serif;font-size:13px;font-style:italic;display:flex}.curriculum .footer-note b{color:var(--spotlight);letter-spacing:.28em;text-transform:uppercase;font-size:10.5px;font-style:normal;font-weight:500}@media (max-width:980px){.curriculum{padding:80px 24px}.curriculum .head{grid-template-columns:1fr;gap:28px;margin-bottom:40px}.curriculum .grid{grid-template-columns:1fr}.curriculum .photo{min-height:420px}}.delivery{background:var(--spotlight);padding:140px 40px}.delivery .inner{max-width:1280px;margin:0 auto}.delivery .head{grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:56px;display:grid}.delivery .head p{color:#0a0a0ab8;max-width:48ch;margin:0;font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.65}.delivery .cards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.delivery .card{background:var(--paper);border:1px solid #0a0a0a14;flex-direction:column;justify-content:space-between;min-height:320px;padding:28px 26px 24px;transition:transform .25s,box-shadow .25s;display:flex}.delivery .card:hover{transform:translateY(-4px);box-shadow:0 20px 36px -16px #0a0a0a38}.delivery .card .n{letter-spacing:.32em;text-transform:uppercase;color:var(--curtain);font-family:"Source Sans 3",sans-serif;font-size:10px;font-weight:600}.delivery .card h4{letter-spacing:-.02em;margin:14px 0 10px;font-family:Montserrat,sans-serif;font-size:24px;font-weight:700;line-height:1.1}.delivery .card h4 em{color:var(--curtain);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.delivery .card p{color:var(--muted);margin:0 0 16px;font-family:"Source Sans 3",sans-serif;font-size:14px;line-height:1.55}.delivery .card .duration{letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-top:1px solid #0a0a0a24;padding-top:14px;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:500}.delivery .card.dark{background:var(--stage);color:var(--house);border-color:var(--stage)}.delivery .card.dark .n{color:var(--spotlight)}.delivery .card.dark p{color:var(--muted-dark)}.delivery .card.dark .duration{color:var(--house);border-top-color:#f8e5a838}.delivery .class-size{border-left:3px solid var(--curtain);color:#0a0a0ac7;background:#0a0a0a0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px 28px;font-family:"Source Sans 3",sans-serif;font-size:14px;line-height:1.6;display:flex}.delivery .class-size b{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600}@media (max-width:1100px){.delivery .cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.delivery{padding:72px 22px}.delivery .head{grid-template-columns:1fr;gap:24px}.delivery .cards{grid-template-columns:1fr}}.frank{background:var(--stage);color:var(--house);padding:140px 40px}.frank .inner{grid-template-columns:.85fr 1.15fr;align-items:start;gap:80px;max-width:1280px;margin:0 auto;display:grid}.frank .portrait{flex-direction:column;gap:14px;display:flex;position:sticky;top:100px}.frank .portrait .photo-frame{aspect-ratio:4/5;width:100%}.frank .portrait .caption{letter-spacing:.28em;text-transform:uppercase;color:var(--muted-dark);justify-content:space-between;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:500;display:flex}.frank .portrait .caption b{color:var(--house);font-weight:600}.frank .copy p{color:#e9e2d0d9;max-width:56ch;margin:0 0 20px;font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.7}.frank .copy p b{color:var(--spotlight);font-weight:500}.frank .quals{border-top:1px solid #f8e5a82e;margin-top:48px;padding-top:28px}.frank .quals h4{letter-spacing:.32em;text-transform:uppercase;color:var(--spotlight);margin:0 0 22px;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:600}.frank .quals ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.frank .quals li{color:#e9e2d0e0;border-bottom:1px dashed #f8e5a826;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:14px 0;font-family:"Source Sans 3",sans-serif;font-size:14.5px;line-height:1.4;display:grid}.frank .quals li b{color:var(--house);font-family:Montserrat,sans-serif;font-weight:600}.frank .quals li .inst{letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dark);font-family:"Source Sans 3",sans-serif;font-size:11px}@media (max-width:980px){.frank{padding:80px 24px}.frank .inner{grid-template-columns:1fr;gap:40px}.frank .portrait{position:relative;top:0}.frank .quals li{grid-template-columns:1fr}.frank .quals li .inst{grid-column:1}}.contact{background:var(--spotlight);padding:140px 40px 60px;position:relative;overflow:hidden}.contact .inner{max-width:1280px;margin:0 auto}.contact .big{letter-spacing:-.035em;text-wrap:balance;margin:0 0 56px;font-family:Montserrat,sans-serif;font-size:clamp(56px,9vw,144px);font-weight:700;line-height:.92}.contact .big em{color:var(--curtain);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.contact .big .dot{color:var(--curtain)}.contact .grid{border-top:1px solid #0a0a0a2e;grid-template-columns:repeat(4,1fr);gap:40px;padding-top:40px;display:grid}.contact .col .l{letter-spacing:.32em;text-transform:uppercase;color:var(--curtain);margin-bottom:12px;font-family:"Source Sans 3",sans-serif;font-size:10px;font-weight:600}.contact .col .v{color:var(--ink);font-family:"Source Sans 3",sans-serif;font-size:15px;line-height:1.65}.contact .col .v a{border-bottom:1px solid #0000;transition:border-color .15s}.contact .col .v a:hover{border-color:var(--ink)}.contact .foot{letter-spacing:.28em;text-transform:uppercase;color:#0a0a0a8c;border-top:1px solid #0a0a0a2e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:80px;padding-top:24px;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:500;display:flex}.contact .foot .mark{align-items:center;gap:12px;display:flex}.contact .foot .mark img{height:22px}@media (max-width:800px){.contact{padding:80px 24px 40px}.contact .grid{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width:480px){.contact .grid{grid-template-columns:1fr}}.photo-frame{background:var(--backstage);border-radius:0;position:relative;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.photo-frame .ph{text-align:center;color:var(--muted-dark);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#2a2622 0%,#1a1614 100%);justify-content:center;align-items:center;padding:18px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex;position:absolute;inset:0}.photo-frame:after{content:"";pointer-events:none;mix-blend-mode:overlay;background-image:repeating-linear-gradient(135deg,#0000 0 6px,#ffffff05 6px 7px);position:absolute;inset:0}
