:root{--paper:#f3f0e9;--paper-2:#faf8f3;--ink:#0b0b0b;--muted:#5c5a55;--red:#bd5b40;--yellow:#e9cc86;--white:#fff;--line:#0b0b0b24;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", Arial, sans-serif;--max:1400px}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{width:100%;display:block}.page-loader{z-index:9999;background:var(--ink);color:var(--paper);pointer-events:none;place-items:center;animation:.8s 1.2s forwards loaderOut;display:grid;position:fixed;inset:0}.loader-mark{font-family:var(--serif);font-size:clamp(2rem,6vw,5rem)}.loader-line{background:#fff3;width:min(240px,45vw);height:1px;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.loader-line span{background:#fff;width:0;height:100%;animation:1.1s forwards load;display:block}@keyframes load{to{width:100%}}@keyframes loaderOut{to{opacity:0;visibility:hidden}}.site-header{width:min(100% - 7vw, var(--max));z-index:50;justify-content:space-between;align-items:center;height:86px;margin:auto;display:flex;position:relative}.brand{align-items:flex-start;gap:8px;font-weight:700;display:flex}.brand-main{letter-spacing:-.04em;font-size:1.15rem}.brand-sub{letter-spacing:.12em;padding-top:3px;font-size:.65rem}.desktop-nav{align-items:center;gap:32px;font-size:.68rem;display:flex}.desktop-nav>a{position:relative}.desktop-nav>a:not(.nav-cta):after{content:"";background:var(--ink);width:0;height:1px;transition:all .35s;position:absolute;bottom:-6px;left:0}.desktop-nav>a:hover:after{width:100%}.nav-cta{background:var(--ink);color:#fff;border-radius:999px;padding:16px 23px;transition:transform .3s,background .3s}.nav-cta:hover{transform:translateY(-3px)}.menu-toggle{background:0 0;border:0;width:40px;height:40px;display:none}.menu-toggle span{background:var(--ink);width:24px;height:1px;margin:7px auto;display:block}.mobile-menu{z-index:40;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:28px;font-size:1rem;transition:transform .6s cubic-bezier(.77,0,.18,1);display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-menu.open{transform:none}.section{width:min(100% - 8vw, var(--max));margin:auto;position:relative}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;min-height:calc(100vh - 86px);padding:4vh 0 10vh;display:grid}.hero-ghost,.section-ghost,.feature-ghost,.cta-ghost{z-index:0;pointer-events:none;white-space:nowrap;letter-spacing:-.09em;color:#ffffffc7;-webkit-user-select:none;user-select:none;font-size:clamp(7rem,22vw,24rem);font-weight:700;line-height:.7;position:absolute}.hero-ghost{bottom:3%;left:-5vw}.hero-copy,.hero-visual{z-index:2;position:relative}.eyebrow{letter-spacing:.18em;margin:0 0 22px;font-size:.68rem;font-weight:700}.eyebrow.light{color:#fff}.hero h1{letter-spacing:-.065em;max-width:800px;margin:0;font-size:clamp(3rem,6.4vw,6.7rem);line-height:.91}.hero-text,.feature-copy>p,.detail-copy>p,.cta-copy>p{max-width:550px;color:var(--muted);margin:30px 0;font-size:.95rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.pill-button{letter-spacing:.08em;border-radius:999px;align-items:center;gap:18px;padding:16px 23px;font-size:.7rem;font-weight:700;transition:transform .35s,box-shadow .35s,background .35s;display:inline-flex}.pill-button:hover{transform:translateY(-4px);box-shadow:0 14px 30px #00000021}.pill-button.dark{background:var(--ink);color:#fff}.pill-button.outline{border:1px solid var(--ink)}.text-link{letter-spacing:.08em;font-size:.7rem;font-weight:700}.text-link span{margin-left:8px}.hero-visual{justify-content:center;align-items:center;min-height:600px;display:flex}.hero-image-wrap{aspect-ratio:.78;z-index:2;background:#ddd9d0;width:min(80%,500px);position:relative;overflow:hidden}.hero-image-wrap img{object-fit:cover;height:100%}.image-placeholder{place-items:center;display:grid}.image-placeholder-label{letter-spacing:.18em;opacity:.45;font-size:.65rem;font-weight:700}.shape{z-index:1;border-radius:48% 52% 46% 54%;position:absolute}.shape-yellow{aspect-ratio:1;background:var(--yellow);width:68%;top:16%;left:3%}.shape-red{aspect-ratio:.95;background:var(--red);border-radius:55% 45% 58% 42%;width:48%;bottom:15%;right:0}.shape-small{aspect-ratio:.9;background:var(--yellow);width:23%;top:13%;right:6%}.vertical-note{writing-mode:vertical-rl;letter-spacing:.18em;opacity:.55;font-size:.58rem;position:absolute;bottom:12%;right:0}.pillars{padding:14vh 0}.section-ghost{top:25%;right:-12vw}.quote{z-index:2;text-align:center;max-width:1000px;margin:0 auto 90px;position:relative}.quote-mark{font-family:var(--serif);font-size:5rem;line-height:.5}.quote h2{font-family:var(--serif);letter-spacing:-.045em;margin:25px 0;font-size:clamp(2rem,4.4vw,4.8rem);font-weight:600;line-height:1.02}.pillar-grid{z-index:2;background:var(--paper-2);border-radius:28px;grid-template-columns:repeat(3,1fr);display:grid;position:relative;overflow:hidden}.pillar-card{border-right:1px solid var(--line);min-height:350px;padding:55px 42px;position:relative}.pillar-card:last-child{border-right:0}.number{letter-spacing:.1em;font-size:.68rem;font-weight:700}.pillar-icon{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;margin:50px 0 25px;display:grid}.pillar-card h3{font-family:var(--serif);margin:0 0 15px;font-size:1.65rem}.pillar-card p{color:var(--muted);max-width:300px;font-size:.86rem;line-height:1.7}.pillar-card a{letter-spacing:.1em;font-size:.65rem;font-weight:700;position:absolute;bottom:38px}.feature{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;min-height:850px;padding:8vh 0 16vh;display:grid}.feature-visual{place-items:center;min-height:620px;display:grid;position:relative}.feature-photo{aspect-ratio:.8;z-index:2;background:#ddd9d0;width:min(72%,500px);position:relative;overflow:hidden}.feature-photo img{object-fit:cover;height:100%}.feature-yellow{width:60%;top:13%;left:5%}.feature-red{width:43%;bottom:10%;right:8%}.feature-copy{z-index:2;position:relative}.feature-copy h2,.detail-copy h2,.cta-copy h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,5vw,5.8rem);line-height:.94}.feature-ghost{bottom:3%;right:-18vw}.statement{background:var(--ink);color:#fff;place-items:center;width:100%;max-width:none;min-height:75vh;padding:12vh 8vw;display:grid;overflow:hidden}.statement-inner{text-align:center;width:min(100%,1100px)}.statement h2{font-family:var(--serif);letter-spacing:-.055em;margin:20px 0 35px;font-size:clamp(3rem,7vw,8rem);font-weight:500;line-height:.94}.statement p:last-child{color:#ffffffa6;max-width:500px;margin:auto;line-height:1.8}.programme-detail{grid-template-columns:1fr 1fr;align-items:center;gap:10vw;padding:16vh 0;display:grid}.detail-copy .number{font-size:4rem;font-family:var(--serif);margin-bottom:35px;display:block}.detail-visual{perspective:1000px}.detail-frame{background:var(--red);color:#fff;min-height:550px;padding:30px;transition:transform 1s cubic-bezier(.2,.7,.2,1);transform:rotate(3deg);box-shadow:25px 35px 80px #00000024}.detail-frame.in-view{transform:rotate(-2deg)translateY(-10px)}.frame-top,.frame-bottom{letter-spacing:.15em;font-size:.65rem;font-weight:700}.frame-main{min-height:430px;font-family:var(--serif);letter-spacing:-.06em;flex-direction:column;justify-content:center;font-size:clamp(3rem,6vw,6rem);line-height:.85;display:flex}.frame-main span:nth-child(2){margin-left:12%}.frame-main span:nth-child(3){margin-left:25%}.frame-main span:nth-child(4){margin-left:8%}.cta{place-items:center;min-height:80vh;padding:14vh 0;display:grid;overflow:hidden}.cta-ghost{bottom:15%;left:-7vw}.cta-copy{z-index:2;text-align:center;position:relative}.cta-copy h2{max-width:1000px;margin:0 auto}.cta-copy>p{margin:30px auto}footer{color:#fff;background:#090909;padding:70px 7vw 25px}.footer-top{justify-content:space-between;gap:40px;padding-bottom:70px;display:flex}.footer-brand{font-family:var(--serif);font-size:2rem}.footer-brand small{font:700 .65rem var(--sans);letter-spacing:.15em;vertical-align:top}.footer-top p{color:#999;max-width:400px;line-height:1.7}.footer-links{letter-spacing:.08em;flex-direction:column;gap:14px;font-size:.7rem;display:flex}.footer-links a:hover{text-decoration:underline}.footer-bottom{color:#777;letter-spacing:.08em;border-top:1px solid #ffffff26;justify-content:space-between;padding-top:20px;font-size:.62rem;display:flex}.back-top{border:1px solid var(--ink);background:var(--paper);z-index:30;cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;width:48px;height:48px;transition:all .35s;position:fixed;bottom:24px;right:24px;transform:translateY(20px)}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.cursor-dot{background:var(--ink);pointer-events:none;z-index:9998;mix-blend-mode:difference;border-radius:50%;width:10px;height:10px;display:none;position:fixed;transform:translate(-50%,-50%)}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.reveal-left{transform:translate(-80px)}.reveal-right{transform:translate(80px)}.reveal-up{transform:translateY(90px)}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media (pointer:fine){.cursor-dot{display:block}}@media (width<=900px){.site-header{height:72px}.desktop-nav{display:none}.menu-toggle{display:block}.hero,.feature,.programme-detail{grid-template-columns:1fr}.hero{padding-top:5vh}.hero-visual{order:-1;min-height:500px}.hero-copy{padding-bottom:5vh}.pillar-grid{grid-template-columns:1fr}.pillar-card{border-right:0;border-bottom:1px solid var(--line);min-height:280px}.pillar-card:last-child{border-bottom:0}.feature{gap:4vh}.feature-visual{min-height:520px}.detail-visual{order:-1}.footer-top,.footer-bottom{flex-direction:column}}@media (width<=560px){.section{width:min(100% - 10vw, var(--max))}.hero h1{font-size:3.15rem}.hero-visual{min-height:390px}.hero-image-wrap{width:72%}.feature-visual{min-height:410px}.feature-photo{width:70%}.pillar-card{padding:40px 28px}.statement{min-height:65vh;padding:10vh 7vw}.statement h2{font-size:3rem}.detail-frame{min-height:430px;padding:22px}.frame-main{min-height:330px;font-size:3.5rem}.cta-copy h2{font-size:3rem}}
