:root{--ink:#22221e;--bronze:#7c5e16;--gold:#c9a55a;--white:#ffffff;--cyan:#01b2d4;--green:#629e46;--yellow:#fcd102;--orange:#ee5802;--magenta:#df3cb5;--purple:#5d45be;--wash:0.6;--max:1320px;--font:"Jost",system-ui,sans-serif}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-weight:400;color:var(--ink);background:var(--yellow);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--purple)}h1,h2,h3{margin:0;font-weight:600}p{margin:0}.container{max-width:var(--max);margin:0 auto;padding:0 24px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wash{position:relative;background-image:var(--flower,url("/images/flower.webp"));background-repeat:no-repeat;background-size:auto 118%;padding:104px 0}.flower-left{background-position:left -40px center}.flower-right{background-position:right -40px center}.wash-yellow{background-color:var(--yellow);box-shadow:inset 0 0 0 4000px rgb(252 209 2/var(--wash))}.wash-purple{background-color:var(--purple);box-shadow:inset 0 0 0 4000px rgb(93 69 190/var(--wash));color:var(--white)}.wash-cyan{background-color:var(--cyan);box-shadow:inset 0 0 0 4000px rgb(1 178 212/var(--wash))}.wash-orange{background-color:var(--orange);box-shadow:inset 0 0 0 4000px rgb(238 88 2/var(--wash))}.wash-magenta{background-color:var(--magenta);box-shadow:inset 0 0 0 4000px rgb(223 60 181/var(--wash))}.wash-green{background-color:var(--green);box-shadow:inset 0 0 0 4000px rgb(98 158 70/var(--wash))}.eyebrow{display:inline-block;padding:7px 14px;margin-bottom:18px;font-size:13px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--ink)}.section-title{font-size:clamp(34px,5vw,52px);line-height:1.1}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}.text-link{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;border-bottom:2px solid;padding-bottom:4px}.lead{font-size:18px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 32px;font-family:inherit;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;cursor:pointer;border:0;transition:background .15s,color .15s}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:var(--purple);color:var(--white)}.btn-line{background:transparent;color:var(--ink);border:2px solid var(--ink)}.btn-line:hover{background:var(--ink);color:var(--white)}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover{background:var(--white);color:var(--ink)}.btn-small{min-height:44px;padding:0 24px;font-size:12px}.photo{position:relative;display:flex;align-items:flex-end;padding:18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink);overflow:hidden}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.announce{background:var(--purple);color:var(--white);text-align:center;padding:12px 16px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.announce a{color:var(--yellow);margin-left:12px;border-bottom:2px solid var(--yellow)}.announce a:hover{color:var(--white);border-color:var(--white)}.site-header{background:var(--white);border-bottom:6px solid var(--magenta);position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-inner{justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px}.brand,.header-inner{display:flex;align-items:center}.brand{gap:14px}.brand:hover{color:var(--ink)}.brand img{height:40px;width:auto}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-name{font-size:22px;letter-spacing:.2em;line-height:1.1}.brand-name span{color:var(--bronze)}.brand-by{font-size:10px;letter-spacing:.3em;font-weight:500;line-height:1.2}.main-nav{display:flex;flex-wrap:wrap;gap:30px}.main-nav a{font-size:14px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:6px 0;border-bottom:3px solid transparent}.main-nav a[aria-current=page]{border-bottom-color:var(--magenta)}.header-actions{display:flex;align-items:center;gap:6px}.icon-btn{width:44px;background:none;justify-content:center}.cart-btn,.icon-btn{height:44px;border:0;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center}.cart-btn{padding:0 14px;background:var(--magenta);font-family:inherit;font-size:14px;font-weight:600;gap:8px}.menu-btn{display:none}@media (max-width:1020px){.menu-btn{display:inline-flex}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;gap:0;padding:8px 24px 20px;border-bottom:6px solid var(--magenta)}.main-nav.open{display:flex}.main-nav a{padding:14px 0;border-bottom:1px solid #eee}.brand-name{font-size:18px}}.hero{padding:80px 0 104px}.hero-inner{display:flex;flex-wrap:wrap;gap:64px;align-items:center}.hero-copy{flex:1 1 420px;min-width:0}.hero h1{font-size:clamp(46px,7vw,76px);line-height:1.02;letter-spacing:-.01em}.hero h1 span{color:var(--purple)}.hero .lead{font-size:20px;max-width:480px;margin:28px 0 40px}.button-row{display:flex;flex-wrap:wrap;gap:16px}.hero-photos{flex:1 1 480px;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:16px;gap:16px}.hero-photos .big{grid-column:span 3;height:600px}.hero-photos .stack{grid-column:span 2;display:flex;flex-direction:column;gap:16px}.hero-photos .stack .photo{height:292px}@media (max-width:640px){.hero-photos .big{height:380px}.hero-photos .stack .photo{height:182px}}.grid{display:grid;grid-gap:28px;gap:28px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.card .photo{transition:transform .2s}.card:hover .photo{transform:translateY(-4px)}.line-card{display:flex;flex-direction:column}.line-card,.line-card:hover{color:var(--ink)}.line-card .photo{height:440px}.line-card-body{padding:24px 24px 28px}.line-card h3{font-size:28px;margin-bottom:8px}.line-card p{font-size:16px;line-height:1.6;margin-bottom:18px}.white-card{background:var(--white);padding:14px 14px 22px;display:flex;flex-direction:column;gap:14px}.white-card,.white-card:hover{color:var(--ink)}.card-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.card-row h3{font-size:18px}.card-row .price{font-size:18px;font-weight:600}.tag{align-self:flex-start;padding:5px 10px;background:var(--ink);color:var(--white);font-size:12px;letter-spacing:.22em}.badge,.tag{text-transform:uppercase;font-weight:600}.badge{position:absolute;top:16px;left:16px;padding:6px 12px;font-size:11px;letter-spacing:.2em;z-index:1}.classes-layout{display:flex;flex-wrap:wrap;gap:64px}.classes-intro{flex:1 1 340px;min-width:0}.classes-intro .lead{margin:20px 0 32px}.classes-list{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}.class-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:20px;background:var(--white)}.class-date{flex:0 0 96px;text-align:center;padding:8px 0}.class-date .mon{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}.class-date .day{font-size:32px;font-weight:600}.class-info{flex:1 1 240px;min-width:0}.class-info h3{font-size:23px;margin-bottom:6px}.class-info p{font-size:15px}.class-price{text-align:right}.class-price .amount{font-size:20px;font-weight:600}.class-price .spots{font-size:13px;color:var(--purple);font-weight:600}.about-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;gap:64px;align-items:center}.about-inner .photo{flex:1 1 340px;height:440px}.about-copy{flex:1 1 420px;min-width:0}.quote-mark{font-size:140px;line-height:.7;height:70px;color:var(--yellow);font-weight:600}.about-copy blockquote{margin:0 0 24px;font-size:clamp(22px,3vw,30px);line-height:1.45;font-weight:500}.about-copy .who{font-size:13px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;margin-bottom:32px}.newsletter{max-width:640px;margin:0 auto;padding:0 24px;text-align:center}.newsletter h2{font-size:48px;margin-bottom:12px}.newsletter p{font-size:18px;line-height:1.6;margin-bottom:28px}.newsletter form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.newsletter input{flex:1 1 280px;height:54px;border:2px solid var(--ink);background:var(--white);padding:0 18px;font-family:inherit;font-size:16px;color:var(--ink)}.line-banner{height:520px;display:flex;align-items:flex-end;padding:0}.line-banner .container{width:100%;padding-bottom:56px}.crumbs{font-size:13px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;margin-bottom:12px}.line-banner h1{font-size:clamp(48px,8vw,84px);line-height:1;letter-spacing:-.01em}.line-banner h1 span{color:var(--white)}.line-tabs{background:var(--ink)}.line-tabs .container{display:flex;flex-wrap:wrap;gap:8px}.line-tabs a{padding:22px 16px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:#d8d0c0;border-bottom:4px solid transparent}.line-tabs a:hover,.line-tabs a[aria-current=page]{color:var(--white)}.line-intro{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-end;justify-content:space-between;padding-top:72px;padding-bottom:32px}.line-intro p{flex:1 1 520px;max-width:720px;font-size:26px;line-height:1.55;font-weight:500}.line-intro .count{font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.pieces{padding-top:32px;padding-bottom:96px}.piece-card .photo{height:500px}.piece-card h2{font-size:22px}.piece-card .view{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);font-weight:600}.commission{text-align:center}.commission .inner{max-width:900px;margin:0 auto;padding:0 24px}.commission h2{font-size:clamp(34px,5vw,48px);line-height:1.15;margin-bottom:20px}.commission h2 span{color:var(--yellow)}.commission p{font-size:18px;line-height:1.7;max-width:600px;margin:0 auto 36px}.page-head{padding:96px 0 72px}.page-head h1{font-size:clamp(44px,7vw,76px);line-height:1.05}.page-head .lead{max-width:640px;margin-top:20px}.contact-layout{display:flex;flex-wrap:wrap;gap:48px}.contact-details{flex:1 1 300px;display:flex;flex-direction:column;gap:14px;font-size:18px}.contact-form{flex:2 1 480px;background:var(--white);padding:32px;display:flex;flex-direction:column;gap:18px}.field label{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:2px solid var(--ink);background:var(--white);padding:12px 14px;font-family:inherit;font-size:16px;color:var(--ink)}.stripe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:14px}.site-footer{background:var(--ink);color:#e9e1d3;padding:80px 0 40px}.footer-cols{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between}.footer-brand{flex:1 1 280px}.footer-brand img{height:48px;width:auto;margin-bottom:20px}.footer-brand .name{font-size:20px;letter-spacing:.2em;color:var(--white);margin-bottom:6px}.footer-brand .name span{color:var(--gold)}.footer-brand .by{font-size:12px;letter-spacing:.28em;color:#bdb3a1}.footer-col{flex:0 1 180px;display:flex;flex-direction:column;gap:12px;font-size:15px}.footer-col h2{font-size:12px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:4px}.site-footer a:hover{color:var(--yellow)}.socials{display:flex;gap:8px;margin-top:8px}.socials a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.socials a:hover{color:var(--ink);filter:brightness(1.1)}.footer-bottom{margin-top:64px;padding-top:24px;border-top:1px solid #3a3a33;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#bdb3a1}.cart-box{background:var(--white);padding:clamp(20px,4vw,40px)}.cart-layout{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.cart-items{flex:2 1 520px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cart-item{background:var(--white);padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.cart-thumb{width:96px;height:96px;flex:0 0 96px;overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-info{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:4px}.cart-info h2{font-size:20px}.cart-type{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--purple)}.qty{display:flex;align-items:center;border:2px solid var(--ink)}.qty button{width:44px;height:44px;border:0;background:none;font-size:20px;cursor:pointer;color:var(--ink)}.qty>span{min-width:32px;text-align:center;font-weight:600}.cart-remove{background:none;border:0;text-decoration:underline;font-family:inherit;font-size:14px;cursor:pointer;color:var(--ink);min-height:44px}.cart-summary{flex:1 1 300px;background:var(--white);padding:28px}.cart-summary h2{font-size:24px;margin-bottom:18px}.sum-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ece6da;font-size:16px}.sum-row.total{font-weight:600;font-size:20px;border-bottom:0}.cart-tip{background:#fff6c2}.cart-error,.cart-tip{padding:10px 14px;font-weight:500;margin-bottom:16px}.cart-error{background:#fde4e1;color:#8a1c14}.badge.badge-inline{position:static;align-self:flex-start}.hero-inner.no-photos .hero-copy{flex-basis:100%;max-width:820px}.hero-photos.one{grid-template-columns:1fr}.hero-photos.one .big{grid-column:auto}.hero-photos.two .big{grid-column:span 3}.hero-photos.two .stack .photo{height:600px}@media (max-width:640px){.hero-photos.two .stack .photo{height:380px}}.rich h2{font-size:24px;margin:32px 0 10px}.rich>:first-child h2{margin-top:0}.rich p{font-size:17px;line-height:1.75;margin-bottom:16px}.rich ul{margin:0 0 16px;padding-left:22px}.rich li{font-size:17px;line-height:1.7;margin-bottom:6px}.soon{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px}.soon-card{background:var(--white);max-width:560px;width:100%;padding:48px 40px 32px;text-align:center;overflow:hidden}.soon-card h1{font-size:clamp(28px,5vw,38px);line-height:1.15}.soon-link{background:none;border:0;font-family:inherit;font-size:14px;text-decoration:underline;color:#5a5a52;cursor:pointer;min-height:44px}.soon-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.soon-form input{flex:1 1 200px;height:48px;border:2px solid var(--ink);padding:0 14px;font-family:inherit;font-size:16px}