/* Taylor business page — Grove-inspired sections, landing-page visual system */

.page-subnav{
  position:sticky;
  top:var(--header-offset);
  z-index:90;
  background:rgba(246,242,234,.96);
  border-bottom:1px solid #ddd5c5;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.page-subnav-inner{
  max-width:1060px;
  margin:0 auto;
  display:flex;
  justify-content:center;
  gap:1.4rem;
  padding:.55rem 2rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.page-subnav a{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--pine);
  opacity:.72;
  font-weight:500;
  white-space:nowrap;
  transition:opacity .2s,color .2s,border-color .2s;
  padding:.45rem .15rem;
  border-bottom:2px solid transparent;
}
.page-subnav a:hover,.page-subnav a.active{opacity:1;color:var(--brass);border-bottom-color:var(--brass);}
#ringana,#hub,#opportunity,#why{scroll-margin-top:calc(var(--header-offset) + 3rem)}

.hero-door{
  display:flex;flex-wrap:wrap;gap:.55rem .85rem;
  margin-top:1.6rem;
}
.hero-door span{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  color:var(--brass-light);
  border:1px solid rgba(207,169,94,.38);
  background:rgba(20,37,25,.22);
  padding:.42rem .8rem;border-radius:99px;
}
.hero-door span:first-child{
  background:rgba(207,169,94,.16);
  box-shadow:0 0 0 0 rgba(207,169,94,.35);
  animation:doorGlow 2.8s ease-out infinite;
}
@keyframes doorGlow{
  0%{box-shadow:0 0 0 0 rgba(207,169,94,.4)}
  100%{box-shadow:0 0 0 12px rgba(207,169,94,0)}
}
.hero-door b{font-family:'Fraunces',serif;font-weight:500;letter-spacing:0;text-transform:none;font-size:1rem}

.company{background:var(--linen);}
.founding-spread{padding-bottom:2.8rem}
.faq{padding-bottom:2.6rem}
.company-stats{
  list-style:none;
  display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;
  gap:1rem;margin:1.35rem 0 1.15rem;
  align-items:stretch;
}
.company-stats li{
  background:var(--white);
  border:1px solid #e3d9c8;
  border-top:3px solid var(--brass);
  border-radius:3px;
  padding:1.35rem 1.1rem 1.25rem;
  text-align:center;
}
.company-stats li:first-child{
  background:var(--pine-deep);
  color:var(--linen);
  border-color:transparent;
  border-top-color:var(--brass-light);
}
.company-stats li:first-child b{color:var(--brass-light)}
.company-stats li:first-child span{opacity:.82}
.company-stats li:nth-child(2){transform:translateY(.55rem)}
.company-stats li:nth-child(4){transform:translateY(.35rem)}
.company-stats b{
  display:block;font-family:'Fraunces',serif;font-size:clamp(1.35rem,2.2vw,1.85rem);
  color:var(--brass);font-weight:400;line-height:1.15;margin-bottom:.35rem;
}
.company-stats span{display:block;font-size:.78rem;letter-spacing:.04em;opacity:.78;line-height:1.4}

.bubble-kicker{
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);font-weight:600;margin:0 0 .45rem;
}

