/* ===== Orly.Health — tokens ===== */
:root{
  --clay:#B5654A;        /* warm terracotta — primary accent */
  --clay-deep:#96502F;
  --moss:#4F5E3C;         /* deep moss green — grounding, herbal */
  --moss-soft:#7C8C63;
  --sand:#F7EFE0;         /* warm sand background */
  --sand-deep:#EEE1C8;
  --blush:#DDA99B;        /* dusty rose — nurturing accent */
  --gold:#C89B3C;         /* light / sun accent */
  --ink:#332A1E;          /* warm ink brown, not black */
  --ink-soft:#5B4E3B;
  --paper:#FDFAF3;
  --line:rgba(51,42,30,0.12);
  --accent-color:var(--gold);
  --radius-soft: 26px;
  --shadow: 0 18px 40px rgba(51,42,30,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Rubik', sans-serif;
  background:var(--sand);
  color:var(--ink);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Frank Ruhl Libre', serif; font-weight:700; line-height:1.25; color:var(--ink);}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1140px; margin:0 auto; padding:0 28px;}
section{position:relative;}

.eyebrow{
  font-size:0.8rem; letter-spacing:0.08em; font-weight:600; color:var(--clay-deep);
  margin-bottom:14px; display:inline-block;
}
.section-head{max-width:660px; margin:0 auto 50px; text-align:center;}
.section-head h2{font-size:clamp(1.7rem,2.8vw,2.35rem);}
.section-head p{margin-top:16px; color:var(--ink-soft); font-size:1.02rem;}
.section-head.light h2, .section-head.light .eyebrow{color:#FBF3E9;}
.section-head.light p{color:#EAD9C6;}

/* ===== buttons ===== */
.btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 30px;
  font-weight:600; font-size:0.95rem; border-radius:999px; border:1.5px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease; cursor:pointer;
}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--clay); color:var(--paper); box-shadow:0 10px 24px rgba(181,101,74,0.35);}
.btn-solid:hover{background:var(--clay-deep);}
.btn-outline{border-color:var(--ink); color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--sand);}
.btn-gold{background:var(--gold); color:var(--paper); box-shadow:0 10px 24px rgba(200,155,60,0.35);}
.btn-gold:hover{background:#A87F2C;}
.btn-light{border:1.5px solid #FBF3E9; color:#FBF3E9; margin-top:10px;}
.btn-light:hover{background:#FBF3E9; color:var(--moss);}

/* ===== decorative floating leaves ===== */
.leaf-field{position:fixed; inset:0; pointer-events:none; z-index:1; overflow:hidden;}
.leaf{position:absolute; fill:var(--moss-soft); opacity:0.08;}
.leaf-a{width:220px; height:220px; top:8%; left:-4%; transform:rotate(-18deg);}
.leaf-b{width:160px; height:160px; top:55%; right:-3%; transform:rotate(24deg); fill:var(--clay);}
.leaf-c{width:130px; height:130px; bottom:4%; left:6%; transform:rotate(50deg);}

/* ===== header ===== */
header{position:sticky; top:0; z-index:50; background:rgba(247,239,224,0.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1140px; margin:0 auto; position:relative; z-index:2;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Frank Ruhl Libre',serif; font-size:1.3rem; font-weight:700;}
.logo em{font-style:normal; color:var(--clay-deep);}
.logo-mark{width:32px; height:32px; display:block;}
.logo-mark svg{width:100%; height:100%;}
.logo-mark circle{fill:var(--moss);}
.logo-mark path{fill:var(--gold);}
nav ul{display:flex; align-items:center; gap:8px; list-style:none;}
nav a{font-size:0.92rem; font-weight:500; padding:9px 16px; border-radius:999px; transition:background .2s ease;}
nav a:hover{background:var(--sand-deep);}
nav a.nav-cta{background:var(--clay); color:var(--paper);}
nav a.nav-cta:hover{background:var(--clay-deep);}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{width:24px; height:2px; background:var(--ink); border-radius:2px;}
@media(max-width:920px){
  nav ul{
    position:fixed; inset:66px 0 0 0; background:var(--sand); flex-direction:column; align-items:flex-start;
    padding:36px 28px; gap:14px; transform:translateY(-115%); transition:transform .3s ease; height:100vh;
  }
  nav ul.open{transform:translateY(0);}
  nav a{font-size:1.1rem; width:100%;}
  .nav-toggle{display:flex;}
}

/* ===== hero ===== */
.hero{padding:80px 0 40px; position:relative; z-index:2;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
.hero h1{font-size:clamp(2.2rem,4vw,3.3rem); letter-spacing:-0.01em;}
.hero h1 em{font-style:italic; color:var(--clay-deep);}
.hero .lead{margin-top:24px; font-size:1.12rem; color:var(--ink-soft); max-width:48ch;}
.hero-actions{margin-top:34px; display:flex; gap:16px; flex-wrap:wrap;}

.hero-visual{position:relative; display:flex; align-items:center; justify-content:center; min-height:420px;}
.blob{
  width:340px; height:400px;
  background:linear-gradient(150deg, var(--moss-soft) 0%, var(--sand-deep) 55%, var(--blush) 130%);
  border-radius:63% 37% 54% 46% / 43% 51% 49% 57%;
  animation:morph 12s ease-in-out infinite;
  box-shadow:var(--shadow);
  display:flex; align-items:flex-end; justify-content:center; position:relative; z-index:2;
}
.blob-tag{
  background:rgba(51,42,30,0.8); color:var(--sand); font-size:0.72rem; padding:7px 14px;
  border-radius:999px; margin-bottom:26px;
}
.orbit-ring{
  position:absolute; width:430px; height:430px; border:1.5px dashed var(--clay); border-radius:50%;
  opacity:0.35; animation:spin 40s linear infinite; z-index:1;
}
.quote-chip{
  position:absolute; bottom:-6px; left:-18px; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-soft); padding:18px 22px; box-shadow:var(--shadow); z-index:3; max-width:200px;
}
.quote-chip p{font-family:'Frank Ruhl Libre',serif; font-style:italic; font-size:0.92rem; color:var(--ink-soft);}
@keyframes morph{
  0%,100%{border-radius:63% 37% 54% 46% / 43% 51% 49% 57%;}
  50%{border-radius:44% 56% 38% 62% / 58% 40% 60% 42%;}
}
@keyframes spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{min-height:340px;}
  .blob{width:260px; height:310px;}
  .orbit-ring{width:330px; height:330px;}
  .quote-chip{left:0;}
}

/* ===== branch divider ===== */
.branch-divider{position:relative; z-index:2; height:70px; margin-top:-10px;}
.branch-divider svg{width:100%; height:100%;}
.branch-line{fill:none; stroke:var(--moss-soft); stroke-width:2; stroke-linecap:round;}
.branch-line.clay{stroke:var(--clay);}
.branch-divider.flip{transform:scaleY(-1);}

/* ===== orbit nav (quick links) ===== */
.orbit-nav{padding:20px 28px 90px; position:relative; z-index:2;}
.orbit-title{text-align:center; margin-bottom:44px;}
.orbit-title h2{font-size:1.6rem;}
.orbit-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:34px 28px;}
.orbit-item{
  display:flex; flex-direction:column; align-items:center; gap:14px; width:170px; text-align:center;
  transition:transform .25s ease;
}
.orbit-item:hover{transform:translateY(-6px);}
.o-circle{
  width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:2rem; background:var(--paper); border:1.5px solid var(--line); box-shadow:var(--shadow);
}
.orbit-item h3{font-size:0.95rem; font-weight:600; font-family:'Rubik',sans-serif; color:var(--ink);}
.orbit-item.o1{margin-top:0;} .orbit-item.o2{margin-top:26px;} .orbit-item.o3{margin-top:0;}
.orbit-item.o4{margin-top:26px;} .orbit-item.o5{margin-top:0;}
.orbit-item.o1 .o-circle{background:#EDE9DD; border-color:var(--moss-soft);}
.orbit-item.o2 .o-circle{background:#F6E3DE; border-color:var(--blush);}
.orbit-item.o3 .o-circle{background:#F7EED0; border-color:var(--gold);}
.orbit-item.o4 .o-circle{background:#EAE7EF; border-color:#9C8FAE;}
.orbit-item.o5 .o-circle{background:#E7EEDD; border-color:var(--moss-soft);}
@media(max-width:600px){.orbit-item{width:130px;} .o-circle{width:68px; height:68px; font-size:1.6rem;} .orbit-item.o2,.orbit-item.o4{margin-top:0;}}

/* ===== treatments ===== */
.section-earth{padding:20px 0 90px; position:relative; z-index:2;}
.leaf-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.leaf-card{
  background:var(--paper); border-radius:var(--radius-soft); padding:38px 32px; border:1px solid var(--line);
  box-shadow:var(--shadow); position:relative; transition:transform .25s ease;
}
.leaf-card:hover{transform:translateY(-6px);}
.leaf-card.offset{transform:translateY(24px);}
.leaf-card.offset:hover{transform:translateY(18px);}
.leaf-icon{font-size:1.8rem; display:block; margin-bottom:14px;}
.leaf-card .tag{font-size:0.8rem; color:var(--clay-deep); font-weight:600; display:block; margin-bottom:10px;}
.leaf-card h3{font-size:1.2rem; margin-bottom:10px;}
.leaf-card p{color:var(--ink-soft); font-size:0.94rem;}
@media(max-width:920px){.leaf-cards{grid-template-columns:1fr;} .leaf-card.offset{transform:none;}}

/* ===== workshops ===== */
#workshops{padding:20px 0 90px; position:relative; z-index:2;}
.ws-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
.ws-card{
  background:var(--paper); border-radius:20px; padding:32px 30px; border-right:4px solid var(--moss-soft);
  box-shadow:0 8px 22px rgba(51,42,30,0.06); transition:transform .25s ease, box-shadow .25s ease;
}
.ws-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.ws-card.timely{border-right-color:var(--clay); background:linear-gradient(155deg, #FBEFE4 0%, var(--paper) 70%);}
.ws-card .kicker{font-size:0.78rem; letter-spacing:.04em; color:var(--moss); font-weight:700; margin-bottom:12px; display:block;}
.ws-card.timely .kicker{color:var(--clay-deep);}
.ws-card h4{font-size:1.15rem; margin-bottom:10px;}
.ws-card p{color:var(--ink-soft); font-size:0.94rem;}
@media(max-width:920px){.ws-grid{grid-template-columns:1fr;}}

/* ===== community / charity ===== */
.community{
  background:linear-gradient(150deg, var(--moss) 0%, #3E4A2F 100%);
  padding:100px 0; position:relative; z-index:2; color:#FBF3E9;
}
.community-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px; max-width:900px; margin:0 auto;}
.community-card{
  background:rgba(251,243,233,0.06); border:1px solid rgba(251,243,233,0.2); border-radius:var(--radius-soft);
  padding:36px 32px;
}
.sun-badge{font-size:1.8rem; display:block; margin-bottom:14px;}
.community-card h3{color:#FBF3E9; font-size:1.2rem; margin-bottom:12px;}
.community-card p{color:#E3DCC9; font-size:0.95rem;}
@media(max-width:920px){.community-grid{grid-template-columns:1fr;}}

/* ===== support groups ===== */
#support{padding:90px 0; position:relative; z-index:2;}
.support-card{
  max-width:760px; margin:0 auto; background:linear-gradient(155deg,#F6E3DE 0%, var(--paper) 65%);
  border-radius:var(--radius-soft); padding:44px 40px; border:1px solid var(--line); position:relative;
  text-align:center; box-shadow:var(--shadow);
}
.quote-mark{font-family:'Frank Ruhl Libre',serif; font-size:3.2rem; color:var(--blush); display:block; margin-bottom:6px;}
.support-card h3{font-size:1.3rem; margin-bottom:14px;}
.support-card p{color:var(--ink-soft); font-size:0.98rem; margin-bottom:22px;}

/* ===== shop ===== */
#shop{padding:90px 0 100px; position:relative; z-index:2;}
.shop-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
.shop-copy .eyebrow{color:var(--gold);}
.shop-copy h2{font-size:1.9rem; margin-bottom:18px;}
.shop-copy p{color:var(--ink-soft); margin-bottom:28px; font-size:1.02rem;}
.shop-visual{
  aspect-ratio:1/1; max-width:320px; margin:0 auto; position:relative; display:flex; align-items:center; justify-content:center;
}
.shop-ring{
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #E9EEDA 0%, var(--moss-soft) 50%, var(--moss) 120%);
  box-shadow:var(--shadow);
}
.shop-visual span{position:relative; font-size:4rem; z-index:2;}
@media(max-width:920px){.shop-grid{grid-template-columns:1fr;}}

/* ===== contact ===== */
#contact{padding:90px 0 60px; background:var(--sand-deep); position:relative; z-index:2;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.field{margin-bottom:20px;}
.field label{display:block; font-size:0.85rem; font-weight:600; margin-bottom:8px; color:var(--ink-soft);}
.field input, .field select, .field textarea{
  width:100%; padding:13px 18px; border:1px solid var(--line); background:var(--paper);
  font-family:'Rubik',sans-serif; font-size:0.96rem; color:var(--ink); border-radius:14px;
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--clay); outline-offset:1px;}
.sent{display:none; margin-top:14px; color:var(--moss); font-weight:600;}
.contact-info h3{font-size:1.3rem; margin-bottom:18px;}
.info-row{display:flex; gap:14px; margin-bottom:18px; align-items:flex-start;}
.info-row .ic{
  width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:var(--moss); color:var(--sand);
  display:flex; align-items:center; justify-content:center; font-size:0.9rem;
}
.info-row div p{color:var(--ink-soft); font-size:0.94rem;}
.info-row a{color:var(--ink); font-weight:600;}
.socials{display:flex; gap:14px; margin-top:26px;}
.socials a{
  width:44px; height:44px; border:1px solid var(--ink); border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:0.9rem; transition:all .25s ease;
}
.socials a:hover{background:var(--ink); color:var(--sand);}
@media(max-width:920px){.contact-grid{grid-template-columns:1fr;}}

/* ===== footer ===== */
footer{background:var(--ink); color:var(--sand); padding:34px 0; position:relative; z-index:2;}
.footer-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.footer-logo{color:var(--sand);}
.footer-logo .logo-mark circle{fill:var(--gold);}
.footer-logo em{color:var(--gold);}
footer p{font-size:0.85rem; color:#D8CDB8;}
.site-credit{
  margin-top:22px; padding-top:18px; border-top:1px solid rgba(251,243,233,0.14);
  text-align:center; font-size:0.82rem; color:#D8CDB8;
}
.site-credit a:hover{opacity:0.85;}

/* ===== whatsapp float ===== */
.wa-float{
  position:fixed; bottom:26px; left:26px; width:56px; height:56px; border-radius:50%;
  background:#3E4A2F; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; box-shadow:0 10px 26px rgba(51,42,30,0.35); z-index:60; transition:transform .2s ease;
}
.wa-float:hover{transform:scale(1.08);}

/* ===== reveal on scroll ===== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .blob, .orbit-ring{animation:none;}
  html{scroll-behavior:auto;}
}
