/* Template: Premium Editorial — masthead navigation, hairline rules, numbered sections, serif display type. */
.tpl-editorial{--rule:1px solid var(--text)}
.tpl-editorial h1{font-size:clamp(2.4rem,5.6vw,4.6rem);letter-spacing:-.02em;line-height:1.04}
.tpl-editorial h2{font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.015em}
.tpl-editorial h3,.tpl-editorial .h3{font-size:1.45rem;line-height:1.2}
.tpl-editorial .lede{font-size:1.2em;color:var(--muted);max-width:44ch;line-height:1.55}
.is-center .lede,.sec-head.is-center .lede{margin-inline:auto}
.tpl-editorial .eyebrow{display:flex;gap:.9rem;align-items:center;font:600 .78rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);margin-bottom:1.1rem}
.tpl-editorial .eyebrow .num{font-family:var(--font-heading);font-size:1.05rem;letter-spacing:0;color:var(--text);padding-right:.9rem;border-right:1px solid var(--line)}
.tpl-editorial .eyebrow .rule{width:2.5rem;height:1px;background:var(--secondary)}
.is-center .eyebrow{justify-content:center}
.kicker{font:600 .75rem/1.3 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);margin-bottom:.6rem}

/* masthead */
.tpl-editorial .site-header{background:var(--bg);border-bottom:var(--rule)}
.tpl-editorial .masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:1.6rem 1.2rem;gap:1rem}
.tpl-editorial .mast-note{margin:0;font-size:.82rem;color:var(--muted);letter-spacing:.04em;font-style:italic}
.tpl-editorial .mast-cta{text-align:right}
.tpl-editorial .mast-cta .text-link{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.tpl-editorial .brand{text-decoration:none;color:var(--text);display:inline-block;text-align:center}
.tpl-editorial .brand-text{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.9rem);font-weight:var(--heading-weight);letter-spacing:-.02em;line-height:1}
.tpl-editorial .brand-logo{max-height:64px;width:auto;margin-inline:auto}
.tpl-editorial .primary-nav{border-top:1px solid var(--line)}
.tpl-editorial .nav-bar{display:flex;justify-content:center}
.tpl-editorial .nav-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 2rem;list-style:none;margin:0;padding:0}
.tpl-editorial .nav-list a{display:block;padding:.85rem 0;font:600 .78rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:2px solid transparent}
.tpl-editorial .nav-list a:hover,.tpl-editorial .nav-list a.is-active{border-bottom-color:var(--secondary);color:var(--text)}
.tpl-editorial .nav-cta-mobile{display:none}
/* left-aligned header variant */
.tpl-editorial.hdr-left .masthead{grid-template-columns:auto 1fr auto}
.tpl-editorial.hdr-left .brand{text-align:left}
.tpl-editorial.hdr-left .mast-note{text-align:center}
.tpl-editorial.hdr-left .nav-bar,.tpl-editorial.hdr-left .nav-list{justify-content:flex-start}

