body{font-size:16px;margin:0;font-family:ui-serif,Georgia,"Times New Roman",serif;background:#F1E7D8;color:#3A2F28;line-height:1.7;overflow-x:hidden;}

*{box-sizing:border-box;}
img{max-width:100%;}
a{color:#8A9B7C;text-decoration:underline;}
a:hover{color:#E08A6A;text-decoration:none;}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:780px;margin:0 auto;padding:0 24px;}

/* headings */
h1,h2,h3,h4{margin:0 0 .6em;line-height:1.2;color:#4C3B30;}
p{margin:0 0 1em;}
.mono,label,input,textarea,button,.eyebrow,.stamp{font-family:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;}

/* noscript reveal safety */
.reveal{opacity:1;visibility:visible;}
.js .reveal{opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
.js .reveal.reveal-visible{opacity:1;visibility:visible;transform:none;}
.js .reveal-init{opacity:0;visibility:hidden;}

/* ============ SHELF TAG NAV ============ */
.shelftag{position:sticky;top:0;z-index:50;background:#F1E7D8;border-bottom:4px solid #8A9B7C;}
.shelftag-inner{display:flex;align-items:stretch;justify-content:space-between;gap:20px;}
.shelftag-brand{display:flex;align-items:center;gap:12px;}
.csstray{width:42px;height:20px;border:3px solid #4C3B30;border-radius:4px;background:#FBF6EC;position:relative;}
.csstray::after{content:"";position:absolute;inset:4px 6px;background:repeating-linear-gradient(#F1E7D8 0 2px,#E9D9C2 2px 4px);border-radius:2px;}
.csstray::before{content:"";position:absolute;left:-4px;top:12px;width:8px;height:5px;background:#8A9B7C;border-radius:2px;}
.shelftag-brand .brandplate{background:#E08A6A;color:#FBF6EC;padding:4px 12px;border-radius:6px;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;text-decoration:none;}
.shelftag-links{display:flex;align-items:flex-end;gap:3px;transform:translateY(0);}
.shelftag-links a{position:relative;display:block;padding:10px 20px 8px;margin:0 3px;border-radius:6px 6px 0 0;text-decoration:none;font-size:.92rem;font-weight:600;color:#4C3B30;background:#FBF6EC;box-shadow:0 -3px 0 #E0D2BC inset;}
.shelftag-links a::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:5px;border-radius:3px;}
.shelftag-links a:nth-child(odd)::after{background:#E08A6A;}
.shelftag-links a:nth-child(even)::after{background:#8A9B7C;}
.shelftag-links a.cta{background:#E08A6A;color:#FBF6EC;border-radius:8px;align-self:flex-end;margin-bottom:2px;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;}
.shelftag-links a.cta::after{display:none;}
.shelftag-toggle{display:none;background:#E08A6A;color:#FBF6EC;border:0;font-size:1.4rem;border-radius:6px;padding:4px 14px;cursor:pointer;}

@media(max-width:760px){
.shelftag-inner{flex-wrap:wrap;padding:6px 0;}
.shelftag-toggle{display:block;}
.shelftag-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;transform:none;}
.shelftag-links.open-now{display:flex;}
.shelftag-links a{border-radius:6px;margin:2px 0;}
.shelftag-links a.cta{text-align:center;}
}

/* ============ SANDBOX HERO ============ */
.sandboxtable{background:#F1E7D8;}
.sbwall{background:#4C3B30;position:relative;padding:18px 24px 12px;overflow:hidden;}
.sbwall-rack{max-width:1180px;margin:0 auto;position:relative;padding-bottom:10px;
background:repeating-linear-gradient(#5A4635 0 34px,#4C3B30 34px 40px);
}
.sbwall-item{display:flex;gap:14px;align-items:flex-end;}
.corbin{border-radius:4px 4px 8px 8px;display:inline-flex;align-items:center;min-height:120px;}
.corbin span{display:inline-block;margin:0 3px;font-size:.6rem;color:#FBF6EC;letter-spacing:.1em;}
.bin1{background:#E08A6A;width:120px;}
.bin2{background:#8A9B7C;width:170px;min-height:96px;}
.bin3{background:#9FB8C4;width:140px;min-height:108px;}
.bin4{background:#8A9B7C;width:90px;min-height:74px;}
.rolled{width:16px;height:30px;border-radius:8px;background:#FBF6EC;border:3px solid #4C3B30;align-self:flex-end;margin-left:auto;position:relative;}
.sbclock{margin-left:auto;align-self:flex-end;background:#FBF6EC;border:2px solid #4C3B30;width:52px;height:52px;border-radius:50%;position:relative;}
.sbclock::before{content:"";position:absolute;left:50%;top:10px;width:3px;height:16px;background:#3A2F28;transform-origin:50% 100%;}
.sbbody{position:relative;background:#F1E7D8;}
.sb-sand{max-width:1180px;margin:0 auto;position:relative;padding:56px 24px 64px;
background:
radial-gradient(circle at 20% 80%, #E9D9C2 0 3px, transparent 3px),
repeating-linear-gradient(18deg, transparent 0 22px, #E9D9C2 0 23px);
background-color:#F1E7D8;}
.hero-eyebrow{display:inline-block;background:#8A9B7C;color:#FBF6EC;padding:4px 12px;border-radius:30px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;}
.hero-main{display:flex;align-items:flex-start;gap:22px;margin:10px 0 10px;flex-wrap:wrap;}
.hero-title{font-size:clamp(1.9rem,5vw,3.2rem);color:#4C3B30;max-width:24ch;margin:0;}
.hero-stamp{width:118px;height:118px;border:6px solid #E08A6A;border-radius:50%;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;color:#4C3B30;font-size:.7rem;line-height:1.4;text-align:center;letter-spacing:.12em;transform:rotate(-8deg);flex:none;}
.hero-stamp b{font-size:1.3rem;color:#E08A6A;background:#3A2F28;color:#FBF6EC;display:inline-block;padding:2px 8px;border-radius:20px;}
.hero-lead{max-width:44em;font-size:1.1rem;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.btn{display:inline-block;padding:13px 26px;border-radius:8px;font-weight:700;text-decoration:none;font-family:ui-monospace,inherit;}
.btn-coral{background:#E08A6A;color:#FBF6EC;border:2px solid #E08A6A;}
.btn-outline{background:transparent;color:#3A2F28;border:2px solid #3A2F28;}
.btn-cream{background:#FBF6EC;color:#4C3B30;border:2px solid #FBF6EC;}
.btn-blank{}
.mini-ladder{position:absolute;left:16px;bottom:12px;width:26px;height:40px;border:4px solid #4C3B30;background:repeating-linear-gradient(transparent 0 12px,#4C3B30 12px 14px);}
.sb-kick{background:#4C3B30;color:#FBF6EC;border-top:6px solid #E08A6A;}
.sb-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;text-align:center;}
.sb-stat{border-right:1px solid #E08A6A;margin:26px 0;}
.sb-stat:last-child{border-right:0;}
.sb-stat .num{font-size:2rem;color:#E08A6A;font-family:ui-monospace,inherit;font-weight:700;}
.sb-stat span{display:block;margin-top:6px;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;}
@media(max-width:680px){.sb-stats{grid-template-columns:1fr;}.sb-stat{border-right:0;border-bottom:1px solid #E08A6A;}}

/* ============ TERRACES ============ */
.terrace-zone{background:#F1E7D8;padding:70px 0 40px;}
.zone-head{text-align:center;max-width:720px;margin:0 auto 20px;}
.zone-eye{display:inline-block;color:#E08A6A;border:2px solid #E08A6A;border-radius:30px;padding:3px 12px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;}
.terraces{max-width:1180px;margin:0 auto;padding:30px 24px 0;display:flex;flex-direction:column;}
.terrace{background:#FBF6EC;border:3px solid #4C3B30;border-radius:10px;position:relative;margin:9px 0;padding:20px 22px 18px;display:flex;gap:24px;align-items:flex-start;box-shadow:0 10px 0 -6px #D9C8AE;}
.terrace:nth-child(odd){margin-left:44px;margin-right:0;}
.terrace:nth-child(even){margin-right:44px;margin-left:0;}
.tray-scene{width:130px;height:84px;flex:none;background-color:#F1E7D8;border:3px solid #8A9B7C;border-radius:6px;background-image:repeating-linear-gradient(12deg,transparent 0 14px,#E9D9C2 0 15px);display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:10px;}
.mini{display:inline-block;}
.mini.coral{background:#E08A6A;}
.mini.sage{background:#8A9B7C;}
.mini.blue{background:#9FB8C4;}
.mini.river{height:18px;border-radius:9px;flex:1;background:#9FB8C4;}
.mini.tree2{width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:20px solid #8A9B7C;}
.mini.tree3{width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:20px solid #E08A6A;}
.mini.small{width:12px;height:24px;border-radius:6px;}
.mini.mid{width:16px;height:30px;border-radius:7px;}
.mini.tal{width:14px;height:40px;border-radius:7px;}
.terrace-txt{flex:1;}
.territe{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.chip-row{display:flex;gap:10px;align-items:center;margin-bottom:8px;}
.session-stamp{width:64px;height:64px;border-radius:50%;background:#E08A6A;color:#FBF6EC;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-family:ui-monospace,inherit;font-weight:700;letter-spacing:.06em;}
.mode-chip{background:#8A9B7C;color:#FBF6EC;padding:4px 12px;border-radius:30px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;}
.details-link{color:#E08A6A;font-weight:700;text-decoration:none;border-bottom:2px solid #E08A6A;}
.svc-title{font-size:1.15rem;color:#E08A6A;text-transform:uppercase;letter-spacing:.03em;margin:.2em 0 .4em;}
@media(max-width:640px){.terrace{padding-left:14px;padding-right:14px;}.terrace:nth-child(odd),.terrace:nth-child(even){margin-left:0;margin-right:0;margin-top:18px;} .tray-scene{width:90px;}}

/* ============ CORAL STATEMENT BAND ============ */
.progress-row{background:#E08A6A;color:#FBF6EC;padding:56px 0;text-align:center;}
.progress-row .bigfig{font-size:clamp(2.6rem,8vw,5.2rem);font-family:ui-monospace,inherit;color:#FBF6EC;font-weight:700;line-height:1;margin-bottom:8px;letter-spacing:.02em;}
.progress-row p{color:#FFF7EF;font-size:1.15rem;max-width:40em;margin:6px auto 0;}
.svctag{display:inline-block;border:2px solid #FBF6EC;border-radius:30px;padding:4px 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;}

/* ============ SESSION ARC ============ */
.session-arc{background:#8A9B7C;padding:64px 0 60px;position:relative;}
.session-arc .zone-head{margin-bottom:12px;}
.arc-intro{color:#FBF6EC;max-width:620px;text-align:center;margin:0 auto 10px;}
.arc-head{color:#FBF6EC;}
.stations{display:flex;gap:6px;justify-content:space-between;position:relative;flex-wrap:wrap;}
.station{flex:1;min-width:150px;text-align:center;background:#FBF6EC;border-top:14px solid #F1E7D8;border:3px solid #4C3B30;border-radius:12px;padding:18px 14px 20px;margin-top:20px;position:relative;background-image:repeating-linear-gradient(18deg,transparent 0 26px,#E0C7A8 0 27px);background-color:#FBF6EC;box-shadow:0 10px 0 -5px #EBDCC6;}
.station b.stepno{position:absolute;top:-34px;left:50%;transform:translateX(-50%);background:#E08A6A;color:#FBF6EC;border-radius:40px;padding:4px 12px;font-family:ui-monospace,inherit;letter-spacing:.14em;font-size:.7rem;white-space:nowrap;}
.sandcurl{position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#C9AD8C;}
.station h4{color:#4C3B30;margin:.4em 0 .5em;font-size:1.02rem;text-transform:uppercase;letter-spacing:.04em;position:relative;}
.station p{font-size:.9rem;color:#3A2F28;margin:0;}
.station .goalflag{margin-top:10px;display:inline-block;background:#8A9B7C;color:#FBF6EC;padding:2px 10px;border-radius:20px;font-family:ui-monospace,inherit;font-size:.7rem;letter-spacing:.12em;}
.arc-path{margin-bottom:4px;color:#FFF7EF;text-align:center;font-family:ui-monospace,inherit;letter-spacing:.32em;font-size:.8rem;}
@media(max-width:760px){.stations{flex-direction:column;gap:10px;} .arc-path{display:none;}}

/* ============ ACCENT / BOOKING BAND ============ */
.intakeband{background:#E08A6A;border-top:6px solid #8A9B7C;color:#FBF6EC;padding:52px 0;}
.intake-inline{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.intake-mark{display:inline-flex;align-items:center;gap:10px;border:3px dashed #FBF6EC;border-radius:8px;padding:8px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:14px;}
.intake-mark::before{content:"";width:20px;height:20px;border:4px solid #FBF6EC;border-radius:4px;}
.intake-head{font-size:clamp(1.3rem,3.6vw,1.9rem);color:#FBF6EC;margin-bottom:8px;}
.intake-text{max-width:48em;color:#FFF7EF;}
.intake-call{font-family:ui-monospace,inherit;font-weight:700;margin-top:18px;}

/* ============ FOOTER STUDIO SHELF ============ */
.studiofield{background:#4C3B30;position:relative;z-index:1;}
.coral-rail{background:#4C3B30;border-top:10px solid #E08A6A;padding:0 0 4px;}
.rail-mot{max-width:1180px;margin:0 auto;display:flex;align-items:flex-end;gap:12px;padding:6px 24px;color:#FBF6EC;}
.rail-mot .motto{font-family:ui-monospace,inherit;letter-spacing:.18em;font-size:.8rem;color:#E08A6A;margin-left:auto;text-transform:uppercase;}
.binpad{width:54px;border-radius:4px 4px 8px 8px;}
.bin1f{background:#E08A6A;height:46px;}
.bin2f{background:#8A9B7C;height:44px;margin-left:-6px;}
.bin3f{background:#9FB8C4;height:42px;margin-left:-6px;}
.rollf{width:12px;height:20px;border-radius:6px;background:#FBF6EC;align-self:flex-end;margin-left:8px;}
.foot-cols{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:44px 24px 30px;color:#FBF6EC;}
.foot-col h5{color:#E08A6A;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;margin-bottom:12px;border-bottom:1px solid #8A9B7C;padding-bottom:6px;}
.foot-col a{display:block;color:#FBF6EC;text-decoration:none;margin:7px 0;font-weight:200;}
.foot-col a:hover{color:#E08A6A;}
.foot-note{color:#DFD2C0;font-size:.9rem;margin-top:10px;line-height:1.8;}
.foot-base{background:#FBF6EC;}
.foot-base-inner{max-width:1180px;margin:0 auto;padding:24px 24px 20px;text-align:center;}
.carded{font-family:'inherit';letter-spacing:.04em;font-size:.98rem;color:#4C3B30;}
.carded .cc{display:block;color:#E08A6A;margin-top:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;}
.corline{border-top:2px solid #E08A6A;margin-top:16px;padding-top:12px;font-size:.8rem;color:#4C3B30;}
@media(max-width:640px){.foot-cols{grid-template-columns:1fr;gap:18px;padding-top:24px;}}

/* ============ SEC / SUB PAGES ============ */
.pageband{background:#E08A6A;color:#FBF6EC;padding:40px 0;text-align:center;}
.pageband h1{color:#FBF6EC;font-size:clamp(1.6rem,4vw,2.5rem);}
.pageband .pb-sub{color:#FFF7EF;max-width:600px;margin:6px auto 0;}
.sechero{background:#F1E7D8;}

.section-pad{padding:66px 0 40px;}
.two-top{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap;}
.leadzone{flex:1;min-width:280px;}
.modeseal{display:inline-block;background:#8A9B7C;color:#FBF6EC;border-radius:40px;padding:5px 14px;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;margin-bottom:12px;}

/* services sub page */
.svccard{background:#FBF6EC;border:3px solid #4C3B30;border-radius:10px;padding:24px;margin:18px 0;}
.mmtable{background:#F1E7D8;border-radius:8px;padding:14px;margin:10px 0;}
.mmtable h4{color:#4C3B30;margin-top:0;}
.ac{background:#E08A6A;border-top:6px solid #8A9B7C;}
.ac2{background:#8A9B7C;}
.stan{
display:flex;gap:16px;align-items:flex-start;background:#FBF6EC;margin:12px 0;padding:16px;border-radius:8px;border-left:10px solid #E08A6A;}
.stan .n{width:60px;height:60px;flex:none;background:#3A2F28;color:#FBF6EC;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,inherit;font-weight:700;}

/* ---- form & contact ---- */
.formgrid{display:flex;gap:36px;flex-wrap:wrap;}
.formcard{flex:1;min-width:300px;background:#FBF6EC;padding:26px;border-radius:12px;border:3px solid #4C3B30;}
.finfo{flex:1;min-width:280px;}
.contact-box{background:#FBF6EC;border:3px solid #4C3B30;border-radius:12px;padding:20px 22px;margin-bottom:16px;}
.contact-box h3{color:#E08A6A;margin-top:0;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;}
.cf label{display:block;margin:14px 0 4px;font-family:ui-monospace,inherit;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#4C3B30;}
.cf input,.cf textarea,.cf select{font-family:ui-monospace,inherit;font-size:1rem;background:#F1E7D8;border:2px solid #C9B9A2;width:100%;padding:11px 12px;border-radius:6px;color:#3A2F28;}
.cf textarea{min-height:130px;}
.cf input:focus,.cf textarea:focus{outline:3px solid #E08A6A;}
.formbtn{background:#E08A6A;color:#FBF6EC;border:0;padding:14px 24px;border-radius:8px;font-family:ui-monospace,inherit;font-weight:700;font-size:1rem;cursor:pointer;margin-top:16px;}
.formbtn:hover{background:#4C3B30;}
.formnote{font-family:ui-monospace,inherit;font-size:.75rem;color:#3A2F28;margin-top:10px;}
.hours td{padding:6px 10px;border-bottom:1px solid #C9B9A2;font-family:ui-monospace,inherit;font-size:.9rem;}
.hours td:last-child{color:#E08A6A;font-weight:700;}
.faqitem{border-top:2px solid #E08A6A;padding:16px 2px;}
.faqitem button{background:none;border:0;font-family:ui-serif,Georgia,serif;font-size:1.05rem;color:#4C3B30;font-weight:700;cursor:pointer;text-align:left;width:100%;padding:4px 0;}
.faqitem button::after{content:"+";float:right;color:#E08A6A;}
.faqitem p{max-height:0;overflow:hidden;margin:0;transition:max-height .4s ease;color:#3A2F28;}
.faqitem.open p{max-height:300px;margin-top:10px;}
.tell{color:#E08A6A;}
