:root{--paper:#f7f3ec;--paper-deep:#eee7dc;--ink:#28241f;--muted:#797168;--clay:#6F63A8;--clay-dark:#574C8C;--sun:#EBC94A;--terra:#BF4A20;--blush:#E5A9A5;--blush-deep:#B9776F;--line:#ded5c9;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--wrap:min(1320px,calc(100% - 10vw))}html{scroll-behavior:smooth;scroll-padding-top:90px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(40,36,31,.09);background:rgba(247,243,236,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.logo{text-decoration:none;display:flex;align-items:center;gap:7px;font-family:var(--display);font-size:1.25rem;font-weight:600;letter-spacing:.19em;white-space:nowrap}.logo span{font-weight:300}.logo i{font-size:.72rem;letter-spacing:.25em;font-style:normal;color:var(--muted);align-self:flex-end;margin:0 0 4px 3px}.main-nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px)}.main-nav>a,.footer-links a{font-size:.77rem;text-decoration:none;transition:color .2s}.main-nav>a:hover,.footer-links a:hover{color:var(--clay)}.main-nav .nav-admin{padding:10px 15px;border:1px solid var(--line);border-radius:2px}.nav-admin span{margin-left:9px;color:var(--clay)}.menu-toggle{display:none}
.hero{min-height:650px;display:grid;grid-template-columns:.91fr 1.09fr;position:relative;padding:65px 5vw 85px;gap:4vw;overflow:hidden}.hero-copy{align-self:center;max-width:570px;padding:10px 0 35px 2vw;position:relative;z-index:1}.eyebrow{font-size:.72rem;letter-spacing:.24em;font-weight:600;color:var(--muted);margin:0 0 24px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow span{width:27px;height:1px;background:var(--clay)}h1,h2{font-family:var(--display);font-weight:300;letter-spacing:-.04em;line-height:1.08;margin:0}h1{font-size:clamp(3.1rem,5.3vw,5.7rem)}h1 em,h2 em{font-weight:300;color:var(--clay);font-style:normal}.hero-text{max-width:405px;color:var(--muted);font-size:.94rem;line-height:1.85;margin:25px 0 29px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;text-decoration:none;padding:15px 20px;font-size:.75rem;letter-spacing:.025em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span,.text-link span{font-size:1.05rem}.button-dark{background:var(--clay);color:#fff}.button-dark:hover{background:var(--clay-dark)}.text-link{font-size:.75rem;text-decoration:none;border-bottom:1px solid var(--clay);padding:8px 0;display:inline-flex;gap:14px;align-items:center}.hero-note{display:flex;align-items:center;gap:12px;margin-top:55px;font-size:.72rem;letter-spacing:.09em;color:var(--muted)}.note-line{width:33px;height:1px;background:var(--line)}.hero-visual{height:510px;align-self:center;position:relative;background:#ddd1c1}.hero-visual:before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid #cfc3b5;pointer-events:none}.hero-visual>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75)}.image-caption{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;color:white;text-shadow:0 1px 8px #0008;font-size:.72rem;letter-spacing:.1em}.hero-stamp{position:absolute;right:-22px;top:35px;width:92px;height:92px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-content:center;text-align:center;font-size:.72rem;letter-spacing:.16em;line-height:1.65;transform:rotate(9deg);box-shadow:0 7px 22px #3b241c20}.hero-stamp span{font-size:1rem}.hero-bottom{position:absolute;bottom:23px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.16em;color:var(--muted)}.hero-bottom a{text-decoration:none;letter-spacing:.05em}.hero-bottom a span{margin-left:9px;color:var(--clay)}
.section-pad{padding:105px 5vw}.events-section{background:#eee8de}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-top .eyebrow,.gallery-heading .eyebrow,.studio-copy .eyebrow{margin-bottom:16px}.section-top h2,.gallery-heading h2{font-size:clamp(2.6rem,4.3vw,4.2rem)}.section-intro{max-width:365px;font-size:.82rem;line-height:1.9;color:var(--muted);margin:0 0 5px}.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.event-card{background:var(--paper);min-width:0;display:flex;flex-direction:column;border:0;overflow:hidden;transition:transform .3s}.event-card:hover{transform:translateY(-5px)}.event-card>img{display:block;width:100%;height:290px;object-fit:cover;filter:saturate(.78);transition:transform .5s}.event-card:hover>img{transform:scale(1.025)}.event-body{padding:25px 27px 23px;display:flex;flex-direction:column;flex:1}.event-date{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:9px}.event-body h3{font-family:var(--display);font-size:1.35rem;line-height:1.35;font-weight:400;margin:0 0 10px;letter-spacing:-.035em}.event-body p{font-size:.8rem;line-height:1.8;color:var(--muted);margin:0 0 22px}.event-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:15px}.event-price{font-size:.85rem;font-weight:600}.event-footer .btn{background:var(--clay);color:white;text-decoration:none;padding:10px 14px;font-size:.72rem}.section-bottom{margin-top:35px;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.15em;color:var(--muted)}.loading-note{color:var(--muted);font-size:.85rem}
.gallery-section{padding:110px 5vw 90px}.gallery-heading{text-align:center;max-width:620px;margin:0 auto 45px}.gallery-heading>p:last-child{color:var(--muted);font-size:.82rem;max-width:460px;margin:19px auto 0;line-height:1.9}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.gallery-card{min-width:0;overflow:hidden}.gallery-card:nth-child(3n + 2){margin-top:35px}.gallery-card img{width:100%;height:clamp(230px,29vw,390px);object-fit:cover;display:block;background:var(--paper-deep);filter:saturate(.78);transition:transform .55s,filter .4s}.gallery-card:hover img{transform:scale(1.035);filter:saturate(1)}.gallery-info{padding:15px 2px 8px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.gallery-info h4{font-family:var(--display);font-size:.93rem;font-weight:400;margin:0}.gallery-info span{font-size:.72rem;letter-spacing:.1em;color:var(--muted)}.gallery-cta{margin-top:52px;padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.74rem;color:var(--muted)}.button-outline{border:1px solid var(--clay);color:var(--clay);padding:12px 18px}.button-outline:hover{background:var(--clay);color:#fff}
.studio-section{display:grid;grid-template-columns:1.08fr .92fr;background:#e7ded2;min-height:520px}.studio-image{position:relative;min-height:520px;overflow:hidden}.studio-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.7)}.vertical-note{position:absolute;bottom:30px;left:30px;color:white;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.2em;text-shadow:0 1px 7px #0008}.studio-copy{padding:75px clamp(35px,7vw,110px);align-self:center}.studio-copy h2{font-size:clamp(2.5rem,4.2vw,4.3rem);margin-bottom:25px}.studio-copy>p:not(.eyebrow){max-width:440px;color:#71675d;font-size:.82rem;line-height:1.95;margin:0 0 14px}.studio-copy .button{margin-top:18px}.studio-signature{margin-top:40px;padding-top:20px;border-top:1px solid #cfc2b4;display:flex;justify-content:space-between;gap:15px;font-size:.72rem;color:#776c62}.studio-signature span{letter-spacing:.18em;font-weight:600;color:var(--ink)}
.contact-section{position:relative;text-align:center;background:var(--clay);color:#fff;padding:95px 5vw 45px;overflow:hidden}.contact-section:before,.contact-section:after{content:"";position:absolute;border:1px solid #ffffff20;border-radius:50%;width:390px;height:390px;top:-210px;left:-120px}.contact-section:after{width:520px;height:520px;top:auto;left:auto;right:-260px;bottom:-340px}.contact-section .eyebrow{color:#e0daf3;margin-bottom:20px}.contact-section h2{font-size:clamp(2.8rem,5vw,4.7rem)}.contact-section h2 em{color:#f3d77a}.contact-section>p:not(.eyebrow){font-size:.82rem;color:#ece8f8;margin:23px 0 26px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white}.contact-orbit{font-size:1.4rem;margin-bottom:15px;color:#f3d77a}.contact-details{position:relative;z-index:1;border-top:1px solid #ffffff35;margin-top:65px;padding-top:22px;display:flex;justify-content:center;gap:clamp(20px,5vw,70px);font-size:.72rem;color:#ece8f8}.contact-details a{text-decoration:none}.site-footer{padding:28px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer .logo{font-size:1rem}.footer-motto,.copyright{font-size:.72rem;letter-spacing:.15em;color:var(--muted)}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font-size:.72rem;color:var(--muted)}
@media(min-width:1500px){.hero{padding-left:max(5vw,calc((100vw - 1450px)/2));padding-right:max(5vw,calc((100vw - 1450px)/2))}.hero-visual{height:570px}}
@media(max-width:900px){:root{--wrap:calc(100% - 8vw)}.hero{grid-template-columns:1fr 1fr;gap:25px;padding:55px 4vw 80px}.hero-copy{padding-left:1vw}.hero-visual{height:440px}.hero-note{margin-top:35px}.section-pad,.gallery-section{padding:80px 4vw}.studio-copy{padding:55px 5vw}.studio-image{min-height:480px}.studio-copy h2{font-size:clamp(2.3rem,5vw,3.5rem)}.event-card>img{height:240px}}
@media(max-width:640px){.site-header{height:72px;padding:0 6vw}.logo{font-size:1.1rem}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{height:1px;width:17px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:22px 6vw 28px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a{padding:13px 0;margin:0;border-bottom:1px solid var(--line)}.main-nav .nav-admin{border:0}.hero{display:flex;flex-direction:column;padding:44px 6vw 70px;gap:28px}.hero-copy{padding:0}.hero h1{font-size:clamp(3rem,13vw,4.7rem)}.hero-text{font-size:.86rem;margin:19px 0 23px}.hero-note{margin-top:32px;line-height:1.6;font-size:.72rem}.hero-visual{width:calc(100% - 10px);height:340px;margin:0 10px 10px 0}.hero-stamp{width:76px;height:76px;right:-14px;font-size:.72rem}.hero-bottom{left:6vw;right:6vw;bottom:20px;font-size:.72rem}.section-pad,.gallery-section{padding:70px 6vw}.section-top{display:block;margin-bottom:28px}.section-top h2,.gallery-heading h2{font-size:2.8rem}.section-intro{margin-top:18px;font-size:.79rem}.events-grid{grid-template-columns:1fr;gap:20px}.event-card>img{height:260px}.event-body{padding:21px}.section-bottom{align-items:flex-start;gap:20px;font-size:.72rem;letter-spacing:.1em}.gallery-heading{margin-bottom:28px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.gallery-card:nth-child(3n + 2){margin-top:0}.gallery-card:nth-child(even){margin-top:25px}.gallery-card img{height:clamp(180px,56vw,300px)}.gallery-info{display:block;padding-top:10px}.gallery-info h4{font-size:.85rem}.gallery-info span{display:block;margin-top:3px}.gallery-cta{margin-top:35px;align-items:flex-start;font-size:.72rem}.gallery-cta .button{padding:10px 12px;gap:12px;white-space:nowrap}.studio-section{grid-template-columns:1fr}.studio-image{min-height:340px}.studio-copy{padding:55px 7vw}.studio-copy h2{font-size:3.2rem}.studio-signature{margin-top:30px;font-size:.72rem}.contact-section{padding:75px 6vw 30px}.contact-section h2{font-size:3.2rem}.contact-details{margin-top:45px;flex-direction:column;gap:9px}.site-footer{padding:27px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-motto{text-align:right}.footer-links{grid-column:1/-1;gap:18px}.copyright{grid-column:1/-1}.contact-orbit{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.logo{gap:11px}.logo-mark{width:54px;height:auto;aspect-ratio:360/405;flex:none}.site-footer .logo-mark{width:42px}
.logo .logo-text{display:flex;flex-direction:column;line-height:1.1;font-weight:400}
.logo .logo-text b{font-family:var(--display);font-weight:500;font-size:1.2rem;letter-spacing:.14em;color:var(--clay)}
.logo .logo-text i{font-size:.72rem;letter-spacing:.2em;font-style:normal;color:var(--blush-deep);margin:3px 0 0;align-self:auto}
.site-footer .logo .logo-text b{font-size:1rem}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.contact-orbit{color:var(--sun)}
.admin-container{max-width:1100px;margin:3rem auto;padding:0 5vw}.admin-container h1{font-size:2.4rem;margin-bottom:2rem}
.admin-card{background:#fff;border:1px solid var(--line);padding:2rem;margin-bottom:2.5rem}.admin-card h2{font-size:1.6rem;margin-bottom:1rem}.admin-card h3{margin:2.5rem 0 0;font-family:var(--display);font-weight:400}
.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem}
.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--line);font:inherit;font-size:.9rem;background:var(--paper)}
.btn{background:var(--clay);color:#fff;border:0;padding:.75rem 1.4rem;font:inherit;font-size:.85rem;cursor:pointer;transition:background .2s}.btn:hover{background:var(--clay-dark)}.btn-danger{background:#b4443d;padding:.4rem .8rem;font-size:.78rem}
.admin-table{width:100%;border-collapse:collapse;margin-top:1.5rem}.admin-table th,.admin-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.88rem}
.thumb{width:45px;height:45px;object-fit:cover}.status{margin-top:1rem;font-size:.85rem;color:var(--clay-dark);min-height:1.2em}
@media(max-width:640px){.admin-card{padding:1.2rem}.admin-table th:first-child,.admin-table td:first-child{display:none}}
