/* CampCree Clean Pro v1 — reference-inspired, CampCree-owned theme */
html[data-site-theme="clean-pro"]{
  --max:1080px;
  --cp-max:1080px;
  --cp-header:68px;
  --cp-radius:18px;
  --cp-radius-sm:12px;
  --cp-shadow:0 18px 55px rgba(18,18,20,.08);
  --cp-ease:cubic-bezier(.22,.72,.18,1);
}
html[data-site-theme="clean-pro"] body{
  background:var(--bg);
  background-image:none;
}
html[data-site-theme="clean-pro"] .shell{width:min(calc(100% - 36px),var(--cp-max))}
html[data-site-theme="clean-pro"] .section{padding:clamp(72px,9vw,118px) 0}
html[data-site-theme="clean-pro"] .section-head{
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  margin-bottom:clamp(28px,4vw,44px)
}
html[data-site-theme="clean-pro"] .section-head>div{margin-inline:auto}
html[data-site-theme="clean-pro"] .section-copy{margin-inline:auto;max-width:660px}
html[data-site-theme="clean-pro"] .eyebrow{justify-content:center}
html[data-site-theme="clean-pro"] .h2{
  max-width:820px;
  font-size:clamp(32px,4.6vw,56px);
  line-height:1.06;
  letter-spacing:-.045em
}

/* Reference-like simple fixed header */
html[data-site-theme="clean-pro"] .topbar-wrap{
  position:fixed;
  top:0;left:0;right:0;
  padding:0 18px;
  background:transparent;
  transition:background .35s ease,box-shadow .35s ease;
}
html[data-site-theme="clean-pro"] .topbar{
  width:min(100%,var(--cp-max));
  min-height:var(--cp-header);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  gap:18px
}
html[data-site-theme="clean-pro"].site-scrolled .topbar-wrap{
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 1px 0 var(--line)
}
html[data-site-theme="clean-pro"] .brand{gap:9px}
html[data-site-theme="clean-pro"] .brand-mark{
  width:34px;height:34px;
  border-radius:50%;
  box-shadow:none
}
html[data-site-theme="clean-pro"] .brand-name{font-size:16px;font-weight:800}
html[data-site-theme="clean-pro"] .desktop-nav{gap:2px;margin-left:auto}
html[data-site-theme="clean-pro"] .nav-link{
  min-height:36px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:680;
  color:var(--text-2)
}
html[data-site-theme="clean-pro"] .nav-link:hover,
html[data-site-theme="clean-pro"] .nav-link.active{
  color:var(--text);
  background:color-mix(in srgb,var(--accent) 8%,var(--surface))
}
html[data-site-theme="clean-pro"] .top-actions{gap:6px}
html[data-site-theme="clean-pro"] .top-actions .btn.round,
html[data-site-theme="clean-pro"] .lang-switch{
  min-height:38px;height:38px;
  border-radius:999px;
  box-shadow:none
}
html[data-site-theme="clean-pro"] .top-actions .btn.round{width:38px}
html[data-site-theme="clean-pro"] .lang-switch{padding:3px}
html[data-site-theme="clean-pro"] .lang-switch button{height:30px;min-width:30px;border-radius:999px}

/* Clean Pro mobile menu */
.cp-menu-toggle{display:none!important}
.cp-mobile-menu{display:none}
html[data-site-theme="clean-pro"] .cp-mobile-menu{
  position:fixed;z-index:69;
  top:68px;left:12px;right:12px;
  max-height:calc(100svh - 86px);
  overflow:auto;
  padding:10px;
  border:1px solid var(--line);
  border-radius:20px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  box-shadow:0 24px 70px rgba(0,0,0,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform:translateY(-12px) scale(.985);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s var(--cp-ease),transform .28s var(--cp-ease),visibility .28s
}
html[data-site-theme="clean-pro"] .cp-mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
html[data-site-theme="clean-pro"] .cp-mobile-menu .cp-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:6px}
html[data-site-theme="clean-pro"] .cp-mobile-menu button{
  min-height:46px;padding:0 13px;border:0;border-radius:13px;
  background:var(--surface-2);color:var(--text);text-align:left;font-weight:720
}
html[data-site-theme="clean-pro"] .cp-mobile-menu button.active{background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent)}

