
    :root{--ink:#111;--paper:#f5f0e8;--paper2:#fffaf3;--pink:#f25b91;--pink2:#ffc3d8;--muted:#6d6862;--line:#1d1b19;--max:1180px}
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}
    img{max-width:100%;display:block} a{color:inherit} button,input,select,textarea{font:inherit}
    .wrap{width:min(var(--max),calc(100% - 38px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:99}
    header{position:sticky;top:0;z-index:50;background:rgba(245,240,232,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,17,17,.16)}
    .nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:-.02em}.brand img{width:43px;height:43px}.navlinks{display:flex;align-items:center;gap:22px}.navlinks a{text-decoration:none;font-weight:800;font-size:.92rem}.navlinks a:not(.btn):hover{text-decoration:underline}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:2px solid var(--ink);background:var(--pink);font-weight:900;text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:.18s}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.btn.light{background:var(--paper2)}
    .hero{position:relative;min-height:760px;display:grid;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:61% center}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,240,232,.99) 0%,rgba(245,240,232,.94) 43%,rgba(245,240,232,.28) 72%,rgba(0,0,0,.05) 100%)}
    .hero-copy{position:relative;z-index:2;max-width:660px;padding:88px 0}.kicker{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;background:#111;color:#fff;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:23px}.hero h1,.section-title{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.055em;line-height:.94}.hero h1{font-size:clamp(3.6rem,8vw,7.2rem);margin:0 0 24px}.hero h1 span{color:var(--pink)}.hero .sub{font-size:clamp(1.12rem,2vw,1.38rem);font-weight:700;max-width:600px;margin:0 0 28px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.proofline{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.proofline span{background:rgba(255,250,243,.86);border:1px solid rgba(17,17,17,.28);padding:7px 10px;font-size:.86rem;font-weight:800}
    .trustbar{background:#111;color:#fff;padding:24px 0}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.trustitem{display:flex;gap:14px;align-items:center}.trustnum{font-size:2rem;font-weight:950;color:var(--pink)}.trustitem strong{display:block}.trustitem small{color:#d7d2cc}
    section{padding:92px 0}.section-title{font-size:clamp(2.7rem,6vw,5.4rem);margin:0 0 18px}.intro{font-size:1.18rem;max-width:760px;color:#3f3b37;margin:0 0 42px}
    .story{background:var(--paper2)}.storygrid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.storycopy h2{margin-top:0}.storycopy p{font-size:1.12rem}.pullquote{margin-top:28px;padding-left:22px;border-left:7px solid var(--pink);font-size:1.28rem;font-weight:850}.storyphoto{position:relative}.storyphoto img{width:100%;aspect-ratio:4/5;object-fit:cover;border:2px solid var(--ink)}.storyphoto:after{content:"";position:absolute;left:18px;right:-18px;bottom:-18px;height:100%;border:2px solid var(--ink);background:var(--pink);z-index:-1}
    .programmes{display:grid;grid-template-columns:1fr 1fr;gap:26px}.program{border:2px solid var(--ink);background:#fff;padding:36px;position:relative}.program.recommended{background:var(--pink2);box-shadow:11px 11px 0 var(--ink)}.badge{display:inline-block;background:#111;color:#fff;padding:7px 10px;font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.program h3{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-size:2.65rem;letter-spacing:-.04em;margin:18px 0 8px}.price{font-size:3.35rem;font-weight:950;letter-spacing:-.05em;margin:22px 0 2px}.price-note{font-weight:800}.ticks{list-style:none;padding:0;margin:24px 0 30px}.ticks li{padding:10px 0 10px 30px;border-bottom:1px solid rgba(17,17,17,.16);position:relative}.ticks li:before{content:"✓";position:absolute;left:0;font-weight:950}.program .btn{width:100%}
    .steps{background:#111;color:#fff}.steps .section-title,.steps .intro{color:#fff}.stepgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{border-top:2px solid var(--pink);padding-top:20px}.step span{font-size:3rem;font-weight:950;color:var(--pink)}.step h3{font-size:1.25rem;margin:4px 0 8px}.step p{color:#cfc9c2;margin:0}
    .aboutgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.aboutgrid img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1);border:2px solid var(--ink)}.credentials{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.credentials span{background:#111;color:#fff;padding:7px 10px;font-size:.82rem;font-weight:800}
    .quote{background:var(--pink);padding:80px 0}.quote blockquote{margin:0;max-width:930px;font-size:clamp(1.55rem,3vw,2.45rem);font-weight:900;letter-spacing:-.02em;line-height:1.25}.quote cite{display:block;margin-top:22px;font-style:normal;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
    .studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.studio-card{background:#fff;border:1px solid rgba(17,17,17,.22);padding:28px}.studio-card .icon{font-size:2rem}.studio-card h3{font-size:1.2rem;margin:10px 0 7px}.studio-card p{margin:0;color:#4e4944}
    .faq{background:var(--paper2)} details{border-top:1px solid #aaa;padding:0} details:last-child{border-bottom:1px solid #aaa} summary{cursor:pointer;font-weight:900;font-size:1.08rem;padding:20px 38px 20px 0;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;font-size:1.7rem;top:12px}details[open] summary:after{content:"–"}details p{max-width:760px;margin:0 0 22px;color:#494540}
    .enquire{background:#111;color:#fff}.enquire-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:50px;align-items:start}.enquire .section-title{color:#fff}.enquire-copy p{color:#d5cfc8}.contactline{margin-top:24px}.contactline a{display:block;margin:8px 0;font-weight:800}.form{background:var(--paper);color:#111;padding:30px;border:2px solid var(--pink);box-shadow:10px 10px 0 var(--pink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:900;font-size:.84rem;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;min-height:52px;border:2px solid #111;background:#fff;padding:12px;border-radius:0}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:4px solid rgba(242,91,145,.32);outline-offset:1px}.form .btn{width:100%}.fineprint{font-size:.82rem;color:#5b5651;margin:14px 0 0}.hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
    footer{background:#090909;color:#cfcac4;padding:30px 0;font-size:.88rem}.footergrid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
    @media(max-width:900px){.navlinks a:not(.btn){display:none}.hero{min-height:700px}.hero-media:after{background:linear-gradient(180deg,rgba(245,240,232,.98) 0%,rgba(245,240,232,.86) 62%,rgba(245,240,232,.15) 100%)}.hero-media img{object-position:66% center}.trustgrid,.stepgrid{grid-template-columns:1fr 1fr}.storygrid,.aboutgrid,.enquire-grid{grid-template-columns:1fr}.programmes{grid-template-columns:1fr}.storyphoto{max-width:650px}.studio-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:620px){.wrap{width:min(100% - 26px,var(--max))}.nav{height:64px}.brand span{display:none}.btn{padding:0 16px;min-height:46px;font-size:.88rem}.hero{min-height:720px}.hero-copy{padding:65px 0}.hero h1{font-size:clamp(3.2rem,17vw,5rem)}section{padding:70px 0}.trustgrid,.stepgrid,.studio-grid,.form-grid{grid-template-columns:1fr}.trustitem{border-bottom:1px solid #383838;padding-bottom:16px}.program{padding:25px}.form{padding:22px}.section-title{font-size:2.85rem}}
  
.page-hero{padding:110px 0 70px;background:var(--paper2);border-bottom:2px solid var(--ink)}
.page-hero .section-title{max-width:900px}.page-hero .intro{margin-bottom:0}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start}
.prose{font-size:1.08rem}.prose h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.04em;font-size:2.2rem;line-height:1;margin:50px 0 16px}.prose h3{font-size:1.28rem;margin:30px 0 10px}.prose p,.prose li{color:#3f3b37}.prose ul{padding-left:22px}.sidebox{position:sticky;top:100px;background:var(--pink2);border:2px solid var(--ink);padding:26px;box-shadow:8px 8px 0 var(--ink)}.sidebox h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.04em;margin:0 0 10px}.sidebox .btn{width:100%;margin-top:12px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{background:#fff;border:2px solid var(--ink);padding:28px}.feature h2,.feature h3{margin-top:0}.image-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.image-split img{width:100%;border:2px solid var(--ink)}
.link-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.link-card{display:block;background:#fff;border:2px solid var(--ink);padding:28px;text-decoration:none}.link-card:hover{background:var(--pink2)}.link-card h2,.link-card h3{margin:0 0 8px}.legal{max-width:850px}.legal h2{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin-top:42px}.legal small{color:var(--muted)}
.footerlinks{display:flex;gap:16px;flex-wrap:wrap}.footerlinks a{font-weight:700}
@media(max-width:900px){.content-grid,.image-split{grid-template-columns:1fr}.sidebox{position:static}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.feature-grid,.link-cards{grid-template-columns:1fr}.page-hero{padding:80px 0 50px}}
