:root{--paper:#fbfaf7;--ink:#222522;--muted:#6f746f;--sage:#aeb9aa;--sage-deep:#899985;--terracotta:#c97866;--terracotta-soft:#d88e7d;--beige:#e9ddcd;--tan-deep:#c9a876;--line:#dddcd5;--white:#fff;--max:1220px;--radius:2px;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif;line-height:1.5}.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}.section-pad{padding:92px 0}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(221,220,213,.7)}.header-inner{display:flex;align-items:center;gap:28px;min-height:92px}.brand{width:164px;display:block}.brand img{width:100%;display:block;mix-blend-mode:multiply}.nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.nav a,.text-link{color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase}.nav a{position:relative;padding:11px 0}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--terracotta);transition:.25s}.nav a:hover:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent;padding:14px 22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.25s}.btn-outline{border-color:var(--sage-deep);color:var(--sage-deep);background:transparent}.btn-outline:hover{background:var(--sage-deep);color:var(--white)}.btn-solid{background:var(--sage-deep);color:var(--white)}.btn-solid:hover{background:#6f7e6b}.btn-dark{background:var(--ink);color:var(--white);width:100%}.btn-dark:hover{background:var(--terracotta)}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink);margin:6px}.hero{padding-top:70px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:42px;align-items:center;min-height:570px}.eyebrow{display:inline-block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--terracotta);margin-right:9px;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,8vw,112px);line-height:.92;font-weight:400;letter-spacing:-.04em;margin:18px 0 26px}.hero-lead{max-width:520px;font-size:21px;line-height:1.55;color:#454a45}.hero-rule{width:60px;height:1px;background:var(--sage-deep);margin:26px 0 28px}.hero-actions{display:flex;gap:26px;align-items:center}.text-link{display:inline-flex;gap:12px;align-items:center}.text-link span{font-size:18px;letter-spacing:0}.hero-art{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art img{width:100%;max-width:850px;display:block;filter:saturate(.9) contrast(.96) brightness(1.03);mix-blend-mode:multiply;opacity:.96;box-shadow:0 0 0 1px rgba(221,220,213,.45)}.art-frame{position:absolute;inset:12% 5% 10% 4%;border:1px solid var(--line);pointer-events:none}.hero-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--terracotta)}.dot-1{right:13%;top:18%}.dot-2{right:13%;top:23%;background:var(--sage)}.dot-3{right:13%;top:28%;background:var(--tan-deep)}.principles{border-bottom:1px solid var(--line)}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr)}.principles article{padding:34px 25px;display:grid;grid-template-columns:54px 1fr;gap:16px;border-right:1px solid var(--line)}.principles article:last-child{border-right:0}.principles b{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.principles p{margin:7px 0 0;font-size:12px;color:var(--muted)}.icon{display:block;width:46px;height:46px;position:relative;border-radius:50%}
.icon-house{background:rgba(216,142,125,.28)}
.icon-shapes{background:rgba(174,185,170,.35)}
.icon-project{background:rgba(201,168,118,.28)}
.icon-person{background:rgba(200,120,102,.22)}.icon-house:before{content:'';position:absolute;width:25px;height:25px;border:1px solid var(--ink);left:10px;top:14px}.icon-house:after{content:'';position:absolute;left:6px;top:5px;width:30px;height:30px;border-left:1px solid var(--terracotta);border-top:1px solid var(--ink);transform:rotate(45deg) scale(.65)}.icon-shapes{border:1px solid var(--sage-deep);border-radius:50%}.icon-shapes:before,.icon-shapes:after{content:'';position:absolute;width:16px;height:16px;border:1px solid var(--terracotta);bottom:3px}.icon-shapes:before{left:4px}.icon-shapes:after{right:4px;background:rgba(174,185,170,.35)}.icon-project:before{content:'';position:absolute;inset:5px;border:1px solid var(--ink)}.icon-project:after{content:'';position:absolute;left:14px;top:14px;width:17px;height:17px;border-left:1px solid var(--terracotta);border-bottom:1px solid var(--terracotta);transform:skewY(-30deg)}.icon-person:before{content:'';position:absolute;width:20px;height:20px;border:1px solid var(--ink);border-radius:50%;left:13px;top:5px}.icon-person:after{content:'';position:absolute;width:34px;height:18px;border:1px solid var(--ink);border-bottom:0;border-radius:30px 30px 0 0;left:6px;bottom:5px}.split-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.section-label h2,.section-head h2,.contacts h2{font-weight:400;font-size:clamp(34px,4.2vw,58px);line-height:1.05;letter-spacing:-.035em;margin:16px 0 0}.about-copy{max-width:650px;padding-top:23px}.about-copy p{font-size:18px;color:#4c514c}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px;border-top:1px solid var(--line);padding-top:28px}.numbers strong{display:block;font-size:42px;font-weight:400}
.numbers div:nth-child(1) strong{color:var(--terracotta)}
.numbers div:nth-child(2) strong{color:var(--sage-deep)}
.numbers div:nth-child(3) strong{color:var(--tan-deep)}.numbers span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}.classes{background:#f4f2ec}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.class-card{background:var(--white);border:1px solid var(--line);text-decoration:none;color:inherit;transition:.3s;overflow:hidden}.class-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(25,30,25,.08)}.class-media{aspect-ratio:1.35/1;position:relative;overflow:hidden;background:#e8e4db}.class-media:before,.class-media:after{content:'';position:absolute;border:1px solid rgba(34,37,34,.65)}.class-media span{position:absolute;z-index:2;left:16px;top:14px;font-size:11px;letter-spacing:.14em;color:#fff;background:var(--terracotta);padding:5px 10px;border-radius:20px}
.class-card:nth-child(3n+2) .class-media span{background:var(--sage-deep)}
.class-card:nth-child(3n) .class-media span{background:var(--tan-deep)}.media-1:before{inset:20% 24%;transform:skewY(-9deg);background:rgba(200,120,102,.22)}.media-1:after{width:50%;height:75%;left:36%;top:15%;border-top:0}.media-2{background:#e8dccb}.media-2:before{width:28%;height:42%;left:22%;bottom:14%;background:var(--terracotta-soft)}.media-2:after{width:29%;height:48%;right:22%;bottom:14%;background:rgba(174,185,170,.85)}.media-3{background:#ebe9e2}.media-3:before{inset:15%;background:repeating-linear-gradient(17deg,transparent 0 12px,rgba(30,32,30,.12) 13px 14px)}.media-3:after{width:65%;height:20%;left:17%;bottom:20%;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:skewY(-10deg)}.media-4{background:#e2e2d8}.media-4:before{width:44%;height:55%;left:28%;bottom:15%;background:rgba(174,185,170,.55);border:0}.media-4:after{width:24%;height:65%;left:38%;top:13%;border-color:var(--ink);transform:skewY(-12deg)}.media-5{background:#e9dfd2}.media-5:before{width:0;height:0;border-left:58px solid transparent;border-right:58px solid transparent;border-bottom:90px solid rgba(200,120,102,.75);left:30%;bottom:16%;border-top:0}.media-5:after{width:55%;height:55%;left:22%;bottom:16%;border:1px solid var(--ink);transform:skewY(14deg)}.media-6{background:#deded5}.media-6:before{width:42%;height:64%;left:29%;bottom:15%;border-radius:50% 50% 4% 4%;background:rgba(174,185,170,.7);border-color:transparent}.media-6:after{width:34%;height:34%;left:34%;top:29%;border:1px solid var(--ink);border-radius:50%;transform:skewX(-16deg)}.class-body{padding:20px 18px 22px}.class-body h3{font-size:17px;font-weight:500;margin-bottom:6px}.class-body p{font-size:13px;color:var(--muted);margin:0}.teachers{background:#ecece5}.teachers-grid{align-items:center}.section-label p{margin-top:26px;max-width:590px;color:#535751;font-size:16px}.teacher-collage{position:relative;min-height:450px}.teacher-card{display:flex;align-items:center;gap:18px;background:var(--paper);border:1px solid var(--line);padding:22px;max-width:480px}.teacher-card.offset{margin:32px 0 0 90px;background:#f7f1e7}.teacher-card b{display:block;font-size:14px}.teacher-card span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ink);font-size:27px}.avatar-1{background:rgba(174,185,170,.35)}.avatar-2{background:rgba(200,120,102,.18)}.teacher-note{position:absolute;right:0;bottom:0;width:290px;padding:24px;border-top:1px solid var(--ink);font-size:15px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.project{border:1px solid var(--line);background:var(--white)}.project-visual{height:270px;position:relative;overflow:hidden;background:#e9e7df}.pv-1 i,.pv-2 i,.pv-3 i{position:absolute;display:block;border:1px solid var(--ink)}.pv-1{background:#e4ddcf}.pv-1 i:nth-child(1){width:31%;height:54%;left:11%;top:28%;background:rgba(174,185,170,.52)}.pv-1 i:nth-child(2){width:29%;height:62%;left:40%;top:18%;background:rgba(200,120,102,.56)}.pv-1 i:nth-child(3){width:30%;height:70%;right:5%;top:10%;background:#fff9}.pv-2{background:#dfe3dc}.pv-2 i:nth-child(1){width:55%;height:70%;left:14%;top:15%;background:rgba(255,255,255,.55);transform:skewY(-8deg)}.pv-2 i:nth-child(2){width:38%;height:50%;right:9%;bottom:10%;background:rgba(200,120,102,.55)}.pv-3{background:#eee7dc}.pv-3 i:nth-child(1){width:16%;height:52%;left:16%;top:22%;background:rgba(174,185,170,.55)}.pv-3 i:nth-child(2){width:16%;height:64%;left:38%;top:16%;background:rgba(200,120,102,.65)}.pv-3 i:nth-child(3){width:16%;height:44%;right:24%;top:29%;background:#fff8}.pv-3 i:nth-child(4){width:16%;height:58%;right:4%;top:19%;background:rgba(174,185,170,.45)}.project>div:last-child{padding:18px 18px 22px}.project span,.news-card>span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.project h3{font-size:19px;font-weight:500;margin:8px 0 0}.news{background:#f4f2ec}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.news-card{background:var(--white);border:1px solid var(--line);padding:28px;min-height:250px;display:flex;flex-direction:column}.news-card h3{font-weight:500;font-size:20px;line-height:1.25;margin:14px 0 10px}.news-card p{font-size:14px;color:var(--muted)}.news-card a{margin-top:auto;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.accent-card{background:#e8dccb}.signup{background:var(--beige);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.signup-inner{display:grid;grid-template-columns:1fr .95fr;gap:80px;padding:72px 0}.signup h2{font-size:clamp(34px,4.6vw,60px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:16px 0}.signup p{font-size:17px;color:#51524e;max-width:560px}.signup-form{background:var(--paper);border:1px solid var(--line);padding:28px}.signup-form label{display:block;margin-bottom:16px}.signup-form label>span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.signup-form input,.signup-form select{width:100%;padding:13px 12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink)}.signup-form small{display:block;margin-top:10px;color:var(--muted);font-size:10px;line-height:1.4}.form-success{display:none;margin-top:15px;padding:12px;background:#e4ecdf;font-size:12px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:stretch}.contact-list{display:flex;flex-direction:column;gap:8px;margin:28px 0}.contact-list a,.contact-list span{font-size:20px;color:var(--ink);text-decoration:none}.socials{display:flex;gap:14px}.socials a{border:1px solid var(--line);padding:10px 14px;text-decoration:none;color:var(--ink);font-size:12px;letter-spacing:.12em;transition:.2s}.socials a:hover{color:#fff}.socials a:first-child:hover{background:var(--sage-deep);border-color:var(--sage-deep)}.socials a:last-child:hover{background:var(--terracotta);border-color:var(--terracotta)}.contact-map{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--line);background:#edf0e9}.map-grid{position:absolute;inset:0;background:linear-gradient(25deg,transparent 0 46%,rgba(34,37,34,.16) 47% 48%,transparent 49% 100%),linear-gradient(160deg,transparent 0 52%,rgba(34,37,34,.1) 53% 54%,transparent 55% 100%),repeating-linear-gradient(90deg,transparent 0 78px,rgba(34,37,34,.07) 79px 80px),repeating-linear-gradient(0deg,transparent 0 74px,rgba(34,37,34,.07) 75px 76px)}.map-pin{position:absolute;width:28px;height:28px;border:1px solid var(--terracotta);border-radius:50% 50% 50% 0;transform:rotate(-45deg);left:54%;top:44%;background:rgba(255,255,255,.8)}.map-pin:after{content:'';position:absolute;width:8px;height:8px;background:var(--terracotta);border-radius:50%;left:9px;top:9px}.map-label{position:absolute;left:60%;top:52%;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.site-footer{border-top:1px solid var(--line);padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.footer-inner a{color:var(--ink);text-decoration:none}.toast{position:fixed;right:22px;bottom:22px;background:var(--ink);color:white;padding:12px 16px;font-size:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(16px);transition:.65s ease}.reveal.show{opacity:1;transform:none}@media(max-width:1050px){.nav{gap:17px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center;max-width:720px;margin:0 auto}.hero-lead{margin:0 auto}.hero-rule{margin:24px auto}.hero-actions{justify-content:center}.hero-art{min-height:390px}.principles-grid{grid-template-columns:repeat(2,1fr)}.principles article:nth-child(2){border-right:0}.principles article:nth-child(-n+2){border-bottom:1px solid var(--line)}.split-grid,.signup-inner,.contact-grid{grid-template-columns:1fr;gap:48px}.class-grid,.project-grid,.news-grid{grid-template-columns:1fr 1fr}.teacher-note{position:static;margin:22px 0 0 auto}.contact-map{min-height:290px}}@media(max-width:760px){.container{width:min(calc(100% - 30px),var(--max))}.site-header{position:sticky}.header-inner{min-height:76px}.brand{width:145px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 15px 18px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:11px;padding:14px 4px;border-bottom:1px solid var(--line)}.nav a:last-child{border-bottom:0}.hero{padding-top:45px}.section-pad{padding:68px 0}.hero-art{min-height:260px}.art-frame{inset:7% 1% 4%}.hero-dot{display:none}.hero-actions{flex-direction:column;gap:16px}.principles-grid{grid-template-columns:1fr}.principles article{border-right:0!important;border-bottom:1px solid var(--line)!important}.principles article:last-child{border-bottom:0!important}.class-grid,.project-grid,.news-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.teacher-card.offset{margin-left:25px}.numbers{grid-template-columns:1fr}.numbers strong{font-size:36px}.signup-inner{padding:58px 0}.contact-grid{gap:30px}.contact-map{min-height:240px}.footer-inner{flex-direction:column}.hero h1{font-size:62px}.hero-lead{font-size:18px}}

/* Responsive refinements — mobile-first presentation matching the approved visual style */
@media (max-width: 760px) {
  body { overflow-x: hidden; }
  .container { width: min(calc(100% - 28px), var(--max)); }
  .site-header { position: sticky; top: 0; }
  .header-inner { min-height: 72px; gap: 10px; }
  .brand { width: 132px; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav { top: 72px; padding: 8px 14px 14px; }
  .nav a { font-size: 10px; letter-spacing: .16em; padding: 13px 2px; }

  .hero { padding: 0 0 26px; }
  .hero-grid { display: flex; flex-direction: column; gap: 0; min-height: 0; }
  .hero-art { order: 1; width: calc(100% + 28px); margin-left: -14px; min-height: 0; height: auto; display: block; }
  .hero-art img { width: 100%; max-width: none; aspect-ratio: 1.78 / 1; object-fit: contain; object-position: center; border: 0; box-shadow: none; opacity: 1; }
  .art-frame { display: none; }
  .hero-dot { display: block; width: 6px; height: 6px; right: 14px; }
  .dot-1 { top: 54%; }
  .dot-2 { top: calc(54% + 12px); }
  .dot-3 { top: calc(54% + 24px); }
  .hero-copy { order: 2; text-align: left; max-width: none; margin: 0; padding: 34px 2px 0; }
  .eyebrow { font-size: 9px; letter-spacing: .22em; }
  .hero h1 { font-size: clamp(44px, 14vw, 62px); line-height: .98; margin: 10px 0 16px; }
  .hero-lead { margin: 0; max-width: 100%; font-size: 16px; line-height: 1.55; }
  .hero-rule { margin: 20px 0 22px; width: 50px; }
  .hero-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 12px; }
  .hero-actions .btn { width: auto; }
  .text-link { font-size: 10px; letter-spacing: .14em; }

  .section-pad { padding: 58px 0; }
  .principles-grid { grid-template-columns: 1fr 1fr; }
  .principles article { grid-template-columns: 36px 1fr; gap: 10px; padding: 22px 12px; min-width: 0; }
  .principles article:nth-child(odd) { border-right: 1px solid var(--line) !important; }
  .principles article:nth-child(even) { border-right: 0 !important; }
  .principles article:nth-child(-n+2) { border-bottom: 1px solid var(--line) !important; }
  .principles article:nth-child(n+3) { border-bottom: 0 !important; }
  .principles b { display: block; font-size: 10px; line-height: 1.35; }
  .principles p { font-size: 10px; line-height: 1.45; }
  .icon { width: 32px; height: 32px; transform: scale(.78); transform-origin: top left; }

  .split-grid, .signup-inner, .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .section-label h2, .section-head h2, .contacts h2 { font-size: 34px; }
  .about-copy { padding-top: 0; }
  .about-copy p { font-size: 15px; }
  .numbers { grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; padding-top: 20px; }
  .numbers strong { font-size: 30px; }
  .numbers span { font-size: 9px; letter-spacing: .08em; }

  .section-head { margin-bottom: 22px; align-items: flex-start; flex-direction: column; gap: 12px; }
  .classes { padding-top: 48px; }
  .class-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .class-card:hover { transform: none; box-shadow: none; }
  .class-media { aspect-ratio: 1.18 / 1; }
  .class-media span { font-size: 9px; left: 10px; top: 8px; }
  .class-body { padding: 12px 10px 14px; }
  .class-body h3 { font-size: 13px; line-height: 1.2; }
  .class-body p { display: none; }

  .teacher-collage { min-height: 0; }
  .teacher-card { max-width: none; padding: 16px; }
  .teacher-card.offset { margin: 12px 0 0 18px; }
  .teacher-note { position: static; width: auto; margin-top: 18px; padding: 18px; font-size: 14px; }

  .project-grid, .news-grid { grid-template-columns: 1fr; }
  .project-visual { height: 220px; }
  .news-card { min-height: 0; padding: 22px; }

  .signup-inner { padding: 48px 0; }
  .signup h2 { font-size: 38px; }
  .signup p { font-size: 15px; }
  .signup-form { padding: 18px; }
  .signup-form input, .signup-form select { font-size: 16px; } /* avoids iOS zoom */

  .contact-list a, .contact-list span { font-size: 18px; }
  .contact-map { min-height: 220px; }
  .footer-inner { flex-direction: column; align-items: flex-start; font-size: 9px; }
}

@media (max-width: 430px) {
  .brand { width: 124px; }
  .header-inner { min-height: 68px; }
  .nav { top: 68px; }
  .hero-copy { padding-top: 28px; }
  .hero h1 { font-size: 42px; }
  .hero-lead { font-size: 15px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn, .hero-actions .text-link { width: 100%; justify-content: center; }
  .principles article { padding: 18px 10px; grid-template-columns: 30px 1fr; }
  .principles b { font-size: 9px; }
  .principles p { font-size: 9px; }
  .class-grid { gap: 8px; }
  .class-body h3 { font-size: 12px; }
  .section-label h2, .section-head h2, .contacts h2 { font-size: 30px; }
}

/* Hero photo */
.hero-slider{position:relative;width:100%;max-width:850px;aspect-ratio:1400/790;overflow:hidden;background:#f4f2ec}
.hero-slider img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:saturate(.92) contrast(.95) brightness(1.03);mix-blend-mode:multiply}
@media(max-width:1050px){.hero-slider{max-width:900px}}
@media(max-width:760px){
  .hero-art{height:auto;min-height:0}
  .hero-slider{width:100%;aspect-ratio:1.78/1;max-width:none;background:#f4f2ec}
}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.price-card{display:flex;align-items:baseline;gap:14px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--terracotta);padding:22px 24px}
.price-card:nth-child(3n+2){border-left-color:var(--sage-deep)}
.price-card:nth-child(3n){border-left-color:var(--tan-deep)}
.price-title{font-size:15px;white-space:nowrap}
.price-title em{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-top:2px}
.price-dots{flex:1;border-bottom:1px dotted var(--line);height:1px;transform:translateY(-4px)}
.price-value{font-size:19px;color:var(--terracotta);white-space:nowrap}
.price-value.accent{color:var(--sage-deep);text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.pricing-note{margin:30px 0 0;color:var(--muted);font-size:13px;max-width:520px}

/* Gallery */
.gallery{background:#f7f1e7}
.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);gap:14px}
.gallery-item{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:#eee}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.045)}
.gallery-big{grid-row:1/3}
.gallery-grid > :not(.gallery-big){aspect-ratio:1.5/1}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(to top,rgba(20,22,18,.68),transparent 75%)}
@media(max-width:1050px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-big{grid-row:auto;grid-column:1/3;aspect-ratio:1.9/1}}
@media(max-width:760px){.gallery-grid{grid-template-columns:1fr}.gallery-big{grid-column:auto;aspect-ratio:1.3/1}.gallery-grid > :not(.gallery-big){aspect-ratio:1.3/1}}

/* News photo card */
.news-photo{padding:0;overflow:hidden}
.news-photo-media{aspect-ratio:16/10;overflow:hidden}
.news-photo-media img{width:100%;height:100%;object-fit:cover;display:block}
.news-photo-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.news-photo-body h3{font-weight:500;font-size:20px;line-height:1.25;margin:14px 0 10px}
.news-photo-body p{font-size:14px;color:var(--muted)}
.news-photo-body a{margin-top:auto;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px}

/* Schedule */
.schedule{background:#f4f2ec}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.schedule-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--sage-deep);padding:22px 22px 20px}
.schedule-card:nth-child(3n+2){border-top-color:var(--terracotta)}
.schedule-card:nth-child(3n){border-top-color:var(--tan-deep)}
.schedule-card h3{font-size:14px;font-weight:500;margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}
.schedule-slot{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}
.schedule-slot:first-of-type{border-top:0}
.day-tag{color:var(--sage-deep);white-space:nowrap}
.schedule-slot>span:last-child{color:var(--ink);text-align:right}

@media(max-width:1050px){
  .pricing-grid{grid-template-columns:1fr}
  .schedule-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .price-card{flex-wrap:wrap}
  .price-dots{display:none}
  .schedule-grid{grid-template-columns:1fr}
  .schedule-slot{flex-direction:column;gap:2px}
  .schedule-slot>span:last-child{text-align:left}
}

/* Proektium Color Play accents */
:root{--accent-beige:#eadfce;--accent-sage:#b8c3b0;--accent-terra:#d27f6b}
body{background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%)}
.hero{position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:260px;height:260px;background:var(--accent-beige);border-radius:50%;right:-80px;top:80px;opacity:.45;z-index:0}
.hero:after{content:"";position:absolute;width:120px;height:180px;background:var(--accent-sage);left:-50px;bottom:40px;opacity:.35;transform:rotate(18deg);z-index:0}
.hero-grid,.section-pad,.container{position:relative;z-index:1}
.section-pad:nth-of-type(odd):before{content:"";position:absolute;width:170px;height:170px;background:var(--accent-terra);opacity:.12;border-radius:40% 60% 50% 50%;right:4%;top:20px}
.classes{position:relative;overflow:hidden}
.classes:before{content:"";position:absolute;left:-70px;top:100px;width:230px;height:230px;background:var(--accent-sage);opacity:.25;border-radius:50%}
.class-card,.project,.news-card,.signup-form{position:relative}
.class-card:after,.project:after,.news-card:after{content:"";position:absolute;width:42px;height:42px;right:0;top:0;background:var(--accent-terra);opacity:.18}
.class-card:nth-child(2n):after,.project:nth-child(2n):after{background:var(--accent-sage)}
.signup{position:relative;overflow:hidden}
.signup:before{content:"";position:absolute;width:300px;height:300px;background:var(--accent-beige);border-radius:50%;right:-100px;bottom:-100px}

/* Proektium Color Play 2.0 — brighter, playful architectural accents */
:root{
  --cp-cream:#f3e5d3;
  --cp-sage:#b4c6a9;
  --cp-sage-bright:#9fbf91;
  --cp-terra:#d97861;
  --cp-yellow:#e6c77b;
  --cp-lilac:#c8b8d9;
}
body{background:#fbfaf7;}
.hero{isolation:isolate;}
.hero:before{width:330px;height:330px;right:-105px;top:35px;opacity:.72;background:var(--cp-cream);border-radius:42% 58% 55% 45%;transform:rotate(12deg)}
.hero:after{width:155px;height:225px;left:-62px;bottom:15px;opacity:.58;background:var(--cp-sage);transform:rotate(16deg);border-radius:18% 82% 30% 70%}
.hero-grid:before{content:"";position:absolute;width:95px;height:95px;background:var(--cp-terra);opacity:.32;left:38%;top:8%;border-radius:50%;z-index:-1}
.hero-grid:after{content:"";position:absolute;width:48px;height:150px;background:var(--cp-yellow);opacity:.52;right:0;bottom:8%;transform:rotate(-19deg);z-index:-1}
.hero h1{position:relative;display:inline-block}
.hero h1:after{content:"";position:absolute;left:8%;right:-9%;bottom:-13px;height:18px;background:var(--cp-sage);opacity:.55;transform:rotate(-2deg);z-index:-1}
.hero-art:before{content:"";position:absolute;width:120px;height:120px;background:var(--cp-terra);opacity:.22;left:0;bottom:5%;clip-path:polygon(0 0,100% 18%,78% 100%,15% 82%)}
.hero-art:after{content:"";position:absolute;width:72px;height:72px;border:8px solid var(--cp-yellow);opacity:.58;border-radius:50%;right:2%;top:7%}
.principles{position:relative;overflow:hidden;background:#fff}
.principles:before{content:"";position:absolute;left:4%;top:-32px;width:115px;height:115px;background:var(--cp-yellow);opacity:.38;border-radius:50%;}
.principles:after{content:"";position:absolute;right:7%;bottom:-44px;width:145px;height:95px;background:var(--cp-sage);opacity:.35;transform:rotate(-12deg);}
.principles-grid{position:relative;z-index:1}
.principles article:nth-child(1){background:linear-gradient(135deg,rgba(243,229,211,.55),transparent 65%)}
.principles article:nth-child(2){background:linear-gradient(135deg,rgba(180,198,169,.4),transparent 65%)}
.principles article:nth-child(3){background:linear-gradient(135deg,rgba(230,199,123,.28),transparent 65%)}
.principles article:nth-child(4){background:linear-gradient(135deg,rgba(217,120,97,.25),transparent 65%)}
.about{position:relative;overflow:hidden}
.about:before{content:"";position:absolute;width:260px;height:155px;left:-80px;top:30px;background:var(--cp-sage);opacity:.28;transform:rotate(-12deg);border-radius:50% 15% 55% 20%}
.about:after{content:"";position:absolute;width:110px;height:110px;right:5%;bottom:35px;background:var(--cp-terra);opacity:.2;border-radius:50%;}
.numbers div{position:relative;padding-left:14px}
.numbers div:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;background:var(--cp-terra)}
.numbers div:nth-child(2):before{background:var(--cp-sage-bright)}
.numbers div:nth-child(3):before{background:var(--cp-yellow)}
.classes{background:#f7f3ed}
.classes:before{width:300px;height:300px;left:-115px;top:45px;opacity:.42;background:var(--cp-sage-bright);}
.classes:after{content:"";position:absolute;right:-55px;top:20%;width:155px;height:260px;background:var(--cp-terra);opacity:.18;transform:rotate(21deg);border-radius:15px}
.class-grid{position:relative;z-index:1}
.class-card:nth-child(1){box-shadow:inset 0 7px 0 var(--cp-terra)}
.class-card:nth-child(2){box-shadow:inset 0 7px 0 var(--cp-sage-bright)}
.class-card:nth-child(3){box-shadow:inset 0 7px 0 var(--cp-yellow)}
.class-card:nth-child(4){box-shadow:inset 0 7px 0 var(--cp-lilac)}
.class-card:nth-child(5){box-shadow:inset 0 7px 0 var(--cp-terra)}
.class-card:nth-child(6){box-shadow:inset 0 7px 0 var(--cp-sage-bright)}
.class-card:after,.project:after,.news-card:after{width:58px;height:58px;opacity:.32;clip-path:polygon(100% 0,100% 100%,0 0)}
.teachers{position:relative;overflow:hidden}
.teachers:before{content:"";position:absolute;width:260px;height:260px;right:-95px;top:30px;background:var(--cp-cream);opacity:.7;border-radius:50%}
.teachers:after{content:"";position:absolute;width:90px;height:170px;left:0;bottom:30px;background:var(--cp-terra);opacity:.16;transform:rotate(23deg)}
.teacher-card{position:relative;z-index:1}
.teacher-card:first-child{border-left:5px solid var(--cp-sage-bright)}
.teacher-card.offset{border-left:5px solid var(--cp-terra)}
.projects{position:relative;overflow:hidden}
.projects:before{content:"";position:absolute;left:-45px;top:12%;width:180px;height:180px;background:var(--cp-yellow);opacity:.23;transform:rotate(20deg);}
.projects:after{content:"";position:absolute;right:-35px;bottom:12%;width:170px;height:120px;background:var(--cp-sage);opacity:.3;transform:rotate(-16deg)}
.project-grid{position:relative;z-index:1}
.project:nth-child(1){border-top:6px solid var(--cp-terra)}
.project:nth-child(2){border-top:6px solid var(--cp-sage-bright)}
.project:nth-child(3){border-top:6px solid var(--cp-yellow)}
.news{position:relative;overflow:hidden}
.news:before{content:"";position:absolute;width:230px;height:230px;left:-100px;bottom:-70px;background:var(--cp-lilac);opacity:.25;border-radius:50%}
.news:after{content:"";position:absolute;width:120px;height:180px;right:-45px;top:30px;background:var(--cp-terra);opacity:.17;transform:rotate(-20deg)}
.news-grid{position:relative;z-index:1}
.news-card:nth-child(1){border-top:5px solid var(--cp-sage-bright)}
.news-card:nth-child(2){border-top:5px solid var(--cp-terra)}
.news-card:nth-child(3){border-top:5px solid var(--cp-yellow)}
.gallery{position:relative;overflow:hidden}
.gallery:before{content:"";position:absolute;width:250px;height:250px;right:-95px;top:15px;background:var(--cp-sage);opacity:.3;border-radius:50%}
.gallery:after{content:"";position:absolute;width:100px;height:150px;left:-30px;bottom:40px;background:var(--cp-terra);opacity:.16;transform:rotate(15deg)}
.gallery-grid{position:relative;z-index:1}

/* Летний интенсив — лента фото */
.intensive-strip{display:flex;gap:12px;overflow-x:auto;margin-top:16px;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.intensive-strip img{flex:0 0 auto;width:230px;height:170px;object-fit:cover;border-radius:10px;border:1px solid var(--line);scroll-snap-align:start;transition:transform .35s ease}
.intensive-strip img:hover{transform:translateY(-3px)}
.intensive-strip img:nth-child(3n+1){box-shadow:inset 0 5px 0 var(--cp-terra)}
.intensive-strip img:nth-child(3n+2){box-shadow:inset 0 5px 0 var(--cp-sage-bright)}
.intensive-strip img:nth-child(3n){box-shadow:inset 0 5px 0 var(--cp-yellow)}
.intensive-strip::-webkit-scrollbar{height:7px}
.intensive-strip::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
@media(max-width:760px){.intensive-strip img{width:190px;height:140px}}
.signup{background:var(--cp-cream)}
.signup:before{width:380px;height:380px;right:-130px;bottom:-160px;background:var(--cp-sage);opacity:.48}
.signup:after{content:"";position:absolute;width:130px;height:130px;left:-45px;top:35px;background:var(--cp-terra);opacity:.25;transform:rotate(20deg);border-radius:30% 70% 55% 45%}
.signup-inner{position:relative;z-index:1}
.signup-form{border-top:6px solid var(--cp-terra)}
.contacts{position:relative;overflow:hidden}
.contacts:before{content:"";position:absolute;width:210px;height:210px;left:-85px;top:35px;background:var(--cp-sage);opacity:.22;border-radius:50%}
.contacts:after{content:"";position:absolute;width:85px;height:160px;right:5%;bottom:10px;background:var(--cp-yellow);opacity:.3;transform:rotate(-18deg)}
.contact-grid{position:relative;z-index:1}
.contact-map{border-top:5px solid var(--cp-sage-bright)}
.site-footer{position:relative;overflow:hidden}
.site-footer:before{content:"";position:absolute;width:90px;height:90px;right:8%;top:-45px;background:var(--cp-terra);opacity:.35;border-radius:50%}
@media(max-width:760px){
  .hero-grid:before{left:auto;right:18%;top:7%;width:62px;height:62px}
  .hero-grid:after{right:5px;bottom:2%;width:32px;height:90px}
  .hero-art:after{width:48px;height:48px;border-width:5px;right:4%;top:4%}
  .about:before{width:170px;height:105px;left:-80px}
  .classes:before{width:190px;height:190px;left:-90px}
  .classes:after{width:100px;height:180px;right:-55px}
  .teachers:before{width:170px;height:170px;right:-90px}
  .projects:before{width:120px;height:120px}
  .news:after{width:80px;height:130px}
  .signup:before{width:240px;height:240px;right:-120px;bottom:-110px}
  .signup:after{width:75px;height:75px;left:-35px}
}

.signup-form textarea{width:100%;min-height:90px;resize:vertical;padding:13px 12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink)}
.signup-form textarea:focus,.signup-form input:focus,.signup-form select:focus{outline:1px solid var(--sage-deep);outline-offset:1px}