.factory-stage{margin:0;width:100%}
.carousel-viewport{overflow:hidden;width:100%;touch-action:pan-y}
.carousel-viewport.factory-viewport{border-radius:3px}
.carousel-track{display:flex;width:100%;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.carousel-slide{flex:0 0 100%;width:100%;min-width:100%;box-sizing:border-box}
.factory-card{border-radius:3px;overflow:hidden}
.factory-body{
  display:block;
  padding:1.7rem 1.7rem 1.55rem;
  overflow:hidden;
}
.factory-copy{min-width:0}
.factory-shot{
  float:right;
  width:clamp(8.4rem,28vw,12.2rem);
  height:clamp(8.4rem,28vw,12.2rem);
  margin:.15rem 0 .85rem 1.25rem;
  border-radius:50%;
  overflow:hidden;
  background:#d7d2c4;
  shape-outside:circle(50%);
  box-shadow:0 12px 30px rgba(62,92,75,.2);
}
.factory-shot img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 40%;display:block;
}
.factory-from{background:var(--white);border:1px solid #e3d9c8}
.factory-from h3{font-size:1.65rem;margin:.05rem 0 .4rem}
.factory-copy > p:not(.bubble-kicker){margin:0 0 .85rem;max-width:44ch;font-size:1.02rem}
.factory-facts{list-style:none;margin:0 0 1.1rem}
.factory-facts li{
  position:relative;padding:.2rem 0 .2rem 1.1rem;font-size:.95rem;
}
.factory-facts li::before{
  content:'';position:absolute;left:0;top:.72rem;
  width:.45rem;height:.45rem;border-radius:50%;background:var(--brass);
}
.factory-go,.factory-back{
  display:inline-flex;align-items:center;gap:.65rem;
  background:none;border:0;padding:.2rem 0;cursor:pointer;
  font-family:'Work Sans',sans-serif;font-size:.82rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pine);
}
.factory-go span,.factory-back span{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.2rem;height:2.2rem;border-radius:50%;
  background:var(--brass);color:var(--white);font-size:1.05rem;
}
.factory-to{
  background:linear-gradient(168deg,var(--pine-deep) 0%,var(--pine) 70%);
  color:var(--linen);border:1px solid transparent;
}
.factory-to .bubble-kicker{color:var(--brass-light)}
.factory-to .factory-facts li::before{background:var(--brass-light)}
.factory-to h3{font-size:1.65rem;margin:.05rem 0 .4rem;color:var(--linen)}
.factory-figure{font-family:'Fraunces',serif;color:var(--brass-light);font-weight:400}
.factory-back{color:var(--brass-light)}
.factory-to .factory-shot{box-shadow:0 12px 30px rgba(0,0,0,.28)}

.biz-rules{background:var(--white);}
.company-rules{
  margin-top:0;
}
.company-rules h3{font-size:clamp(1.5rem,2.8vw,2rem);margin:0 0 1.4rem}
.company-rules-list{
  list-style:none;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  counter-reset:rule;
}
.company-rules-list li{
  counter-increment:rule;
  background:var(--linen);
  border:1px solid #e3d9c8;
  border-top:3px solid var(--brass);
  border-radius:3px;
  padding:1.55rem 1.2rem 1.3rem;
  position:relative;
}
.company-rules-list li::after{
  content:counter(rule, decimal-leading-zero);
  position:absolute;top:.7rem;right:.85rem;
  font-family:'Fraunces',serif;font-size:.85rem;color:var(--brass);opacity:.55;
}
.company-rules-list li:nth-child(even){transform:translateY(.5rem)}
.company-rules-list b{
  display:block;font-family:'Fraunces',serif;font-size:1.2rem;
  font-weight:400;color:var(--pine);margin-bottom:.45rem;
}
.company-rules-list p{margin:0;font-size:.92rem;line-height:1.5;opacity:.86}

.shelf{background:var(--linen-warm);}
.shelf-points{
  list-style:none;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;margin:0;
}
.shelf-points li{
  background:var(--white);
  border:1px solid #e3d9c8;
  border-radius:3px;
  padding:1.55rem 1.35rem 1.45rem;
}
.shelf-points em{
  display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);font-weight:600;font-style:normal;margin-bottom:.35rem;
}
.shelf-points b{
  display:block;font-family:'Fraunces',serif;font-size:1.35rem;
  font-weight:400;color:var(--pine);margin-bottom:.5rem;
}
.shelf-points p{margin:0;font-size:.92rem;line-height:1.5;opacity:.82}
.section-cta{margin:1.35rem 0 0}

