/* Homepage presentation study. Scoped to the two homepage documents. */
.home-refined { --home-ink:#222326; --home-accent:#ff5100; --home-copy:#56585f; }
.home-refined .home-hero { min-height:0; padding:16px 16px 0; }
.home-refined .home-hero .hero-image { overflow:hidden; }
/* The mobile hero is a directly discoverable image, not a video poster.
   Keep the desktop video and its existing background unchanged. */
.home-refined .home-hero .home-hero-poster { display:none; }
@media(max-width:767px) {
  .home-refined .home-hero .hero-image:has(.home-hero-poster) { background-image:none; background-attachment:scroll; }
  .home-refined .home-hero .home-hero-poster { display:block; position:absolute; inset:0; border-radius:inherit; }
  .home-refined .home-hero .hero-image:has(.home-hero-poster) video { display:none; }
}
.home-refined .home-hero .hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(125deg,rgba(255,255,255,.64),rgba(255,255,255,.24)); pointer-events:none; }
.home-refined .home-hero .content-wrap { position:relative; z-index:1; max-width:1040px; margin:0 auto; padding:166px 0 100px; }
.home-refined .home-hero .sub { padding:0; margin-bottom:24px; gap:8px; border:0; background:none; box-shadow:none; color:var(--home-accent); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.home-refined .home-hero .sub svg { width:15px; height:15px; }
.home-refined .home-hero-title { margin:0 auto 24px; color:var(--home-ink); font-size:clamp(54px,5.5vw,82px); font-weight:600; line-height:1.04; letter-spacing:-.055em; }
.home-refined .home-hero-title>span { display:block; }
.home-refined .home-hero-title__accent { color:var(--home-accent); }
.home-refined .home-hero .content-wrap .text { max-width:590px; margin:0 auto 30px; color:var(--home-copy); font-size:18px; line-height:1.7; letter-spacing:-.015em; }
.home-refined .home-hero .bot-btns { gap:12px; }
.home-refined .home-hero .home-hero-primary,.home-refined .home-hero .home-hero-secondary { min-height:52px; padding:14px 25px; font-size:15px; line-height:1.3; }
/* Primary CTA inherits the original theme's .tf-btn surface and light effect. */
.home-refined .home-hero .home-hero-primary { gap:14px; }
.home-refined .home-hero-primary svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-refined .home-hero .home-hero-secondary { border:1px solid rgba(44,46,50,.18); border-radius:999px; background:rgba(255,255,255,.55); color:var(--home-ink); box-shadow:none; }
.home-refined .home-hero .home-hero-secondary:hover { border-color:#aaa; background:#fff; }
.home-refined .home-hero .audit-request-trigger { min-height:48px; margin-top:26px; border-radius:15px; box-shadow:inset 0 1px 0 #ffffff25,0 4px 12px #18181b18; }
.home-refined .home-hero .audit-request-button-title { font-size:13px; }
.home-refined .home-hero .audit-request-button-eyebrow { font-size:8px; }
.home-refined .home-hero .audit-request-emblem { flex-basis:28px; height:30px; }
.home-refined .home-hero .audit-request-button-arrow { flex-basis:24px; height:24px; }
.home-hero-platforms { position:relative; width:228px; height:116px; margin:32px auto 0; isolation:isolate; }
.home-hero-platforms::before { content:""; position:absolute; top:28px; left:50%; width:190px; height:48px; transform:translateX(-50%); border-radius:999px; background:var(--home-accent); box-shadow:0 12px 28px rgba(255,81,0,.2); }
.home-hero-platforms__card { position:absolute; z-index:1; display:grid; place-items:center; width:62px; height:62px; padding:14px; border:1px solid rgba(255,255,255,.9); border-radius:12px; background:linear-gradient(140deg,#fff,#f6f7fa); box-shadow:0 7px 14px rgba(36,37,41,.14),inset 0 1px 0 #fff; transform:rotate(var(--tilt)); animation:home-platform-sway 5.2s ease-in-out infinite; }
.home-hero-platforms__card--google { --tilt:-15deg; left:20px; top:2px; }
.home-hero-platforms__card--meta { --tilt:12deg; right:18px; top:12px; animation-delay:-1.4s; }
.home-hero-platforms__card--shopify { --tilt:-7deg; left:88px; top:45px; width:56px; height:56px; animation-delay:-2.8s; }
.home-hero-platforms img { display:block; width:100%; height:100%; object-fit:contain; }
@keyframes home-platform-sway { 0%,100% { transform:translateY(0) rotate(var(--tilt)); } 50% { transform:translateY(-8px) rotate(calc(var(--tilt) + 5deg)); } }
@media(prefers-reduced-motion:reduce) { .home-hero-platforms__card { animation:none!important; } }
.home-refined .home-hero .scroll-more { z-index:2; bottom:0; width:320px; max-width:calc(100% - 48px); height:56px; padding:12px; gap:16px; border-radius:40px 40px 0 0; background:#edecec; font-size:16px; color:var(--home-ink); }
.home-refined .home-hero .scroll-more .icon { flex:0 0 20px; width:20px; height:32px; font-size:16px; border:1px solid #d1d1d7; border-radius:999px; color:var(--home-accent); }

/* A consistent reading rhythm for existing homepage sections. */
.home-refined #home-service-seo { scroll-margin-top:120px; }
.home-refined .section-services button.accordion-action { width:100%; padding:0; border:0; background:transparent; text-align:left; font-family:inherit; }
.home-refined .section-services button.accordion-action:focus-visible { outline:3px solid var(--home-accent); outline-offset:6px; border-radius:8px; }
.home-refined .flat-spacing { padding-top:100px; padding-bottom:100px; }
.home-refined .section-about-us.flat-spacing { min-height:0; padding-bottom:48px; }
.home-refined .heading-section .heading-title { font-size:clamp(36px,4.5vw,64px); line-height:1.1; letter-spacing:-.045em; }
.home-refined .heading-section .heading-sub { max-width:100%; padding:0 0 0 15px; border-radius:0; background:none; box-shadow:none; color:var(--home-accent); font-size:12px; line-height:1.5; letter-spacing:.07em; margin-bottom:20px; }
.home-refined .heading-section .heading-sub::before { left:0; width:5px; height:5px; }
.home-refined .heading-section.mb-80 { margin-bottom:52px!important; }
.home-refined .section-about-us .heading-section { margin-bottom:32px; }
.home-refined .section-about-us .heading-title { background:none; color:var(--home-ink); -webkit-text-fill-color:var(--home-ink); }
.home-refined .section-about-us .col-left>.position-relative { width:100%; max-width:calc(100% - 32px); }
.home-refined .section-about-us .col-left .sub { max-width:100%; white-space:normal; }
.home-refined .section-about-us .col-left .sub .dot { flex:0 0 6px; }
.home-refined .section-features .features-item .title { font-size:24px; line-height:32px; }
.home-refined .featured-works-list { grid-template-columns:minmax(0,1fr); }
.home-refined .featured-works-item:has(.project-platform) { background:#fff; }
.home-refined .featured-works-item:has(.project-platform) .bot { flex-direction:column; gap:28px; }
.home-refined .featured-works-item:has(.project-platform) .bot .heading { width:100%; }
.home-refined .featured-works-item:has(.project-platform) .grid-text { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:24px; }
.home-refined .featured-works-item .grid-text:has(.project-platform) .item { width:auto; }
.home-refined .featured-works-item .project-platform { grid-column:1/-1; border-top:1px solid #d4d4d8; padding-top:18px; }
/* Large text on white keeps the exact brand orange above 3:1 contrast. */
.home-refined .featured-works-item .project-platform .fw-semibold { color:var(--home-accent); font-size:24px; line-height:1.4; }
@media(max-width:767px) {
  .home-refined .featured-works-item:has(.project-platform) .grid-text { grid-template-columns:minmax(0,1fr); gap:22px; }
}
.home-refined .section-featured-works .heading-section .heading-sub { margin-bottom:40px; padding:0; color:var(--home-ink); font-size:clamp(36px,4.5vw,64px); line-height:1.1; letter-spacing:-.045em; }
.home-refined .section-featured-works .heading-sub::before { display:none; }
.home-refined .home-latest-blog { padding-top:100px; padding-bottom:100px; }
.home-refined .home-latest-blog__heading h2 { font-size:clamp(36px,4.5vw,64px); line-height:1.1; letter-spacing:-.045em; }
@media(min-width:992px) { .home-refined:lang(en) .home-hero-title { font-size:68px; } }
@media(max-width:991px) {
  .home-refined .home-hero .content-wrap { padding-top:150px; padding-bottom:88px; }
  .home-refined .flat-spacing { padding-top:76px; padding-bottom:76px; }
}
@media(max-width:575px) {
  .home-refined .home-hero { padding:12px 12px 0; }
  .home-refined .home-hero .hero-image { inset:12px 12px 0; border-radius:28px; }
  .home-refined .home-hero .hero-image video { border-radius:28px; }
  .home-refined .home-hero .content-wrap { padding:142px 0 78px; }
  .home-refined .home-hero .sub { margin-bottom:24px; font-size:9px; letter-spacing:.1em; }
  .home-refined .home-hero-title { max-width:360px; margin-bottom:22px; font-size:clamp(30px,8.4vw,43px); line-height:1.12; letter-spacing:-.05em; }
  .home-refined .home-hero .content-wrap .text { max-width:330px; padding:0 4px; margin-bottom:26px; font-size:15px; line-height:1.65; }
  .home-refined .home-hero .bot-btns { flex-direction:row; gap:9px; flex-wrap:wrap; }
  .home-refined .home-hero .home-hero-primary,.home-refined .home-hero .home-hero-secondary { min-height:46px; padding:12px 17px; font-size:13px; }
  .home-refined .home-hero .home-hero-primary { gap:8px; }
  .home-refined .home-hero .audit-request-trigger { margin-top:28px; min-height:44px; max-width:270px; border-radius:13px; }
  .home-refined .home-hero .audit-request-button-title { font-size:12px; }
  .home-refined .home-hero .audit-request-button-eyebrow { font-size:7px; }
  .home-refined .home-hero .audit-request-emblem { flex-basis:24px; height:26px; }
  .home-refined .home-hero .audit-request-button-arrow { flex-basis:22px; height:22px; }
  .home-hero-platforms { width:192px; height:100px; margin-top:32px; }
  .home-hero-platforms::before { top:25px; width:154px; height:40px; }
  .home-hero-platforms__card { width:52px; height:52px; padding:12px; border-radius:10px; }
  .home-hero-platforms__card--google { left:20px; }
  .home-hero-platforms__card--meta { right:14px; width:50px; height:50px; }
  .home-hero-platforms__card--shopify { left:76px; top:43px; width:46px; height:46px; padding:10px; }
  .home-refined .flat-spacing { padding-top:64px; padding-bottom:64px; }
  .home-refined .section-about-us.flat-spacing { padding-bottom:32px; }
  .home-refined .heading-section .heading-title { font-size:36px; line-height:1.14; }
  .home-refined .heading-section .heading-sub { font-size:10px; margin-bottom:16px; }
  .home-refined .heading-section.mb-80 { margin-bottom:34px!important; }
  .home-refined .home-latest-blog { padding-top:64px; padding-bottom:64px; }
}
