/* ACS V4.10 — sitewide visual system */
:root{
  --ink:#101314;--ink-soft:#1a1e1f;--paper:#f3f0e8;--cream:#fffdf8;
  --lime:#dfff5f;--violet:#b8adff;--muted:#656b67;--line:rgba(16,19,20,.14);
  --serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;
  --shadow:0 24px 70px rgba(16,19,20,.13)
}
html{background:var(--paper)}
body{background:var(--paper);font-family:var(--sans)}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.055em}
h3{letter-spacing:-.035em}

/* Navigation */
.site-header{min-height:76px;padding:12px max(22px,4.5vw);background:rgba(243,240,232,.94);box-shadow:0 1px 0 var(--line)}
.site-header .brand-mark{width:48px;height:48px;border-radius:16px;transform:rotate(-3deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.site-header .brand-name{font-size:15px;letter-spacing:-.02em}
.site-header nav{gap:6px}
.site-header nav>a{position:relative;padding:11px 12px;border-radius:999px;transition:background .2s ease,transform .2s ease}
.site-header nav>a:not(.nav-cta):hover{background:rgba(255,255,255,.72);transform:translateY(-1px)}
.site-header nav>a[aria-current="page"]:not(.nav-cta){background:var(--cream);box-shadow:inset 0 0 0 1px var(--line)}
.page-ai .site-header a[href="ai-for-business.html"],
.page-training .site-header a[href="ai-training.html"],
.page-creative .site-header a[href="creative-web.html"],
.page-work .site-header a[href="work.html"],
.page-about .site-header a[href="about.html"]{background:var(--cream);box-shadow:inset 0 0 0 1px var(--line)}
.site-header .nav-cta{padding:12px 18px;background:var(--ink);color:#fff;box-shadow:0 8px 18px rgba(16,19,20,.15)}
.site-header .nav-cta:hover{background:#292e2f;transform:translateY(-1px)}

/* Page framing */
.breadcrumb{padding:28px max(24px,7vw) 0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.breadcrumb a{text-decoration:none;border-bottom:1px solid currentColor}
.hero.service-hero{min-height:630px;padding-top:58px;padding-bottom:86px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.76fr);gap:7vw}
.service-hero>div{position:relative;z-index:1}
.service-hero .eyebrow,.intake-hero .eyebrow,.hero>.eyebrow{display:inline-flex;align-items:center;gap:9px}
.service-hero .eyebrow:before,.intake-hero .eyebrow:before,.hero>.eyebrow:before{content:"";width:25px;height:2px;background:var(--lime);box-shadow:8px 0 0 var(--violet)}
.service-hero h1{font-size:clamp(56px,6.5vw,98px);line-height:.91;max-width:880px}
.service-hero h1 span{color:var(--ink);font-style:italic;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:.12em;text-underline-offset:.08em}
.service-hero .lede{max-width:690px}
.hero-card{position:relative;overflow:hidden;min-height:500px;padding:250px 28px 20px;border-radius:34px;background:var(--ink);box-shadow:var(--shadow)}
.hero-card:before{content:"";position:absolute;inset:0 0 auto;height:225px;background:center/cover no-repeat url("assets/acs-hero.webp");filter:saturate(.85)}
.hero-card:after{content:"";position:absolute;inset:165px 0 auto;height:62px;background:linear-gradient(transparent,var(--ink))}
.hero-card .pill,.hero-card .item{position:relative;z-index:1}
.page-ai .hero-card:before{background-image:url("assets/acs-automation.webp")}
.page-training .hero-card:before{background-image:url("assets/acs-training.webp")}
.page-creative .hero-card:before{background-image:url("assets/acs-creative.webp")}
.page-about .service-hero,.page-work .service-hero{isolation:isolate;overflow:hidden;grid-template-columns:minmax(0,1fr);padding-right:42vw;background:var(--ink);color:#fff}
.page-about .service-hero:after,.page-work .service-hero:after{content:"";position:absolute;z-index:-1;inset:0 0 0 56%;background:center/cover no-repeat url("assets/acs-hero.webp");mask-image:linear-gradient(90deg,transparent,#000 30%)}
.page-work .service-hero:after{background-image:url("assets/acs-creative.webp")}
.page-about .service-hero h1 span,.page-work .service-hero h1 span{color:#fff}
.page-about .service-hero .lede,.page-work .service-hero .lede{color:#c7cdca}

/* Editorial sections and cards */
.section{position:relative;padding-top:112px;padding-bottom:112px}
.section-head{max-width:920px;margin-bottom:54px}
.section-head h2{font-size:clamp(45px,5.1vw,72px);line-height:.98}
.section-head p{max-width:720px}
.grid2,.grid3{gap:22px}
.card{position:relative;overflow:hidden;border-radius:28px;padding:34px;background:var(--cream);box-shadow:0 10px 35px rgba(16,19,20,.05);transition:transform .22s ease,box-shadow .22s ease}
.card:before{content:"";display:block;width:42px;height:6px;margin-bottom:30px;border-radius:999px;background:var(--lime)}
.card:nth-child(2n):before{background:var(--violet)}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card h3{font-size:clamp(24px,2.2vw,32px)}
.dark{background:var(--ink)!important}
.dark .card{background:#1b2020}
.dark .card:hover{box-shadow:0 24px 70px rgba(0,0,0,.3)}
.faq{max-width:1120px;margin:auto}
.faq details{background:var(--cream);border-radius:20px;padding:23px 25px;margin:13px 0;box-shadow:0 8px 28px rgba(16,19,20,.04)}
.faq summary{font-size:17px}
.cta{padding-top:82px;padding-bottom:82px;background:var(--lime)!important}
.cta h2{font-size:clamp(42px,5vw,70px);line-height:.98}
.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,19,20,.14)}
footer{padding-top:52px;padding-bottom:52px;border-top:8px solid var(--lime)}
footer .brand-mark{background:var(--lime);color:var(--ink);border-radius:14px}

/* TTF Connect */
.page-contact main{background:linear-gradient(180deg,var(--paper),#ebe7dd)}
.page-contact .intake-hero{min-height:470px;padding-top:92px;padding-bottom:62px;background:radial-gradient(circle at 82% 24%,rgba(184,173,255,.27),transparent 24%),radial-gradient(circle at 12% 15%,rgba(223,255,95,.33),transparent 27%)}
.page-contact .intake-hero h1{font-size:clamp(58px,7.5vw,106px);line-height:.9;max-width:1050px}
.page-contact .intake-hero h1 span{color:var(--ink);font-style:italic;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:.11em}
.page-contact .privacy-summary{margin-top:-12px;background:var(--ink);color:#fff;border:0;box-shadow:var(--shadow)}
.page-contact .privacy-summary .privacy-icon{background:var(--lime);color:var(--ink)}
.page-contact .privacy-summary p{color:#c4cbc7}.page-contact .privacy-summary a{color:var(--lime)}
.page-contact .intake-options{padding-top:52px}
.page-contact .option-grid{gap:22px}
.page-contact .option-card{border-radius:30px;padding:30px;min-height:390px;background:var(--cream);box-shadow:0 12px 38px rgba(16,19,20,.07);transition:transform .22s ease,box-shadow .22s ease}
.page-contact .option-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.page-contact .option-card.featured{background:var(--ink);color:#fff}
.page-contact .option-icon{font-size:40px;width:72px;height:72px;display:grid;place-items:center;background:var(--lime);border-radius:22px;margin:26px 0 24px}
.page-contact .option-card:nth-child(2) .option-icon{background:var(--violet)}
.page-contact .panel-wrap{padding-bottom:100px}
.page-contact .panel{border-radius:32px;box-shadow:var(--shadow)}

/* Privacy */
.page-privacy .hero{position:relative;overflow:hidden;min-height:510px;padding-top:94px;padding-bottom:72px;background:var(--ink);color:#fff;display:block}
.page-privacy .hero:after{content:"PRIVACY";position:absolute;right:4vw;bottom:-.16em;color:rgba(223,255,95,.08);font:500 clamp(80px,16vw,240px)/1 var(--serif);letter-spacing:-.08em;pointer-events:none}
.page-privacy .hero h1{max-width:940px}.page-privacy .hero h1 span{color:#fff;font-style:italic;text-decoration:underline;text-decoration-color:var(--lime)}
.page-privacy .hero .lede{color:#c6cdca}.page-privacy .updated{background:var(--lime);color:var(--ink)}
.page-privacy .policy{max-width:1120px;padding-top:48px}
.page-privacy .notice{padding:36px;border-radius:30px;box-shadow:var(--shadow)}
.page-privacy .section{padding:38px;border-radius:28px;margin:18px 0;box-shadow:0 8px 30px rgba(16,19,20,.045)}
.page-privacy .section h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);font-weight:500}

/* 404 */
.page-404 main{min-height:100vh;display:grid;place-content:center;text-align:center;padding:40px;background:radial-gradient(circle at 20% 20%,rgba(223,255,95,.4),transparent 25%),radial-gradient(circle at 80% 70%,rgba(184,173,255,.34),transparent 28%),var(--paper)}
.page-404 h1{font-size:clamp(120px,25vw,330px);line-height:.72;margin-bottom:48px}
.page-404 a{display:inline-flex;justify-self:center;padding:14px 20px;background:var(--ink);color:#fff;border-radius:999px;text-decoration:none;font-weight:800}

@media(max-width:1050px){
  .site-header nav{gap:1px}.site-header nav>a{padding:10px 8px;font-size:12px}
  .hero.service-hero{grid-template-columns:1fr .72fr;gap:4vw}
}
@media(max-width:900px){
  .site-header{min-height:68px;flex-wrap:wrap;row-gap:10px}.site-header .brand-mark{width:42px;height:42px}
  .site-header nav{order:3;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}
  .site-header nav>a,.site-header nav>a:not(.nav-cta){display:inline-flex;flex:0 0 auto;font-size:11px;padding:9px 10px;background:rgba(255,255,255,.45)}
  .site-header nav .nav-cta{background:var(--ink);color:#fff}
  .hero.service-hero{grid-template-columns:1fr;min-height:auto;padding-top:48px}
  .hero-card{min-height:440px}
  .page-about .service-hero,.page-work .service-hero{padding-right:max(24px,7vw);padding-bottom:330px}
  .page-about .service-hero:after,.page-work .service-hero:after{inset:auto 0 0;height:310px;background-position:center;mask-image:linear-gradient(transparent,#000 30%)}
  .section{padding-top:82px;padding-bottom:82px}
  .page-contact .option-card{min-height:auto}
}
@media(max-width:560px){
  .site-header{padding:10px 16px}.site-header .brand-name{max-width:180px;line-height:1.1}
  .breadcrumb{padding:22px 22px 0}
  .service-hero h1,.page-contact .intake-hero h1{font-size:49px}
  .hero-card{min-height:0;padding:215px 22px 14px}.hero-card:before{height:195px}.hero-card:after{inset:135px 0 auto}
  .section-head h2,.cta h2{font-size:42px}
  .card{padding:27px}.cta{padding:64px 22px}
  .page-contact .intake-hero{padding-top:68px;min-height:430px}
  .page-contact .privacy-summary{margin-left:16px;margin-right:16px}
  .page-contact .intake-options{padding-left:16px;padding-right:16px}
  .page-contact .option-card{padding:25px}
  .page-privacy .hero{padding:70px 22px 58px;min-height:450px}.page-privacy .hero h1{font-size:50px}
  .page-privacy .policy{padding-left:15px;padding-right:15px}.page-privacy .section,.page-privacy .notice{padding:25px}
}
@media(prefers-reduced-motion:reduce){.card,.btn,.option-card,.site-header nav>a{transition:none}}
