:root{
  --cream:#f4efe6;
  --paper:#fffaf3;
  --ink:#454239;
  --navy:#405346;
  --blue:#879780;
  --blush:#d8b0a2;
  --rose:#a96755;
  --sage:#9da78f;
  --gold:#b69561;
  --clay:#b97861;
  --taupe:#8b7b6c;
  --moss:#65735f;
  --mist:#e7e4d9;
  --header:#765f54;
  --header-dark:#665148;
  --header-ink:#fff9f1;
  --line:#d9cfc1;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(79,72,60,.11);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 18%,rgba(185,120,97,.055),transparent 24%),
    radial-gradient(circle at 88% 42%,rgba(101,115,95,.055),transparent 26%),
    var(--cream);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{width:min(1280px,calc(100% - 40px));margin:0 auto}
.eyebrow{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--rose)}
h1,h2,h3,.brand-name{font-family:Georgia,"Times New Roman",serif;line-height:1.08;color:var(--navy)}
h1{font-size:clamp(3rem,8vw,6.5rem);letter-spacing:-.052em;margin:.15em 0 .18em}
h2{font-size:clamp(2.15rem,4.5vw,3.9rem);letter-spacing:-.035em;margin:.2em 0}
h3{font-size:1.45rem;margin:.35em 0}
p{margin:.7em 0 1.1em}
.small{font-size:.9rem;color:#716b61}
.skip{position:absolute;left:-999px;top:auto}.skip:focus{left:12px;top:12px;background:white;padding:10px 14px;z-index:1000}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(118,95,84,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,249,241,.12);box-shadow:0 8px 28px rgba(69,58,50,.08)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.logo-mark{width:44px;height:44px;border:1.4px solid rgba(255,249,241,.72);border-radius:50% 50% 46% 54%;display:grid;place-items:center;background:#efe6da;box-shadow:4px 4px 0 rgba(71,83,67,.35);font-family:Georgia,serif;font-size:23px;color:var(--header-dark);transform:rotate(-2deg)}
.brand-name{font-size:1.15rem;font-weight:700;letter-spacing:.01em}
.brand-sub{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#786f63;margin-top:2px}
.desktop-nav{display:flex;align-items:center;gap:17px;font-size:.84rem;font-weight:750;color:var(--header-ink);white-space:nowrap}
.desktop-nav a{position:relative;padding:8px 0}
.desktop-nav a:not(.button):after{content:"";position:absolute;height:2px;background:#e1c6b8;left:0;right:100%;bottom:3px;transition:.2s}
.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 19px;border-radius:999px;border:1.5px solid var(--navy);font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;cursor:pointer}
.button:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(64,83,70,.17)}
.button.primary{background:var(--navy);color:white}
.button.secondary{background:var(--paper);color:var(--navy)}
.button.rose{background:var(--blush);border-color:var(--clay);color:#4b3f38}
.menu-button{display:none;width:44px;height:44px;border:1px solid rgba(255,249,241,.42);border-radius:50%;background:rgba(255,249,241,.12);color:var(--header-ink);font-size:1.3rem}
.mobile-nav{display:none;padding:0 20px 20px;color:var(--header-ink)}.mobile-nav.open{display:grid;gap:6px}.mobile-nav a{padding:10px 12px;border-radius:12px;font-weight:750}.mobile-nav a:hover{background:rgba(255,249,241,.12)}

/* decorative mahjong tile */
.tile{background:var(--paper);border:1.6px solid #cec2b4;border-radius:16px;box-shadow:0 5px 0 #d9cfc2,0 13px 25px rgba(79,72,60,.11);display:grid;place-items:center;color:var(--navy);font-family:Georgia,serif;font-weight:700;position:relative;overflow:hidden}
.tile:after{content:"";position:absolute;inset:5px;border:1px solid rgba(101,115,95,.27);border-radius:11px}
.tile .suit{font-size:.58em;color:var(--rose);font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}

/* hero */
.hero{position:relative;overflow:hidden;padding:88px 0 94px;background:linear-gradient(180deg,#f7f2e9 0%,#f2ece2 100%)}
.hero:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-1px;height:42%;background:rgba(157,167,143,.31);clip-path:polygon(0 86%,10% 71%,18% 79%,30% 47%,39% 69%,51% 32%,62% 65%,72% 43%,83% 70%,93% 52%,100% 68%,100% 100%,0 100%)}
.hero:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-1px;height:34%;background:rgba(101,115,95,.20);clip-path:polygon(0 83%,12% 62%,22% 78%,34% 55%,43% 73%,55% 39%,65% 71%,77% 52%,88% 76%,100% 60%,100% 100%,0 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;position:relative;z-index:2}
.hero-copy{position:relative}
.hero-copy:before{content:"✿";position:absolute;left:-34px;top:-26px;font-size:1.25rem;color:rgba(169,103,85,.46);transform:rotate(-15deg)}
.hero-copy p{font-size:1.2rem;max-width:650px;color:#625e55}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;font-size:.9rem;font-weight:700;color:#6b675e}.trust-row span:before{content:"✦";margin-right:8px;color:var(--gold)}
.hero-art{height:470px;position:relative}
.hero-card{position:absolute;inset:42px 18px 20px 64px;background:var(--paper);border:1px solid var(--line);border-radius:36px 36px 30px 40px;box-shadow:var(--shadow);padding:36px;transform:rotate(1.25deg)}
.hero-card:before{content:"";position:absolute;inset:14px;border:1px solid rgba(101,115,95,.22);border-radius:26px}
.hero-card-inner{height:100%;border-radius:22px;background:linear-gradient(145deg,#eceade,#f5e7df);display:flex;flex-direction:column;justify-content:space-between;padding:30px;position:relative;overflow:hidden}
.hero-card-inner:before{content:"";position:absolute;inset:auto 0 0 0;height:44%;background:rgba(101,115,95,.14);clip-path:polygon(0 83%,18% 55%,32% 73%,48% 34%,63% 72%,78% 48%,100% 76%,100% 100%,0 100%)}
.hero-card-inner:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:25px solid rgba(185,120,97,.18);right:-76px;bottom:-78px}
.hero-card-title{font-family:Georgia,serif;font-size:2.35rem;line-height:1.05;color:var(--navy);max-width:330px;position:relative;z-index:2}.hero-card-note{max-width:300px;position:relative;z-index:2}
.tile-one{width:88px;height:108px;font-size:38px;position:absolute;right:4px;top:15px;transform:rotate(10deg)}
.tile-two{width:90px;height:112px;font-size:38px;position:absolute;left:18px;bottom:0;transform:rotate(-10deg)}
.tile-three{width:78px;height:98px;font-size:34px;position:absolute;right:80px;bottom:8px;transform:rotate(7deg)}

/* sections */
.section{padding:92px 0}.section.tight{padding:70px 0}.section.white{background:rgba(255,250,243,.9)}.section.bluewash{background:#e9e8dd}.section.pinkwash{background:#f1e4dc}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head p{max-width:580px;color:#68635a}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 24px rgba(79,72,60,.06);transition:.2s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;width:88px;height:88px;border:1px solid rgba(185,120,97,.13);border-radius:50%;right:-36px;bottom:-40px}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e7e5d8;font-size:1.5rem;margin-bottom:22px;border:1px solid rgba(101,115,95,.20);color:var(--clay)}
.card p{color:#69645b}.card-link{font-weight:850;color:var(--navy);display:inline-flex;gap:6px;align-items:center}.card-link:hover{color:var(--rose)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}.feature-panel{background:var(--navy);color:white;border-radius:36px 32px 38px 30px;padding:52px;position:relative;overflow:hidden}.feature-panel:after{content:"";position:absolute;left:0;right:0;bottom:0;height:23%;background:rgba(255,255,255,.055);clip-path:polygon(0 78%,17% 48%,31% 69%,48% 30%,63% 72%,80% 42%,100% 70%,100% 100%,0 100%)}.feature-panel h2,.feature-panel h3{color:white;position:relative;z-index:2}.feature-panel p,.feature-panel .step-list,.feature-panel .eyebrow,.feature-panel .button{position:relative;z-index:2}.feature-panel p{color:#eeeae2}.feature-panel.light{background:var(--blush);color:var(--ink)}.feature-panel.light h2,.feature-panel.light h3{color:#4d4b40}.feature-panel.light p{color:#554f47}.feature-panel.light:after{background:rgba(255,250,243,.18)}.big-number{font-family:Georgia,serif;font-size:7rem;line-height:.9;opacity:.11;position:absolute;right:24px;top:16px}
.step-list{display:grid;gap:14px;margin-top:26px}.step{display:flex;gap:14px;align-items:flex-start}.step-no{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.light .step-no{background:rgba(255,250,243,.48)}

/* products */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product{background:var(--paper);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 8px 20px rgba(79,72,60,.06)}.product-art{aspect-ratio:4/3;padding:20px;display:grid;place-items:center;background:#e5e6da}.product:nth-child(2) .product-art{background:#efe0d8}.product:nth-child(3) .product-art{background:#e5e8dc}.product:nth-child(4) .product-art{background:#eee5d7}.mini-sheet{width:76%;height:85%;background:var(--paper);border:1px solid #cfc3b6;box-shadow:0 8px 14px rgba(79,72,60,.11);border-radius:11px;padding:14px;transform:rotate(-2deg)}.mini-sheet .line{height:5px;background:#ddd6cb;border-radius:99px;margin:8px 0}.mini-sheet .line.short{width:65%}.mini-sheet .headerline{height:12px;background:var(--navy);width:72%;border-radius:99px;margin-bottom:15px}.product-body{padding:21px}.product-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--rose);font-weight:850}.product h3{font-size:1.2rem}.price{font-weight:850;color:var(--navy)}

/* quote */
.quote-band{padding:74px 0;background:linear-gradient(140deg,#405346,#526354);color:white;text-align:center;position:relative;overflow:hidden}.quote-band:before,.quote-band:after{content:"";position:absolute;bottom:0;width:55%;height:55%;background:rgba(255,255,255,.045);clip-path:polygon(0 100%,25% 56%,40% 73%,63% 28%,80% 67%,100% 45%,100% 100%)}.quote-band:before{left:0}.quote-band:after{right:-18%;transform:scaleX(-1)}.quote-band blockquote{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.2;max-width:900px;margin:0 auto;color:white;position:relative;z-index:2}.quote-band p{color:#e2ded6;position:relative;z-index:2}

/* newsletter */
.newsletter{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:34px;padding:36px 40px;box-shadow:var(--shadow)}.newsletter-form{display:flex;gap:10px}.newsletter input{min-width:260px;border:1px solid #c9beb1;border-radius:999px;padding:13px 17px;background:#fffdf8;outline:none}.newsletter input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(157,167,143,.18)}

/* page hero */
.page-hero{padding:76px 0 66px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,#f5f0e7,#efe9df)}.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:rgba(157,167,143,.22);clip-path:polygon(0 86%,13% 60%,24% 78%,38% 45%,50% 72%,64% 38%,77% 70%,90% 50%,100% 72%,100% 100%,0 100%)}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(3rem,7vw,5.7rem)}.page-hero p{max-width:720px;margin:18px auto;color:#686158;font-size:1.15rem}.crumb{font-size:.77rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--rose)}
.lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.lesson{display:flex;gap:20px;background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:24px}.lesson-num{font-family:Georgia,serif;font-size:2rem;color:var(--clay);font-weight:700;min-width:42px}.lesson h3{margin-top:0}.lesson p{margin-bottom:0;color:#69635a}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:26px;overflow:hidden}.info-cell{background:var(--paper);padding:28px}.info-cell strong{display:block;font-family:Georgia,serif;font-size:1.7rem;color:var(--navy)}
.faq{max-width:820px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-button{width:100%;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;text-align:left;font-weight:850;color:var(--navy);cursor:pointer}.faq-answer{display:none;padding:0 0 22px;color:#69635a}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-button span:last-child{transform:rotate(45deg)}

/* footer */
footer{background:#37483d;color:#eee9e1;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer-brand{max-width:370px}.footer-brand .brand-name{color:white;font-size:1.5rem}.footer-title{color:white;font-weight:850;margin-bottom:12px}.footer-links{display:grid;gap:8px;font-size:.93rem}.footer-links a:hover{color:#e2b7a7}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.78rem;color:#c9cfc8}

/* shop banner */
.shop-banner{background:linear-gradient(120deg,#405346,#65735f);border-radius:36px 32px 38px 30px;color:white;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.shop-banner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:35%;background:rgba(255,255,255,.055);clip-path:polygon(0 78%,20% 48%,36% 72%,55% 34%,74% 68%,89% 48%,100% 63%,100% 100%,0 100%)}.shop-banner>div,.shop-banner>a{position:relative;z-index:2}.shop-banner h2{color:white;max-width:600px}.shop-banner p{color:#ede9e1;max-width:650px}

/* responsive */
@media(max-width:900px){
  .desktop-nav{display:none}.menu-button{display:block}
  .hero{padding-top:60px}.hero-grid{grid-template-columns:1fr}.hero-art{height:390px;max-width:600px;width:100%;margin:0 auto}.hero-card{inset:36px 46px 18px}.tile-one{right:14px}.tile-two{left:12px}
  .cards,.product-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr}.newsletter{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.lesson-grid{grid-template-columns:1fr}.info-strip{grid-template-columns:1fr}.shop-banner{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
  .container{width:min(100% - 28px,1160px)}.nav-wrap{height:72px}.brand-sub{display:none}
  .hero{padding:46px 0 64px}.hero-copy:before{display:none}.hero-copy p{font-size:1.05rem}.hero-art{height:330px}.hero-card{inset:28px 24px 15px 42px;padding:20px}.hero-card-inner{padding:22px}.hero-card-title{font-size:1.8rem}.tile-one{width:68px;height:86px;font-size:30px}.tile-two{width:70px;height:89px;font-size:29px}.tile-three{width:62px;height:80px;font-size:26px;right:58px}
  .section{padding:64px 0}.section-head{display:block}.cards,.product-grid{grid-template-columns:1fr}.feature-panel{padding:34px 28px}.newsletter{padding:28px}.newsletter-form{display:grid}.newsletter input{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr}.shop-banner{padding:32px 26px}
}

/* Version 3 header and class pages */
.site-header .brand-name{color:var(--header-ink)}
.site-header .brand-sub{color:#eadfd5}
.button.nav-shop{background:#efe6da;border-color:#efe6da;color:var(--header-dark);padding:9px 15px;min-height:40px}
.button.nav-shop:hover{background:#fff8ef;box-shadow:0 8px 18px rgba(50,40,35,.12)}
.class-hero{background:linear-gradient(180deg,#f6efe6,#eee5da)}
.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}
.booking-panel,.event-card,.play-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 28px rgba(79,72,60,.07)}
.booking-panel{padding:34px}
.booking-panel.accent{background:#e6ddd0}
.booking-form{display:grid;gap:15px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.booking-form label{font-weight:800;font-size:.88rem;color:var(--navy)}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:6px;border:1px solid #cbbdaf;border-radius:16px;padding:12px 14px;background:#fffdf8;color:var(--ink);outline:none}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(157,167,143,.18)}
.booking-form textarea{min-height:125px;resize:vertical}
.form-note{font-size:.82rem;color:#766e64}
.detail-list{display:grid;gap:16px;margin-top:24px}
.detail-item{display:flex;gap:14px;align-items:flex-start}
.detail-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d9c5b7;color:#59483f;flex:0 0 auto}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.event-card{overflow:hidden}
.event-top{padding:26px;background:#e6e3d7}
.event-card:nth-child(2) .event-top{background:#eadbd2}
.event-card:nth-child(3) .event-top{background:#dfe4d8}
.event-date{font-family:Georgia,serif;font-size:2rem;color:var(--navy)}
.event-body{padding:24px}
.status-pill{display:inline-block;border-radius:999px;padding:6px 10px;background:#eee3d9;color:#765443;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.empty-state{padding:46px;text-align:center;background:var(--paper);border:1px dashed #c9b9aa;border-radius:30px}
.play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.play-card{padding:28px}
.play-meta{display:grid;gap:9px;margin:20px 0;color:#675f56}
.mini-tag{display:inline-block;font-size:.74rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}
.home-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.home-class{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 8px 24px rgba(79,72,60,.06)}
.home-class:nth-child(1){background:#eee3da}.home-class:nth-child(2){background:#e6e7dc}.home-class:nth-child(3){background:#e9dfd4}
.home-class .card-link{margin-top:8px}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:block}}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.event-grid,.play-grid,.home-class-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.event-grid,.play-grid,.home-class-grid,.form-row{grid-template-columns:1fr}}

/* Shop My Favorites */
.favorites-hero{padding:82px 0 88px;background:linear-gradient(145deg,#efe6da 0%,#e6e2d6 56%,#dce2d7 100%);position:relative;overflow:hidden}
.favorites-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:rgba(101,115,95,.14);clip-path:polygon(0 75%,12% 55%,25% 78%,40% 42%,52% 71%,67% 50%,82% 76%,100% 57%,100% 100%,0 100%)}
.favorites-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;position:relative;z-index:2}
.favorites-hero h1{font-size:clamp(3rem,6.6vw,5.8rem)}
.favorites-hero p{max-width:650px;font-size:1.15rem;color:#645d54}
.affiliate-disclosure{max-width:680px;margin-top:25px;padding:16px 18px;border:1px solid rgba(118,95,84,.24);border-radius:18px;background:rgba(255,250,243,.72);font-size:.88rem;color:#62584f}
.favorites-still-life{height:365px;position:relative}
.favorite-orb{position:absolute;border-radius:50%;filter:none}
.orb-one{width:270px;height:270px;background:#c7cbbd;right:70px;top:35px}
.orb-two{width:185px;height:185px;background:#d8b9aa;left:50px;bottom:12px}
.favorite-tile-one{position:absolute;width:88px;height:108px;font-size:37px;right:38px;top:25px;transform:rotate(8deg)}
.favorite-tile-two{position:absolute;width:92px;height:112px;font-size:39px;left:72px;bottom:18px;transform:rotate(-9deg)}
.favorite-card-note{position:absolute;width:240px;min-height:145px;left:135px;top:76px;background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:25px;box-shadow:var(--shadow);transform:rotate(2deg);display:flex;flex-direction:column;justify-content:center}
.favorite-card-note span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:var(--rose)}
.favorite-card-note strong{font-family:Georgia,serif;font-size:1.55rem;line-height:1.14;color:var(--navy);margin-top:8px}
.favorite-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.favorite-product{background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 9px 25px rgba(79,72,60,.07)}
.favorite-product-art{aspect-ratio:5/3;display:grid;place-items:center;position:relative;overflow:hidden;font-family:Georgia,serif;font-size:1.65rem;color:var(--navy)}
.favorite-product-art:before{content:"";position:absolute;inset:auto -8% -4% -8%;height:55%;background:rgba(101,115,95,.19);clip-path:polygon(0 80%,20% 50%,36% 72%,52% 37%,68% 73%,84% 48%,100% 75%,100% 100%,0 100%)}
.favorite-product-art span{position:relative;z-index:2;background:rgba(255,250,243,.82);padding:10px 16px;border-radius:999px;border:1px solid rgba(118,95,84,.14)}
.set-art{background:#e5dfd1}.mat-art{background:#ead8ce}.rack-art{background:#dfe4d8}.holder-art{background:#e8e1d7}.teach-art{background:#e6ded3}.host-art{background:#e6e7dc}
.favorite-product-body{padding:25px}
.favorite-product-body p{color:#6d655c}
.paid-label{display:inline-block;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#eee5db;color:#755b4e;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.favorites-note-section{background:#e8e3d8}
.favorites-note{display:flex;justify-content:space-between;align-items:center;gap:38px;background:var(--paper);border:1px solid var(--line);border-radius:34px;padding:42px}
.favorites-note>div{max-width:780px}
.favorites-home-section{background:#efe8de}
.favorites-home-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.favorites-home-copy p{max-width:620px;color:#655e55}
.affiliate-mini{font-size:.78rem;color:#766b61;margin:14px 0 22px;max-width:580px}
.favorites-home-cards{display:grid;gap:13px}
.mini-favorite{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 7px 18px rgba(79,72,60,.05)}
.mini-favorite-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--rose)}
.mini-favorite strong{font-family:Georgia,serif;color:var(--navy);font-size:1.14rem;text-align:right}
.footer-bottom{flex-wrap:wrap}
@media(max-width:1220px){.desktop-nav{display:none}.menu-button{display:block}}
@media(max-width:900px){.favorites-hero-grid,.favorites-home-grid{grid-template-columns:1fr}.favorites-still-life{max-width:520px;width:100%;margin:0 auto}.favorite-product-grid{grid-template-columns:1fr 1fr}.favorites-note{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.favorite-product-grid{grid-template-columns:1fr}.favorites-still-life{height:300px}.favorite-card-note{left:90px;top:72px;width:210px}.orb-one{right:24px}.orb-two{left:5px}.favorites-note{padding:28px}.mini-favorite{align-items:flex-start;flex-direction:column}.mini-favorite strong{text-align:left}}

/* Version 5 feminine western mountain direction */
:root{
  --header:#7b5d55;
  --header-dark:#624940;
  --western-rose:#b78373;
  --western-rose-soft:#ead8ce;
  --western-sage:#9aa38b;
  --western-olive:#66705c;
  --western-sand:#d8c6af;
  --western-oat:#efe6d8;
  --western-sky:#d9ddd1;
}
.location-strip{background:#e7d8ca;color:#604c43;text-align:center;font-size:.68rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;padding:6px 15px;border-bottom:1px solid rgba(98,73,64,.08)}
.location-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(123,93,85,.25);background:rgba(255,250,243,.72);border-radius:999px;padding:7px 12px;margin-bottom:13px;font-size:.74rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#76564d}
.location-pill:before{content:"✦";color:var(--gold)}
.western-hero{background:linear-gradient(155deg,#f6efe4 0%,#eee3d6 50%,#e4e4d7 100%);padding-top:82px}
.western-hero:before{height:38%;background:rgba(154,163,139,.40);clip-path:polygon(0 92%,7% 82%,14% 87%,23% 69%,30% 78%,39% 56%,46% 72%,55% 31%,63% 64%,70% 53%,78% 71%,87% 48%,94% 70%,100% 61%,100% 100%,0 100%)}
.western-hero:after{height:31%;background:rgba(102,112,92,.25);clip-path:polygon(0 85%,9% 69%,17% 80%,27% 58%,35% 76%,47% 47%,55% 66%,64% 42%,72% 69%,83% 51%,91% 73%,100% 58%,100% 100%,0 100%)}
.sun-disc{position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(183,131,115,.22);right:7%;top:42px;z-index:0}
.mountain-story{height:500px;position:relative;border-radius:50% 50% 44% 46% / 35% 37% 45% 42%;overflow:hidden;background:linear-gradient(180deg,#e9e0d4 0%,#e1dfd2 55%,#cfd4c2 100%);box-shadow:var(--shadow);border:1px solid rgba(123,93,85,.17)}
.mountain-sky{position:absolute;inset:0;background:radial-gradient(circle at 68% 22%,rgba(183,131,115,.35) 0 12%,transparent 13%)}
.mountain-layer{position:absolute;left:-5%;right:-5%;bottom:0;transform-origin:center bottom}
.mountain-back{height:68%;background:#c0c4b3;clip-path:polygon(0 80%,10% 68%,18% 76%,30% 49%,40% 69%,52% 26%,63% 63%,72% 45%,82% 67%,91% 49%,100% 63%,100% 100%,0 100%)}
.mountain-mid{height:56%;background:#9ca58e;clip-path:polygon(0 77%,12% 57%,22% 72%,34% 42%,44% 66%,55% 32%,65% 64%,76% 45%,86% 72%,100% 54%,100% 100%,0 100%)}
.mountain-front{height:43%;background:#6e7864;clip-path:polygon(0 73%,13% 55%,24% 70%,35% 47%,47% 66%,58% 41%,69% 65%,81% 49%,90% 67%,100% 52%,100% 100%,0 100%)}
.mountain-note{position:absolute;left:48px;top:54px;width:265px;background:rgba(255,250,243,.88);border:1px solid rgba(123,93,85,.19);border-radius:26px;padding:24px;box-shadow:0 14px 32px rgba(76,64,53,.11);transform:rotate(-2deg);z-index:4}
.mountain-note span,.mountain-note small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:850;color:#9a695d}.mountain-note strong{display:block;font-family:Georgia,serif;color:var(--navy);font-size:1.8rem;line-height:1.05;margin:7px 0 11px}.mountain-note small{color:#756d62}
.mountain-tile-one{width:82px;height:103px;font-size:36px;position:absolute;right:44px;top:52px;z-index:5;transform:rotate(8deg)}
.mountain-tile-two{width:84px;height:106px;font-size:36px;position:absolute;right:108px;bottom:36px;z-index:5;transform:rotate(-8deg)}
.wildflower{position:absolute;z-index:5;color:#93685d;font-family:Georgia,serif}.sprig-one{left:25px;bottom:46px;font-size:2.2rem;transform:rotate(-16deg)}.sprig-two{left:65px;bottom:70px;font-size:1.3rem;color:#d8c6af}.sprig-three{right:22px;bottom:18px;font-size:1.2rem;color:#efe6d8}
.starting-price{font-family:Georgia,serif;color:#7a5a51;font-size:1.12rem;font-weight:700;margin:11px 0 12px}
.intro-section{background:#efe6da;position:relative;overflow:hidden}.intro-section:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(183,131,115,.14);border-radius:50%;left:-120px;top:-90px}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.intro-art{display:grid;place-items:center}.intro-arch{height:420px;width:min(100%,360px);position:relative;overflow:hidden;border-radius:180px 180px 28px 28px;background:linear-gradient(180deg,#e4d5c7,#dddccf);border:1px solid #cfbdad;box-shadow:var(--shadow)}.arch-sun{position:absolute;width:115px;height:115px;border-radius:50%;background:rgba(183,131,115,.42);right:45px;top:55px}.arch-mountain{position:absolute;left:-6%;right:-6%;bottom:0}.arch-mountain.one{height:61%;background:#aab09b;clip-path:polygon(0 80%,13% 63%,25% 75%,40% 43%,53% 68%,66% 35%,80% 70%,100% 51%,100% 100%,0 100%)}.arch-mountain.two{height:45%;background:#697360;clip-path:polygon(0 77%,18% 53%,34% 71%,51% 41%,69% 67%,84% 46%,100% 64%,100% 100%,0 100%)}.arch-flower{position:absolute;bottom:27px;left:30px;color:#e6cfc0;font-size:3.2rem;z-index:3}.arch-copy{position:absolute;left:29px;top:35px;color:#6b5048;text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;font-weight:850;line-height:1.5}
.intro-copy p{font-size:1.06rem;max-width:680px;color:#625c53}
.pricing-band{background:#6b745f;color:white;position:relative;overflow:hidden}.pricing-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:33%;background:rgba(255,255,255,.055);clip-path:polygon(0 75%,13% 58%,26% 71%,38% 43%,52% 69%,65% 47%,79% 71%,91% 51%,100% 61%,100% 100%,0 100%)}.pricing-band .section-head,.pricing-band .price-strip{position:relative;z-index:2}.pricing-band h2{color:white}.pricing-band .section-head p{color:#eeeae1}.pricing-band .eyebrow{color:#ead0c0}.price-strip{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,250,243,.10);border:1px solid rgba(255,255,255,.17);border-radius:30px;overflow:hidden}.price-strip>div{padding:27px 22px;text-align:center;border-right:1px solid rgba(255,255,255,.16)}.price-strip>div:last-child{border-right:0}.price-strip span,.price-strip small{display:block}.price-strip span{font-size:.73rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#f0ddd0}.price-strip strong{display:block;font-family:Georgia,serif;font-size:2.3rem;margin:7px 0;color:white}.price-strip small{color:#ede9df}
.western-page-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#f6eee3,#e9ded2 60%,#dde0d3);padding:90px 0}.western-page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:rgba(102,112,92,.17);clip-path:polygon(0 83%,10% 65%,20% 76%,31% 52%,42% 72%,54% 40%,65% 68%,76% 49%,88% 74%,100% 57%,100% 100%,0 100%)}.western-page-hero .container{position:relative;z-index:2}.western-page-hero h1{max-width:900px}.western-page-hero p{max-width:760px;font-size:1.1rem;color:#655d54}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.pricing-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 9px 25px rgba(79,72,60,.06);display:flex;flex-direction:column}.pricing-card.featured{background:#eee4d9;border-color:#cbb5a7;box-shadow:0 16px 35px rgba(99,75,64,.11)}.popular-tag{position:absolute;right:18px;top:17px;background:#7b5d55;color:white;border-radius:999px;padding:5px 9px;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.price-kicker{font-size:.69rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:#9b685c;margin-bottom:5px;padding-right:80px}.big-price{font-family:Georgia,serif;font-size:2.8rem;color:var(--navy);line-height:1;margin-top:8px}.price-sub{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7d746a;margin:8px 0 12px}.pricing-card p{color:#665f56}.pricing-card ul{margin:4px 0 24px;padding-left:20px;color:#605a51}.pricing-card li{margin:7px 0}.pricing-card .button{margin-top:auto}.public-pricing{grid-template-columns:repeat(3,1fr)}
.booking-section{background:#ece6dc}.contact-note{margin-top:28px;padding:18px 20px;border-radius:18px;background:rgba(255,250,243,.52);border:1px solid rgba(123,93,85,.15)}.contact-note a{color:#6b5048;font-weight:800}
.open-price-badge{display:inline-flex;align-items:baseline;gap:9px;margin-top:18px;background:#7b5d55;color:white;border-radius:999px;padding:10px 17px;box-shadow:0 9px 20px rgba(80,57,50,.13)}.open-price-badge span,.open-price-badge small{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:850}.open-price-badge strong{font-family:Georgia,serif;font-size:1.7rem}.center-actions{justify-content:center}.footer-location{display:inline-block;margin-top:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.11em}
.thank-you{min-height:65vh;display:flex;align-items:center}

@media(max-width:1050px){.pricing-grid{grid-template-columns:1fr 1fr}.price-strip{grid-template-columns:1fr 1fr}.price-strip>div:nth-child(2){border-right:0}.price-strip>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}.intro-grid{grid-template-columns:1fr 1.2fr;gap:38px}}
@media(max-width:900px){.mountain-story{max-width:590px;width:100%;margin:0 auto}.intro-grid{grid-template-columns:1fr}.intro-art{order:2}.intro-copy{order:1}.intro-arch{height:360px}.pricing-grid,.public-pricing{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.location-strip{font-size:.58rem;letter-spacing:.11em}.western-hero{padding-top:50px}.sun-disc{width:150px;height:150px;right:-30px;top:35px}.mountain-story{height:360px}.mountain-note{left:26px;top:35px;width:215px;padding:19px}.mountain-note strong{font-size:1.45rem}.mountain-tile-one{width:65px;height:84px;font-size:28px;right:22px}.mountain-tile-two{width:67px;height:87px;font-size:28px;right:58px}.pricing-grid,.public-pricing,.price-strip{grid-template-columns:1fr}.price-strip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.price-strip>div:last-child{border-bottom:0}.price-strip>div:nth-child(2){border-bottom:1px solid rgba(255,255,255,.16)}.intro-arch{width:310px;height:350px}.western-page-hero{padding:64px 0}.popular-tag{position:static;display:inline-block;align-self:flex-start;margin-bottom:10px}.price-kicker{padding-right:0}}
