:root{
  --olive-dark:#4E5A26; --olive:#6B7A34; --yellowgreen:#B7CC33;
  --gold:#F2C94C; --cream:#FBF8EF; --ink:#33401C;
  --line:rgba(51,64,28,0.12);
  --scale:1;
}
/* Homepage runs bigger (1.5x) than the rest of the site (1.25x); both taper down
   on tablet/mobile so nothing overflows a narrow viewport. */
body.page-home{--scale:1.5;}
body.page-sub{--scale:1.25;}
@media (max-width:860px){
  body.page-home{--scale:1.3;}
  body.page-sub{--scale:1.15;}
}
@media (max-width:560px){
  body.page-home{--scale:1.1;}
  body.page-sub{--scale:1;}
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);font-family:'Inter',sans-serif;color:var(--ink);}

a{color:inherit;text-decoration:none;}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--scale)*26px) calc(var(--scale)*44px);transition:background 0.3s ease, box-shadow 0.3s ease;flex-wrap:wrap;gap:calc(var(--scale)*10px);}
nav.scrolled{background:rgba(251,248,239,0.9);backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--line);}
.logo{display:inline-flex;align-items:center;gap:calc(var(--scale)*10px);font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*18px);font-weight:600;color:var(--ink);}
.logo-img{height:calc(var(--scale)*36px);width:auto;display:block;}
.navlinks{display:flex;align-items:center;flex-wrap:wrap;gap:calc(var(--scale)*32px);font-size:calc(var(--scale)*13px);letter-spacing:0.06em;color:var(--ink);}
.navlinks a{opacity:0.75;transition:opacity 0.2s ease;}
.navlinks a:hover{opacity:1;}
.navlinks a.nav-cta{opacity:1;border:1px solid var(--ink);border-radius:999px;padding:calc(var(--scale)*7px) calc(var(--scale)*18px);transition:all 0.2s ease;}
.navlinks a.nav-cta:hover{background:var(--ink);color:var(--cream);}
@media (max-width:560px){
  .navlinks{gap:calc(var(--scale)*16px) calc(var(--scale)*20px);}
}