/* Hero — image left / content right, like the reference */
html[data-site-theme="clean-pro"] .hero{
  min-height:100svh;
  padding:calc(var(--cp-header) + 44px) 0 62px;
  align-items:center
}
html[data-site-theme="clean-pro"] .hero-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  grid-template-areas:"visual copy";
  gap:clamp(38px,7vw,86px)
}
html[data-site-theme="clean-pro"] .hero-copy{grid-area:copy}
html[data-site-theme="clean-pro"] .hero-visual{
  grid-area:visual;
  min-height:clamp(420px,58vw,610px);
  border:0;
  border-radius:26px;
  box-shadow:none;
  background:var(--surface-2)
}
html[data-site-theme="clean-pro"] .hero-visual::after{
  background:linear-gradient(to top,rgba(0,0,0,.36),transparent 48%)
}
html[data-site-theme="clean-pro"] .hero-kicker{
  min-height:auto;
  padding:0;
  margin-bottom:16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--accent);
  font-size:11px;
  font-weight:780;
  letter-spacing:.08em;
  text-transform:uppercase
}
html[data-site-theme="clean-pro"] .hero-dot{width:6px;height:6px;box-shadow:none}
html[data-site-theme="clean-pro"] .hero h1{
  max-width:560px;
  font-size:clamp(48px,6.7vw,82px);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:860
}
html[data-site-theme="clean-pro"] .hero h1 em{display:inline;color:var(--accent)}
html[data-site-theme="clean-pro"] .hero-lead{
  max-width:560px;
  margin-top:20px;
  font-size:clamp(15px,1.5vw,18px);
  line-height:1.72
}
html[data-site-theme="clean-pro"] .hero-actions{margin-top:24px;gap:10px}
html[data-site-theme="clean-pro"] .btn{
  border-radius:12px;
  box-shadow:none
}
html[data-site-theme="clean-pro"] .btn.primary{
  background:var(--accent);
  box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 18%,transparent)
}
html[data-site-theme="clean-pro"] .hero-scroll{top:14px;right:14px;width:42px;height:42px}
html[data-site-theme="clean-pro"] .hero-float{
  left:14px;right:14px;bottom:14px;
  padding:13px 14px;
  border-radius:14px;
  background:rgba(10,10,12,.52)
}

/* About values — clean category-like row */
html[data-site-theme="clean-pro"] .about-layout{grid-template-columns:1fr;gap:42px}
html[data-site-theme="clean-pro"] .about-note{
  position:static;
  max-width:760px;
  margin-inline:auto;
  text-align:center
}
html[data-site-theme="clean-pro"] .about-note .eyebrow{justify-content:center}
html[data-site-theme="clean-pro"] .about-big{
  font-size:clamp(32px,4.8vw,58px);
  line-height:1.05
}
html[data-site-theme="clean-pro"] .about-big span{color:var(--accent)}
html[data-site-theme="clean-pro"] .about-note .section-copy{margin-inline:auto}
html[data-site-theme="clean-pro"] .about-cards{grid-template-columns:repeat(4,1fr);gap:20px}
html[data-site-theme="clean-pro"] .info-card{
  padding:12px 8px 18px;
  text-align:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none
}
html[data-site-theme="clean-pro"] .info-number{
  display:grid;place-items:center;
  width:54px;height:54px;margin:0 auto 18px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  color:var(--accent);
  font-size:18px;
  letter-spacing:-.03em
}
html[data-site-theme="clean-pro"] .info-card h3{margin:0 0 7px;font-size:16px}
html[data-site-theme="clean-pro"] .info-card p{font-size:13px;line-height:1.65}

/* Programs — reference-like compact product grid */
html[data-site-theme="clean-pro"] .horizontal-cards{
  grid-auto-flow:row;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-columns:auto;
  overflow:visible;
  gap:16px;
  padding:0
}
html[data-site-theme="clean-pro"] .program-card{
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-2);
  box-shadow:none
}
html[data-site-theme="clean-pro"] .program-card:hover{transform:translateY(-4px)}
html[data-site-theme="clean-pro"] .program-media{height:auto;aspect-ratio:4/3;border-radius:14px}
html[data-site-theme="clean-pro"] .program-body{padding:15px 5px 7px}
html[data-site-theme="clean-pro"] .program-title{font-size:19px}
html[data-site-theme="clean-pro"] .program-copy{font-size:12.5px}

/* Explore — balanced visual grid */
html[data-site-theme="clean-pro"] .explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
html[data-site-theme="clean-pro"] .explore-card:nth-child(n){grid-column:auto;min-height:320px}
html[data-site-theme="clean-pro"] .explore-card{
  border:0;
  border-radius:20px;
  box-shadow:none;
  background:var(--surface-2)
}
html[data-site-theme="clean-pro"] .explore-image{inset:0;border-radius:20px}
html[data-site-theme="clean-pro"] .explore-content{left:18px;right:18px;bottom:18px}

