@font-face { font-family:'Pretendard'; font-style:normal; font-weight:100 900; font-display:swap; src:url('fonts/PretendardVariable.woff2') format('woff2'); }
a { -webkit-tap-highlight-color: transparent; }
button, a, input, textarea { touch-action: manipulation; }
button:focus-visible, a:focus-visible { outline:3px solid #637ce0; outline-offset:4px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.inquiry-select-trigger[data-placeholder="true"] { color:#748198; }
.inquiry-select-options[data-side="top"] { top:auto; bottom:calc(100% + 8px); }
.inquiry-select-trigger[aria-invalid="true"][aria-expanded="true"] { border-color:#d63749; }
.brand-link { display:block; flex-shrink:0; }
.brand-logo { position:relative; display:block; width:160px; height:21px; }
.brand-logo img { position:absolute; display:block; object-fit:contain; }
.brand-works .brand-main { left:0; top:-1.27%; width:70.65%; height:100%; }
.brand-works .brand-suffix { left:73.57%; top:46.67%; width:26.41%; height:50%; }
.brand-geo { height:22px; }
.brand-geo .brand-main { left:0; top:-1.27%; width:72.24%; height:100%; }
.brand-geo .brand-suffix { left:76.13%; top:30%; width:24.07%; height:70%; }
.brand-adchecker { width:203px; height:22px; }
.brand-adchecker .brand-main { left:0; top:0; width:57.18%; height:100%; }
.brand-adchecker .brand-suffix { left:59.57%; top:43.33%; width:40.39%; height:57.2%; }
.header-actions { display:flex; align-items:center; gap:20px; }
.header-actions a { display:flex; align-items:center; min-height:36px; font-size:14px; line-height:18px; letter-spacing:-.28px; font-weight:600; color:#38526b; text-decoration:none; white-space:nowrap; }
.header-actions a:hover { color:#706cff; }
.footer-brand-right .brand-works { width:136px; height:18px; }
.footer-brand-right .brand-geo { width:130px; height:18px; }
.footer-brand-right .brand-adchecker { width:160px; height:17px; }
.action-arrow { display:block; width:24px; height:24px; transition:transform 220ms ease; }
.hero-btn { height:44px; line-height:30px; white-space:nowrap; }
.inquiry-button { height:44px; line-height:22px; transition:transform 220ms ease,box-shadow 220ms ease; }
body[data-product="works"] { --action-gradient:linear-gradient(109deg,#ff4e79 0%,#fa55ae 45%,#8c73dc 100%); }
body[data-product="works"] .hero-actions .inquiry-button { color:#6b7f94; }
/* Figma's inquiry gradient starts outside the button, so the first stop is negative. */
body[data-product="works"] .inquiry-submit { background:linear-gradient(126.395deg,#ff4c4e -38.446%,#fa55ae 32.435%,#5881ef 122.55%); box-shadow:0 4px 7px #737cbc80; }
body[data-product="works"] .inquiry-submit:hover { box-shadow:0 7px 14px #737cbc8c; }
body[data-product="works"] .hero-text h1 .grad { background-image:linear-gradient(90deg,#ed247c,#5456f1); }
.works-showcase { padding:0; aspect-ratio:1024 / 588; background:none; box-shadow:none; border-radius:0; }
.works-showcase::after { display:none; }
.works-showcase img { position:absolute; height:auto; border:0; border-radius:0; }
.works-showcase .works-desktop { width:103.90625%; max-width:none; left:-1.171875%; top:-2.040816%; }
/* The dashboard export omits these image fills; place the original Figma asset at its source coordinates. */
.works-showcase .works-radar-icon { width:1.953125%; height:3.401361%; object-fit:cover; z-index:1; }
.works-showcase .works-radar-title { left:28.125%; top:23.469388%; }
.works-showcase .works-radar-analysis { left:28.90625%; top:29.591837%; }
.works-showcase .works-progress { width:32.324219%; left:-5.273438%; top:18.367347%; z-index:2; }
.works-showcase .works-monitor { width:54.980469%; left:53.417969%; top:54.557956%; z-index:3; }
@media (min-width:768px) {
  /* Reserve space for the brand-search card, including its exported shadow. */
  body[data-product="works"] .stage { padding-bottom:96px; }
}
html:not(.js) .hero-text, html:not(.js) .dashboard-wrap { visibility:visible; opacity:1; transform:none; }
body[data-product="geo"] { --page-background:#fafcff; --hero-background:#f4f7fb; --action-gradient:linear-gradient(90deg,#06b6d4,#8b5cf6); }
body[data-product="adchecker"] { --page-background:#fff; --hero-background:#f4f7fb; --action-gradient:linear-gradient(110deg,#3f8cff,#4c47ff); }
body:not([data-product="works"]) .site-header { height:62px; background:transparent; transition:background .2s, box-shadow .2s; }
body:not([data-product="works"]) .header-inner { max-width:1360px; }
body:not([data-product="works"]) .site-header.is-scrolled { background:rgba(250,252,255,.94); box-shadow:0 1px 10px #d5dce822; backdrop-filter:blur(12px); }
body:not([data-product="works"]) .site-footer { background:transparent; }
body[data-product="geo"] .hero-background { height:100%; background:linear-gradient(#f1f7ff,#fafcff); }
body[data-product="geo"] .bg-glow { height:100%; min-height:941px; opacity:.3; object-fit:cover; }
body[data-product="geo"] .bottom-fade { height:916px; background:linear-gradient(182deg,#f1f7ff00,#fafcff 96%); }
body[data-product="adchecker"] .hero-background { height:100%; }
body[data-product="adchecker"] .bg-glow { position:absolute; width:100%; height:2559px; top:-655px; opacity:.44; object-fit:fill; }
body[data-product="adchecker"] .bottom-fade { height:916px; background:linear-gradient(182deg,#fff0,#fff 96%); }
.product-stage { padding-top:162px; gap:86px; }
.product-stage .hero-text { width:calc(100% - 48px); max-width:1000px; }
.hero-eyebrow { margin:0 0 24px; font-size:24px; line-height:29px; font-weight:500; letter-spacing:-.48px; word-break:keep-all; }
.product-stage .hero-text h1 { font-size:56px; line-height:68px; letter-spacing:-1.12px; font-weight:600; }
.product-stage .hero-text h1 .grad { font-weight:700; }
body[data-product="geo"] .grad { background-image:linear-gradient(90deg,#06b6d4,#8b5cf6); }
body[data-product="adchecker"] .grad { background-image:linear-gradient(110deg,#3f8cff,#4c47ff); }
body[data-product="adchecker"] .hero-btn { box-shadow:none; font-weight:700; }
.geo-stage { flex-grow:1; height:auto; padding:126px 0 64px; justify-content:center; gap:0; overflow:hidden; }
.geo-content { position:relative; display:flex; flex-direction:column; align-items:center; gap:86px; width:100%; flex-shrink:0; }
.geo-content .product-cards { inset:-162px 0 -148px; }
.product-cards { position:absolute; inset:0 0 64px; overflow:hidden; pointer-events:none; }
.floating-card { position:absolute; will-change:transform,opacity; }
.floating-card img { display:block; width:100%; height:100%; }
.geo-bars picture { display:block; width:100%; height:100%; }
.geo-spark { left:calc(50% - 434px); top:59px; width:140px; height:134px; }
.geo-donut { left:calc(50% - 805px); top:260px; width:360px; height:360px; }
.geo-bars { left:calc(50% + 418px); top:62px; width:302px; height:326px; }
.geo-area { left:calc(50% - 42px); top:605px; width:738px; height:436px; }
.product-panel { position:relative; z-index:8; }
.geo-workspace { width:min(1024px,calc(100% - 80px)); padding:60px; display:flex; flex-direction:column; gap:24px; align-items:center; border-radius:50px; background:#ffffff66; backdrop-filter:blur(5.65px); box-shadow:2px 2px 14px #c5d0e6cc,8px 8px 20px #bdd2ee96,inset 6px 5px 20px #f9fbff,inset -8px -8px 10px #e2eaf4; }
.geo-workspace h2 { margin:0; font-size:24px; line-height:29px; font-weight:500; letter-spacing:-.48px; }
.geo-prompt { display:flex; width:100%; align-items:center; gap:8px; padding:12px 16px; min-height:52px; background:#fff; border:1px solid #e7e7e7; border-radius:99px; }
.geo-prompt input[type="text"], .ad-prompt input { flex:1; width:0; min-width:0; padding:0; border:0; outline:0; background:transparent; color:#0a121a; font-size:16px; line-height:22px; }
.geo-prompt input::placeholder { color:#919191; opacity:1; }
.geo-prompt:focus-within { border-color:#8188ee; }
.icon-button { display:flex; align-items:center; justify-content:center; padding:0; width:24px; height:24px; flex-shrink:0; background:none; border:0; border-radius:4px; }
.icon-button img { width:20px; height:20px; }
.icon-button[aria-pressed="true"] { background:#ddd7ff; }
.product-status { margin:0; font-size:13px; line-height:1.5; color:#595793; word-break:break-word; text-align:center; }
.product-status:empty { display:none; }
.adchecker-stage { min-height:1017px; padding-bottom:40px; }
.ad-workspace { --upload-border-width:3px; width:min(806px,calc(100% - 100px)); height:467px; padding:32px; display:flex; flex-direction:column; align-items:center; gap:24px; border:var(--upload-border-width) solid transparent; border-radius:80px; background:#ffffff66; backdrop-filter:blur(5.65px); box-shadow:2px 2px 14px #c5d0e6cc,8px 8px 20px #bdd2ee96,inset 6px 5px 20px #f9fbff80,inset -8px -8px 10px #e2eaf480; }
/* Keep the Figma gradient on the rounded outline without tinting the translucent fill. */
.ad-workspace::before { content:""; position:absolute; inset:calc(-1 * var(--upload-border-width)); padding:var(--upload-border-width); border-radius:inherit; background:linear-gradient(90deg,#3f8cff,#3f49ff); box-shadow:inset 6px 5px 20px #f9fbff80,inset -8px -8px 10px #e2eaf480; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; pointer-events:none; z-index:-1; }
.ad-dropzone { flex:1; width:100%; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; background:#f7f9fc; border:1px dashed #adaaff; border-radius:56px; color:#595793; }
.ad-dropzone.is-dragging { background:#eeecff; border-color:#706cff; }
.upload-art { display:block; width:150px; height:120px; object-fit:contain; }
.upload-description { max-width:100%; overflow-wrap:anywhere; font-size:16px; line-height:22px; letter-spacing:-.64px; font-weight:600; }
.upload-button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:36px; padding:8px 14px 8px 10px; border-radius:8px; background:#706cff; color:white; font-size:14px; font-weight:700; }
.upload-button img { width:20px; height:20px; }
.upload-preview { max-width:100%; width:220px; height:120px; object-fit:contain; border-radius:8px; }
.upload-preview[hidden] { display:none; }
.ad-prompt { display:flex; align-items:center; gap:24px; flex-shrink:0; width:min(1080px,calc(100vw - 80px)); padding:20px 40px; min-height:88px; background:#fff; border-radius:100px; box-shadow:0 8px 15px #7d7ae34d; }
.ad-prompt:focus-within { outline:2px solid #aaa7ff; outline-offset:3px; }
.ad-prompt input { font-weight:500; letter-spacing:-.32px; }
.ad-prompt input::placeholder { color:#6260a2; opacity:1; }
.review-button { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; gap:6px; height:48px; padding:0 20px 0 12px; border:0; border-radius:30px; background:var(--action-gradient); box-shadow:0 8px 30px #7d7ae34d; color:#fff; font-size:16px; font-weight:700; }
.review-button img { width:24px; height:24px; object-fit:contain; filter:brightness(0) invert(1); }
.ad-file-status { position:absolute; top:calc(100% + 10px); left:0; width:100%; }
.ad-badges { position:absolute; inset:0; pointer-events:none; z-index:9; }
.status-badge { display:flex; align-items:center; gap:4px; padding:4px 12px 4px 8px; height:40px; border-radius:40px; font-size:24px; line-height:32px; font-weight:600; letter-spacing:-.48px; color:#fff; box-shadow:0 8px 40px #5d536508,8px 14px 50px #774a9914; }
.status-badge img { width:28px; height:28px; }
.status-check { left:calc(50% - 540px); top:509px; background:linear-gradient(#ff4d4d70,#ff4d4d); }
.status-pass { left:calc(50% + 443px); top:626px; background:linear-gradient(#62d87a70,#62d87a); }
.status-warning { left:calc(50% - 483px); top:776px; background:linear-gradient(#ffba4270,#ffba42); }
.js .product-stage .floating-card, .js .product-panel { opacity:0; }
@media (hover:hover) and (pointer:fine) {
  .hero-btn:hover .action-arrow { transform:translateX(3px); }
  .inquiry-button:hover { transform:translateY(-2px); box-shadow:0 7px 14px rgba(115,124,188,.35); }
  .review-button:hover { filter:brightness(1.08); }
  .ad-dropzone:hover { background:#f0f1ff; }
}
.inquiry-button:active { transform:translateY(0) scale(.98); }
@media (min-width:1441px) {
  .geo-stage { max-width:none; }
  .geo-donut { left:max(16px,calc(50% - 805px)); }
  .geo-bars { left:min(calc(50% + 438px),calc(100% - 350px)); width:318px; height:302px; filter:drop-shadow(0 4px 20px rgba(15,26,51,.03)); }
}
@media (max-width:1199px) {
  .product-stage { padding-top:170px; }
  .product-stage .hero-text h1 { font-size:46px; line-height:1.22; }
  .hero-eyebrow { font-size:22px; }
  .geo-stage { padding:126px 0 64px; }
  .geo-content .product-cards { top:-170px; }
  .adchecker-stage { min-height:1000px; }
  .status-check { left:5%; top:510px; }
  .status-pass { left:auto; right:4%; top:620px; }
  .status-warning { left:8%; top:764px; }
  .geo-donut { left:-130px; width:290px; height:290px; top:310px; }
  .geo-bars { left:auto; right:-100px; top:66px; width:260px; height:281px; }
  .geo-area { left:42%; top:590px; }
}
@media (max-width:767px) {
  .site-header, body:not([data-product="works"]) .site-header { height:56px; padding:0 20px; }
  .brand-logo { width:145px; height:20px; }
  .brand-adchecker { width:170px; height:19px; }
  .header-actions { gap:14px; }
  .header-actions a { font-size:12px; min-height:40px; }
  .hero-btn { min-height:40px; height:40px; font-size:16px; line-height:22px; }
  .action-arrow { width:18px; height:18px; }
  .inquiry-button { height:40px; }
  .footer-top { flex-direction:row; align-items:center; }
  .footer-brand { flex:1 1 100%; }
  .footer-brand-right { margin-left:auto; }
  .works-showcase { aspect-ratio:1024 / 588; padding:0; border-radius:0; overflow:visible; }
  .works-showcase img { height:auto; border-radius:0; object-fit:contain; }
  .works-showcase .works-monitor { width:52%; left:49%; }
  .product-stage { min-height:0; padding:148px 0 80px; gap:58px; }
  .product-stage .hero-text { display:block; width:calc(100% - 40px); max-width:540px; }
  .hero-eyebrow { margin-bottom:18px; font-size:clamp(14px,3.65vw,18px); line-height:1.5; letter-spacing:-.4px; }
  .product-stage .hero-text h1 { font-size:clamp(28px,6.8vw,40px); line-height:1.25; margin-bottom:26px; letter-spacing:-1px; }
  .product-stage .hero-text h1 .grad { margin-top:4px; font-size:clamp(29px,7.45vw,42px); white-space:nowrap; }
  .product-stage .hero-actions { gap:10px; flex-wrap:nowrap; }
  .geo-stage { height:750px; padding:148px 0 80px; flex-grow:0; justify-content:flex-start; }
  .geo-content { gap:58px; }
  .geo-content .product-cards { top:-148px; bottom:-142px; }
  .product-cards { bottom:24px; }
  .geo-spark { width:92px; height:88px; left:26px; top:62px; }
  .geo-donut { width:190px; height:190px; top:320px; left:-108px; }
  .geo-bars { width:158px; height:170px; right:-90px; top:76px; }
  .geo-area { width:480px; height:284px; left:24%; top:524px; }
  .geo-workspace { width:calc(100% - 40px); border-radius:30px; padding:32px 20px; gap:20px; }
  .geo-workspace h2 { font-size:18px; line-height:24px; letter-spacing:-.4px; text-align:center; }
  .geo-prompt { min-height:48px; gap:6px; padding:10px; }
  .geo-prompt input[type="text"] { font-size:14px; }
  .icon-button { width:22px; height:24px; }
  .icon-button img { width:18px; height:18px; }
  body[data-product="geo"] .bg-glow { min-height:760px; object-position:60% top; }
  body[data-product="adchecker"] .bg-glow { height:1500px; top:-330px; width:900px; left:50%; transform:translateX(-50%); }
  .adchecker-stage { padding-top:136px; padding-bottom:62px; gap:62px; }
  .adchecker-stage .hero-eyebrow { max-width:310px; margin-left:auto; margin-right:auto; }
  .adchecker-stage .hero-text h1 .grad { font-size:clamp(28px,7.2vw,42px); }
  .ad-workspace { --upload-border-width:2px; width:calc(100% - 56px); height:370px; padding:20px 16px; border-radius:42px; gap:20px; }
  .ad-dropzone { border-radius:28px; padding:20px 12px; gap:10px; }
  .upload-art { width:110px; height:88px; }
  .upload-description { max-width:240px; font-size:13px; line-height:20px; word-break:keep-all; }
  .upload-button { min-height:32px; font-size:12px; padding:6px 12px 6px 8px; }
  .upload-button img { width:18px; height:18px; }
  .upload-preview { height:88px; width:180px; }
  .ad-prompt { width:calc(100vw - 32px); min-height:68px; padding:12px 16px 12px 20px; gap:8px; }
  .ad-prompt input { font-size:14px; }
  .review-button { height:40px; font-size:13px; padding:0 12px 0 9px; gap:4px; }
  .review-button img { width:18px; height:18px; }
  .status-badge { height:30px; padding:3px 9px 3px 6px; gap:3px; font-size:16px; line-height:24px; }
  .status-badge img { width:20px; height:20px; }
  .status-check { top:calc(100% - 452px); left:15px; }
  .status-pass { top:calc(100% - 350px); right:8px; }
  .status-warning { top:calc(100% - 209px); left:10px; }
}
@media (max-width:374px) {
  .site-header, body:not([data-product="works"]) .site-header { padding:0 14px; }
  .brand-logo { width:130px; height:18px; }
  .brand-adchecker { width:150px; height:17px; }
  .header-actions { gap:10px; }
  .product-stage .hero-actions { gap:8px; }
  .product-stage .hero-btn { padding-left:14px; padding-right:10px; font-size:14px; }
  .product-stage .hero-actions .inquiry-button { padding:8px 14px; font-size:14px; }
  .geo-workspace { padding:30px 14px; }
  .geo-workspace h2 { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; }
  .action-arrow, .site-header { transition:none !important; }
  .hero-btn:hover .action-arrow { transform:none; }
}