/* ---------- hero ---------- */
.hero{position:relative;width:100%;height:100vh;min-height:560px;background:linear-gradient(to bottom, #FBF8EF 0%, #F3EFCE 55%, #DCE6A8 100%);overflow:hidden;}

#wave-mountain{position:absolute;left:0;bottom:0;width:100%;height:50%;z-index:1;}
#wave-grass{position:absolute;left:0;bottom:0;width:100%;height:20%;z-index:3;}

.herd-group{position:absolute;bottom:9%;left:0;width:100%;height:0;z-index:4;}
.walker-outer{position:absolute;bottom:0;}
.walker{transform-origin:center bottom;}
.walker svg{display:block;overflow:visible;}
.fig-fill{fill:var(--olive-dark);}

#shepherd-o{left:-100px;animation:wi-shep 7.5s linear 0.3s forwards;}
@keyframes wi-shep{0%{left:-100px;}100%{left:30%;}}
#sheep-l-o{left:-160px;animation:wi-l 12s linear 1.6s forwards;}
@keyframes wi-l{0%{left:-160px;}100%{left:65%;}}
#sheep-m-o{left:-160px;animation:wi-m 5s linear 3.0s forwards;}
@keyframes wi-m{0%{left:-160px;}100%{left:10%;}}
#sheep-s-o{left:-160px;animation:wi-s 14s linear 4.4s forwards;}
@keyframes wi-s{0%{left:-160px;}100%{left:82%;}}
#sheep-xs-o{left:-160px;animation:wi-xs 9.5s linear 5.8s forwards;}
@keyframes wi-xs{0%{left:-160px;}100%{left:48%;}}

.bob{animation:bob 1.3s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
.stride-a{transform-origin:top center;animation:stride 0.7s ease-in-out infinite alternate;}
.stride-b{transform-origin:top center;animation:stride 0.7s ease-in-out infinite alternate-reverse;}
@keyframes stride{0%{transform:scaleY(1);}100%{transform:scaleY(0.88);}}

.butterfly{position:absolute;width:50px;height:35px;opacity:0;z-index:4;left:-6%;}
.butterfly svg{display:block;width:100%;height:100%;}
.wing{fill:var(--gold);transform-origin:25px 17.5px;}
.wing-flap{animation:flap 0.4s ease-in-out infinite alternate;}
@keyframes flap{0%{transform:scaleX(1);}100%{transform:scaleX(0.35);}}

#b1{bottom:31%;--s:0.55;animation:fly1 18s ease-in-out 0.6s infinite;}
@keyframes fly1{0%{left:-6%;opacity:0;transform:translateY(0) rotate(0deg) scale(var(--s));}6%{opacity:1;}25%{transform:translateY(-16px) rotate(-10deg) scale(var(--s));}50%{transform:translateY(8px) rotate(9deg) scale(var(--s));}75%{transform:translateY(-12px) rotate(-8deg) scale(var(--s));}94%{opacity:1;}100%{left:104%;opacity:0;transform:translateY(4px) rotate(6deg) scale(var(--s));}}
#b2{bottom:27%;--s:0.85;animation:fly2 16s ease-in-out 2.2s infinite;}
@keyframes fly2{0%{left:-6%;opacity:0;transform:translateY(0) rotate(0deg) scale(var(--s));}6%{opacity:1;}30%{transform:translateY(14px) rotate(9deg) scale(var(--s));}55%{transform:translateY(-10px) rotate(-8deg) scale(var(--s));}80%{transform:translateY(10px) rotate(7deg) scale(var(--s));}94%{opacity:1;}100%{left:104%;opacity:0;transform:translateY(-6px) rotate(-6deg) scale(var(--s));}}
#b3{bottom:22%;--s:1.2;animation:fly3 14s ease-in-out 3.6s infinite;}
@keyframes fly3{0%{left:-6%;opacity:0;transform:translateY(0) rotate(0deg) scale(var(--s));}6%{opacity:1;}28%{transform:translateY(-18px) rotate(-11deg) scale(var(--s));}52%{transform:translateY(10px) rotate(9deg) scale(var(--s));}78%{transform:translateY(-14px) rotate(-9deg) scale(var(--s));}94%{opacity:1;}100%{left:104%;opacity:0;transform:translateY(6px) rotate(7deg) scale(var(--s));}}
#b4{bottom:33%;--s:0.5;animation:fly1 19s ease-in-out 5.0s infinite;}
#b5{bottom:25%;--s:0.9;animation:fly2 15s ease-in-out 6.4s infinite;}
#b6{bottom:20%;--s:1.3;animation:fly3 13s ease-in-out 7.6s infinite;}

.hero-text{position:absolute;top:18%;left:50%;transform:translate(-50%,10px);text-align:center;z-index:10;opacity:0;width:90%;max-width:calc(var(--scale)*720px);animation:textin 1.3s ease-out 0.2s forwards;}
@keyframes textin{to{opacity:1;transform:translate(-50%,0);}}
.eyebrow{font-size:calc(var(--scale)*12px);letter-spacing:0.2em;text-transform:uppercase;color:var(--olive-dark);opacity:0.75;margin-bottom:calc(var(--scale)*14px);display:block;}
.hero-text .eyebrow{font-size:calc(var(--scale)*16px);letter-spacing:0.18em;opacity:0.85;margin-bottom:calc(var(--scale)*18px);}
h1{font-family:'Noto Serif SC',serif;font-weight:600;font-size:calc(clamp(34px,5.6vw,58px) * var(--scale));color:var(--ink);line-height:1.35;}
.sub{margin-top:calc(var(--scale)*22px);font-size:calc(var(--scale)*18px);color:var(--ink);opacity:0.75;line-height:1.8;}
.brushstroke{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:calc(var(--scale)*220px);height:calc(var(--scale)*26px);z-index:-1;opacity:0;animation:strokein 0.8s ease-out 0.5s forwards;}
@keyframes strokein{to{opacity:0.9;}}

.scroll-cue{position:absolute;bottom:1.5%;left:50%;transform:translateX(-50%);z-index:10;font-size:calc(var(--scale)*11px);letter-spacing:0.15em;text-transform:uppercase;color:var(--ink);opacity:0;animation:cuein 1s ease-out 1.2s forwards;display:flex;flex-direction:column;align-items:center;gap:calc(var(--scale)*8px);}
@keyframes cuein{to{opacity:0.55;}}
.scroll-line{width:1px;height:calc(var(--scale)*28px);background:var(--ink);opacity:0.5;}

/* ---------- shared section layout ---------- */
section.page-section{position:relative;background:var(--cream);padding:calc(var(--scale)*120px) calc(var(--scale)*24px);}
.section-inner{max-width:calc(var(--scale)*1040px);margin:0 auto;}
.section-head{text-align:center;max-width:calc(var(--scale)*560px);margin:0 auto calc(var(--scale)*56px);}
.section-head .eyebrow{opacity:0.6;}
.section-head h2{font-family:'Noto Serif SC',serif;font-size:calc(clamp(22px,3vw,30px) * var(--scale));color:var(--ink);font-weight:600;margin-bottom:calc(var(--scale)*14px);}
.section-head p{font-size:calc(var(--scale)*14px);color:var(--ink);opacity:0.7;line-height:1.8;}

/* ---------- card grid ---------- */
.grid{display:grid;gap:calc(var(--scale)*28px);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*14px);padding:calc(var(--scale)*28px) calc(var(--scale)*24px);transition:transform 0.25s ease, box-shadow 0.25s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(51,64,28,0.08);}
.card .tag{display:inline-block;font-size:calc(var(--scale)*11px);letter-spacing:0.08em;text-transform:uppercase;color:var(--olive);background:rgba(183,204,51,0.18);padding:calc(var(--scale)*4px) calc(var(--scale)*10px);border-radius:999px;margin-bottom:calc(var(--scale)*14px);}
.card h3{font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*17px);font-weight:600;margin-bottom:calc(var(--scale)*10px);}
.card p{font-size:calc(var(--scale)*13px);opacity:0.7;line-height:1.75;}

/* ---------- video cards ---------- */
.video-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*14px);overflow:hidden;transition:transform 0.25s ease, box-shadow 0.25s ease;}
.video-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(51,64,28,0.08);}
.video-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#DCE6A8,#B7CC33);display:flex;align-items:center;justify-content:center;}
.video-thumb .play{width:calc(var(--scale)*44px);height:calc(var(--scale)*44px);border-radius:50%;background:rgba(255,255,255,0.85);display:flex;align-items:center;justify-content:center;}
.video-thumb .play::after{content:'';border-left:calc(var(--scale)*12px) solid var(--olive-dark);border-top:calc(var(--scale)*8px) solid transparent;border-bottom:calc(var(--scale)*8px) solid transparent;margin-left:calc(var(--scale)*3px);}
.video-card .meta{padding:calc(var(--scale)*18px) calc(var(--scale)*18px) calc(var(--scale)*20px);}
.video-card h3{font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*15px);font-weight:600;margin-bottom:calc(var(--scale)*6px);}
.video-card p{font-size:calc(var(--scale)*12px);opacity:0.6;}

