/* Liminal Growth Partners — static production stylesheet */
:root{
  --ink:#17232D;--ivory:#F7F4EE;--stone:#E4E0D8;--sage:#74847A;--amber:#BF7C47;
  --max:86rem;--display:"Manrope",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(var(--max),calc(100% - 3rem));margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;background:var(--amber);color:var(--ivory);padding:.8rem 1rem;transform:translateY(-180%);transition:.2s}
.skip-link:focus{transform:none}
.amber,.amber-text{color:var(--amber)!important}

/* Logo / nav */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.96);border-bottom:1px solid transparent;transition:.25s;backdrop-filter:blur(12px)}
.site-header.scrolled{border-color:var(--stone)}
.header-inner{width:min(var(--max),calc(100% - 3rem));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.15rem 0}
.wordmark{text-decoration:none;font-family:var(--display);line-height:1;display:inline-block}
.wordmark-name{display:block;font-size:1.06rem;font-weight:600;letter-spacing:.22em}
.wordmark-sub{display:block;margin-top:.42rem;font-size:.625rem;font-weight:500;letter-spacing:.3em;color:var(--sage)}
.main-nav{display:flex;align-items:center;gap:2rem}
.main-nav a,.site-footer nav a{font-family:var(--display);font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--sage);transition:.2s}
.main-nav a:hover,.site-footer nav a:hover{color:var(--ink)}
.main-nav .nav-cta{background:var(--ink);color:var(--ivory);padding:.9rem 1.4rem;letter-spacing:.14em}
.main-nav .nav-cta:hover{background:var(--amber);color:var(--ivory)}
.menu-toggle{display:none;border:0;background:transparent;font-family:var(--display);font-size:.6875rem;font-weight:600;letter-spacing:.18em;color:var(--ink);cursor:pointer}

