/* allday studio: the brand film leads; rectangular surfaces and open spacing follow. */
:root { --radius: 0; --studio-paper: #f7f8f2; }
/* One geometry rule also covers inherited component and pseudo-element radii. */
body *, body *::before, body *::after { border-radius: 0 !important; }
body { background: var(--studio-paper); }
body h1,body h2,body h3,body h4 { font-family: var(--body); letter-spacing: -.025em; }
.focus-period,.home-service__icon,.page-stage__grain,.page-stage__canvas,.page-stage__scrim { display: none; }
.page-header { border: 0; box-shadow: none; }
.page-header .page-nav__menu { border: 0; box-shadow: 0 16px 32px #02152618; }
.page-nav > a[aria-current="page"] { background: transparent; text-decoration: underline; text-underline-offset: .45em; }
.page-nav > a,.page-nav__top { font-weight: 550; }
.page-stage { background: #021526; }
.page-stage .page-stage__inner { padding-block: clamp(3rem,6vw,6rem); }
.page-stage .work-heading { max-width: 60rem; border: 0; }
.page-stage .work-heading > span { display: none; }
.page-stage .work-heading h1,.page-stage .proposal-hero h1 { font-size: clamp(2.4rem,4.8vw,4.5rem); line-height: 1.3; font-weight: 650; letter-spacing: -.035em; }
.page-stage .work-heading p { margin-top: 1.25rem; font-size: 1.125rem; color: #e2e2b6; }
.work-main .main-heading { margin-bottom: 2.5rem; }
.work-main .main-heading h2 { font-size: clamp(1.9rem,3vw,2.5rem); font-weight: 650; }
.work-main .main-heading p { font-size: 1.125rem; line-height: 1.85; }
.work-card__media,.proposal-fit__grid article,.proposal-engagement__grid article { box-shadow: none; border: 0; }
.work-card__number { background: transparent; color: #021526; }
.work-card__media { overflow: hidden; }
.work-card__media img { transition: transform 300ms ease; }
.work-card:hover .work-card__media img { transform: scale(1.025); }
.primary-link,.secondary-link,.focus-button { font: 600 1.125rem/1.6 var(--body); }
.focus-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.5rem; min-height: 3.5rem; padding: .85rem 1.4rem; color: #fff; background: #03346e; text-decoration: none; }
.focus-button:hover { background: #021526; transform: none; }
.fab--top { box-shadow: none; }
.fab__label { display: none; }

/* The film keeps its native ratio and stops on its final brand composition. */
.home-page { background: #f7f8f2; }
.home-page h2 { font-weight: 650; }
.focus-section { padding-block: clamp(3.5rem,6.5vw,6.5rem); }
.focus-hero { background: #00142f; }
.focus-hero__intro { padding-block: .25rem 0; border: 0; }
.home-results { padding-bottom: 0; }
.home-results__cards { gap: 2rem; }
.home-results__cards > div,.home-results__cards > div:nth-child(n) { padding: .5rem 0; background: transparent; color: #021526; }
.home-results dt { min-height: 2em; font-size: 1.125rem; }
.home-results dd { font-size: clamp(2.8rem,4vw,4rem); color: #03346e; font-weight: 600; margin-top: .7rem; }
.focus-work__grid { gap: 2.5rem 2rem; }
.focus-project,.focus-project:nth-child(n) { background: transparent; box-shadow: none; }
.focus-project__image { aspect-ratio: 4 / 5; }
.focus-project__caption { padding: 1rem 0 0; }
.focus-project__caption h3 { font-weight: 550; }
a.focus-project:hover { transform: none; }
.focus-play { right: .75rem; bottom: .75rem; width: 2.5rem; height: 2.5rem; }
.project-filters { gap: .4rem; margin-bottom: 2rem; }
.project-filters button { padding: .65rem 1.2rem; background: transparent; font-weight: 500; }
.project-filters button:hover { background: #e2e2b6; }
.project-filters button[aria-pressed="true"] { background: #03346e; color: #fff; }
.home-about { display: grid; grid-template-columns: .8fr 1.5fr; gap: 4rem; padding-top: 1rem; }
.home-about__copy { max-width: 45rem; }
.home-about__copy h3 { font-size: clamp(1.8rem,3vw,2.75rem); line-height: 1.5; font-weight: 600; margin-bottom: 1.75rem; }
.home-about__copy p { font-size: 1.125rem; line-height: 1.95; margin-bottom: 1.25rem; color: #405566; }
.home-about__copy .focus-link { margin-top: .5rem; }
.home-services__inner { padding-block: clamp(3.5rem,6.5vw,6.5rem); }
.home-service-list { gap: 1rem; }
.home-service,.home-service:nth-child(n) { grid-template-columns: minmax(0,1fr) auto; padding: 1.75rem 2rem; background: #0c2943; color: #e2e2b6; }
.home-service > div { grid-column: 1; grid-row: 1; }
.home-service > span:last-child { grid-column: 2; grid-row: 1; }
.home-service h3 { font-weight: 600; }
.home-service li { color: #d8e5ee; font-size: 1.125rem; }
.home-service:hover { background: #03346e; transform: none; }
.home-film__play { width: 4rem; height: 4rem; }
.home-process__steps { gap: 2rem; }
.home-process__steps li,.home-process__steps li:nth-child(n) { padding: 0; gap: .8rem; background: transparent; }
.home-process__steps span { display: block; width: auto; height: auto; color: #03346e; background: transparent; font-size: 1.5rem; font-weight: 500; }
.home-process__steps h3 { font-weight: 550; }
.focus-contact { margin-block: 0 5rem; padding: 3rem; }
.home-footer .home-footer__col h2 { font-size: 1.125rem; font-weight: 600; }
.home-footer__col a { font-size: 1.125rem; }

/* Prices, included work and delivered files remain distinct, readable groups. */
.pricing-content { display: flex; flex-direction: column; gap: 5rem; }
.pricing-content .main-heading { width: 100%; margin-inline: 0; padding-inline: 0; }
.production-plans { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.production-plan { display: flex; flex-direction: column; align-items: start; padding: clamp(1.5rem,3vw,3rem); background: #e2e2b6; color: #021526; }
.production-plan--editing { background: #e5edf0; }
.production-plan h3 { font-size: 1.5rem; font-weight: 650; }
.production-plan__quantity { margin-top: .75rem; font-size: 1.25rem; }
.production-plan__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin: .6rem 0 1.8rem; font-size: clamp(2.75rem,4.3vw,4rem); font-weight: 600; line-height: 1.3; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.production-plan__price > span { font-size: 1.25rem; font-weight: 500; letter-spacing: 0; }
.detail-list { margin: 0; padding-left: 1.2em; font-size: 1.125rem; line-height: 1.85; list-style: square; }
.detail-list li + li { margin-top: .4rem; }
.production-plan__delivery { width: 100%; margin-block: auto 0; padding-top: 2.5rem; }
.production-plan__delivery h4 { margin-bottom: 1rem; font-size: 1.25rem; font-weight: 650; }
.production-plan .focus-button { width: 100%; margin-top: 2rem; }
.pricing-content .price-table { gap: 1rem; margin: 0; border: 0; }
.pricing-content .price-row { padding: 2rem; border: 0; background: #eaf0f0; grid-template-columns: 1fr 1fr 1.7fr; }
.pricing-content .price-row__name { font-size: 1.25rem; line-height: 1.6; font-weight: 600; }
.pricing-content .price-row__price { font-size: 1.5rem; font-weight: 600; }
.pricing-content .price-row__price small { display: block; font-size: 1.125rem; font-weight: 400; }
.pricing-content .price-note { font-size: 1.125rem; margin: 1.5rem 0 0; }
.pricing-content .price-compare { margin: 0; gap: 2rem; }
.pricing-content .price-compare__col { border: 0; background: #eaf0f0; padding: 2rem; }
.pricing-content .price-compare__col h3 { font-size: 1.4rem; font-weight: 600; margin-bottom: 1.25rem; }
.pricing-content .section-cta { margin: 0; }

/* Demonstrations use the same rectangular surfaces as the rest of the site. */
.ai-page .main-systems .main-system-list { gap: 5rem; }
.ai-page .main-systems .main-system h3 { font-weight: 650; }
.reply-demo,.followup-demo { background: #e5edf0; box-shadow: none; }
.reply-demo__choices,.followup-demo__choices { gap: .5rem; }
.reply-demo__message,.followup-demo__chat { box-shadow: none; }
.followup-demo__steps li::before { background: transparent; }

@media (max-width: 72rem) {
  .page-header .page-nav { background: #f7f8f2; }
}
@media (max-width: 44rem) {
  .brand-motion { width: calc(100% - 2.5rem); }
  .focus-hero__intro { gap: .5rem 1rem; padding-block: .25rem 1rem; }
  .home-timeline { grid-template-columns: 1fr; row-gap: 1.5rem; padding: 0 0 0 2.6rem; }
  .home-timeline::before { top: 0; bottom: 2.4rem; left: .6rem; right: auto; width: .55rem; height: auto; background: linear-gradient(180deg,#6eacda00,#6eacda 14%,#03346e 62%,#021526); }
  .home-timeline::after { top: auto; bottom: 0; left: .05rem; right: auto; width: 2.35rem; height: 2.4rem; clip-path: polygon(0 0,100% 0,50% 100%); }
  .home-timeline h3 { font-size: 1.3rem; }
  .home-service-shortcuts { gap: .25rem .75rem; }
  .home-service-shortcuts a { font-size: 1rem; }
  .home-results__cards { gap: 1.5rem; }
  .home-results__cards > div { flex-basis: calc(50% - .75rem); }
  .home-results dt { min-height: 3em; font-size: 1rem; }
  .home-results dd { font-size: 2.7rem; }
  .focus-work__grid { gap: 1rem; }
  .focus-project { flex-basis: 86%; }
  .home-about { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 0; }
  .home-about__copy h3 { font-size: 1.8rem; }
  .home-services__inner { gap: 3rem; }
  .home-service,.home-service:nth-child(n) { padding: 1.5rem; }
  .home-service h3 { font-size: 1.4rem; }
  .home-process__steps { gap: 2rem 1rem; }
  .home-process__steps li { flex-basis: calc(50% - .5rem); }
  .focus-contact { padding: 1.5rem; margin-bottom: 3.5rem; }
  .production-plans,.pricing-content .price-compare { grid-template-columns: 1fr; gap: 1.5rem; }
  .production-plan { padding: 1.5rem; }
  .production-plan__price { font-size: 3.25rem; }
  .pricing-content { gap: 3.5rem; }
  .pricing-content .price-row { grid-template-columns: 1fr; padding: 1.5rem; gap: 1rem; }
  .pricing-content .price-compare__col { padding: 1.5rem; }
  .reply-demo__message { width: 100%; }
  .ai-page .main-systems .main-system-list { gap: 3.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .work-card:hover .work-card__media img { transform: none; }
  .work-card__media img { transition: none; }
}

/* ── 首頁英雄區：影片播完，字標飛去頁首 ── */
.focus-hero { background: #011327; }
.brand-motion { width: min(80rem,calc(100% - 6rem)); margin-inline: auto; padding-block: clamp(1rem,3vh,2rem) 1.25rem; }
.brand-motion__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #011327; }
.brand-motion__video {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  object-fit: contain; background: #011327; transition: opacity 220ms ease;
}
.brand-motion.is-settled .brand-motion__video { opacity: 0; }
.brand-motion__ink {
  position: absolute; display: block; object-fit: contain;
  opacity: 0; pointer-events: none; transition: opacity 220ms ease;
}
.brand-settled .brand-motion__ink { opacity: 1; }
.brand-settled .brand-motion__ink {
  position: fixed; z-index: 1001; transform-origin: 0 0;
  transition: none; will-change: transform;
}
/* 頁首那格交給飛過來的字標；JS 沒跑就維持原本的靜態 logo。 */
.brand-flight .page-brand__type,.brand-flight .page-brand__mark { visibility: hidden; }
.home-page .page-header .page-brand { display: flex; align-items: center; }
.home-page .page-brand__mark { aspect-ratio: 1574 / 1052; object-fit: contain; }

/* ── 合作怎麼開始：一支往右的漸層箭頭 ── */
.home-timeline {
  position: relative; list-style: none; margin: clamp(2.5rem,5vw,4rem) 0 0; padding: 3.4rem 0 0;
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: clamp(1.5rem,3vw,3rem);
}
.home-timeline::before {
  content: ""; position: absolute; top: 1rem; left: 0; right: 2.4rem; height: .55rem;
  background: linear-gradient(90deg,#6eacda00,#6eacda 14%,#03346e 62%,#021526);
}
.home-timeline::after {
  content: ""; position: absolute; top: .1rem; right: 0; width: 2.4rem; height: 2.35rem;
  background: #021526; clip-path: polygon(0 0,100% 50%,0 100%);
}
.home-timeline > li { position: relative; }
.home-timeline__no { display: block; margin-bottom: .5rem; color: #6f8798; font-size: 1.0625rem; font-weight: 500; }
.home-timeline h3 { font-size: clamp(1.3rem,2vw,1.65rem); font-weight: 600; line-height: 1.5; }

/* ── 合作需求表單：直接攤開，不再收合 ── */
.focus-brief { border: 0; padding-top: .5rem; }
.focus-brief__title { margin: 0; color: #021526; font-size: 1.25rem; font-weight: 600; }

/* ── AI 數字人：把手機框裝回來 ──
   全站直角，但手機本來就是圓角，這裡明確地把它還原。 */
.phone-demo__frame {
  padding: .42rem; background: #021526; border: .1rem solid #021526;
  border-radius: 2rem !important; box-shadow: 0 1rem 2.25rem #02152633;
}
.phone-demo__island { display: block; border-radius: 999px !important; background: #000; }
.phone-demo__video { border-radius: 1.6rem !important; }

@media (max-width: 44rem) {
}
@media (prefers-reduced-motion: reduce) {
  .brand-motion__ink,.brand-motion__video { transition: none; }
}


/* ── 頁首：跟首屏同一片深海軍藍，半透明浮在內容上 ── */
.page-header {
  background: rgb(1 19 39 / .72);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
  color: #e2e2b6;
}
.page-brand__type { background: #e2e2b6; }
.page-nav > a,.page-nav__top,.nav-toggle { color: #e2e2b6; }
.page-nav > a:hover,.page-nav > a:focus-visible,
.page-nav__group:hover .page-nav__top,.page-nav__group:focus-within .page-nav__top {
  color: #fff; background: rgb(255 255 255 / .12);
}
.page-nav > a[aria-current="page"] { color: #fff; background: transparent; }
.page-nav .nav-contact,.page-nav .nav-contact:hover { background: #e2e2b6; color: #021526; }
.page-nav .nav-contact:hover { background: #fff; }
.page-header :focus-visible { outline-color: #e2e2b6; }
.page-header .page-nav__menu {
  color: #e2e2b6; background: rgb(1 19 39 / .94);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: none;
}
.page-header .page-nav__menu a { color: #e2e2b6; }
.page-header .page-nav__menu a:hover,.page-header .page-nav__menu a:focus-visible,
.page-header .page-nav__menu a[aria-current="page"] { color: #021526; background: #e2e2b6; }

/* ── 全站不用線分段：留白就是分段 ── */
.page-header,.site-footer,.site-footer__inner,.site-footer__bar,
.home-footer__inner,.home-footer__bar,.focus-brief,.focus-hero__intro,
.work-card__meta,.work-heading,.main-heading,.price-table,.price-row,
.price-compare__col,.production-plan__delivery,.boundary-list,.boundary-list > li,
.faq-list,.faq-list > li,.faq-item,.main-system,.main-system-list,
.ad-service-list,.ad-service,.ad-contact__grid,.ad-hero__bottom,
.page-nav,.nav-toggle {
  border: 0 !important;
}

/* ── 頁底的兩條線：安靜地跑過整個版面 ── */
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' preserveAspectRatio='none'%3E%3Cpath d='M-60 226C250 96 430 356 720 262S1180 74 1500 236' fill='none' stroke='%2303346e' stroke-opacity='.16' stroke-width='2.5'/%3E%3Cpath d='M-60 712C300 812 520 566 830 654s400 176 730 62' fill='none' stroke='%236eacda' stroke-opacity='.28' stroke-width='2.5'/%3E%3C/svg%3E") no-repeat 50% 50% / 100% 100%;
}
.home-page .focus-hero,.page-stage { position: relative; z-index: 0; }
@media (max-width: 44rem) {
  .page-header { background: rgb(1 19 39 / .9); }
  .page-header .page-nav { background: rgb(1 19 39 / .96); }
  .page-header[data-nav-open="true"]::before { background: rgb(1 19 39 / .96); }
}
@media (max-width: 72rem) {
  .page-header .page-nav { background: rgb(1 19 39 / .96); }
}

/* A stable header remains tappable while reading; the menu owns the top layer. */
.page-header { transform: none !important; opacity: 1 !important; }
.page-header::before { background: transparent; }
.page-header[data-nav-open="true"] { z-index: 1100; }
.site-menu-open .brand-motion__ink { visibility: hidden; }
.site-menu-open .page-brand__type,.site-menu-open .page-brand__mark { visibility: visible; }


/* Detach the mobile drawer from the header grid and its backdrop-filter containing block. */
@media (max-width: 72rem) {
  .page-header[data-nav-open="true"] {
    background: #011327;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .site-menu-open .page-header .page-nav {
    grid-area: auto;
    position: fixed;
    inset: var(--header-h) 0 0;
    width: 100%;
    height: calc(100dvh - var(--header-h));
    max-height: calc(100dvh - var(--header-h));
    margin: 0;
    padding: 1.25rem 1.5rem 2rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #011327;
  }
}