/* ---------- shop ---------- */
.product-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*14px);overflow:hidden;}
.product-thumb{aspect-ratio:1;background:linear-gradient(160deg,#F3EFCE,#DCE6A8);}
.product-card .meta{padding:calc(var(--scale)*16px) calc(var(--scale)*18px) calc(var(--scale)*20px);}
.product-card h3{font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*15px);font-weight:600;margin-bottom:calc(var(--scale)*6px);}
.product-card .price{font-size:calc(var(--scale)*13px);color:var(--olive-dark);font-weight:600;}
.btn{display:inline-block;margin-top:calc(var(--scale)*14px);font-size:calc(var(--scale)*12px);letter-spacing:0.06em;border:1px solid var(--ink);border-radius:999px;padding:calc(var(--scale)*8px) calc(var(--scale)*18px);opacity:0.85;transition:all 0.2s ease;}
.btn:hover{background:var(--ink);color:var(--cream);opacity:1;}

/* ---------- donate ---------- */
.donate-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:calc(var(--scale)*56px);align-items:start;}
@media (max-width:760px){.donate-grid{grid-template-columns:1fr;}}
.donate-copy{padding-top:calc(var(--scale)*8px);}
.donate-copy h2{font-family:'Noto Serif SC',serif;font-size:calc(clamp(22px,3vw,28px) * var(--scale));font-weight:600;margin-bottom:calc(var(--scale)*16px);}
.donate-copy p{font-size:calc(var(--scale)*14px);line-height:1.9;opacity:0.75;margin-bottom:calc(var(--scale)*14px);}