/* Stories / gallery */
html[data-site-theme="clean-pro"] #posts .shell{max-width:900px}
html[data-site-theme="clean-pro"] .post-feed{gap:18px}
html[data-site-theme="clean-pro"] #posts .post{
  border-radius:18px;
  box-shadow:none;
  border:1px solid var(--line)
}
html[data-site-theme="clean-pro"] .gallery-toolbar{justify-content:center;flex-wrap:wrap}
html[data-site-theme="clean-pro"] .gallery-grid{gap:10px}
html[data-site-theme="clean-pro"] .gallery-item{border-radius:14px;box-shadow:none}

/* Reviews */
html[data-site-theme="clean-pro"] .quote-grid{gap:16px}
html[data-site-theme="clean-pro"] .quote-card{
  min-height:220px;
  padding:26px;
  border-radius:18px;
  box-shadow:none;
  background:var(--surface-2)
}
html[data-site-theme="clean-pro"] .quote-mark{color:var(--accent)}

/* Partners */
html[data-site-theme="clean-pro"] .partner-row{gap:12px}
html[data-site-theme="clean-pro"] .partner-card{
  min-height:150px;
  border-radius:16px;
  box-shadow:none;
  background:var(--surface);
  transition:transform .3s var(--cp-ease),border-color .3s ease
}
html[data-site-theme="clean-pro"] .partner-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}

/* Timeline */
html[data-site-theme="clean-pro"] .timeline{max-width:820px;margin-inline:auto}
html[data-site-theme="clean-pro"] .timeline-card{
  border-radius:16px;
  box-shadow:none;
  background:var(--surface-2)
}
html[data-site-theme="clean-pro"] .timeline-dot{background:var(--accent);box-shadow:0 0 0 5px var(--bg),0 0 0 6px color-mix(in srgb,var(--accent) 28%,var(--line))}