/* hero */
.tpl-editorial .hero{padding-block:clamp(3rem,8vw,6.5rem)}
.tpl-editorial .hero-grid{display:grid;gap:3rem;align-items:center}
.tpl-editorial .hero-split .hero-grid{grid-template-columns:1.15fr .85fr}
.tpl-editorial .hero-copy .btn-group{margin-top:2rem}
.tpl-editorial .hero-figure{margin:0;position:relative}
.tpl-editorial .hero-figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.tpl-editorial .hero-figure::before{content:"";position:absolute;inset:1.1rem -1.1rem -1.1rem 1.1rem;border:1px solid var(--secondary);z-index:-1;border-radius:var(--radius)}
.tpl-editorial .hero-figure{isolation:isolate}
.tpl-editorial .hero-figure figcaption{margin-top:.9rem;font-size:.82rem;color:var(--muted);font-style:italic;border-top:1px solid var(--line);padding-top:.6rem}
.tpl-editorial .hero-art{aspect-ratio:4/5;background:var(--surface);display:grid;place-items:center;border-radius:var(--radius)}
.tpl-editorial .hero-art span{font:var(--heading-weight) 9rem/1 var(--font-heading);color:var(--primary);opacity:.9}
.tpl-editorial .hero-centered{text-align:center}
.tpl-editorial .hero-centered .hero-copy{max-width:52rem;margin-inline:auto}
.tpl-editorial .hero-centered .eyebrow,.tpl-editorial .hero-centered .btn-group{justify-content:center}
.tpl-editorial .hero-centered .lede{margin-inline:auto}
.tpl-editorial .hero-badge{margin:2rem 0 0;font-style:italic;color:var(--muted);text-align:center}
.tpl-editorial .hero.has-bg{position:relative;color:#fff;min-height:70vh;display:grid;align-items:center}
.tpl-editorial .hero-bg{position:absolute;inset:0}.tpl-editorial .hero-bg img{width:100%;height:100%;object-fit:cover}
.tpl-editorial .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25))}
.tpl-editorial .hero.has-bg .hero-grid{position:relative;z-index:1}
.tpl-editorial .hero.has-bg h1,.tpl-editorial .hero.has-bg .lede,.tpl-editorial .hero.has-bg .eyebrow,.tpl-editorial .hero.has-bg .eyebrow .num{color:#fff}
.tpl-editorial .hero.has-bg .btn-secondary{color:#fff;border-color:rgba(255,255,255,.8)}

/* sections */
.tpl-editorial .section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.tpl-editorial .section+.section{border-top:1px solid var(--line)}
.tpl-editorial .sec-head{margin-bottom:clamp(2rem,4vw,3.2rem);max-width:46rem}
.tpl-editorial .sec-head.is-center{margin-inline:auto;text-align:center}
.tpl-editorial .sec-head h2{margin-bottom:.4em}

/* about */
.tpl-editorial .about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.tpl-editorial .about.image-left .about-copy{order:2}.tpl-editorial .about.image-left .about-figure{order:1}
.tpl-editorial .about:not(:has(.about-figure)) .about-grid{grid-template-columns:minmax(0,46rem)}
.tpl-editorial .dropcap>p:first-child::first-letter{float:left;font:var(--heading-weight) 4.6rem/.8 var(--font-heading);padding:.35rem .6rem 0 0;color:var(--secondary)}
.tpl-editorial .about-figure{margin:0}.tpl-editorial .about-figure img{width:100%;border-radius:var(--radius)}
.tpl-editorial .ruled-list{list-style:none;padding:0;margin:1.6rem 0;border-top:1px solid var(--line)}
.tpl-editorial .ruled-list li{padding:.8rem 0;border-bottom:1px solid var(--line);font-family:var(--font-heading);font-size:1.15rem}

/* stats */
.tpl-editorial .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;border-top:var(--rule)}
.tpl-editorial .stat{display:flex;flex-direction:column-reverse;padding:1.6rem 1.4rem 1.6rem 0;border-right:1px solid var(--line)}
.tpl-editorial .stat+.stat{padding-left:1.4rem}.tpl-editorial .stat:last-child{border-right:0}
.tpl-editorial .stat dd{margin:0;font:var(--heading-weight) clamp(2.6rem,5vw,4rem)/1 var(--font-heading);color:var(--primary)}
.tpl-editorial .stat dt{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:.6rem}

/* services: numbered ruled list */
.tpl-editorial .service-list{list-style:none;padding:0;margin:0;border-top:var(--rule)}
.tpl-editorial .service{display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:baseline;padding:1.7rem 0;border-bottom:1px solid var(--line)}
.tpl-editorial .service-no{font:var(--heading-weight) 1.1rem var(--font-heading);color:var(--secondary)}
.tpl-editorial .service h3{margin:0 0 .35rem;font-size:1.6rem}
.tpl-editorial .service h3 a{color:var(--text);text-decoration:none}.tpl-editorial .service h3 a:hover{color:var(--primary)}
.tpl-editorial .service p{margin:0;color:var(--muted);max-width:56ch}
.tpl-editorial .service .price{margin-top:.5rem;font-weight:600;color:var(--text)}
.tpl-editorial .service .arrow{color:var(--text);width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background-color .2s,color .2s}
.tpl-editorial .service:hover .arrow{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.tpl-editorial .services-cards .service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 2.5rem;border-top:0}
.tpl-editorial .services-cards .service{grid-template-columns:1fr;gap:.6rem;border-top:var(--rule);border-bottom:0;padding:1.4rem 0 2rem;position:relative}
.tpl-editorial .services-cards .service .arrow{position:absolute;top:1.3rem;right:0}
.tpl-editorial .section .text-link{margin-top:2rem}

/* projects: editorial grid, first story is large */
.tpl-editorial .story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,4vw,3rem) 2rem}
.tpl-editorial .story{grid-column:span 4}
.tpl-editorial .story:first-child{grid-column:span 7}
.tpl-editorial .story:nth-child(2){grid-column:span 5;align-self:end}
.tpl-editorial .story-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface);border-radius:var(--radius);margin-bottom:1rem}
.tpl-editorial .story:first-child .story-media{aspect-ratio:16/10}
.tpl-editorial .story-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tpl-editorial .story:hover .story-media img{transform:scale(1.04)}
.tpl-editorial .ph{width:100%;height:100%;display:grid;place-items:center;font:var(--heading-weight) 5rem var(--font-heading);color:var(--primary);opacity:.55;background:var(--surface)}
.tpl-editorial .story h3,.tpl-editorial .story .h3{margin-bottom:.4rem}
.tpl-editorial .story h3 a,.tpl-editorial .story .h3 a{color:var(--text);text-decoration:none}
.tpl-editorial .story h3 a:hover,.tpl-editorial .story .h3 a:hover{color:var(--primary)}
.tpl-editorial .story p{color:var(--muted)}
.tpl-editorial .index-list{list-style:none;margin:0;padding:0;border-top:var(--rule)}
.tpl-editorial .index-row{display:grid;grid-template-columns:1fr 14rem 5rem;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);transition:padding .2s,color .2s}
.tpl-editorial a.index-row:hover{padding-left:1rem;color:var(--primary)}
.tpl-editorial .idx-title{font:var(--heading-weight) 1.5rem/1.2 var(--font-heading)}
.tpl-editorial .idx-cat,.tpl-editorial .idx-year{color:var(--muted);font-size:.9rem;align-self:center}
.tpl-editorial .idx-year{text-align:right}