.donate-form{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*16px);padding:calc(var(--scale)*32px);display:flex;flex-direction:column;gap:calc(var(--scale)*22px);}
.field-group{display:flex;flex-direction:column;gap:calc(var(--scale)*10px);}
.field-group > label{font-size:calc(var(--scale)*13px);font-weight:500;opacity:0.85;}
.field-group input[type="text"],
.field-group input[type="email"],
.field-group input[type="password"],
.field-group select,
.field-group textarea{font-family:inherit;font-size:calc(var(--scale)*14px);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:calc(var(--scale)*10px);padding:calc(var(--scale)*12px) calc(var(--scale)*14px);outline:none;transition:border-color 0.2s ease;width:100%;}
.field-group input[type="text"]:focus,
.field-group input[type="email"]:focus,
.field-group input[type="password"]:focus,
.field-group select:focus,
.field-group textarea:focus{border-color:var(--olive);}
.field-group textarea{resize:vertical;}

.amount-group{display:flex;flex-wrap:wrap;gap:calc(var(--scale)*10px);}
.amount-btn{font-family:inherit;font-size:calc(var(--scale)*13px);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:calc(var(--scale)*9px) calc(var(--scale)*18px);cursor:pointer;transition:all 0.2s ease;}
.amount-btn:hover{border-color:var(--olive);}
.amount-btn.active{background:var(--olive-dark);border-color:var(--olive-dark);color:var(--cream);}
.amount-custom{flex:1;min-width:calc(var(--scale)*120px);font-family:inherit;font-size:calc(var(--scale)*13px);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:calc(var(--scale)*9px) calc(var(--scale)*16px);outline:none;transition:border-color 0.2s ease;}
.amount-custom:focus{border-color:var(--olive);}

.frequency-group{display:flex;gap:calc(var(--scale)*10px);}
.freq-option{position:relative;flex:1;}
.freq-option input{position:absolute;opacity:0;pointer-events:none;}
.freq-option span{display:block;text-align:center;font-size:calc(var(--scale)*13px);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:calc(var(--scale)*10px);padding:calc(var(--scale)*11px);cursor:pointer;transition:all 0.2s ease;}
.freq-option input:checked + span{background:var(--olive-dark);border-color:var(--olive-dark);color:var(--cream);}

.btn-filled{text-align:center;border:1px solid var(--olive-dark);background:var(--olive-dark);color:var(--cream);cursor:pointer;font-family:inherit;}
.btn-filled:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.donate-submit{width:100%;padding:calc(var(--scale)*13px) calc(var(--scale)*18px);font-size:calc(var(--scale)*13px);}
.donate-note{font-size:calc(var(--scale)*12px);opacity:0.55;line-height:1.7;text-align:center;}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--scale)*48px);align-items:center;}
@media (max-width:760px){.about-grid{grid-template-columns:1fr;}}
.about-art{aspect-ratio:4/3;border-radius:calc(var(--scale)*16px);background:linear-gradient(160deg,#F3EFCE 0%,#DCE6A8 60%,#B7CC33 100%);}
.about-copy h2{font-family:'Noto Serif SC',serif;font-size:calc(clamp(22px,3vw,28px) * var(--scale));font-weight:600;margin-bottom:calc(var(--scale)*16px);}
.about-copy p{font-size:calc(var(--scale)*14px);line-height:1.9;opacity:0.75;margin-bottom:calc(var(--scale)*14px);}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--scale)*32px);}
@media (max-width:860px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr;}}
.team-card{text-align:center;}
.team-photo{aspect-ratio:1;max-width:calc(var(--scale)*120px);margin:0 auto calc(var(--scale)*16px);border-radius:50%;background:linear-gradient(160deg,#F3EFCE,#B7CC33);}
.team-card h3{font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*15px);font-weight:600;margin-bottom:calc(var(--scale)*4px);}
.team-card .role{display:block;font-size:calc(var(--scale)*12px);color:var(--olive-dark);margin-bottom:calc(var(--scale)*8px);}
.team-card p{font-size:calc(var(--scale)*12.5px);opacity:0.65;line-height:1.75;}

/* ---------- gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:calc(var(--scale)*130px);gap:calc(var(--scale)*12px);}
@media (max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.g-item{position:relative;overflow:hidden;border-radius:calc(var(--scale)*12px);background:linear-gradient(160deg,#F3EFCE,#DCE6A8);}
.g-item:nth-child(3n+1){background:linear-gradient(160deg,#DCE6A8,#B7CC33);}
.g-item:nth-child(3n+2){background:linear-gradient(160deg,#F2C94C,#DCE6A8);}
.g-item.g-wide{grid-column:span 2;}
.g-cap{position:absolute;left:calc(var(--scale)*12px);bottom:calc(var(--scale)*10px);font-size:calc(var(--scale)*11.5px);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,0.35);}

/* ---------- testimonials ---------- */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--scale)*24px);margin-top:calc(var(--scale)*56px);}
@media (max-width:860px){.testimonial-grid{grid-template-columns:1fr;}}
.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*14px);padding:calc(var(--scale)*26px) calc(var(--scale)*24px);}
.testimonial-card .quote{font-size:calc(var(--scale)*13.5px);line-height:1.85;opacity:0.8;margin-bottom:calc(var(--scale)*16px);}
.testimonial-card .who{font-size:calc(var(--scale)*12px);font-weight:600;}
.testimonial-card .who span{display:block;font-weight:400;opacity:0.55;font-size:calc(var(--scale)*11.5px);margin-top:calc(var(--scale)*2px);}

