/* Nou-Bou marketing / SEO upgrade — 2026-09-28 */
.section-lead{max-width:820px;margin:.55rem 0 1.2rem;line-height:1.7;}
.proof-strip-wrap{position:relative;z-index:25;margin-top:-1px;background:rgba(10,10,10,.7);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);}
[data-theme="light"] .proof-strip-wrap{background:rgba(238,238,238,.86);border-color:rgba(80,60,35,.12);}
.proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem 0;text-align:center;}
.proof-strip span{font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.service-card{display:flex;flex-direction:column;min-height:245px;}
.service-card .small{line-height:1.65;}
.service-eyebrow{font-family:'Space Grotesk',Inter,sans-serif;font-size:.82rem;font-weight:900;color:var(--neon1);letter-spacing:.16em;margin-bottom:.8rem;}
.service-link{margin-top:auto;padding-top:1.1rem;font-weight:800;color:var(--neon1);display:inline-flex;gap:.4rem;align-items:center;}
.supporting-services{margin-top:1rem;line-height:1.7;}
.section-actions{display:flex;justify-content:center;margin-top:1.4rem;}
.compact-world-pitch{margin-top:.8rem;}
.compact-world-pitch span{display:block;margin-top:.2rem;}
.live-site-category,.work-type{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:var(--neon1);margin-bottom:.45rem;}
.live-site-description{line-height:1.55;margin:.6rem 0 1rem;min-height:4.3em;}
.live-site-body{display:flex;flex-direction:column;align-items:flex-start;height:100%;}
.live-site-body .btn{margin-top:auto;}
.footer-positioning{max-width:320px;}
.footer-positioning .small{line-height:1.55;margin-top:.45rem;}
.service-hero{padding:calc(var(--nav-height) + 5.5rem) 0 4.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 20%,rgba(255,122,24,.16),transparent 34%),radial-gradient(circle at 85% 30%,rgba(255,179,71,.10),transparent 34%),var(--bg);}
.service-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 54%,rgba(255,255,255,.025) 54% 55%,transparent 55%);}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:2rem;align-items:center;position:relative;z-index:2;}
.service-hero h1{font-family:'Space Grotesk',Inter,sans-serif;font-size:clamp(2.55rem,5.7vw,5rem);line-height:1.03;letter-spacing:-.04em;margin:.75rem 0 1rem;max-width:920px;}
.service-hero .tagline{max-width:800px;line-height:1.65;}
.left-actions{justify-content:flex-start;}
.service-hero-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;}
.service-outcomes{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.2rem;}
.service-outcomes .card p{line-height:1.65;}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.4rem;align-items:start;}
.service-detail-grid .check-list{margin:0;}
.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.2rem;}
.capability-grid .card p{line-height:1.65;}
.capability-product-grid{margin-top:1.2rem;}
.capability-summary{align-self:stretch;}
.work-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.work-card{display:flex;flex-direction:column;min-height:290px;}
.work-card h2{font-size:1.55rem;margin:.2rem 0 .7rem;}
.work-card p{line-height:1.7;margin-bottom:1.25rem;}
.work-card .btn{margin-top:auto;align-self:flex-start;}
.about-story-card p{line-height:1.72;}
@media (max-width:960px){
  .proof-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-grid,.service-outcomes,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-hero-grid,.service-detail-grid{grid-template-columns:1fr;}
  .service-hero{padding-top:calc(var(--nav-height) + 3.5rem);}
}
@media (max-width:680px){
  .proof-strip{grid-template-columns:1fr 1fr;gap:.55rem;}
  .proof-strip span{font-size:.7rem;}
  .service-grid,.service-outcomes,.capability-grid,.work-showcase-grid{grid-template-columns:1fr;}
  .service-card,.work-card{min-height:0;}
  .service-hero{padding-bottom:3rem;}
  .service-hero h1{font-size:clamp(2.35rem,11vw,3.6rem);}
  .left-actions{justify-content:center;}
}