/* Shared */
.section{scroll-margin-top:5.5rem}
.section>.container{padding-top:7rem;padding-bottom:7rem}
.light{background:var(--ivory);color:var(--ink)}
.stone{background:var(--stone);color:var(--ink)}
.dark{background:var(--ink);color:var(--ivory)}
.section-heading{max-width:none;width:100%}
.eyebrow{margin:0;display:flex;align-items:center;gap:.75rem;font-family:var(--display);font-size:.6875rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--sage)}
.eyebrow span{width:1.5rem;height:1px;background:var(--amber);flex:none}
.eyebrow.dark{color:rgba(228,224,216,.62)}
.section-heading h2{font-family:var(--display);font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.08;font-weight:600;letter-spacing:-.025em;margin:1.5rem 0 0}
.section-heading>p:last-child{max-width:none;margin:1.5rem 0 0;color:var(--sage);font-size:1.0625rem;line-height:1.7}
.dark .section-heading>p:last-child{color:rgba(228,224,216,.75)}
.caption{margin:0;color:var(--sage);font-family:var(--display);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
.caption.dim{color:rgba(228,224,216,.58)}
.button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.75rem;text-decoration:none;font-family:var(--display);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.button.primary{background:var(--amber);color:var(--ivory)}
.button.primary:hover{background:var(--ivory);color:var(--ink)}
.text-link{display:inline-block;font-family:var(--display);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.text-link:hover{color:var(--amber)}
.text-link.light{color:rgba(228,224,216,.8)}
.text-link.light:hover{color:var(--ivory)}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--ivory)}
.hero-inner{position:relative;padding-top:7rem;padding-bottom:7.5rem}
.hero-path{position:absolute;inset:0 0 0 auto;width:64%;opacity:.62}
.hero-path svg{width:100%;height:100%}
.path{fill:none;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.6s cubic-bezier(.65,0,.35,1) forwards}
.sage-path{stroke:var(--sage);stroke-width:1;opacity:.38}
.p2{animation-delay:.2s;opacity:.3}.p3{animation-delay:.4s;opacity:.22}.p4{animation-delay:.5s}
.active-path{stroke:var(--amber);stroke-width:1.75}
@keyframes draw{to{stroke-dashoffset:0}}
.hero h1{position:relative;margin:2.25rem 0 0;max-width:61rem;font-family:var(--display);font-size:clamp(2.65rem,6.7vw,4.5rem);line-height:1.03;font-weight:600;letter-spacing:-.035em}
.hero h1 strong{display:block;color:var(--amber);font-weight:600}
.hero-copy{position:relative;margin:2.5rem 0 0;max-width:42rem;color:rgba(228,224,216,.82);font-size:1.125rem;line-height:1.68}
.hero-actions{position:relative;margin-top:3rem;display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2rem}
.category-row{position:relative;list-style:none;padding:1.75rem 0 0;margin:5rem 0 0;border-top:1px solid rgba(247,244,238,.12);display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;color:rgba(228,224,216,.58);font-family:var(--display);font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.category-row li:not(:first-child)::before{content:"";display:inline-block;width:.25rem;height:.25rem;margin:0 1.2rem 0 0;background:var(--amber);vertical-align:middle}

/* Situations */
.situation-grid{margin-top:4rem;border-top:1px solid var(--stone);display:grid;grid-template-columns:repeat(3,1fr)}
.situation-grid article{padding:2rem;border-bottom:1px solid var(--stone);border-right:1px solid var(--stone)}
.situation-grid article:nth-child(3n){border-right:0}
.situation-grid b,.service-title b,.steps b{font-family:var(--display);color:var(--sage);font-size:.6875rem;letter-spacing:.2em}
.situation-grid h3{font-family:var(--display);font-size:1.22rem;line-height:1.3;margin:1.25rem 0 0;font-weight:600;letter-spacing:-.015em}
.situation-grid i{display:block;width:2rem;height:1px;background:var(--amber);margin-top:1.25rem;transition:.3s}
.situation-grid article:hover i{width:4rem}
.situation-grid p{margin:1.25rem 0 0;color:var(--sage);font-size:.9375rem;line-height:1.75}

/* Two sides */
.two-col{margin-top:4rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.audience-card{background:var(--ivory);border:1px solid var(--stone);padding:2.5rem}
.audience-card h3{font-family:var(--display);font-size:1.5rem;line-height:1.35;letter-spacing:-.02em;margin:1.25rem 0 0}
.audience-card ul{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--stone)}
.audience-card li{border-bottom:1px solid var(--stone);padding:.9rem 0;font-size:.9375rem;display:flex;gap:1rem;align-items:baseline}
.audience-card li::before{content:"";width:.25rem;height:.25rem;background:var(--amber);flex:none}
.shared-center{margin-top:1.5rem;background:var(--ink);color:var(--ivory);display:grid;grid-template-columns:1fr 20rem;align-items:center;gap:2.5rem;padding:3rem}
.shared-center h3{font-family:var(--display);font-size:2rem;letter-spacing:-.02em;margin:1rem 0 0}
.shared-center p:last-child{max-width:40rem;color:rgba(228,224,216,.75);font-size:1.0625rem;line-height:1.7}
.convergence{width:100%;fill:none}
.convergence path{stroke:var(--sage);stroke-width:1;opacity:.48}
.convergence .active{stroke:var(--amber);stroke-width:1.75;opacity:1}
.convergence .threshold{stroke:var(--stone);opacity:.55}

/* Services */
.services{margin-top:4rem}
.service{display:grid;grid-template-columns:1fr minmax(0,26rem);gap:4rem;border-top:1px solid var(--stone);padding:4rem 0}
.service:last-child{border-bottom:1px solid var(--stone)}
.service-title{display:flex;gap:1.25rem;align-items:baseline}
.service-title b{color:var(--amber)}
.service-title h3{font-family:var(--display);font-size:1.5rem;line-height:1.25;letter-spacing:-.02em;margin:0}
.service-intro>p{max-width:42rem;color:var(--sage);font-size:.9375rem;line-height:1.75;margin:1.5rem 0 0}
.service-detail{display:grid;gap:2rem}
.tags{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.tags li{border:1px solid rgba(228,224,216,.78);padding:.45rem .72rem;font-family:var(--display);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.credential{border-left:2px solid var(--amber);padding-left:1.25rem}
.credential p:last-child{margin:.75rem 0 0;color:var(--sage);font-size:.9375rem;line-height:1.75}

/* Process */
.progression{position:relative;height:2.5rem;margin:3.5rem 0 0}
.progression>span{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(23,35,45,.14)}
.progression b{position:absolute;top:.2rem;width:1px;height:2rem;background:var(--amber)}
.progression b:nth-of-type(1){left:25%}.progression b:nth-of-type(2){left:50%}.progression b:nth-of-type(3){left:75%}
.progression b::after{content:"";position:absolute;width:6px;height:6px;background:var(--amber);left:-2.5px;top:calc(50% - 3px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,35,45,.12)}
.steps article{padding:2rem;border-right:1px solid rgba(23,35,45,.12);border-bottom:1px solid rgba(23,35,45,.12)}
.steps article:last-child{border-right:0}
.steps b{color:var(--amber)}
.steps h3{font-family:var(--display);font-size:1.22rem;margin:1.25rem 0 0}
.steps p{color:var(--sage);font-size:.9375rem;line-height:1.75}

/* About */
.about-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr 26rem;gap:5rem}
.about-grid>div{max-width:43rem}
.about-grid p{color:var(--sage);font-size:1.0625rem;line-height:1.8;margin:0 0 1.5rem}
.about-grid .lead-body{color:var(--ink)}
.about-grid .text-link{margin-top:1.2rem}
.about-grid figure{margin:0}
.about-grid img{aspect-ratio:4/5;width:100%;object-fit:cover;border:1px solid var(--stone)}
.about-grid figcaption{margin-top:1rem}

/* Schedule */
.schedule-grid{margin-top:3.5rem;display:grid;grid-template-columns:1fr 26rem;gap:5rem}
.schedule-grid>div>p{color:rgba(228,224,216,.72);font-size:.9375rem;line-height:1.75;max-width:32rem;margin-top:2.5rem}
.threshold-rule{display:grid;grid-template-columns:1fr 1px 1px 1fr;gap:1.1rem;align-items:center;max-width:28rem;height:.8rem;margin-top:2.5rem}
.threshold-rule span{height:1px;background:rgba(228,224,216,.18)}
.threshold-rule i{height:.7rem;width:1px;background:var(--amber)}
.booking-card{border:1px solid rgba(247,244,238,.15);padding:2rem}
.booking-placeholder{min-height:11rem;border:1px dashed rgba(247,244,238,.15);display:grid;place-items:center;text-align:center;padding:1.5rem;margin-top:1.5rem}
.booking-placeholder p{color:rgba(228,224,216,.6);font-size:.875rem;line-height:1.6;margin:0}
.booking-placeholder small{display:block;color:rgba(228,224,216,.38);font-size:.75rem;margin-top:.5rem}
.booking-card dl{margin:2rem 0 0}
.booking-card dl div+div{margin-top:1.25rem}
.booking-card dt{font-family:var(--display);color:rgba(228,224,216,.5);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase}
.booking-card dd{margin:.4rem 0 0;font-size:.9375rem}
.booking-card a{text-decoration:none}
.booking-card a:hover{color:var(--amber)}

/* Footer */
.site-footer{background:var(--ivory);border-top:1px solid var(--stone)}
.footer-inner{display:flex;justify-content:space-between;gap:3rem;align-items:flex-start;padding-top:3.5rem;padding-bottom:3.5rem}
.site-footer p{color:var(--sage);font-size:.875rem}
.site-footer p a{text-decoration:none}
.site-footer .copyright{font-size:.8125rem;color:rgba(116,132,122,.75)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.8rem 1.75rem}

/* Responsive */
@media(min-width:1200px){
  .section-heading h2{white-space:nowrap}
}
@media(max-width:960px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-top:1px solid var(--stone);padding:1rem 1.5rem;flex-direction:column;align-items:stretch;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:.85rem 0;border-bottom:1px solid var(--stone)}
  .main-nav a:last-child{border-bottom:0}
  .main-nav .nav-cta{margin-top:.5rem;text-align:center;padding:.9rem 1rem}
  .menu-toggle{display:block}
  .situation-grid{grid-template-columns:repeat(2,1fr)}
  .situation-grid article:nth-child(3n){border-right:1px solid var(--stone)}
  .situation-grid article:nth-child(2n){border-right:0}
  .service,.about-grid,.schedule-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-grid figure{max-width:28rem}
  .shared-center{grid-template-columns:1fr}
  .convergence{max-width:24rem}
}
@media(max-width:720px){
  .container,.header-inner{width:min(100% - 2rem,var(--max))}
  .section>.container{padding-top:5rem;padding-bottom:5rem}
  .hero-inner{padding-top:5.5rem;padding-bottom:5rem}
  .hero-path{width:100%;opacity:.34}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .button{font-size:.72rem;padding:.95rem 1.1rem}
  .category-row{margin-top:3.5rem}
  .category-row li:not(:first-child)::before{margin-right:.8rem}
  .situation-grid,.two-col,.steps{grid-template-columns:1fr}
  .situation-grid article,.situation-grid article:nth-child(3n),.situation-grid article:nth-child(2n){border-right:0}
  .audience-card{padding:1.5rem}
  .shared-center{padding:2rem 1.5rem}
  .service{padding:3rem 0}
  .steps article{border-right:0}
  .footer-inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
}