/* ---------- cta row (homepage bridge to subpages) ---------- */
.cta-row{display:flex;justify-content:center;gap:calc(var(--scale)*16px);flex-wrap:wrap;margin-top:calc(var(--scale)*48px);}
.cta-row .btn{margin-top:0;}

/* ---------- notice banner ---------- */
.notice{max-width:calc(var(--scale)*640px);margin:0 auto calc(var(--scale)*40px);background:rgba(242,201,76,0.18);border:1px solid rgba(242,201,76,0.5);border-radius:calc(var(--scale)*12px);padding:calc(var(--scale)*14px) calc(var(--scale)*20px);font-size:calc(var(--scale)*12.5px);line-height:1.8;text-align:center;}

/* ---------- tabs (category filters, auth toggle) ---------- */
.tabs{display:flex;gap:calc(var(--scale)*10px);justify-content:center;flex-wrap:wrap;margin-bottom:calc(var(--scale)*44px);}
.tab-btn{font-family:inherit;font-size:calc(var(--scale)*12.5px);letter-spacing:0.04em;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:calc(var(--scale)*8px) calc(var(--scale)*18px);cursor:pointer;opacity:0.7;transition:all 0.2s ease;}
.tab-btn:hover{opacity:1;}
.tab-btn.active{background:var(--olive-dark);border-color:var(--olive-dark);color:var(--cream);opacity:1;}

/* ---------- course cards ---------- */
.course-card .meta-row{display:flex;justify-content:space-between;gap:calc(var(--scale)*8px);margin-top:calc(var(--scale)*16px);font-size:calc(var(--scale)*11.5px);opacity:0.6;}
.course-card .price{font-size:calc(var(--scale)*13px);color:var(--olive-dark);font-weight:600;}
.course-card .btn{display:block;width:100%;text-align:center;cursor:pointer;background:none;font-family:inherit;}

/* ---------- shop: qty stepper + order flow ---------- */
.product-card{transition:border-color 0.2s ease, box-shadow 0.2s ease;}
.product-card.selected{border-color:var(--olive-dark);box-shadow:0 10px 24px rgba(51,64,28,0.1);}
.product-card .qty-row{display:flex;align-items:center;justify-content:space-between;margin-top:calc(var(--scale)*14px);}
.qty-stepper{display:flex;align-items:center;gap:calc(var(--scale)*10px);}
.qty-stepper button{width:calc(var(--scale)*26px);height:calc(var(--scale)*26px);border-radius:50%;border:1px solid var(--line);background:var(--cream);cursor:pointer;font-size:calc(var(--scale)*14px);line-height:1;color:var(--ink);}
.qty-stepper button:hover{border-color:var(--olive);}
.qty-stepper span{min-width:calc(var(--scale)*16px);text-align:center;font-size:calc(var(--scale)*13px);}