/* Follow-up refinement — 2026-09-28 */
@media (min-width:961px){
  :root{--nav-height:72px;}
  .nav-inner{gap:.8rem;padding:.3rem 0;}
  .brand{gap:.65rem;max-width:270px;}
  .brand img{width:38px;height:38px;border-radius:10px;}
  .brand .name{font-size:1rem;line-height:1.02;}
  .brand .small{font-size:.76rem;line-height:1.05;}
  .nav .links{gap:.8rem;}
  .nav .primary-links{gap:.85rem;flex-wrap:nowrap;}
  .nav .links a{font-size:.97rem;}
  .nav .nav-actions{gap:.6rem;}
  .nav .nav-actions .btn{padding:.78rem .95rem;font-size:.97rem;}
  .theme{padding:.52rem .8rem;font-size:.95rem;}

  .hero-world .inner{justify-content:flex-start;padding-top:3.6rem;padding-bottom:2rem;}
  .hero-world .hero-content{width:min(500px,41vw);padding:1rem 1.05rem 1rem 1.05rem;border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.24);}
  .hero-world h1.display{font-size:clamp(2.95rem,4.7vw,4.9rem);line-height:.96;max-width:9ch;margin:.35rem 0 .7rem;}
  .hero-world .tagline{max-width:32rem;font-size:1rem;line-height:1.42;margin-bottom:.55rem;}
  .nb-world-pitch{margin:.65rem 0 .85rem;padding:.6rem .72rem;border-left-width:2px;}
  .nb-world-pitch strong{font-size:.74rem;}
  .nb-world-pitch span{font-size:.76rem;}
  .hero-world .cta-row.nb-intro-actions{gap:.5rem;flex-wrap:wrap;}
  .hero-world .cta-row.nb-intro-actions .btn{padding:.72rem .95rem;min-height:44px;}
  .hero-world .hint{font-size:.84rem;margin-top:.35rem;}
}

.service-grid{gap:.9rem;}
.service-card{min-height:210px;padding:1.15rem 1.15rem 1.05rem;}
.service-card .title{font-size:1.05rem;}
.service-card .small{line-height:1.55;}
.service-link{padding-top:.85rem;}

.product-grid{gap:.9rem;}
.product-card{padding:1.05rem;gap:.62rem;justify-content:flex-start;min-height:0;}
.product-card .title{font-size:1.1rem;}
.product-card .small{line-height:1.48;}
.product-media{max-width:180px;height:78px;margin:0 auto .35rem;padding:.45rem .55rem;}

.work-showcase-grid{gap:.9rem;}
.work-card{min-height:240px;padding:1.15rem 1.15rem 1.05rem;}
.work-card h2{font-size:1.38rem;margin:.15rem 0 .55rem;}
.work-card p{line-height:1.55;margin-bottom:1rem;max-width:36ch;}
.work-type{margin-bottom:.35rem;}

/* Background-image treatment for product/work cards */
.product-card.has-bg-image,
.work-card.has-bg-image{isolation:isolate;}
.product-card.has-bg-image::before,
.work-card.has-bg-image::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--card-bg);
  background-size:cover;
  background-position:center top;
  opacity:.2;
  transform:scale(1.025);
  z-index:0;
}
.product-card.has-bg-image::after,
.work-card.has-bg-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,10,12,.42),rgba(8,10,12,.80) 58%,rgba(8,10,12,.92) 100%);
  z-index:0;
}
.product-card.has-bg-image > *,
.work-card.has-bg-image > *{position:relative;z-index:1;}
.product-card.has-bg-image .product-media{
  background:rgba(0,0,0,.22);
  border-color:rgba(255,255,255,.12);
  backdrop-filter:blur(7px);
}
.product-card.has-bg-image .btn,
.work-card.has-bg-image .btn{
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.24);
}
[data-theme="light"] .product-card.has-bg-image::after,
[data-theme="light"] .work-card.has-bg-image::after{
  background:linear-gradient(180deg,rgba(248,245,241,.58),rgba(248,245,241,.84) 58%,rgba(248,245,241,.94) 100%);
}

.product-bg-grape{--card-bg:url('../assets/grape.png');}
.product-bg-clientconnectai{--card-bg:url('../assets/ChatGPT%20Image%20May%208,%202026,%2007_49_58%20AM.png');}
.product-bg-regenfarmer{--card-bg:url('../assets/Untitled%20design%20(16).png');}
.product-bg-daggadroom{--card-bg:url('../assets/dagga.png');}
.product-bg-meridian{--card-bg:url('../meridian/assets/images/key-art-wide.webp');}

.work-bg-regenroots{--card-bg:url('../assets/Untitled%20design%20(16).png');}
.work-bg-adamas{--card-bg:url('../assets/hero.svg');}
.work-bg-printnet{--card-bg:url('../assets/logo.svg');}
.work-bg-puket{--card-bg:url('../assets/logo.svg');}
.work-bg-daggadroom{--card-bg:url('../assets/dagga.png');}
.work-bg-beachshacks{--card-bg:url('../assets/thebeachshacks.png');}
.work-bg-campus{--card-bg:url('../assets/campus.png');}
.work-bg-ktx{--card-bg:url('../assets/ktx.png');}