.community{background:var(--linen);}
.community-merge{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:1.3rem;align-items:stretch;
}
.community-zoom{
  background:linear-gradient(168deg,var(--pine-deep) 0%,var(--pine) 80%);
  color:var(--linen);
  border-radius:3px;
  padding:2rem 1.7rem 1.8rem;
  display:flex;flex-direction:column;justify-content:center;
}
.community-live{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--brass-light);margin-bottom:.7rem;
}
.community-live i{
  width:.55rem;height:.55rem;border-radius:50%;background:#7dce8a;
  box-shadow:0 0 0 0 rgba(125,206,138,.7);
  animation:livePulse 1.8s ease-out infinite;
}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(125,206,138,.55)}
  100%{box-shadow:0 0 0 10px rgba(125,206,138,0)}
}
.community-zoom h3{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .45rem;color:var(--linen)}
.community-zoom p{margin:0;opacity:.9;font-size:1.02rem}
.community-letter{
  position:relative;
  background:linear-gradient(175deg,#fffcf7 0%,#f8f3ea 100%);
  border:1px solid #e3d9c8;
  border-radius:3px;
  padding:2.4rem 1.6rem 1.6rem;
  box-shadow:0 14px 36px rgba(62,92,75,.08);
}
.community-seal{
  position:absolute;top:-1.4rem;right:1.1rem;
  width:4.4rem;height:4.4rem;border-radius:50%;padding:4px;
  background:radial-gradient(circle at 32% 28%,#e8c86a,#b3893c 46%,#7a5418 100%);
  box-shadow:0 8px 18px rgba(62,92,75,.2);
}
.community-seal img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.community-stamps{
  display:grid;grid-template-columns:1fr 1fr;gap:.85rem;
}
.community-stamp{
  background:#fffdf8;
  border:1px solid rgba(179,137,60,.35);
  padding:1rem .9rem .95rem;text-align:center;
}
.community-stamp em{
  display:block;font-family:'Fraunces',serif;font-style:normal;
  font-size:1.45rem;color:var(--brass);line-height:1.1;margin:0 0 .15rem;
}
.community-stamp b{
  display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pine);font-weight:600;margin:0 0 .35rem;
}
.community-stamp p{margin:0;font-size:.82rem;line-height:1.4;opacity:.8}

.faq-doors{display:flex;flex-direction:column;gap:.7rem;margin-top:2.2rem}
.faq-item{display:flex;flex-direction:column;gap:.5rem}
.faq-door{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:.85rem 1.1rem;
  width:100%;text-align:left;cursor:pointer;
  background:var(--white);
  border:1px solid #e3d9c8;border-radius:3px;
  padding:1.15rem 1.2rem;
  font-family:'Work Sans',sans-serif;color:var(--ink);
  transition:transform .22s ease,border-color .22s,box-shadow .22s;
}
.faq-door:hover{transform:translateY(-3px);border-color:var(--brass);box-shadow:0 10px 24px rgba(62,92,75,.08)}
.faq-door.on{
  background:var(--pine-deep);color:var(--linen);border-color:var(--pine-deep);
}
.faq-door-kicker{
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);font-weight:600;
}
.faq-door.on .faq-door-kicker{color:var(--brass-light)}
.faq-door-title{
  display:block;font-family:'Fraunces',serif;font-size:1.35rem;font-weight:400;
}
.faq-door-hint{display:block;font-size:.82rem;opacity:.68;line-height:1.4;grid-column:2}
.faq-door.on .faq-door-hint{opacity:.82}
.faq-door::after{
  content:"+";
  grid-row:1 / span 2;grid-column:3;
  width:1.85rem;height:1.85rem;
  border-radius:50%;border:1px solid var(--brass);
  color:var(--brass);font-size:1.2rem;line-height:1.75rem;
  text-align:center;font-weight:400;
}
.faq-door.on::after{
  content:"–";
  background:rgba(246,242,234,.12);color:var(--linen);border-color:rgba(246,242,234,.35);
}
.faq-group{display:none}
.faq-group.on{display:flex;flex-direction:column;gap:.15rem}
.faq-group[hidden]{display:none!important}
.faq-group details{border-top:1px solid #ddd5c5;padding:1.05rem 0}
.faq-group details:last-child{border-bottom:1px solid #ddd5c5}
.faq-group summary{
  font-family:'Fraunces',serif;font-size:1.12rem;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{content:'+';font-size:1.5rem;color:var(--brass);flex-shrink:0}
.faq-group details[open] summary::after{content:'–'}
.faq-group details p{padding-top:.75rem;font-size:.97rem;max-width:64ch}

.hub-copy .btn{margin-top:.4rem}
.app-pair{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;margin:1.1rem 0 .4rem}
.app-pick{
  margin:0;padding:0;border:0;background:none;color:inherit;cursor:pointer;
  display:flex;align-items:center;gap:.75rem;text-align:left;font:inherit
}
.app-pick img{
  width:72px;height:72px;border-radius:22%;
  box-shadow:0 10px 22px rgba(12,24,18,.18);
  outline:2px solid transparent;outline-offset:3px;
  transition:outline-color .2s ease,transform .2s ease
}
.app-pick.is-on img{outline-color:var(--brass-light);transform:translateY(-2px)}
.app-pick span{display:flex;flex-direction:column;gap:.15rem}
.app-pick b{font-family:"Fraunces",serif;font-weight:400;font-size:1.15rem;line-height:1.1}
.app-pick small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.62}
.app-blurb{margin-top:.9rem}
.app-blurb.is-on{animation:appPop .38s ease}
.hub.is-shelf .phone-dock{display:none}
@keyframes appPop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.opportunity-grid{align-items:start}
.opportunity-card:nth-child(2){transform:translateY(.45rem)}
.opportunity-card:nth-child(4){transform:translateY(.45rem)}
.opportunity-card--featured{
  transform:translateY(-.35rem);
  min-height:10.6rem;
}

.split-grid{align-items:stretch}
.split-col:first-child{
  background:rgba(246,242,234,.1);
  transform:translateY(-.55rem);
}
.split-col:last-child{
  background:rgba(10,18,14,.28);
  transform:translateY(.55rem);
}

.fit-grid{gap:1.15rem}
.fit-yes,.fit-no{
  border-radius:3px;
  padding:1.8rem 1.65rem 1.6rem;
}
.fit-yes{
  background:var(--white);
  border:1px solid #e3d9c8;
  border-top:3px solid var(--pine);
}
.fit-no{
  background:var(--pine-deep);
  color:var(--linen);
  border:1px solid transparent;
  border-top:3px solid var(--brass-light);
}
.fit-no h3{color:var(--brass-light);border-bottom-color:var(--brass-light)}
.fit-no li::before{color:var(--brass-light)}

@media (max-width:900px){
  .company-stats{grid-template-columns:1fr 1fr;gap:.75rem}
  .company-stats li:nth-child(2),
  .company-stats li:nth-child(4),
  .company-rules-list li:nth-child(even),
  .opportunity-card:nth-child(2),
  .opportunity-card:nth-child(4),
  .opportunity-card--featured,
  .split-col:first-child,
  .split-col:last-child{transform:none}
  .company-rules-list{grid-template-columns:1fr 1fr}
  .factory-body{padding:1.3rem 1.2rem 1.2rem}
  .factory-shot{
    width:8.6rem;height:8.6rem;
    margin:.1rem 0 .7rem 1rem;
  }
  .factory-from h3,.factory-to h3{white-space:normal}
  .page-subnav{
    background:#fdfcf9;
    border-bottom:1px solid #cfc5b4;
    box-shadow:0 6px 18px rgba(62,92,75,.06);
  }
  .page-subnav-inner{padding:.2rem .25rem;gap:0;justify-content:stretch;}
  .page-subnav a{
    font-size:.58rem;
    letter-spacing:.04em;
    color:var(--pine);
    opacity:1;
    font-weight:600;
    padding:.85rem .2rem;
    flex:1 1 0;
    text-align:center;
  }
  .shelf-points{grid-template-columns:1fr}
  .community-merge{grid-template-columns:1fr}
}
@media (max-width:640px){
  .company-stats{grid-template-columns:1fr 1fr;gap:.65rem}
  .company-stats li{padding:1rem .75rem .9rem}
  .company-rules-list,.community-stamps{grid-template-columns:1fr}
  .factory-shot{width:7.8rem;height:7.8rem;margin:.05rem 0 .55rem .85rem}
  .faq-door{grid-template-columns:auto 1fr auto}
}
@media (prefers-reduced-motion:reduce){
  .community-live i,.hero-door span:first-child{animation:none}
  .carousel-track{transition:none}
}