/* ventures */
.tpl-editorial .venture-list{display:grid;gap:0;border-top:var(--rule)}
.tpl-editorial .venture{display:grid;grid-template-columns:7rem 1fr;gap:1.6rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.tpl-editorial .venture-mark{width:7rem;height:7rem;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.tpl-editorial .venture-mark img{width:100%;height:100%;object-fit:contain;padding:.6rem}
.tpl-editorial .venture-mark .ph{font-size:3rem}
.tpl-editorial .venture h3,.tpl-editorial .venture .h3{margin:0 0 .3rem}
.tpl-editorial .venture h3 a,.tpl-editorial .venture .h3 a{color:var(--text);text-decoration:none}
.tpl-editorial .venture p{margin:0;color:var(--muted);max-width:56ch}
.tpl-editorial .ventures-cards .venture-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;border-top:0}
.tpl-editorial .ventures-cards .venture{grid-template-columns:1fr;border-top:var(--rule);border-bottom:0;align-items:start;padding-top:1.4rem}

/* testimonials */
.tpl-editorial .quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}
.tpl-editorial .quote{margin:0;display:flex;flex-direction:column;gap:1.2rem;border-top:var(--rule);padding-top:1.4rem}
.tpl-editorial .quote blockquote{margin:0;font:var(--heading-weight) 1.35rem/1.45 var(--font-heading);font-style:italic}
.tpl-editorial .quote blockquote::before{content:"“";display:block;font-size:3.4rem;line-height:.6;color:var(--secondary);margin-bottom:.4rem}
.tpl-editorial .quote blockquote p{margin:0}
.tpl-editorial .quote figcaption{display:flex;gap:.9rem;align-items:center;font-size:.92rem;margin-top:auto}
.tpl-editorial .quote .who{color:var(--muted)}
.tpl-editorial .avatar img{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover}
.tpl-editorial .stars{color:var(--accent);letter-spacing:.1em;margin-left:auto}
.tpl-editorial .is-pull .quote-grid{grid-template-columns:1fr;max-width:52rem;margin-inline:auto}
.tpl-editorial .is-pull .quote blockquote{font-size:clamp(1.7rem,3.4vw,2.6rem);text-align:center}
.tpl-editorial .is-pull .quote figcaption{justify-content:center}

/* faq / text / contact */
.tpl-editorial .faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.tpl-editorial .faq-group{margin:2.5rem 0 .5rem}
.tpl-editorial .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.tpl-editorial .text-block.is-center .prose{margin-inline:auto}