/* Give cards without true site screenshots a branded ambient background */
.work-bg-regenroots::before{background-image:radial-gradient(circle at 24% 28%,rgba(98,186,90,.38),transparent 32%),linear-gradient(130deg,rgba(17,55,24,.95),rgba(7,18,10,.78));opacity:1;transform:none;}
.work-bg-adamas::before{background-image:radial-gradient(circle at 80% 18%,rgba(68,179,214,.34),transparent 30%),linear-gradient(135deg,rgba(9,24,40,.96),rgba(7,11,18,.78));opacity:1;transform:none;}
.work-bg-printnet::before{background-image:radial-gradient(circle at 22% 18%,rgba(255,122,24,.30),transparent 28%),linear-gradient(135deg,rgba(44,28,17,.95),rgba(12,12,14,.82));opacity:1;transform:none;}
.work-bg-puket::before{background-image:radial-gradient(circle at 72% 18%,rgba(183,113,255,.26),transparent 28%),linear-gradient(135deg,rgba(39,20,53,.96),rgba(11,10,18,.82));opacity:1;transform:none;}
.product-bg-regenfarmer::before{background-size:contain;background-repeat:no-repeat;background-position:center 28%;opacity:.14;}
.product-bg-clientconnectai::before{background-size:contain;background-repeat:no-repeat;background-position:center 28%;opacity:.13;}

@media (max-width:960px){
  .service-card,.work-card,.product-card{padding:1rem;}
  .work-card{min-height:0;}
}

/* Repository-backed specialist capability section */
.repo-proof-section{position:relative;overflow:hidden;}
.repo-proof-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 10%,rgba(255,122,24,.08),transparent 30%),radial-gradient(circle at 88% 70%,rgba(54,177,255,.06),transparent 32%);}
.repo-proof-section .container{position:relative;z-index:1;}
.repo-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.25rem;align-items:stretch;}
.repo-case{display:flex;flex-direction:column;min-height:100%;padding:1.2rem;isolation:isolate;}
.repo-case:before{content:"";position:absolute;inset:0;z-index:0;opacity:.33;pointer-events:none;}
.repo-case:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,10,12,.12),rgba(8,10,12,.64) 58%,rgba(8,10,12,.88));}
.repo-case > *{position:relative;z-index:1;}
.repo-motionlab:before{background:radial-gradient(circle at 18% 18%,rgba(63,211,255,.4),transparent 25%),radial-gradient(circle at 78% 24%,rgba(124,79,255,.28),transparent 30%),linear-gradient(135deg,rgba(5,18,28,.8),rgba(6,8,16,.15));}
.repo-pocketkey:before{background:radial-gradient(circle at 18% 16%,rgba(90,255,183,.3),transparent 28%),radial-gradient(circle at 78% 30%,rgba(64,142,255,.28),transparent 32%),linear-gradient(135deg,rgba(4,26,24,.8),rgba(5,10,18,.16));}
.repo-rangehunter:before{background:radial-gradient(circle at 20% 20%,rgba(255,161,56,.3),transparent 26%),radial-gradient(circle at 82% 26%,rgba(244,78,78,.22),transparent 31%),linear-gradient(135deg,rgba(31,20,8,.8),rgba(12,8,7,.16));}
.repo-case h3{font-family:'Space Grotesk',Inter,sans-serif;font-size:1.45rem;margin:.1rem 0 .55rem;}
.repo-case-desc{font-size:.92rem;line-height:1.55;margin:.15rem 0 .8rem;}
.repo-case-points{margin:.2rem 0 .9rem;padding-left:1.15rem;display:grid;gap:.5rem;}
.repo-case-points li{line-height:1.45;}
.repo-stack{margin-top:auto;padding:.7rem .8rem;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.09);font-size:.76rem;line-height:1.45;font-weight:700;letter-spacing:.02em;}
.repo-private-note{margin-top:.55rem;font-size:.72rem;line-height:1.4;}
.repo-cta{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;}
.repo-cta h3{margin:.2rem 0 .35rem;font-size:1.25rem;}
.repo-cta p{margin:.15rem 0;max-width:780px;line-height:1.55;}
.specialist-mini-grid .card{min-height:0;padding:1.1rem;}
.specialist-mini-grid .small{line-height:1.55;}
[data-theme="light"] .repo-case:after{background:linear-gradient(180deg,rgba(248,246,242,.35),rgba(248,246,242,.82) 58%,rgba(248,246,242,.96));}
[data-theme="light"] .repo-stack{background:rgba(255,255,255,.5);border-color:rgba(40,30,20,.12);}
@media (max-width:1050px){.repo-case-grid{grid-template-columns:1fr;}.repo-case{min-height:0;}.repo-cta{grid-template-columns:1fr;}.repo-cta .btn{justify-self:start;}}

