:root{--ink:#303a37;--teal:#316e69;--cream:#f6f3ed;--taupe:#e9e3d8;--line:#d7d9d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #af622e;outline-offset:4px}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,5.4vw,76px);letter-spacing:-2px;margin-bottom:24px}h1 em{font-weight:400;color:var(--teal)}h2{font-size:clamp(32px,3.3vw,46px);letter-spacing:-1px}h3{font-size:30px}h4{font-size:21px;margin-bottom:6px}p{margin-bottom:18px}.topbar{background:var(--teal);color:white;text-align:center;padding:9px 5%;font-size:12px;letter-spacing:.8px}.topbar a{margin-left:32px}header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;line-height:1.2;font-size:19px}.brand img{object-fit:contain}.brand strong{font-size:24px;font-weight:400}nav{display:flex;gap:26px;align-items:center;font-size:14px}nav a{text-decoration:none}.nav-contact{border-bottom:1px solid var(--teal);padding-bottom:4px}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;padding:54px 5% 65px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;color:var(--teal);margin-bottom:22px}.intro{font-size:18px;max-width:470px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:var(--teal);color:white;border:1px solid var(--teal);padding:13px 23px;text-decoration:none;font-size:14px}.button:hover{background:#245550}.small{font-size:12px;line-height:1.5;margin-top:17px}.hero-art{background:var(--cream);border-radius:48% 48% 3px 3px;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}.hero-art img{width:85%;height:300px;object-fit:contain;mix-blend-mode:multiply}.hero-art p{font:italic 19px Georgia,serif;text-align:center;margin:15px 0}.visit-strip{background:var(--taupe);padding:25px max(5%,calc((100% - 1150px)/2));display:flex;justify-content:space-between;gap:25px;font-size:14px}.visit-strip b{font-size:10px;letter-spacing:1.8px}.visit-strip a{text-decoration:none}.section{padding:75px max(5%,calc((100% - 1150px)/2))}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.two-col p:last-child{margin-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}.section-heading h2{margin-bottom:20px}.section-heading>a{font-size:13px;white-space:nowrap}.classes{background:var(--cream)}.class-day{display:grid;grid-template-columns:190px 1fr;border-top:1px solid var(--line);padding:28px 0 0;margin-top:24px}.class-day h3{font-size:29px;color:var(--teal);padding-top:7px}.class-row{display:grid;grid-template-columns:100px 1fr 110px;gap:20px;padding:8px 0 24px}.class-time{font-size:14px;padding-top:3px}.class-row h4{font-size:20px;font-weight:500}.class-row p{font-size:14px;max-width:580px;margin:0}.host{font-size:12px;text-align:right;padding-top:5px;color:#54645b}.source-note{font-size:12px;color:#57665f}.calendar-controls{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:27px 0}.calendar-controls label{font-size:13px}.calendar-controls input{border:1px solid #a4b1a7;padding:8px;color:var(--ink);background:white;margin-left:8px;max-width:190px}.calendar-controls button{border:1px solid var(--line);background:#fff;padding:8px 15px;color:var(--ink)}.view-toggle button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.paging{margin-left:auto;display:flex;gap:5px}.period-title{font-size:25px;margin:30px 0 20px}.week-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.week-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px;min-height:120px}.week-day h4{font-family:Georgia,serif;font-weight:400;font-size:23px;color:var(--teal);margin-bottom:20px}.week-day h4 span{font-family:Arial,sans-serif;display:block;font-size:12px;color:var(--ink);margin-top:8px}.event{border-left:2px solid #90aba0;padding-left:10px;margin-bottom:18px;font-size:13px}.event b{font-size:12px;font-weight:400}.event h5{font-size:16px;line-height:1.3;margin:5px 0}.event p{font-size:11px;margin:0}.day-status{font-size:12px;color:#626b63}.closed{color:#94522d;font-weight:bold}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.month-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.weekday{background:var(--cream);padding:9px;text-align:center;font-size:12px}.month-day{min-height:140px;padding:9px}.date-num{font-family:Georgia,serif;font-size:20px;font-weight:400}.month-day .event{margin-top:8px;padding-left:6px;font-size:11px}.month-day .event span,.month-day .event small{display:block}.month-day .event b{font-size:10px}.month-day .day-status{font-size:10px}.empty{background:#fafaf7}.closures{background:var(--cream);padding:25px;margin-top:30px}.closures h3{font-size:23px;margin-bottom:15px}.closures ul{padding-left:20px;columns:2;font-size:12px;line-height:1.9}.gallery{background:var(--taupe)}#gallery-images{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}#gallery-images:empty{display:none}#gallery-images img{width:100%;height:260px;object-fit:cover}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact a{line-height:2}.visit-card{border:1px solid var(--line);padding:32px;background:var(--cream)}.visit-card h3{font-size:32px}.visit-card .button{line-height:1.6}footer{background:var(--teal);color:white;padding:35px 5%;display:flex;justify-content:space-between;gap:25px;font-size:12px}#print-header{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:5}.skip:focus{top:10px}[hidden]{display:none!important}
@media(max-width:800px){header{flex-direction:column;align-items:flex-start}nav{gap:18px;flex-wrap:wrap}.hero{gap:25px}.hero-art{min-height:300px}.hero-art img{height:220px}.two-col{gap:35px}.class-day{grid-template-columns:140px 1fr}.class-row{grid-template-columns:1fr}.host{text-align:left;padding:0}.class-time{color:var(--teal)}.week-grid{grid-template-columns:repeat(2,1fr)}.contact{gap:35px}.section{padding-top:55px;padding-bottom:55px}.month-scroll{overflow-x:auto}.month-grid{min-width:700px}}
@media(max-width:540px){.topbar{font-size:10px}.topbar a{margin-left:10px}.hero{grid-template-columns:1fr;padding-top:30px}.hero-art{max-width:350px;width:100%;justify-self:center}.hero-art img{height:220px}.two-col,.contact{grid-template-columns:1fr;gap:15px}.visit-strip{flex-direction:column;gap:15px}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.class-day{display:block}.class-day h3{margin-bottom:20px}.class-row{grid-template-columns:1fr;gap:6px}.week-grid{grid-template-columns:1fr}.calendar-controls{gap:12px}.paging{margin-left:0}.closures ul{columns:1}footer{flex-direction:column}.nav-contact{display:none}#gallery-images{grid-template-columns:1fr}}
@media print{@page{size:landscape;margin:.35in}body{font-size:10pt;color:#111}body>*{display:none!important}body>main{display:block!important}main>*{display:none!important}main>#calendar{display:block!important;padding:0}#calendar>*{display:none!important}#calendar>#print-header,#calendar>#schedule{display:block!important}#print-header h2{font-size:24pt;margin:0 0 5px}#print-header p{font-size:9pt;margin:0 0 8px}#schedule .period-title{font-size:17pt;margin:8px 0 12px}.week-grid{grid-template-columns:repeat(7,1fr)}.week-day{padding:10px;min-height:230px;break-inside:avoid}.week-day h4{font-size:15pt}.event h5{font-size:11pt}.event b,.event p{font-size:9pt}.month-grid{min-width:0}.month-day{min-height:0;height:95px;padding:5px}.month-day .event{margin:3px 0;font-size:8pt;line-height:1.2}.month-day .event b{font-size:7pt}.month-day .event small{font-size:7pt}.month-day .day-status{font-size:7pt;line-height:1.2;margin:3px 0}.weekday{padding:3px}.date-num{font-size:12pt}.closed{color:#111}#schedule{break-inside:avoid}.month-scroll{overflow:visible}a{color:#111}}

.workshop-title{grid-column:1 / -1;text-align:center;font-size:clamp(38px,5.5vw,72px);font-weight:700;line-height:1.12;letter-spacing:-1.5px;margin:0 0 12px;color:var(--teal)}.welcome-title{font-size:clamp(38px,4.7vw,64px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:24px}.welcome-title em{color:var(--teal);font-weight:400}@media(max-width:540px){.workshop-title{font-size:40px;letter-spacing:-1px;margin-bottom:8px}}

/* Give long day names room and align day/time rows. */
.class-day{column-gap:32px}.class-day h3{padding-top:0;line-height:34px}.class-row{padding-top:0}.class-time{padding-top:0;line-height:34px;white-space:nowrap}.class-row h4{line-height:34px}@media(min-width:541px) and (max-width:800px){.class-day{grid-template-columns:170px minmax(0,1fr);column-gap:24px}}

.schedule-intro{padding-top:40px;padding-bottom:35px}.schedule-intro h1{font-size:clamp(40px,5vw,64px);font-weight:700;color:var(--teal)}nav a[aria-current="page"]{color:var(--teal);border-bottom:2px solid var(--teal)}

.call-hours{font-size:12px;white-space:normal}.contact .call-hours{display:inline-block;margin-left:8px}.topbar .call-hours{margin-left:8px;font-size:11px;letter-spacing:0}
.cap-logo{display:block;width:100%;max-width:330px;height:auto;margin-top:28px}.cap-identity{align-self:start}
.cap-mark{display:block;width:115px;height:80px;overflow:hidden;margin-top:28px}.cap-mark .cap-logo{width:465px;max-width:none;height:80px;margin:0;transform:translateX(-350px)}