/* cta */
.tpl-editorial .cta{padding-block:clamp(3rem,7vw,5rem);background:var(--primary);color:var(--on-primary)}
.tpl-editorial .cta-dark{background:#14161c;color:#fff}.tpl-editorial .cta-light{background:var(--surface);color:var(--text)}
.tpl-editorial .cta-inner{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.tpl-editorial .cta h2{color:inherit;font-size:clamp(1.9rem,4vw,3rem);margin-bottom:.3em}
.tpl-editorial .cta p{margin:0;opacity:.85;max-width:44ch}
.tpl-editorial .cta .btn-group{margin:0}
.tpl-editorial .cta-light .btn-light{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.tpl-editorial .cta-light .btn-outline-light{color:var(--primary);border-color:var(--primary)}

/* inner pages */
.tpl-editorial .page-head{padding-block:clamp(2.5rem,6vw,4.5rem) 1rem;border-bottom:1px solid var(--line)}
.tpl-editorial .page-head h1{font-size:clamp(2.2rem,5vw,3.8rem);margin-bottom:.3em}
.tpl-editorial .crumbs{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}
.tpl-editorial .crumbs a{color:var(--muted);text-decoration:none}.tpl-editorial .crumbs a:hover{color:var(--primary)}
.tpl-editorial .detail-figure{margin-block:2.5rem 0}.tpl-editorial .detail-figure img{width:100%;max-height:70vh;object-fit:cover;border-radius:var(--radius)}
.tpl-editorial .detail-grid{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem;padding-block:3rem 4rem}
.tpl-editorial .detail-grid:not(:has(.facts)){grid-template-columns:minmax(0,1fr);max-width:calc(68ch + 5rem)}
.tpl-editorial .facts dl{margin:0;border-top:var(--rule)}
.tpl-editorial .facts div{padding:.9rem 0;border-bottom:1px solid var(--line)}
.tpl-editorial .facts dt{font:600 .72rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}
.tpl-editorial .facts dd{margin:.2rem 0 0}
.tpl-editorial .related{border-top:1px solid var(--line)}
.tpl-editorial .form-wrap{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.tpl-editorial .notfound{padding-block:7rem}.tpl-editorial .notfound .lede{margin-inline:auto}

/* footer */
.tpl-editorial .site-footer{margin-top:0;background:#14161c;color:#c9ccd6;border-top:4px solid var(--primary);padding-top:4rem}
.tpl-editorial.ftr-light .site-footer{background:var(--surface);color:var(--text)}
.tpl-editorial .site-footer a{color:inherit;text-decoration:none}.tpl-editorial .site-footer a:hover{text-decoration:underline;color:inherit}
.tpl-editorial .footer-grid{display:grid;grid-template-columns:1.6fr repeat(auto-fit,minmax(150px,1fr));gap:2.5rem;padding-bottom:3rem}
.tpl-editorial .brand-foot{color:inherit;text-align:left}
.tpl-editorial .site-footer .brand-text{font-size:1.9rem;color:#fff}
.tpl-editorial.ftr-light .site-footer .brand-text{color:var(--text)}
.tpl-editorial .brand-foot .brand-logo{margin-inline:0;max-height:52px}
.tpl-editorial .foot-about p{max-width:36ch;margin-top:1rem;font-size:.95rem}
.tpl-editorial .foot-title{font:600 .74rem var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.tpl-editorial .foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;font-size:.95rem}
.tpl-editorial .foot-contact{font-size:.95rem;line-height:1.8}
.tpl-editorial .footer-bottom{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;align-items:center;padding-block:1.4rem;border-top:1px solid rgba(127,127,127,.3);font-size:.85rem}
.tpl-editorial .footer-bottom p{margin:0}
.tpl-editorial .zmc-attribution{font-size:.78rem;letter-spacing:.04em;opacity:.7}

/* responsive */
@media (max-width:900px){
  .tpl-editorial .masthead{grid-template-columns:auto 1fr;padding-block:1rem}
  .tpl-editorial .mast-note,.tpl-editorial .mast-cta{display:none}
  .tpl-editorial .brand{text-align:left}.tpl-editorial .brand-logo{margin-inline:0;max-height:48px}
  .tpl-editorial .nav-toggle{display:inline-flex;position:absolute;right:1rem;top:1rem}
  .tpl-editorial .site-header{position:relative}
  .tpl-editorial .primary-nav{border-top:0}
  .tpl-editorial.hdr-sticky .site-header{position:sticky}
  .js .tpl-editorial .nav-list{display:none}
  .js .tpl-editorial .primary-nav.is-open .nav-list{display:flex}
  .tpl-editorial .nav-list{flex-direction:column;gap:0;align-items:stretch;border-top:1px solid var(--line)}
  .tpl-editorial .nav-list a{padding:.95rem 0;border-bottom:1px solid var(--line)}
  .tpl-editorial .nav-cta-mobile{display:block}
  .tpl-editorial .nav-bar{display:block;padding-block:0}
  .tpl-editorial .hero-split .hero-grid,.tpl-editorial .about-grid,.tpl-editorial .faq-grid,.tpl-editorial .contact-grid,.tpl-editorial .detail-grid{grid-template-columns:1fr}
  .tpl-editorial .hero-figure{max-width:30rem}.tpl-editorial .hero-figure::before{display:none}
  .tpl-editorial .about.image-left .about-copy,.tpl-editorial .about.image-left .about-figure{order:initial}
  .tpl-editorial .story,.tpl-editorial .story:first-child,.tpl-editorial .story:nth-child(2){grid-column:1/-1}
  .tpl-editorial .service{grid-template-columns:2.6rem 1fr;}.tpl-editorial .service .arrow{display:none}
  .tpl-editorial .index-row{grid-template-columns:1fr auto}.tpl-editorial .idx-cat{display:none}
  .tpl-editorial .stat{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
  .tpl-editorial .footer-grid{grid-template-columns:1fr 1fr}.tpl-editorial .foot-about{grid-column:1/-1}
}
@media (max-width:520px){.tpl-editorial .footer-grid{grid-template-columns:1fr}.tpl-editorial .venture{grid-template-columns:5rem 1fr}.tpl-editorial .venture-mark{width:5rem;height:5rem}}
