/* EDIT: Brand colours, typography and spacing are controlled here. */
:root{--green:#183c30;--green-dark:#102b22;--cream:#f6f1e7;--paper:#fcfaf5;--oak:#d6bf9e;--gold:#b69036;--muted:#626b60;--line:#d9ddce;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--green);font-family:var(--sans);font-size:15px;line-height:1.7}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(70px,7.7vw,112px);margin-bottom:24px;line-height:.99}h2{font-size:clamp(38px,4.3vw,58px);margin-bottom:26px}h3{font-size:29px}em{font-weight:400;color:#687652}p{margin-bottom:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6;margin-bottom:23px}.section{max-width:1200px;margin:auto;padding:100px 40px}.header{position:sticky;top:0;background:rgba(246,241,231,.97);z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{max-width:1280px;margin:auto;min-height:108px;display:flex;align-items:center;justify-content:space-between;padding:10px 48px}.brand img{width:75px;height:89px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav>a:not(.button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 24px;border-radius:4px 24px 4px 4px;background:var(--green);color:var(--paper);border:1px solid var(--green);font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#2a5140;transform:translateY(-2px)}.button.small{padding:12px 19px}.text-link{display:inline-block;font-size:12px;font-weight:600}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;background:var(--green);color:white;padding:14px;z-index:50}.skip:focus{top:10px}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1.08fr;gap:50px;padding:58px 48px 64px;align-items:center}.hero-copy{padding:24px 0 4px}.gold-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:9px}.hero .eyebrow{font-size:9px}.intro{font-size:16px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.hero-note{font-size:8px;letter-spacing:1.3px;max-width:380px;margin:37px 0 0;color:var(--muted)}.hero-visual{position:relative;padding:11px;border:1px solid #b7c0ac;border-radius:260px 260px 5px 5px;align-self:stretch;min-height:590px}.hero-visual>img{width:100%;height:100%;min-height:565px;border-radius:250px 250px 3px 3px;object-position:50% 50%}.photo-label{position:absolute;bottom:30px;left:28px;background:var(--cream);font-size:8px;letter-spacing:1.8px;padding:6px 12px}.hero-stamp{position:absolute;right:-20px;bottom:40px;width:120px;height:120px;background:var(--green);color:var(--cream);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:21px;line-height:1.1;transform:rotate(8deg);box-shadow:0 0 0 7px var(--cream)}.hero-stamp em{color:var(--cream)}.hero-stamp span{color:var(--gold);font-size:24px;margin-top:4px}.ribbon{background:var(--green);color:var(--cream);display:flex;justify-content:center;gap:52px;align-items:center;padding:22px 24px;font-size:12px;letter-spacing:.5px}.ribbon i{font-style:normal;color:var(--oak);font-size:22px}.about{display:grid;grid-template-columns:.95fr 1fr;gap:92px;align-items:center}.about-image{position:relative;padding-bottom:32px}.about-image img{width:100%;height:410px;border-radius:170px 170px 3px 3px}.image-caption{font-family:var(--serif);font-style:italic;font-size:18px;position:absolute;bottom:0;left:0}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.about-copy .text-link{margin-top:8px}.spaces-section{padding-top:30px}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:320px;color:var(--muted);font-size:13px;margin-bottom:8px}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.space-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}.card-image{position:relative}.card-image img{width:100%;height:250px}.image-number{position:absolute;top:15px;left:15px;background:var(--cream);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:11px}.render-label{position:absolute;bottom:10px;left:10px;background:var(--cream);font-size:8px;letter-spacing:1px;padding:3px 8px}.card-copy{padding:25px 23px;display:flex;flex-direction:column;flex:1}.card-copy .eyebrow{font-size:8px;margin-bottom:14px;letter-spacing:1.3px}.card-copy h3{font-size:27px;margin-bottom:16px}.card-copy>p:not(.eyebrow):not(.capacity-note){font-size:12px;color:var(--muted)}.features{list-style:none;padding:0;font-size:11px;line-height:2.1;margin:0 0 14px}.features li:before{content:'+';color:var(--gold);margin-right:9px}.capacity-note{font-size:9px;color:var(--muted);margin-bottom:22px}.card-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:10px}.card-bottom .text-link{font-size:11px}.booking-section{background:var(--green);color:var(--cream)}.booking-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.booking-intro{position:sticky;top:150px}.booking-intro h2 em,.contact-section h2 em{color:#c9cfb2}.booking-intro>p:not(.eyebrow){font-size:14px;color:#d4dccb;max-width:290px}.booking-details{padding:20px 0 25px;font-size:11px}.booking-details p{display:flex;align-items:center;gap:15px}.booking-details span{font-size:10px;border:1px solid #647866;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex:none}.fine-print{font-size:11px!important;opacity:.8}.form-panel{background:var(--cream);color:var(--green);padding:35px;border-radius:3px 55px 3px 3px}.form-panel h3{font-size:27px;margin-bottom:8px}.form-lead{color:var(--muted);font-size:12px;margin-bottom:27px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}label{display:block;font-size:10px;font-weight:600;letter-spacing:.2px}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;border:1px solid #c8cdbe;border-radius:3px;background:var(--paper);padding:11px 10px;margin-top:6px;font-size:12px;color:var(--green);min-width:0;min-height:42px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#6e746b;opacity:1}.optional{font-weight:400}.privacy-note{font-size:10px;line-height:1.6;color:var(--muted);margin:18px 0}.form-panel>.button{width:100%}.email-action{display:block;background:none;border:0;color:var(--green);padding:12px 0 0;font-size:10px;text-decoration:underline;text-underline-offset:3px}.form-status:not(:empty){font-size:12px;border:1px solid var(--gold);padding:15px;margin-top:16px;background:#fff9e8;overflow-wrap:anywhere;color:var(--green)}.form-status textarea{height:150px;font-size:11px;margin:12px 0}.form-status a{text-decoration:underline}.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.class-grid article{border:1px solid #ccd0bf;padding:23px 15px;text-align:center;background:#f0eddf;border-radius:60px 60px 3px 3px}.class-icon{font-size:29px;display:block;margin:5px 0 20px;color:#6c795b}.class-grid h3{font-size:21px;margin-bottom:15px}.pill{font-size:8px;border:1px solid #c6ccb7;border-radius:20px;padding:4px 9px;letter-spacing:.4px}.interest-box{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;margin-top:35px;padding:35px;background:#e9e9da;border-radius:3px 40px 3px 3px;align-items:center}.interest-box h3{font-size:27px}.interest-box>div p{font-size:12px;color:var(--muted);margin:0}.interest-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interest-fields label:last-child{grid-column:1/-1}.gallery-section{padding-top:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:3px}.gallery-grid img{width:100%;height:240px;transition:transform .4s}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid .gallery-wide{grid-column:span 2}.gallery-grid .gallery-wide img{height:340px}.gallery-grid .gallery-wide+figure img{height:340px}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 13px;background:linear-gradient(transparent,rgba(12,29,21,.8));color:#fff;font-size:10px;letter-spacing:.3px}.contact-section{background:#e6e8da}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section h2 em{color:#6b795a}.contact-placeholder{color:var(--muted);font-size:12px}.contact-links{display:flex;flex-direction:column;gap:14px;font-size:13px;margin-top:28px}.contact-links small{font-size:9px}.map-placeholder{border:1px solid #bac2ad;border-radius:160px 160px 3px 3px;background:repeating-linear-gradient(35deg,transparent,transparent 45px,#d4dacb 46px,transparent 47px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:350px;padding:30px}.map-pin{font-size:53px;line-height:1;margin-bottom:20px}.map-placeholder h3{font-size:28px;margin-bottom:14px}.map-placeholder p{font-size:13px;margin-bottom:10px}footer{max-width:1200px;margin:auto;padding:45px 40px 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}.footer-top>p{font-family:var(--serif);font-size:23px;margin:0}.footer-top img{object-fit:contain;width:80px;height:98px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.floating-wa{position:fixed;right:24px;bottom:23px;z-index:25;display:flex;gap:8px;align-items:center;padding:12px 17px;background:var(--green);color:var(--cream);border-radius:30px;font-size:11px;box-shadow:0 3px 18px #0003;border:1px solid #718574}.noscript{padding:20px;text-align:center}.is-disabled{color:var(--muted)}
@media(min-width:1400px){.hero{padding-top:75px;padding-bottom:80px}.hero-visual{min-height:640px}}
@media(max-width:1000px){nav{gap:18px}.nav-wrap{padding:10px 28px}.hero{gap:25px;padding-left:35px;padding-right:35px}.hero-visual{min-height:540px}.hero-visual>img{min-height:515px}.hero-stamp{right:-9px}.hero-note{font-size:7px}.hero-actions{gap:15px}.hero-actions .button{padding:13px 17px}.section{padding:75px 30px}.about{gap:45px}.ribbon{gap:28px;font-size:10px}.space-grid{gap:15px}.card-copy{padding:22px 17px}.card-copy h3{font-size:23px}.card-image img{height:220px}.booking-layout{gap:35px}.form-panel{padding:28px}.section-heading{gap:35px}.interest-box{gap:25px;padding:28px}.class-grid h3{font-size:18px}}
@media(max-width:720px){html{scroll-padding-top:86px}.nav-wrap{padding:8px 23px;min-height:80px}.brand img{width:54px;height:64px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid #c0c7b6;padding:8px 13px;border-radius:4px;font-size:11px;color:var(--green)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:20px 25px 25px;box-shadow:0 12px 18px #183c3015;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px 0}nav .button{margin-top:12px}.hero{grid-template-columns:1fr;padding:34px 25px 45px;gap:36px}.hero-copy{padding:0}.hero h1{font-size:76px;line-height:.98;letter-spacing:-3px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:25px}.intro{font-size:14px}.hero-actions{gap:20px;margin-top:25px}.hero-actions .button{font-size:11px;padding:14px 17px;gap:15px}.text-link{font-size:11px}.hero-note{font-size:7px;letter-spacing:1.1px;margin-top:27px}.hero-visual{min-height:425px;height:425px;border-radius:180px 180px 4px 4px;padding:8px;margin-right:6px}.hero-visual>img{min-height:0;height:100%;border-radius:170px 170px 2px 2px}.hero-stamp{height:99px;width:99px;font-size:18px;right:-9px;bottom:30px;box-shadow:0 0 0 5px var(--cream)}.hero-stamp span{font-size:19px}.photo-label{font-size:7px;left:20px;bottom:23px;padding:5px 9px}.ribbon{flex-wrap:wrap;gap:10px 17px;padding:20px 25px;font-size:9px}.ribbon i{font-size:15px}.ribbon i:last-of-type{display:none}.ribbon span{white-space:nowrap}.section{padding:62px 25px}.about{grid-template-columns:1fr;gap:35px}.about-image{order:2;margin-top:0}.about-image img{height:330px}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:13px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:17px}h2{font-size:39px}.image-caption{font-size:16px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:12px;max-width:none}.spaces-section{padding-top:18px}.space-grid{grid-template-columns:1fr;gap:25px}.card-image img{height:255px}.card-copy{padding:26px}.card-copy h3{font-size:30px}.card-copy>p:not(.eyebrow):not(.capacity-note){font-size:13px}.features{font-size:12px}.capacity-note{font-size:10px}.card-bottom{flex-direction:row;justify-content:space-between;align-items:center;font-size:10px}.card-bottom .text-link{font-size:11px}.booking-layout{grid-template-columns:1fr;gap:22px}.booking-intro{position:static}.booking-intro h2{font-size:44px}.booking-intro>p:not(.eyebrow){max-width:none}.booking-details{padding:8px 0 5px}.form-panel{padding:24px 20px;border-radius:3px 40px 3px 3px}.form-panel h3{font-size:25px}.field-grid{gap:17px 10px}input,select,textarea{font-size:14px;padding:10px 8px}label{font-size:10px}.privacy-note{font-size:10px}.email-action{font-size:11px;line-height:1.7;text-align:left}.class-grid{grid-template-columns:repeat(2,1fr);gap:13px}.class-grid article{padding:22px 12px}.class-grid article:last-child{grid-column:1/-1;max-width:calc(50% - 7px);width:100%;justify-self:center}.class-grid h3{font-size:22px}.class-icon{font-size:30px;margin-bottom:14px}.interest-box{grid-template-columns:1fr;padding:25px 20px;gap:25px;margin-top:26px}.interest-box h3{font-size:28px}.interest-fields{grid-template-columns:1fr}.interest-fields label:last-child{grid-column:auto}.interest-box .button{width:100%}.gallery-section{padding-top:8px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid .gallery-wide{grid-column:1/-1}.gallery-grid .gallery-wide img{height:270px}.gallery-grid .gallery-wide+figure img,.gallery-grid img{height:195px}.gallery-grid figcaption{font-size:8px;padding:35px 10px 10px;line-height:1.5}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:44px}.map-placeholder{min-height:300px}.contact-links{font-size:12px}.footer-top{flex-wrap:wrap;justify-content:start;gap:25px}.footer-top>p{font-size:20px;flex:1}.footer-top>.text-link{width:100%}footer{padding:35px 25px 85px}.footer-bottom{display:block;font-size:9px}.footer-bottom>span{display:block;margin-bottom:5px}.floating-wa{right:16px;bottom:16px;padding:11px 15px;font-size:10px}.interest-box .form-status textarea{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.photo-preview-note{font-size:9px;color:var(--muted);margin:17px 0 -20px}
/* Brand moodboard remains visible alongside the space gallery. */
.brand-gallery{display:block;grid-column:1/-1;background:#ebe6d8}.gallery-grid .brand-gallery img{height:300px;object-fit:contain}
@media(max-width:720px){.brand-gallery{grid-column:auto}.gallery-grid .brand-gallery img{height:195px;object-fit:cover}}
/* EDIT: Opening/landing screen. Normal document content: no SEO or access gate. */
.splash{position:relative;min-height:100svh;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:#f4ead7;color:var(--green);padding:28px 24px 30px}.splash-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;animation:intro-reveal 1.1s ease both}.splash-art{width:auto;height:min(65vh,550px);max-width:90vw;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 37%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse at center,#000 37%,transparent 73%)}.splash-tagline{font-size:9px;letter-spacing:2.7px;margin:0 0 25px;color:#566045}.enter-studio{display:inline-flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-width:174px;min-height:91px;padding:25px 25px 17px;background:var(--green);color:var(--cream);border-radius:90px 90px 4px 4px;font-size:12px;letter-spacing:.3px;transition:background .25s,transform .25s}.enter-studio:hover{background:#2a5140;transform:translateY(-3px)}.enter-studio span{color:#d6bf80;font-size:16px;line-height:1}.splash-location{font-size:8px;letter-spacing:1.8px;margin:22px 0 0;color:#626b55}.intro-skip{position:absolute;right:32px;top:25px;font-size:10px;letter-spacing:.7px;padding:10px;z-index:2}.intro-skip:hover{text-decoration:underline;text-underline-offset:5px}.skip{z-index:60}#spaces-heading:focus{outline:none}@keyframes intro-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.splash{min-height:100svh;padding:50px 20px 35px}.splash-art{height:min(58svh,520px);max-width:100%}.splash-tagline{font-size:8px;letter-spacing:1.7px}.intro-skip{top:15px;right:15px}.splash-location{font-size:7px;letter-spacing:1.1px}.enter-studio{min-height:90px;min-width:170px}}
@media(prefers-reduced-motion:reduce){.splash-content{animation:none}.enter-studio{transition:none}}

.visit-counter{margin:14px 0 0;text-align:center;font-size:10px;letter-spacing:.6px;color:var(--muted)}.visit-counter b{color:var(--green);font-weight:600}.visit-counter i{font-style:normal;color:var(--gold);margin:0 8px}