/* Contact — simple CampCree brand block */
html[data-site-theme="clean-pro"] .contact-box{
  border:0;
  border-radius:24px;
  background:color-mix(in srgb,var(--accent) 92%,#8f1f2b);
  box-shadow:none
}
html[data-site-theme="clean-pro"] .contact-box::before{display:none}
html[data-site-theme="clean-pro"] .contact-directory{border-radius:18px}
html[data-site-theme="clean-pro"] .contact-option{border-radius:12px}

/* Footer */
html[data-site-theme="clean-pro"] .site-footer{padding-top:18px}
html[data-site-theme="clean-pro"] .footer-main{
  grid-template-columns:1.25fr .75fr;
  padding:54px 0 42px;
  border-top:1px solid var(--line);
  border-bottom:0
}
html[data-site-theme="clean-pro"] .footer-brand-block h3{font-size:clamp(24px,3.5vw,38px)}
html[data-site-theme="clean-pro"] .footer-bottom{border-top:1px solid var(--line);padding:18px 0 0}

/* Scroll reveal tuned to the reference: top/left/right, 60px, 2.5s, 400ms base delay. */
html[data-site-theme="clean-pro"] .reveal{
  opacity:0;
  transform:translate3d(var(--reveal-x,var(--cp-rx,0px)),var(--reveal-y,var(--cp-ry,-60px)),0);
  filter:blur(3px);
  transition-property:opacity,transform,filter;
  transition-duration:2500ms,2500ms,1800ms;
  transition-timing-function:cubic-bezier(.5,0,0,1),cubic-bezier(.5,0,0,1),ease;
  transition-delay:var(--reveal-delay,var(--cp-delay,400ms));
  will-change:opacity,transform,filter
}
html[data-site-theme="clean-pro"] .reveal.visible{opacity:1;transform:none;filter:none}

/* Theme picker */
.theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-option{
  position:relative;display:block;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;transition:.25s var(--ease)
}
.theme-option:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.theme-option input{position:absolute;opacity:0;pointer-events:none}
.theme-option.is-active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.theme-option strong{display:block;font-size:15px}
.theme-option small{display:block;margin-top:5px;color:var(--text-3);line-height:1.5}
.theme-swatch{height:76px;margin-bottom:12px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.theme-swatch.classic{background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:inset 0 0 0 12px color-mix(in srgb,var(--accent) 5%,transparent)}
.theme-swatch.clean-pro{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 9%,#fff),#fff 45%,color-mix(in srgb,var(--accent) 18%,#fff))}
html[data-theme="dark"] .theme-swatch.clean-pro{background:linear-gradient(90deg,#171719,#101011 50%,color-mix(in srgb,var(--accent) 20%,#151516))}
.theme-coming{opacity:.48;cursor:not-allowed}

@media(max-width:980px){
  html[data-site-theme="clean-pro"] .hero-grid{grid-template-columns:1fr;grid-template-areas:"visual" "copy";gap:34px}
  html[data-site-theme="clean-pro"] .hero-visual{min-height:520px}
  html[data-site-theme="clean-pro"] .hero-copy{max-width:720px;margin-inline:auto;text-align:center}
  html[data-site-theme="clean-pro"] .hero-kicker,html[data-site-theme="clean-pro"] .hero-actions{justify-content:center}
  html[data-site-theme="clean-pro"] .hero-lead{margin-inline:auto}
  html[data-site-theme="clean-pro"] .about-cards{grid-template-columns:repeat(2,1fr)}
  html[data-site-theme="clean-pro"] .horizontal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  html[data-site-theme="clean-pro"]{--cp-header:58px}
  html[data-site-theme="clean-pro"] .shell{width:calc(100% - 24px)}
  html[data-site-theme="clean-pro"] .topbar-wrap{position:fixed;padding:0 10px}
  html[data-site-theme="clean-pro"] .topbar{min-height:58px;padding:0;background:transparent}
  html[data-site-theme="clean-pro"] .desktop-nav{display:none}
  html[data-site-theme="clean-pro"] .cp-menu-toggle{display:grid!important;width:38px;height:38px;min-height:38px;padding:0;border-radius:50%}
  html[data-site-theme="clean-pro"] .top-actions{order:3;margin-left:auto}
  html[data-site-theme="clean-pro"] .cp-menu-toggle{order:4}
  html[data-site-theme="clean-pro"] .top-actions .search-top,
  html[data-site-theme="clean-pro"] .top-actions .notify-btn,
  html[data-site-theme="clean-pro"] #themeBtn{display:none!important}
  html[data-site-theme="clean-pro"] .brand-name{font-size:14px}
  html[data-site-theme="clean-pro"] .hero{padding:86px 0 44px}
  html[data-site-theme="clean-pro"] .hero-grid{gap:28px}
  html[data-site-theme="clean-pro"] .hero-visual{min-height:clamp(330px,96vw,470px);border-radius:22px}
  html[data-site-theme="clean-pro"] .hero-copy{text-align:left;margin:0}
  html[data-site-theme="clean-pro"] .hero-kicker,html[data-site-theme="clean-pro"] .hero-actions{justify-content:flex-start}
  html[data-site-theme="clean-pro"] .hero h1{font-size:clamp(46px,15vw,68px)}
  html[data-site-theme="clean-pro"] .hero-lead{margin-inline:0;font-size:15px}
  html[data-site-theme="clean-pro"] .section{padding:64px 0}
  html[data-site-theme="clean-pro"] .section-head{align-items:center;text-align:center;margin-bottom:26px}
  html[data-site-theme="clean-pro"] .h2{font-size:clamp(31px,10vw,45px)}
  html[data-site-theme="clean-pro"] .about-cards{grid-template-columns:1fr 1fr;gap:12px}
  html[data-site-theme="clean-pro"] .info-card{padding-inline:4px}
  html[data-site-theme="clean-pro"] .horizontal-cards{grid-template-columns:1fr;gap:14px}
  html[data-site-theme="clean-pro"] .program-media{aspect-ratio:16/10}
  html[data-site-theme="clean-pro"] .explore-grid{grid-template-columns:1fr}
  html[data-site-theme="clean-pro"] .explore-card:nth-child(n){min-height:310px}
  html[data-site-theme="clean-pro"] .quote-grid,html[data-site-theme="clean-pro"] .partner-row{grid-template-columns:1fr}
  html[data-site-theme="clean-pro"] .contact-box{padding:18px;border-radius:20px}
  html[data-site-theme="clean-pro"] .footer-main{grid-template-columns:1fr;padding:42px 0 32px}
  html[data-site-theme="clean-pro"] .bottom-nav{display:none!important}
  html[data-site-theme="clean-pro"] .site-footer{padding-bottom:34px}
  .theme-picker{grid-template-columns:1fr}
}

@media(max-width:430px){
  html[data-site-theme="clean-pro"] .top-actions .lang-switch{display:none}
  html[data-site-theme="clean-pro"] #profileBtn{width:36px;height:36px;min-height:36px}
  html[data-site-theme="clean-pro"] .cp-menu-toggle{width:36px;height:36px;min-height:36px}
  html[data-site-theme="clean-pro"] .about-cards{grid-template-columns:1fr}
  html[data-site-theme="clean-pro"] .cp-mobile-menu .cp-menu-links{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html[data-site-theme="clean-pro"] .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}