/* Video-review refinements — 2026-09-28 */
@media (min-width:961px){
  .hero-world .inner{padding-top:2.7rem;}
  .hero-world .hero-content{width:min(470px,39vw);padding:.9rem 1rem .95rem;}
  .hero-world h1.display{font-size:clamp(2.75rem,4.15vw,4.25rem);line-height:.97;max-width:10.5ch;margin:.25rem 0 .55rem;}
  .hero-world .tagline{font-size:.94rem;line-height:1.42;margin:.2rem 0 .65rem;max-width:31rem;}
  .hero-world .cta-row.nb-intro-actions{margin-top:.2rem;}
  .hero-world .hint{margin-top:.25rem;font-size:.8rem;}
}

.capability-summary{align-self:center;}
.capability-summary .check-list{display:grid;gap:.62rem;margin:.7rem 0 0;}
.capability-summary .check-list li{line-height:1.4;}
.repo-stack-private{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--muted);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);padding:.62rem .7rem;border-radius:10px;}
.repo-cta .repo-cta-button{justify-self:center;justify-content:center;text-align:center;min-width:220px;}
@media (max-width:1050px){.repo-cta .repo-cta-button{justify-self:center;}}

/* Spacing + consistency pass — 2026-09-28 */
@media (min-width:961px){
  /* Home: remove the old extra 64px offset so the intro card sits close to the fixed nav. */
  .hero-world .inner{
    top:var(--nav-height);
    bottom:0;
    padding-top:1.15rem;
    padding-bottom:1.25rem;
  }

  /* Standard inner pages: keep the opening content visibly connected to the nav. */
  .service-hero{
    padding:calc(var(--nav-height) + 2.15rem) 0 3.25rem;
  }
  .capability-hero .service-hero-grid{
    align-items:start;
  }
  .capability-hero .capability-summary{
    align-self:start;
    margin-top:2.85rem;
  }

  /* About and legal pages used older full/large viewport hero spacing. */
  .about-hero{
    min-height:82vh;
    align-items:flex-start;
    padding:calc(var(--nav-height) + 2.15rem) 0 3rem;
  }
  .legal-hero{
    min-height:0;
    align-items:flex-start;
    padding:calc(var(--nav-height) + 2.15rem) 0 3rem;
  }
}

/* Round Nou-Bou footer mark everywhere on the corporate site. */
.footer .brand img.footer-logo-circle{
  width:52px;
  height:52px;
  flex:0 0 52px;
  object-fit:cover;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
[data-theme="light"] .footer .brand img.footer-logo-circle{
  border-color:rgba(50,35,20,.18);
  background:rgba(255,255,255,.5);
}

/* Legal / cookie pages: compact, readable policy layouts. */
.legal-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.legal-page-grid .card{min-height:0;}
.legal-wide{grid-column:1/-1;}
.cookie-table{width:100%;border-collapse:collapse;margin-top:.8rem;font-size:.9rem;}
.cookie-table th,.cookie-table td{padding:.75rem .7rem;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.10);}
.cookie-table th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
[data-theme="light"] .cookie-table th,[data-theme="light"] .cookie-table td{border-color:rgba(50,35,20,.12);}
.cookie-settings-row{display:flex;justify-content:center;margin-top:1rem;}
.cookie-settings-row .btn{justify-content:center;text-align:center;}
@media (max-width:760px){
  .legal-page-grid{grid-template-columns:1fr;}
  .legal-wide{grid-column:auto;}
}

/* Homepage hero width refinement — 2026-09-28 */
@media (min-width:961px){
  .hero-world .hero-content{
    width:min(575px,46vw);
    padding:.95rem 1.05rem 1rem;
  }
  .hero-world h1.display{
    font-size:clamp(2.7rem,3.75vw,3.85rem);
    line-height:.99;
    max-width:none;
    margin:.25rem 0 .55rem;
  }
  .hero-world .tagline{
    max-width:34rem;
    font-size:.93rem;
    line-height:1.4;
    margin:.15rem 0 .6rem;
  }
  .hero-world .cta-row.nb-intro-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:.45rem;
    align-items:center;
  }
  .hero-world .cta-row.nb-intro-actions .btn{
    padding:.65rem .78rem;
    min-height:40px;
    font-size:.84rem;
    white-space:nowrap;
  }
  .hero-world .hint{
    margin-top:.2rem;
    font-size:.77rem;
  }
}
@media (min-width:961px) and (max-width:1180px){
  .hero-world .hero-content{width:min(535px,48vw);}
  .hero-world h1.display{font-size:clamp(2.55rem,4vw,3.35rem);}
  .hero-world .cta-row.nb-intro-actions{flex-wrap:wrap;}
}