.order-bar{position:sticky;bottom:calc(var(--scale)*24px);left:0;right:0;max-width:calc(var(--scale)*1040px);margin:calc(var(--scale)*36px) auto 0;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(var(--scale)*16px);padding:calc(var(--scale)*16px) calc(var(--scale)*26px);border-radius:calc(var(--scale)*14px);font-size:calc(var(--scale)*13px);opacity:0;transform:translateY(12px);pointer-events:none;transition:all 0.25s ease;box-shadow:0 12px 30px rgba(51,64,28,0.25);}
.order-bar.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.order-bar a{border:1px solid var(--cream);border-radius:999px;padding:calc(var(--scale)*8px) calc(var(--scale)*18px);white-space:nowrap;}

.order-summary{background:var(--cream);border:1px solid var(--line);border-radius:calc(var(--scale)*10px);padding:calc(var(--scale)*14px) calc(var(--scale)*16px);font-size:calc(var(--scale)*12.5px);line-height:1.9;margin-bottom:calc(var(--scale)*22px);}
.order-summary .empty{opacity:0.5;}
.order-summary .os-row{display:flex;justify-content:space-between;}

/* ---------- auth (member login/register) ---------- */
.auth-wrap{max-width:calc(var(--scale)*420px);margin:0 auto;}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:calc(var(--scale)*16px);padding:calc(var(--scale)*36px) calc(var(--scale)*32px);}
.auth-tabs{display:flex;margin-bottom:calc(var(--scale)*26px);border-bottom:1px solid var(--line);}
.auth-tab{flex:1;text-align:center;padding:0 0 calc(var(--scale)*14px);font-size:calc(var(--scale)*13.5px);cursor:pointer;opacity:0.5;border-bottom:2px solid transparent;transition:all 0.2s ease;background:none;font-family:inherit;color:var(--ink);}
.auth-tab.active{opacity:1;font-weight:500;border-color:var(--olive-dark);}
.auth-panel{display:none;flex-direction:column;gap:calc(var(--scale)*18px);}
.auth-panel.active{display:flex;}
.auth-note{font-size:calc(var(--scale)*11.5px);opacity:0.55;line-height:1.8;margin-top:calc(var(--scale)*20px);text-align:center;}
.auth-error{font-size:calc(var(--scale)*12px);color:#B3261E;min-height:calc(var(--scale)*16px);}

/* ---------- member dashboard ---------- */
.member-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:calc(var(--scale)*16px);margin-bottom:calc(var(--scale)*16px);}
.member-header h1{font-family:'Noto Serif SC',serif;font-size:calc(clamp(22px,3vw,28px) * var(--scale));font-weight:600;}
.member-header .hi{font-size:calc(var(--scale)*13px);opacity:0.6;margin-top:calc(var(--scale)*6px);}
.logout-btn{font-size:calc(var(--scale)*12px);border:1px solid var(--ink);border-radius:999px;padding:calc(var(--scale)*8px) calc(var(--scale)*18px);cursor:pointer;background:none;font-family:inherit;color:var(--ink);transition:all 0.2s ease;}
.logout-btn:hover{background:var(--ink);color:var(--cream);}

.mcourse-card{position:relative;}
.mcourse-card.locked{opacity:0.65;}
.lock-badge{position:absolute;top:calc(var(--scale)*14px);right:calc(var(--scale)*14px);font-size:calc(var(--scale)*10.5px);background:var(--ink);color:var(--cream);padding:calc(var(--scale)*4px) calc(var(--scale)*10px);border-radius:999px;z-index:2;}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--cream);padding:calc(var(--scale)*48px) calc(var(--scale)*24px) calc(var(--scale)*32px);text-align:center;}
footer .logo{color:var(--cream);font-family:'Noto Serif SC',serif;font-size:calc(var(--scale)*16px);margin-bottom:calc(var(--scale)*12px);}
.footer-links{display:flex;gap:calc(var(--scale)*20px);justify-content:center;flex-wrap:wrap;margin-bottom:calc(var(--scale)*18px);font-size:calc(var(--scale)*12px);opacity:0.75;}
.footer-links a:hover{opacity:1;text-decoration:underline;}
footer p{font-size:calc(var(--scale)*12px);opacity:0.6;}

@media (prefers-reduced-motion: reduce){
  .walker-outer,.butterfly,.hero-text,.brushstroke,.scroll-cue{animation:none !important;opacity:1 !important;}
  #shepherd-o{left:30%;} #sheep-l-o{left:65%;} #sheep-m-o{left:10%;} #sheep-s-o{left:82%;} #sheep-xs-o{left:48%;}
}
