*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer}table{border-collapse:collapse;border-spacing:0}:root{--color-primary: #1a2f55;--color-primary-dark: #0f1d3a;--color-primary-light: #3a5a8e;--color-primary-rgb: 26, 47, 85;--color-accent: #06c755;--color-accent-dark: #05a847;--color-accent-light: #e6f9ee;--color-accent-rgb: 6, 199, 85;--color-secondary: #6366f1;--color-secondary-rgb: 99, 102, 241;--color-white: #ffffff;--color-bg: #ffffff;--color-bg-alt: #f8f9fc;--color-bg-muted: #eef0f5;--color-bg-dark: #0b1120;--color-border: #e2e5ef;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--gradient-primary: linear-gradient(135deg, #1a2f55 0%, #2e4a7a 50%, #4a6a9e 100%);--gradient-accent: linear-gradient(135deg, #06c755 0%, #00e676 100%);--gradient-hero: linear-gradient(135deg, #0b1120 0%, #1a2f55 40%, #2e4a7a 100%);--gradient-glow: radial-gradient(circle, rgba(var(--color-accent-rgb), .15) 0%, transparent 70%);--gradient-text: linear-gradient(135deg, #1a2f55, #6366f1);--gradient-card-border: linear-gradient(135deg, rgba(var(--color-primary-rgb), .2), rgba(var(--color-accent-rgb), .2));--gradient-mesh: radial-gradient(at 40% 20%, rgba(99, 102, 241, .08) 0%, transparent 50%), radial-gradient(at 80% 70%, rgba(6, 199, 85, .06) 0%, transparent 50%), radial-gradient(at 10% 80%, rgba(26, 47, 85, .06) 0%, transparent 50%);--font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.75rem;--font-size-4xl: 3.5rem;--font-size-5xl: 4.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--line-height-tight: 1.2;--line-height-normal: 1.75;--line-height-loose: 2;--letter-spacing-heading: -.03em;--letter-spacing-body: .04em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 5rem;--space-4xl: 7rem;--section-padding: var(--space-2xl);--container-max: 1200px;--container-padding: var(--space-lg);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .06);--shadow-glow-accent: 0 0 30px rgba(var(--color-accent-rgb), .3), 0 0 60px rgba(var(--color-accent-rgb), .1);--shadow-glow-primary: 0 0 30px rgba(var(--color-primary-rgb), .2), 0 0 60px rgba(var(--color-primary-rgb), .08);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-header: 1000;--z-floating: 1100;--z-modal: 1200;--z-overlay: 1300}@media(min-width:768px){:root{--section-padding: var(--space-3xl);--container-padding: var(--space-xl)}}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-body);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-heading);color:var(--color-text)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}@media(min-width:768px){h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}p:last-child{margin-bottom:0}strong,b{font-weight:var(--font-weight-bold)}small{font-size:var(--font-size-sm)}.section-label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-md);padding:.25rem .75rem;border-radius:var(--radius-full);background:rgba(var(--color-accent-rgb),.08);border:1px solid rgba(var(--color-accent-rgb),.15)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin-bottom:var(--space-md);letter-spacing:-.03em}.section-title--gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description{font-size:var(--font-size-md);color:var(--color-text-secondary);max-width:640px;line-height:var(--line-height-loose)}@media(min-width:768px){.section-title{font-size:var(--font-size-3xl)}}.prose h2{margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.prose h3{margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.prose p{margin-bottom:var(--space-md)}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-xs);color:var(--color-text-secondary)}.prose a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--transition-fast)}.prose a:hover{color:var(--color-primary-dark)}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-lg);margin:var(--space-lg) 0;color:var(--color-text-secondary);font-style:italic}.prose img{border-radius:var(--radius-md);margin:var(--space-lg) 0}.prose table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:var(--font-size-sm);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.prose thead,.prose thead tr{background:var(--color-primary)!important;color:var(--color-text-inverse)!important}.prose th{padding:.75rem 1rem;font-weight:var(--font-weight-semibold);text-align:left;white-space:nowrap;color:var(--color-text-inverse)!important;background:transparent!important}.prose td{padding:.75rem 1rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:nth-child(2n){background:var(--color-bg-alt)}.prose tbody tr:hover{background:rgba(var(--color-primary-rgb),.04)}.prose figure.wp-block-table{margin:var(--space-xl) 0;overflow-x:auto}.prose strong{color:var(--color-text)}.prose h2{padding-left:var(--space-md);border-left:4px solid var(--color-accent)}.prose h3{padding-left:var(--space-md);border-left:3px solid rgba(var(--color-primary-rgb),.3)}.prose .wp-block-group{padding:var(--space-lg);border-radius:var(--radius-md);overflow:hidden}.prose .wp-block-group h2,.prose .wp-block-group h3{border-left:none;padding-left:0;font-size:var(--font-size-lg);word-break:auto-phrase;overflow-wrap:anywhere}.prose .wp-block-buttons{display:flex;flex-wrap:wrap}.prose .wp-block-button__link{display:inline-block;padding:.75rem 1.5rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-md);text-align:center;text-decoration:none!important;word-break:auto-phrase;overflow-wrap:anywhere;width:100%;box-sizing:border-box;color:#fff!important;background-color:var(--color-primary)!important}.prose .wp-block-group.has-background p,.prose .wp-block-group.has-background h2,.prose .wp-block-group.has-background h3,.prose .wp-block-group.has-background a{color:inherit}@media(min-width:768px){.prose .wp-block-group h2,.prose .wp-block-group h3{font-size:var(--font-size-xl)}.prose .wp-block-group{padding:var(--space-xl)}.prose .wp-block-button__link{font-size:var(--font-size-base);width:auto}}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container--narrow{max-width:800px}.container--wide{max-width:1400px}.text-center{text-align:center}.text-left{text-align:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.section--alt{background-color:var(--color-bg-alt)}.section--primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.section--primary .section-label{color:var(--color-accent)}.section--primary .section-title{color:var(--color-text-inverse)}.section--primary .section-description{color:#fffc}.section--accent-light{background-color:var(--color-accent-light)}.grid{display:grid;gap:var(--space-lg)}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}@media(min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}.flex{display:flex}.flex--center{align-items:center;justify-content:center}.flex--between{align-items:center;justify-content:space-between}.flex--gap-sm{gap:var(--space-sm)}.flex--gap-md{gap:var(--space-md)}.flex--gap-lg{gap:var(--space-lg)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:9999;padding:.75rem 1.5rem;background-color:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--transition-fast)}.skip-link:focus{top:0;outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 4px #2e4a7a33}.btn--line:focus-visible,.btn--accent:focus-visible{outline-color:var(--color-accent-dark);box-shadow:0 0 0 4px #06c75533}.nav__link:focus-visible{outline-offset:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.floating-cta{opacity:1;transform:none;transition:none}}@media(forced-colors:active){.btn{border:2px solid ButtonText}.card{border:1px solid ButtonText}}.site-content{padding-top:0}body:not(.home) .site-content{padding-top:72px}.footer{background:var(--gradient-hero);color:#ffffffb3;padding-top:var(--space-3xl);padding-bottom:var(--space-lg);position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 10% 90%,rgba(var(--color-accent-rgb),.06) 0%,transparent 40%),radial-gradient(circle at 90% 10%,rgba(var(--color-secondary-rgb),.04) 0%,transparent 40%);pointer-events:none}.footer__inner{display:grid;gap:var(--space-2xl);grid-template-columns:1fr;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);position:relative;z-index:1}@media(min-width:768px){.footer__inner{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__brand{margin-bottom:var(--space-md)}.footer__logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin-bottom:var(--space-md)}.footer__description{font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-bottom:var(--space-lg);color:#fff9}.footer__social{display:flex;gap:var(--space-sm)}.footer__social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background-color:#ffffff0f;color:#fff9;border:1px solid rgba(255,255,255,.08);transition:all var(--transition-base)}.footer__social-link:hover{background:var(--gradient-accent);color:var(--color-text-inverse);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.footer__social-link .icon{width:20px;height:20px}.footer__social-link .icon svg{width:100%;height:100%}.footer__nav-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin-bottom:var(--space-lg);letter-spacing:.1em;text-transform:uppercase}.footer__nav-list{display:flex;flex-direction:column;gap:var(--space-sm)}.footer__nav-link{font-size:var(--font-size-sm);color:#ffffff80;transition:color var(--transition-fast),padding-left var(--transition-fast)}.footer__nav-link:hover{color:var(--color-accent);padding-left:var(--space-xs)}.footer__contact-item{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-sm)}.footer__contact-item .icon{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--color-accent)}.footer__contact-item .icon svg{width:100%;height:100%}.footer__line-cta{margin-top:var(--space-lg)}.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,.06);max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding);position:relative;z-index:1}@media(min-width:768px){.footer__bottom{flex-direction:row;justify-content:space-between}}.footer__copyright{font-size:var(--font-size-xs);color:#ffffff4d}.footer__bottom-links{display:flex;gap:var(--space-lg)}.footer__bottom-link{font-size:var(--font-size-xs);color:#ffffff4d;transition:color var(--transition-fast)}.footer__bottom-link:hover{color:#ffffffb3}.layout-blog{display:grid;gap:var(--space-2xl);grid-template-columns:1fr}@media(min-width:1024px){.layout-blog{grid-template-columns:1fr 300px}}.sidebar{display:flex;flex-direction:column;gap:var(--space-xl)}.widget{background-color:var(--color-white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.widget__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary)}.layout-split{display:grid;gap:var(--space-2xl);grid-template-columns:1fr;align-items:center}@media(min-width:768px){.layout-split{grid-template-columns:1fr 1fr}.layout-split--reverse .layout-split__visual{order:-1}}.process-steps{position:relative;display:grid;gap:var(--space-xl)}.process-step{display:grid;grid-template-columns:48px 1fr;gap:var(--space-lg);position:relative}.process-step__number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);flex-shrink:0}.process-step__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.process-step:not(:last-child):before{content:"";position:absolute;left:23px;top:56px;bottom:-16px;width:2px;background-color:var(--color-border)}.section{position:relative;overflow:hidden}.section--alt{background:var(--color-bg-alt)}.section--alt:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-mesh);pointer-events:none}.section-decoration{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.5}.section-header{text-align:center;margin-bottom:var(--space-2xl);position:relative;z-index:1}.section-header .section-description{margin-left:auto;margin-right:auto}.section-label-ja{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-top:var(--space-xs);letter-spacing:.08em}.section--dark .section-label-ja{color:#ffffff80}.section-header--left{text-align:left}.section-header--left .section-description{margin-left:0}.features-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media(min-width:640px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-item{padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--color-white);border:1px solid var(--color-border);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.feature-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(var(--color-accent-rgb),.3)}.feature-item__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.08),rgba(var(--color-accent-rgb),.08));color:var(--color-primary);margin-bottom:var(--space-lg)}.feature-item__icon .icon{width:24px;height:24px}.feature-item__icon .icon svg{width:100%;height:100%}.feature-item__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.feature-item__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transition-delay:var(--reveal-delay, 0s)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--delay-1{--reveal-delay: .1s}.reveal--delay-2{--reveal-delay: .2s}.reveal--delay-3{--reveal-delay: .3s}.page-header{padding-top:calc(72px + var(--space-lg));padding-bottom:var(--space-lg);background:var(--gradient-hero);color:var(--color-text-inverse)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-2xl)}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-base)}.pagination a{background-color:var(--color-white);color:var(--color-text);border:1px solid var(--color-border)}.pagination a:hover{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-md)}.pagination .current{background:var(--gradient-primary);color:var(--color-text-inverse);border:none}.breadcrumbs{padding:var(--space-sm) 0}.breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);list-style:none;margin:0;padding:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.breadcrumbs__item:not(:last-child):after{content:"/";margin-left:var(--space-xs);color:var(--color-text-muted);opacity:.5}.breadcrumbs__link{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumbs__link:hover{color:var(--color-accent)}.breadcrumbs__current{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.875rem 2rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;letter-spacing:.02em;border-radius:var(--radius-full);transition:all var(--transition-base);white-space:nowrap;cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}.btn .icon{width:1.25em;height:1.25em;flex-shrink:0}.btn .icon svg{width:100%;height:100%}.btn--primary{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:transparent}.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-primary)}.btn--accent{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn--accent:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.btn--glow{background:var(--gradient-accent);color:var(--color-text-inverse);border-color:transparent;font-weight:var(--font-weight-bold);box-shadow:0 4px 20px rgba(var(--color-accent-rgb),.3)}.btn--glow:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow-accent)}.btn--glow:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s ease}.btn--glow:hover:before{left:100%}.btn--outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-glow-primary)}.btn--outline-inverse{background-color:transparent;color:var(--color-text-inverse);border-color:#ffffff4d}.btn--outline-inverse:hover{background-color:#ffffff1a;border-color:#fff9;transform:translateY(-2px)}.btn--ghost{background-color:transparent;color:var(--color-primary);padding:.5rem 1rem}.btn--ghost:hover{background-color:var(--color-bg-alt);transform:translateY(-1px)}.btn--sm{padding:.625rem 1.25rem;font-size:var(--font-size-sm)}.btn--lg{padding:1.125rem 2.5rem;font-size:var(--font-size-md)}.btn--line{background:var(--gradient-accent);color:var(--color-text-inverse);border-color:transparent;font-weight:var(--font-weight-bold)}.btn--line:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.btn--line .icon{width:1.5em;height:1.5em}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);background-color:transparent;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),backdrop-filter var(--transition-base)}.header--scrolled{background-color:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(var(--color-primary-rgb),.06);box-shadow:0 1px 12px #0000000a}.header__inner{display:flex;align-items:center;justify-content:space-between;height:72px;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.header__logo a{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:var(--letter-spacing-heading)}.header__logo img{height:40px;width:auto;transition:filter var(--transition-base)}body.home:not(.header-scrolled) .header__logo img{filter:brightness(0) invert(1)}.nav{display:none;align-items:center;gap:var(--space-xl)}.nav__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--transition-fast);position:relative}body.home:not(.header-scrolled) .nav__link{color:#ffffffbf}body.home:not(.header-scrolled) .nav__link:hover,body.home:not(.header-scrolled) .nav__link--active{color:var(--color-text-inverse)}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-accent);border-radius:1px;transition:width var(--transition-base)}.nav__link:hover,.nav__link--active{color:var(--color-primary)}.nav__link:hover:after,.nav__link--active:after{width:100%}.header__line{display:none}@media(min-width:1024px){.nav{display:flex}.header__line{display:inline-flex}.header__hamburger{display:none}}.header__hamburger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text);transition:color var(--transition-fast)}body.home:not(.header-scrolled) .header__hamburger{color:var(--color-text-inverse)}.header__hamburger .icon{width:24px;height:24px}.header__hamburger .icon svg{width:100%;height:100%}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background-color:var(--color-white);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-slow);overflow-y:auto}.mobile-menu--open{transform:translate(0)}.mobile-menu__header{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 var(--container-padding);border-bottom:1px solid var(--color-border)}.mobile-menu__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text)}.mobile-menu__close .icon{width:24px;height:24px}.mobile-menu__close .icon svg{width:100%;height:100%}.mobile-menu__nav{flex:1;padding:var(--space-lg) var(--container-padding)}.mobile-menu__link{display:block;padding:var(--space-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text);border-bottom:1px solid var(--color-bg-muted);transition:color var(--transition-fast),padding-left var(--transition-fast)}.mobile-menu__link:hover{color:var(--color-accent);padding-left:var(--space-sm)}.mobile-menu__link:last-child{border-bottom:none}.mobile-menu__cta{padding:var(--space-lg) var(--container-padding);padding-bottom:var(--space-2xl)}.mobile-menu__cta .btn{width:100%}body.menu-open{overflow:hidden}.hero{position:relative;display:flex;align-items:center;min-height:85vh;padding-top:calc(72px + var(--space-3xl));padding-bottom:var(--space-3xl);overflow:hidden;background:var(--gradient-hero);color:var(--color-text-inverse)}.hero--page{min-height:auto;padding-top:calc(72px + var(--space-2xl));padding-bottom:var(--space-2xl);background:var(--gradient-hero)}.hero__inner{position:relative;z-index:2;width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.hero__content{max-width:720px}.hero__label{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg);padding:.375rem 1rem;border:1px solid rgba(var(--color-accent-rgb),.3);border-radius:var(--radius-full);background:rgba(var(--color-accent-rgb),.08);animation:fadeInUp .6s ease both}.hero__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-lg);color:var(--color-text-inverse);animation:fadeInUp .6s ease .15s both}.hero__title span{color:var(--color-accent);position:relative}.hero__title span:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gradient-accent);border-radius:2px;animation:expandWidth .8s ease 1s both}.hero__description{font-size:var(--font-size-md);color:#ffffffb3;margin-bottom:var(--space-xl);line-height:var(--line-height-normal);animation:fadeInUp .6s ease .3s both}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);animation:fadeInUp .6s ease .45s both}.hero__decoration{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.hero__orb{position:absolute;border-radius:50%;filter:blur(80px);animation:float 20s ease-in-out infinite}.hero__orb--1{width:500px;height:500px;background:rgba(var(--color-accent-rgb),.12);top:-15%;right:-10%;animation-delay:0s}.hero__orb--2{width:400px;height:400px;background:rgba(var(--color-secondary-rgb),.1);bottom:-20%;left:-10%;animation-delay:-7s;animation-duration:25s}.hero__orb--3{width:300px;height:300px;background:rgba(var(--color-accent-rgb),.08);top:50%;left:40%;animation-delay:-14s;animation-duration:18s}.hero__grid{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.03;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 80%)}.hero__visual{display:none}.hero__visual-item{position:absolute;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float 15s ease-in-out infinite}.hero__visual-item:nth-child(1){width:120px;height:120px;top:15%;right:10%;animation-delay:0s}.hero__visual-item:nth-child(2){width:80px;height:80px;top:40%;right:25%;animation-delay:-3s;border-radius:50%}.hero__visual-item:nth-child(3){width:160px;height:100px;top:60%;right:5%;animation-delay:-6s}.hero__visual-item:nth-child(4){width:60px;height:60px;top:25%;right:35%;animation-delay:-9s;border-radius:50%}.hero__visual-item:nth-child(5){width:100px;height:100px;top:70%;right:30%;animation-delay:-12s}.hero__video-wrap{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.hero__video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero__video.is-playing{opacity:1}.hero__video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0b1120bf,#1a2f558c,#0b1120b3);z-index:1}.hero--video .hero__inner{display:block}.hero--video .hero__content{max-width:720px}@media(min-width:1024px){.hero--video .hero__inner{display:block}}.hero__title span[data-typing]:after{content:"|";position:static;width:auto;height:auto;background:none;display:inline;margin-left:2px;animation:blink-cursor .7s step-end infinite;color:var(--color-accent);font-weight:var(--font-weight-bold)}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.hero:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:120px;background:linear-gradient(to top,var(--color-bg),transparent);z-index:2;pointer-events:none}.hero--page:after{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes expandWidth{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(15px,-25px) rotate(2deg)}50%{transform:translate(-10px,15px) rotate(-1deg)}75%{transform:translate(20px,10px) rotate(1deg)}}@media(min-width:768px){.hero__title{font-size:var(--font-size-4xl)}.hero__description{font-size:var(--font-size-lg)}}@media(min-width:1024px){.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}.hero__title{font-size:var(--font-size-5xl)}.hero__visual{display:block;position:relative;height:400px}}.card{background-color:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:rgba(var(--color-accent-rgb),.2)}.card__image{aspect-ratio:3 / 2;overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.card:hover .card__image img{transform:scale(1.05)}.card__body{padding:var(--space-xl)}.card__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:.05em;margin-bottom:var(--space-sm)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}.card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.card__meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.service-card{background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--color-border);transition:all var(--transition-base);text-align:center;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent);transform:scaleX(0);transition:transform var(--transition-base);transform-origin:left}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:rgba(var(--color-accent-rgb),.2)}.service-card:hover:before{transform:scaleX(1)}.service-card__icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0 auto var(--space-lg);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.06),rgba(var(--color-accent-rgb),.08));color:var(--color-primary);transition:all var(--transition-base)}.service-card:hover .service-card__icon{background:var(--gradient-primary);color:var(--color-text-inverse);transform:scale(1.05)}.service-card__icon .icon{width:32px;height:32px}.service-card__icon .icon svg{width:100%;height:100%}.service-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.service-card__price{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-accent);margin-bottom:var(--space-sm);letter-spacing:.02em}.service-card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:var(--line-height-normal)}.service-card__link{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);transition:gap var(--transition-fast),color var(--transition-fast)}.service-card:hover .service-card__link{color:var(--color-accent);gap:var(--space-sm)}.service-card__link .icon{width:16px;height:16px}.service-card__link .icon svg{width:100%;height:100%}.portfolio-card{position:relative}.portfolio-card__badge{position:absolute;top:var(--space-md);left:var(--space-md);z-index:2;display:inline-flex;align-items:center;gap:var(--space-xs);padding:.375rem .875rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);background:var(--gradient-primary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portfolio-card__badge--self{background:var(--gradient-accent)}.blog-card__date{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.blog-card__category{display:inline-block;padding:.2rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);background:rgba(var(--color-accent-rgb),.08);border-radius:var(--radius-full);margin-bottom:var(--space-sm)}.cta-section{padding:var(--space-3xl) 0;text-align:center;position:relative;overflow:hidden}.cta-section--primary{background:var(--gradient-hero);color:var(--color-text-inverse)}.cta-section--primary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(var(--color-accent-rgb),.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(var(--color-secondary-rgb),.08) 0%,transparent 50%);pointer-events:none}.cta-section--accent{background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.05),rgba(var(--color-accent-rgb),.12));border-top:1px solid rgba(var(--color-accent-rgb),.1);border-bottom:1px solid rgba(var(--color-accent-rgb),.1)}.cta-section__inner{max-width:640px;margin:0 auto;padding:0 var(--container-padding);position:relative;z-index:1}.cta-section__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto var(--space-lg);border-radius:50%;background:#ffffff1a;color:var(--color-text-inverse);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15)}.cta-section--accent .cta-section__icon{background:var(--gradient-accent);color:var(--color-text-inverse);border:none;box-shadow:var(--shadow-glow-accent)}.cta-section__icon .icon{width:32px;height:32px}.cta-section__icon .icon svg{width:100%;height:100%}.cta-section__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);margin-bottom:var(--space-md);letter-spacing:-.02em}.cta-section--primary .cta-section__title{color:var(--color-text-inverse)}.cta-section__text{font-size:var(--font-size-md);margin-bottom:var(--space-xl);opacity:.9;line-height:var(--line-height-normal)}.cta-section--primary .cta-section__text{color:#fffc}.cta-section__benefits{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.cta-section__benefit{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.cta-section--primary .cta-section__benefit{color:#ffffffd9}.cta-section__benefit .icon{width:16px;height:16px;color:var(--color-accent)}.cta-section__benefit .icon svg{width:100%;height:100%}.cta-section__note{margin-top:var(--space-md);font-size:var(--font-size-sm);opacity:.6}@media(min-width:768px){.cta-section{padding:var(--space-4xl) 0}.cta-section__title{font-size:var(--font-size-3xl)}}.floating-cta-group{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-floating);display:flex;flex-direction:column;gap:var(--space-sm);opacity:0;transform:translateY(20px) scale(.9);transition:opacity var(--transition-base),transform var(--transition-spring);pointer-events:none}.floating-cta-group--visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.floating-cta{display:flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.25rem;color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.floating-cta--line{background:var(--gradient-accent);box-shadow:var(--shadow-glow-accent)}.floating-cta--timerex{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 16px #2563eb59}.floating-cta:hover{transform:translateY(-2px) scale(1.03)}.floating-cta--line:hover{box-shadow:0 8px 32px rgba(var(--color-accent-rgb),.45)}.floating-cta--timerex:hover{box-shadow:0 8px 32px #2563eb73}.floating-cta .icon{width:22px;height:22px}.floating-cta .icon svg{width:100%;height:100%}.floating-cta__label{display:none}@media(min-width:768px){.floating-cta__label{display:inline}}.cta-section__dual{display:flex;gap:var(--space-lg, 1.5rem);justify-content:center;align-items:stretch;flex-wrap:wrap;margin-top:var(--space-lg, 1.5rem)}.cta-section__option{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, .5rem)}.cta-section__option-label{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);opacity:.85;margin:0}.btn--glow{background:linear-gradient(135deg,#1a2f55,#4a6a9e);color:var(--color-white, #fff);border:2px solid rgba(255,255,255,.3)}.cta-section--primary .btn--glow{background:var(--color-white, #fff);color:var(--color-primary, #1a2f55);border:2px solid rgba(255,255,255,.5)}.cta-section--primary .btn--glow:hover{background:#ffffffe6}.cta-section--accent .btn--glow{background:var(--color-white, #fff);color:var(--color-primary, #1a2f55);border:2px solid rgba(255,255,255,.3)}.cta-section--accent .btn--glow:hover{background:#ffffffe6}.header__timerex{display:none;align-items:center;gap:6px;padding:6px 14px;font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #1a2f55);background:var(--color-bg-alt, #f8f9fc);border:1px solid var(--color-border, #e2e5ef);border-radius:var(--radius-full, 999px);text-decoration:none;transition:background .2s,border-color .2s;white-space:nowrap}.header__timerex:hover{background:var(--color-bg-muted, #eef0f5);border-color:var(--color-primary-light, #3a5a8e)}.header__timerex svg{width:14px;height:14px}@media(min-width:768px){.header__timerex{display:inline-flex}}.sidebar-dual-cta{display:flex;flex-direction:column;gap:var(--space-sm, .5rem)}.sidebar-dual-cta__label{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #94a3b8);text-align:center;margin-top:var(--space-xs, .25rem)}.mobile-menu__cta-dual{display:flex;flex-direction:column;gap:var(--space-md, 1rem);padding:0 var(--space-lg, 1.5rem)}.mobile-menu__cta-label{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #94a3b8);text-align:center;margin-bottom:calc(-1 * var(--space-xs, .25rem))}@media(max-width:767px){.cta-section__dual{flex-direction:column;align-items:center}}.inline-cta{margin:var(--space-xl) 0;padding:var(--space-lg);background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.04),#2563eb0f);border:1px solid rgba(var(--color-accent-rgb),.15);border-radius:var(--radius-lg);text-align:center}.inline-cta__heading{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);color:var(--color-text-primary)}.inline-cta__buttons{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.inline-cta__btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.pricing-table{display:grid;gap:var(--space-lg);grid-template-columns:1fr;align-items:start}@media(min-width:768px){.pricing-table{grid-template-columns:repeat(3,1fr)}}.pricing-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.pricing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:rgba(var(--color-accent-rgb),.2)}.pricing-card--featured{border:2px solid transparent;background:linear-gradient(var(--color-white),var(--color-white)) padding-box,var(--gradient-primary) border-box;position:relative;box-shadow:var(--shadow-lg)}.pricing-card--featured:hover{box-shadow:var(--shadow-xl)}.pricing-card__badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);padding:.375rem 1.25rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);background:var(--gradient-primary);border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.03em}.pricing-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.pricing-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.pricing-card__price{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xs)}.pricing-card__price-unit{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);-webkit-text-fill-color:var(--color-text-muted)}.pricing-card__price-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.pricing-card__features{text-align:left;margin-bottom:var(--space-xl)}.pricing-card__feature{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pricing-card__feature .icon{width:20px;height:20px;color:var(--color-accent);flex-shrink:0;margin-top:1px}.pricing-card__feature .icon svg{width:100%;height:100%}.pricing-card .btn{width:100%}.faq-list{max-width:800px;margin:0 auto}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-md);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.faq-item:hover{border-color:rgba(var(--color-accent-rgb),.2)}.faq-item--open{border-color:rgba(var(--color-accent-rgb),.3);box-shadow:var(--shadow-md)}.faq-item__question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:left;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);background:var(--color-white)}.faq-item__question:hover{color:var(--color-primary);background:var(--color-bg-alt)}.faq-item--open .faq-item__question{color:var(--color-primary)}.faq-item__icon{flex-shrink:0;width:28px;height:28px;margin-left:var(--space-md);color:var(--color-text-muted);transition:transform var(--transition-base),color var(--transition-base);background:var(--color-bg-alt);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:4px}.faq-item__icon svg{width:100%;height:100%}.faq-item--open .faq-item__icon{transform:rotate(180deg);color:var(--color-accent);background:rgba(var(--color-accent-rgb),.1)}.faq-item__answer{overflow:hidden;max-height:0;transition:max-height var(--transition-slow)}.faq-item--open .faq-item__answer{max-height:500px}.faq-item__answer-inner{padding:0 var(--space-xl) var(--space-xl);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose)}.faq-item__answer-inner a{color:var(--color-accent);font-weight:var(--font-weight-medium)}@media(min-width:768px){.faq-item__question{font-size:var(--font-size-md);padding:var(--space-lg) var(--space-2xl)}.faq-item__answer-inner{padding:0 var(--space-2xl) var(--space-xl)}}.fp-stats{position:relative;margin-top:-60px;z-index:3}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}@media(min-width:768px){.stats{grid-template-columns:repeat(4,1fr);padding:var(--space-2xl) var(--space-xl)}}.stats__item{text-align:center;padding:var(--space-md);position:relative}.stats__item:not(:last-child):after{content:"";position:absolute;top:20%;right:0;height:60%;width:1px;background:var(--color-border)}.stats__item:nth-child(2):after{display:none}@media(min-width:768px){.stats__item:nth-child(2):after{display:block}}.stats__number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:var(--space-xs)}.stats__number .stats__suffix{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.stats__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);letter-spacing:.02em}.section--primary .stats{background:#ffffff0d;border-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section--primary .stats__number{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section--primary .stats__label{color:#ffffffb3}.section--primary .stats__item:after{background:#ffffff1a}@media(min-width:768px){.stats__number{font-size:var(--font-size-4xl)}}.challenge-card svg{width:28px!important;height:28px!important;flex-shrink:0}.challenge-navi{display:grid;grid-template-columns:1fr;gap:var(--space-lg);margin-top:var(--space-xl)}@media(min-width:768px){.challenge-navi{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.challenge-navi{grid-template-columns:repeat(3,1fr)}}.challenge-card{display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg);border:2px solid var(--color-border);text-decoration:none;color:inherit;transition:all .3s ease;position:relative;overflow:hidden}.challenge-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:0;transition:opacity .3s ease}.challenge-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.challenge-card:hover:before{opacity:1}.challenge-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(var(--color-primary-rgb, 46, 74, 122),.08),rgba(var(--color-accent-rgb),.08));margin-bottom:var(--space-md)}.challenge-card__icon .icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--color-primary)}.challenge-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-sm);line-height:1.4}.challenge-card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-md);flex:1}.challenge-card__solutions{list-style:none;padding:0;margin:0 0 var(--space-lg) 0;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.challenge-card__solutions li{font-size:.75rem;background:rgba(var(--color-accent-rgb),.08);color:var(--color-primary);padding:4px 12px;border-radius:100px;white-space:nowrap}.challenge-card__link{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent);margin-top:auto;transition:gap .2s ease}.challenge-card:hover .challenge-card__link{gap:10px}.challenge-card__link .icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.challenge-card__link svg{width:16px!important;height:16px!important}.card__result{display:inline-block;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent-dark, #05a847);background:var(--color-accent-light, #e6f9ee);border:1px solid rgba(6,199,85,.2);border-radius:var(--radius-full, 999px);margin-bottom:var(--space-sm, .5rem);letter-spacing:.02em}.showcase-modal__result{margin-bottom:var(--space-lg, 1.5rem)}.showcase-modal__result span{display:inline-block;padding:.5rem 1.25rem;font-size:var(--font-size-md, 1.125rem);font-weight:var(--font-weight-bold, 700);color:var(--color-white, #fff);background:var(--gradient-accent, linear-gradient(135deg, #06c755, #00e676));border-radius:var(--radius-full, 999px)}.pricing-compare__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .875rem);background:var(--color-white, #fff);border-radius:var(--radius-xl, 1rem);overflow:hidden;box-shadow:var(--shadow-md, 0 4px 6px rgba(0,0,0,.07))}.pricing-compare__table th,.pricing-compare__table td{padding:.75rem 1rem;text-align:center;border-bottom:1px solid var(--color-border, #e2e5ef)}.pricing-compare__table th{background:var(--color-bg-alt, #f8f9fc);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #475569);font-size:var(--font-size-xs, .75rem);text-transform:uppercase;letter-spacing:.05em}.pricing-compare__table th:first-child,.pricing-compare__table td:first-child{text-align:left;font-weight:var(--font-weight-medium, 500);min-width:140px}.pricing-compare__featured{background:rgba(var(--color-accent-rgb, 6, 199, 85),.04)!important;position:relative}.pricing-compare__table thead th.pricing-compare__featured{background:rgba(var(--color-accent-rgb, 6, 199, 85),.1)!important;color:var(--color-accent-dark, #05a847);font-weight:var(--font-weight-bold, 700)}.pricing-compare__check{color:var(--color-accent, #06c755);font-size:var(--font-size-lg, 1.25rem);font-weight:700}.pricing-compare__table tbody tr:last-child td{border-bottom:none}.pricing-compare__table tbody tr:hover{background:var(--color-bg-alt, #f8f9fc)}.pricing-compare__table tbody tr:hover .pricing-compare__featured{background:rgba(var(--color-accent-rgb, 6, 199, 85),.08)!important}.pricing-monthly__list{list-style:none;text-align:left;margin-top:var(--space-md, 1rem);padding:0}.pricing-monthly__list li{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #475569);position:relative;padding:.375rem 0 .375rem 1.5rem}.pricing-monthly__list li:before{content:"✓";position:absolute;left:0;color:var(--color-accent, #06c755);font-weight:700}.ai-cases-highlight{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.ai-case-hero{display:flex;align-items:flex-start;gap:var(--space-xl);background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-xl);border:1px solid var(--color-border);border-left:5px solid var(--color-accent);transition:all .3s ease}.ai-case-hero:hover{box-shadow:var(--shadow-lg)}.ai-case-hero__number{flex-shrink:0;text-align:center;min-width:100px}.ai-case-hero__value{display:block;font-size:3.5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--color-accent),#00e676);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-case-hero__unit{display:block;font-size:.85rem;font-weight:var(--font-weight-bold);color:var(--color-accent);margin-top:4px}.ai-case-hero__body{flex:1;min-width:0}.ai-case-hero__badge{display:inline-block;font-size:.75rem;font-weight:var(--font-weight-semibold);background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);padding:3px 10px;border-radius:100px;margin-bottom:var(--space-xs)}.ai-case-hero__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-xs);line-height:1.4}.ai-case-hero__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-sm)}.ai-case-hero__text strong{color:var(--color-text)}.ai-case-hero__tech{font-size:.75rem;color:var(--color-text-muted)}@media(max-width:640px){.ai-case-hero{flex-direction:column;gap:var(--space-md);align-items:stretch}.ai-case-hero__number{text-align:left;display:flex;align-items:baseline;gap:var(--space-xs)}.ai-case-hero__value{font-size:2.8rem}.ai-case-hero__unit{display:inline;margin-top:0}}.ai-cases-more{margin-bottom:var(--space-2xl)}.ai-cases-more__heading{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:.05em}.ai-cases-more__grid{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}@media(min-width:768px){.ai-cases-more__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ai-cases-more__grid{grid-template-columns:repeat(3,1fr)}}.ai-case-compact{display:flex;align-items:center;gap:var(--space-md);background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);transition:all .2s ease}.ai-case-compact:hover{border-color:rgba(var(--color-accent-rgb),.3);box-shadow:var(--shadow-sm)}.ai-case-compact__number{flex-shrink:0;font-size:1.8rem;font-weight:900;line-height:1;color:var(--color-accent);min-width:56px;text-align:center}.ai-case-compact__number small{display:block;font-size:.6rem;font-weight:var(--font-weight-semibold);margin-top:2px}.ai-case-compact__content{display:flex;flex-direction:column;gap:2px;min-width:0}.ai-case-compact__badge{font-size:.65rem;font-weight:var(--font-weight-semibold);color:var(--color-primary);opacity:.7}.ai-case-compact__content strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.4}.ai-case-compact__content span:last-child{font-size:.75rem;color:var(--color-text-muted)}.ai-cases-cta{margin-top:var(--space-xl)}.ai-cases-cta__inner{background:var(--color-bg-dark, #0b1120);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);text-align:center;color:#fff;position:relative;overflow:hidden}.ai-cases-cta__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 50%,rgba(6,199,85,.15) 0%,transparent 60%),radial-gradient(circle at 70% 50%,rgba(99,102,241,.1) 0%,transparent 60%);pointer-events:none}.ai-cases-cta__title{font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);color:#fff;position:relative}.ai-cases-cta__text{font-size:var(--font-size-base);color:#ffffffd9;line-height:1.8;margin-bottom:var(--space-xl);max-width:640px;margin-left:auto;margin-right:auto;position:relative}.ai-cases-cta__text strong{color:#fff;font-weight:var(--font-weight-bold)}.ai-cases-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}.ai-cases-cta__buttons .btn--accent{font-size:var(--font-size-lg);padding:var(--space-md) var(--space-2xl)}.ai-cases-cta__note{margin-top:var(--space-md);font-size:var(--font-size-sm);color:#ffffff8c;position:relative}.instagram-cta{background:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;transition:all var(--transition-base)}.instagram-cta:hover{box-shadow:var(--shadow-lg);border-color:rgba(var(--color-accent-rgb),.2)}.instagram-cta__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}@media(min-width:768px){.instagram-cta__inner{flex-direction:row;text-align:left}}.instagram-cta__icon{flex-shrink:0}.instagram-cta__icon .icon{width:48px;height:48px;color:var(--color-primary)}.instagram-cta__icon .icon svg{width:100%;height:100%}.instagram-cta__content{flex:1}.instagram-cta__handle{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-xs)}.instagram-cta__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.process-steps{position:relative}.process-steps:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-accent),rgba(var(--color-accent-rgb),.1))}@media(min-width:768px){.process-steps:before{left:28px}}.process-step{display:flex;gap:var(--space-lg);padding:var(--space-lg) 0;position:relative}.process-step__number{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);position:relative;z-index:1;box-shadow:var(--shadow-glow-primary)}@media(min-width:768px){.process-step__number{width:56px;height:56px;font-size:var(--font-size-xl)}}.process-step__content{padding-top:var(--space-sm)}.process-step__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.process-step__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.self-reference{position:relative;overflow:hidden}.self-reference__devices{display:flex;justify-content:center;gap:var(--space-lg);perspective:1200px}.self-reference__device{background:var(--gradient-hero);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);transition:transform var(--transition-slow)}.self-reference__device:hover{transform:translateY(-4px)}.self-reference__device--desktop{width:100%;max-width:500px}.self-reference__device--tablet{display:none;width:200px}.self-reference__device--mobile{display:none;width:120px}@media(min-width:768px){.self-reference__device--tablet{display:block}}@media(min-width:1024px){.self-reference__device--mobile{display:block}}.self-reference__device-screen{padding:8px}.self-reference__device-screen img{width:100%;border-radius:4px}.tech-badges{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-xl)}.tech-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.375rem .875rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);background-color:var(--color-white);border-radius:var(--radius-full);border:1px solid var(--color-border);transition:all var(--transition-fast)}.tech-badge:hover{border-color:rgba(var(--color-accent-rgb),.3);background:rgba(var(--color-accent-rgb),.04);color:var(--color-primary-dark)}.representative-message{display:flex;flex-direction:column;gap:var(--space-xl);align-items:center;text-align:center;padding:var(--space-2xl);background:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-border)}@media(min-width:768px){.representative-message{flex-direction:row;text-align:left;padding:var(--space-2xl) var(--space-3xl)}}.representative-message__photo{flex-shrink:0;width:160px;height:160px;border-radius:50%;overflow:hidden;border:3px solid transparent;background:var(--gradient-primary) border-box;box-shadow:var(--shadow-lg)}.representative-message__photo img{width:100%;height:100%;object-fit:cover}.representative-message__content{flex:1}.representative-message__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);margin-top:var(--space-md)}.representative-message__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose);margin-bottom:var(--space-lg)}.representative-message__author{display:flex;flex-direction:column;gap:.125rem}.representative-message__name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.representative-message__role{font-size:var(--font-size-xs);color:var(--color-text-muted)}.section--dark{background:var(--gradient-hero);color:var(--color-text-inverse)}.section--dark:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(var(--color-accent-rgb),.08) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(var(--color-secondary-rgb),.06) 0%,transparent 40%);pointer-events:none}.section--dark .section-label{color:var(--color-accent);background:rgba(var(--color-accent-rgb),.12);border-color:rgba(var(--color-accent-rgb),.25)}.video-showcase__title{color:var(--color-text-inverse)}.video-showcase__desc{color:#ffffffb3}.video-showcase__grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr;max-width:1000px;margin:0 auto}@media(min-width:640px){.video-showcase__grid{grid-template-columns:repeat(3,1fr)}}.video-showcase__item{border-radius:var(--radius-xl);overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:all var(--transition-base)}.video-showcase__item:hover{border-color:rgba(var(--color-accent-rgb),.3);transform:translateY(-4px);box-shadow:0 20px 50px #0000004d}.video-showcase__embed{position:relative;width:100%;min-height:400px;display:flex;align-items:center;justify-content:center;background:#0003}.video-showcase__fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.3),rgba(var(--color-accent-rgb),.2));z-index:0;text-decoration:none}.video-showcase__fallback-icon{width:56px;height:56px;background:rgba(var(--color-accent-rgb),.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);transition:transform var(--transition-base),box-shadow var(--transition-base)}.video-showcase__fallback:hover .video-showcase__fallback-icon{transform:scale(1.15);box-shadow:0 0 30px rgba(var(--color-accent-rgb),.4)}.video-showcase__fallback-icon svg{width:24px;height:24px;margin-left:3px}.video-showcase__fallback-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:filter var(--transition-base),transform var(--transition-slow)}.video-showcase__fallback:hover .video-showcase__fallback-img{filter:brightness(.45);transform:scale(1.03)}.video-showcase__embed.is-loaded .video-showcase__fallback{display:none}.portfolio-card--showcase .card__image{aspect-ratio:16 / 7}.portfolio-card--showcase .card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.portfolio-card--showcase:hover .card__image img{transform:scale(1.05)}.video-showcase__embed iframe{border:none!important;max-width:100%!important}.video-showcase__embed .instagram-media{margin:0!important;min-width:100%!important;max-width:100%!important}.video-showcase__player{position:relative;aspect-ratio:9 / 16;max-height:480px;overflow:hidden;cursor:pointer;background:#0000004d}.video-showcase__player video{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}.video-showcase__play-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:rgba(var(--color-accent-rgb),.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);transition:all var(--transition-base);opacity:0;pointer-events:none}.video-showcase__play-hint svg{width:20px;height:20px;margin-left:2px}.video-showcase__player:hover .video-showcase__play-hint{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.video-showcase__player video.is-playing~.video-showcase__play-hint{opacity:0}.video-showcase__info{padding:var(--space-md) var(--space-lg)}.video-showcase__tag{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:.05em;margin-bottom:var(--space-xs)}.video-showcase__name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin-bottom:var(--space-xs)}.video-showcase__text{font-size:var(--font-size-xs);color:#fff9;line-height:var(--line-height-normal)}.portfolio-card--showcase{cursor:pointer}.showcase-toggle__hint{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);transition:color var(--transition-fast)}.portfolio-card--showcase:hover .showcase-toggle__hint{color:var(--color-primary)}.showcase-toggle__icon{width:16px;height:16px}.showcase-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-md);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.showcase-modal.is-active{opacity:1;visibility:visible}.showcase-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.showcase-modal__dialog{position:relative;background:var(--color-white);border-radius:var(--radius-xl);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 32px 64px #0000004d;transform:translateY(20px) scale(.97);transition:transform .3s ease}.showcase-modal.is-active .showcase-modal__dialog{transform:translateY(0) scale(1)}.showcase-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:#00000080;color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.showcase-modal__close:hover{background:#000c}.showcase-modal__close svg{width:20px;height:20px}.showcase-modal__image{width:100%;aspect-ratio:16 / 7;overflow:hidden;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.showcase-modal__image img{width:100%;height:100%;object-fit:cover}.showcase-modal__content{padding:var(--space-xl) var(--space-2xl) var(--space-2xl)}.showcase-modal__label{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:.05em;margin-bottom:var(--space-sm)}.showcase-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.showcase-modal__subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.showcase-modal__points{display:flex;flex-direction:column;gap:var(--space-lg)}.showcase-modal__point{position:relative;padding-left:var(--space-lg)}.showcase-modal__point:before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--gradient-accent)}.showcase-modal__point-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-xs)}.showcase-modal__point-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose)}.showcase-modal__instagram{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);text-align:center}@media(max-width:640px){.showcase-modal__content{padding:var(--space-lg)}}.partners-marquee{overflow:hidden;padding:var(--space-lg) 0}.partners-marquee__track{display:flex;gap:var(--space-2xl);animation:marquee 30s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.partners-marquee__item{flex-shrink:0;opacity:.3;transition:opacity var(--transition-fast)}.partners-marquee__item:hover{opacity:.7}.service-hero{padding-top:calc(72px + var(--space-2xl));padding-bottom:var(--space-2xl);background:linear-gradient(135deg,var(--color-bg-alt) 0%,var(--color-white) 100%)}.service-hero__inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.service-hero__label{display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md)}.service-hero__title{font-size:var(--font-size-3xl);margin-bottom:var(--space-md)}.service-hero__text{font-size:var(--font-size-md);color:var(--color-text-secondary);max-width:640px}@media(min-width:768px){.service-hero__title{font-size:var(--font-size-4xl)}}.problems-grid{display:grid;gap:var(--space-md);grid-template-columns:1fr}@media(min-width:640px){.problems-grid{grid-template-columns:repeat(2,1fr)}}.problem-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background-color:var(--color-white);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.problem-item__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.solution-highlight{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center}.solution-highlight__title{font-size:var(--font-size-2xl);color:var(--color-text-inverse);margin-bottom:var(--space-md)}.solution-highlight__text{font-size:var(--font-size-md);color:#ffffffd9;max-width:600px;margin:0 auto}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--gradient-accent);z-index:calc(var(--z-header) + 1);transition:width 50ms linear}.post-hero{position:relative;min-height:400px;display:flex;align-items:flex-end;overflow:hidden;background:var(--gradient-hero);margin-top:-1px}.post-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.post-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.3}.post-hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0b1120f2,#0b112099 40%,#1a2f5566);z-index:1}.post-hero__inner{position:relative;z-index:2;width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--space-3xl) var(--container-padding) var(--space-2xl)}.post-hero__breadcrumb{margin-bottom:var(--space-lg)}.post-hero__breadcrumb a,.post-hero__breadcrumb span{font-size:var(--font-size-sm);color:#fff9}.post-hero__breadcrumb a:hover{color:#ffffffe6}.post-hero__breadcrumb .breadcrumb__separator{color:#ffffff4d}.post-hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.post-hero__date{font-size:var(--font-size-sm);color:#fff9}.post-hero__category{display:inline-block;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);background:rgba(var(--color-accent-rgb),.12);border:1px solid rgba(var(--color-accent-rgb),.25);border-radius:var(--radius-full)}.post-hero__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);line-height:var(--line-height-tight);color:var(--color-text-inverse);max-width:800px}@media(min-width:768px){.post-hero{min-height:480px}.post-hero__title{font-size:var(--font-size-3xl)}}.article-body{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl);overflow-x:hidden}.article-body .layout-blog{align-items:flex-start}.article-body article{min-width:0;overflow-x:hidden}.article-body .prose{overflow-x:hidden}.article-body .prose figure.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:0;margin-right:0}.article-body .prose table{min-width:480px}.author-card{display:flex;gap:var(--space-md);align-items:center;padding:var(--space-lg);background:var(--color-bg-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:var(--space-2xl)}.author-card__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0}.author-card__avatar img{width:100%;height:100%;object-fit:cover}.author-card__info{flex:1;min-width:0}.author-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:.125rem}.author-card__role{font-size:var(--font-size-sm);color:var(--color-text-muted)}.share-buttons{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.share-buttons__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-right:var(--space-xs)}.share-buttons__link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-bg-alt);color:var(--color-text-secondary);transition:all var(--transition-fast)}.share-buttons__link:hover{transform:translateY(-2px)}.share-buttons__link--x{background:#000;color:#fff}.share-buttons__link--x:hover{background:#333;color:#fff}.share-buttons__link--line{background:#06c755;color:#fff}.share-buttons__link--line:hover{background:#05a847;color:#fff}.share-buttons__link--copy{background:var(--color-bg-muted);color:var(--color-text-secondary)}.share-buttons__link--copy:hover{background:var(--color-primary);color:var(--color-text-inverse)}.share-buttons__link .icon{width:16px;height:16px}.share-buttons__link .icon svg{width:100%;height:100%;display:block}.post-nav{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}@media(min-width:640px){.post-nav{grid-template-columns:1fr 1fr}}.post-nav__item{display:block;padding:var(--space-lg);border-radius:var(--radius-md);background:var(--color-bg-alt);border:1px solid var(--color-border);transition:all var(--transition-fast)}.post-nav__item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.post-nav__item--next{text-align:right}.post-nav__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.post-nav__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar--sticky{position:sticky;top:calc(72px + var(--space-lg))}.toc-widget{background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.toc-widget__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary);display:flex;align-items:center;gap:var(--space-xs)}.toc-widget__list{display:flex;flex-direction:column;gap:2px}.toc-widget__link{display:block;padding:.375rem .5rem;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);border-left:2px solid transparent;transition:all var(--transition-fast);line-height:1.4}.toc-widget__link:hover{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.04)}.toc-widget__link.is-active{color:var(--color-primary);border-left-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.06);font-weight:var(--font-weight-medium)}.toc-widget__link--h3{padding-left:1.25rem;font-size:.6875rem}.search-form{display:flex;gap:var(--space-sm)}.search-form__input{flex:1;padding:.625rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background-color:var(--color-white);transition:border-color var(--transition-fast)}.search-form__input:focus{outline:none;border-color:var(--color-primary)}.search-form__btn{padding:.625rem var(--space-md);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.search-form__btn:hover{background-color:var(--color-primary-dark)}.widget--line{background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.08),rgba(var(--color-accent-rgb),.02));border:1px solid rgba(var(--color-accent-rgb),.2);text-align:center}.widget--line .widget__title{border:none;padding:0;color:var(--color-text)}.note-feed{background-color:var(--color-bg-alt);border-radius:var(--radius-md);padding:var(--space-lg)}.note-feed__title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md)}.note-feed__list{display:flex;flex-direction:column;gap:var(--space-sm)}.note-feed__item{display:block;padding:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.note-feed__item:hover{background-color:var(--color-white)}.note-feed__link{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary)}.contact-methods{display:grid;gap:var(--space-lg);grid-template-columns:1fr;margin-bottom:var(--space-2xl)}@media(min-width:768px){.contact-methods{grid-template-columns:1fr 1fr}}.contact-method{padding:var(--space-xl);border-radius:var(--radius-md);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.contact-method--line{background-color:var(--color-accent-light);border:2px solid var(--color-accent)}.contact-method--form{background-color:var(--color-bg-alt);border:1px solid var(--color-border)}.contact-method:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.contact-method__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-md);border-radius:50%;background-color:var(--color-accent);color:var(--color-text-inverse)}.contact-method--form .contact-method__icon{background-color:var(--color-primary)}.contact-method__icon .icon{width:32px;height:32px}.contact-method__icon .icon svg{width:100%;height:100%}.contact-method__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.contact-method__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.contact-method__badge{display:inline-block;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent);background-color:var(--color-white);border-radius:var(--radius-full);margin-bottom:var(--space-lg)}.wpcf7{max-width:640px;margin:0 auto}.wpcf7 label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-xs);color:var(--color-text)}.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;padding:.75rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);margin-bottom:var(--space-md);transition:border-color var(--transition-fast)}.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--color-primary)}.wpcf7 textarea{min-height:150px;resize:vertical}.wpcf7 input[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;font-weight:var(--font-weight-medium);background-color:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast)}.wpcf7 input[type=submit]:hover{background-color:var(--color-primary-dark)}.company-table{width:100%}.company-table tr{border-bottom:1px solid var(--color-border)}.company-table th,.company-table td{padding:var(--space-md) var(--space-lg);text-align:left;font-size:var(--font-size-sm);vertical-align:top}.company-table th{font-weight:var(--font-weight-medium);color:var(--color-text);white-space:nowrap;width:120px}@media(min-width:768px){.company-table th{width:200px}}.company-table td{color:var(--color-text-secondary)}.vision-card{padding:var(--space-2xl);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-inverse);border-radius:var(--radius-lg);text-align:center}.vision-card__title{font-size:var(--font-size-2xl);color:var(--color-text-inverse);margin-bottom:var(--space-md)}.vision-card__text{font-size:var(--font-size-md);color:#ffffffd9;max-width:600px;margin:0 auto;line-height:var(--line-height-loose)}.map-embed{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 9}.map-embed iframe{width:100%;height:100%;border:0}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-2xl) var(--container-padding)}.error-page__code{font-size:8rem;font-weight:var(--font-weight-bold);color:var(--color-bg-muted);line-height:1;margin-bottom:var(--space-md)}.error-page__title{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}.error-page__text{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-xl);max-width:480px}@media print{.header,.mobile-menu,.floating-cta,.cta-section,.footer__social,.footer__line-cta,.btn--line,.sidebar,.pagination,.skip-link{display:none!important}body{background:#fff!important;color:#000!important;font-size:12pt;line-height:1.5}.site-content{padding-top:0!important}.prose a[href]:after{content:" (" attr(href) ")";font-size:.85em;color:#555}.prose a[href^="#"]:after,.prose a[href^=javascript]:after{content:""}h1,h2,h3{page-break-after:avoid}img{page-break-inside:avoid}.section{padding:1.5rem 0}.footer{background:#fff!important;color:#000!important;padding:1rem 0;border-top:1px solid #ccc}.footer__nav-link,.footer__bottom-link{color:#333!important}}
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
   AI Consulting LP
   ========================================================================== */

/* ── ヒーロー ── */
.ai-lp-hero {
  padding-top: calc(72px + var(--space-2xl));
  padding-bottom: var(--space-2xl);
  background: linear-gradient(135deg, #0b1120 0%, #1a1a3e 50%, #0b1120 100%);
  color: #ffffff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ai-lp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(6, 199, 85, 0.12) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(99, 102, 241, 0.08) 0%, transparent 50%);
  pointer-events: none;
}

.ai-lp-hero__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-padding);
  position: relative;
}

.ai-lp-hero__badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(6, 199, 85, 0.15);
  color: #06c755;
  border: 1px solid rgba(6, 199, 85, 0.3);
  padding: 5px 18px;
  border-radius: 100px;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}

.ai-lp-hero__title {
  font-size: clamp(1.5rem, 4.5vw, 2.6rem);
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 20px;
  color: #ffffff;
}

.ai-lp-hero__title-accent {
  background: linear-gradient(135deg, #06c755, #00e676);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ai-lp-hero__text {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  margin-bottom: 28px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.ai-lp-hero__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.ai-lp-hero__cta .btn--accent {
  font-size: 1.05rem;
  padding: 14px 36px;
}

.ai-lp-hero__note {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
}

/* ── パンくず位置調整 ── */
.ai-lp-hero + .container {
  padding-top: 12px !important;
  padding-bottom: 0 !important;
  margin-bottom: -8px;
}

/* ── 3ステップ料金 ── */
.ai-lp-steps {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  margin-top: 32px;
  position: relative;
}

@media (min-width: 768px) {
  .ai-lp-steps {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    gap: 16px;
  }
}

.ai-lp-step {
  background: #ffffff;
  border: 2px solid #e2e5ef;
  border-radius: 14px;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.ai-lp-step:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.ai-lp-step--featured {
  border-color: #06c755;
  position: relative;
  box-shadow: 0 4px 20px rgba(6, 199, 85, 0.15);
}

@media (min-width: 768px) {
  .ai-lp-step--featured {
    transform: scale(1.03);
  }
}

.ai-lp-step__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.ai-lp-step__number {
  font-size: 0.7rem;
  font-weight: 700;
  color: #1a2f55;
  letter-spacing: 0.1em;
}

.ai-lp-step__tag {
  font-size: 0.65rem;
  font-weight: 600;
  background: rgba(26, 47, 85, 0.08);
  color: #1a2f55;
  padding: 3px 10px;
  border-radius: 100px;
}

.ai-lp-step__tag--accent {
  background: #06c755;
  color: #ffffff;
}

.ai-lp-step__title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 4px;
}

.ai-lp-step__subtitle {
  font-size: 0.85rem;
  color: #475569;
  margin-bottom: 14px;
}

.ai-lp-step__list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  flex: 1;
}

.ai-lp-step__list li {
  position: relative;
  padding-left: 1.4em;
  font-size: 0.825rem;
  color: #475569;
  line-height: 1.9;
}

.ai-lp-step__list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: #06c755;
  font-weight: 700;
}

.ai-lp-step__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 4px;
}

.ai-lp-step__price-value {
  font-size: 2rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1;
}

/* ¥マークはHTMLの「円」と併用するため、CSSでは追加しない */

.ai-lp-step__price-unit {
  font-size: 0.85rem;
  color: #475569;
}

.ai-lp-step__note {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* ── Before/After ユースケース ── */
/* old usecase CSS removed */

/* ── 選ばれる理由 ── */
.ai-lp-reasons {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  margin-top: 32px;
}

@media (min-width: 768px) {
  .ai-lp-reasons {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ai-lp-reason {
  text-align: center;
  padding: 28px 20px;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e2e5ef;
}

.ai-lp-reason__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(6, 199, 85, 0.08);
  margin-bottom: 14px;
}

.ai-lp-reason__icon svg {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
}

.ai-lp-reason__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
}

.ai-lp-reason__text {
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.8;
}

/* ── AIエージェント例ショーケース（STEP3補足） ── */
.ai-lp-agents-showcase {
  margin-top: 24px;
  padding: 20px;
  background: #f8f9fc;
  border-radius: 12px;
  border: 1px solid #e2e5ef;
}

.ai-lp-agents-showcase__label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #06c755;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 0 0 16px 0;
}

.ai-lp-agents-showcase__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 768px) {
  .ai-lp-agents-showcase__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ai-lp-agents-showcase__card {
  background: #ffffff;
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  border: 1px solid #e2e5ef;
}

.ai-lp-agents-showcase__card .ai-lp-agent__icon {
  margin-bottom: 0;
}

.ai-lp-agents-showcase__card strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
}

.ai-lp-agents-showcase__card > span:last-child {
  font-size: 0.725rem;
  color: #475569;
  line-height: 1.5;
}

/* ── 導入の流れ ── */
.ai-lp-flow {
  max-width: 600px;
  margin: 32px auto 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ai-lp-flow__step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 0;
  border-left: 3px solid #06c755;
  padding-left: 20px;
  position: relative;
}

.ai-lp-flow__step::before {
  content: '';
  position: absolute;
  left: -7px;
  top: 24px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #06c755;
}

.ai-lp-flow__number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1a2f55;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
}

.ai-lp-flow__content {
  flex: 1;
}

.ai-lp-flow__title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 4px;
}

.ai-lp-flow__text {
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.7;
}

/* ── 納品物セクション ── */
.ai-lp-step__deliverables {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}

.ai-lp-step__deliverables-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  color: #06c755;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.ai-lp-step__deliverables ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ai-lp-step__deliverables li {
  position: relative;
  padding-left: 1.2em;
  font-size: 0.775rem;
  color: #0f172a;
  line-height: 1.7;
  font-weight: 600;
}

.ai-lp-step__deliverables li::before {
  content: '\25A0';
  position: absolute;
  left: 0;
  color: #06c755;
  font-size: 0.5rem;
  top: 0.35em;
}

/* ── STEP3 2プラン表示 ── */
.ai-lp-step__plans {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 14px;
}

.ai-lp-step__plan {
  background: #f8f9fc;
  border-radius: 10px;
  padding: 14px;
  border: 1px solid #e2e5ef;
}

.ai-lp-step__plan-name {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1a2f55;
  background: rgba(26, 47, 85, 0.08);
  padding: 2px 12px;
  border-radius: 100px;
  margin-bottom: 8px;
}

.ai-lp-step__plan-name--accent {
  color: #ffffff;
  background: #06c755;
}

.ai-lp-step__plan .ai-lp-step__list {
  margin-bottom: 10px;
}

.ai-lp-step__plan .ai-lp-step__list li {
  font-size: 0.775rem;
  line-height: 1.8;
}

.ai-lp-step__plan .ai-lp-step__price {
  margin-bottom: 0;
}

.ai-lp-step__plan .ai-lp-step__price-value {
  font-size: 1.5rem;
}

/* ── AIエージェント例 ── */
.ai-lp-step__agent-examples {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}

.ai-lp-agent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #e2e5ef;
}

.ai-lp-agent:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ai-lp-agent:first-of-type {
  padding-top: 4px;
}

.ai-lp-agent__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(6, 199, 85, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ai-lp-agent__icon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}

.ai-lp-agent div {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ai-lp-agent strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f172a;
}

.ai-lp-agent span:last-child {
  font-size: 0.725rem;
  color: #475569;
  line-height: 1.5;
}

/* ── ステップ間の矢印コネクター ── */
.ai-lp-steps__connector {
  display: none;
}

@media (min-width: 768px) {
  .ai-lp-steps__connector {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  .ai-lp-steps__connector--1 {
    left: calc(33.333% - 14px);
  }

  .ai-lp-steps__connector--2 {
    left: calc(66.666% - 14px);
  }

  .ai-lp-steps__connector svg {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
  }
}

/* モバイル用縦矢印 */
@media (max-width: 767px) {
  .ai-lp-steps__connector {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: -6px 0;
  }

  .ai-lp-steps__connector svg {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    transform: rotate(90deg);
    opacity: 0.6;
  }
}

/* ── 推奨バナー ── */
.ai-lp-steps__recommend {
  text-align: center;
  margin-bottom: 24px;
  padding: 16px 24px;
  background: rgba(6,199,85,0.06);
  border: 1px solid rgba(6,199,85,0.15);
  border-radius: 12px;
  color: #1a1a2e;
}

.ai-lp-steps__recommend p {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  color: rgba(26,26,46,0.7);
}

.ai-lp-steps__recommend strong {
  color: #06c755;
}

/* ── ステップ番号の進行バー ── */
.ai-lp-step__progress {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 16px;
}

.ai-lp-step__progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e2e5ef;
  flex-shrink: 0;
}

.ai-lp-step__progress-dot--active {
  background: #06c755;
  box-shadow: 0 0 0 3px rgba(6, 199, 85, 0.2);
}

.ai-lp-step__progress-dot--done {
  background: #06c755;
}

.ai-lp-step__progress-line {
  flex: 1;
  height: 2px;
  background: #e2e5ef;
}

.ai-lp-step__progress-line--done {
  background: #06c755;
}

/* ── 合計金額バー ── */
.ai-lp-steps__total {
  margin-top: 28px;
  text-align: center;
  padding: 20px;
  background: #ffffff;
  border: 2px dashed #06c755;
  border-radius: 12px;
}

.ai-lp-steps__total-label {
  font-size: 0.8rem;
  color: #475569;
  margin-bottom: 4px;
}

.ai-lp-steps__total-price {
  font-size: 1.6rem;
  font-weight: 900;
  color: #0f172a;
}

.ai-lp-steps__total-price small {
  font-size: 0.8rem;
  font-weight: 600;
  color: #475569;
}

.ai-lp-steps__total-note {
  font-size: 0.775rem;
  color: #06c755;
  font-weight: 600;
  margin-top: 6px;
}

/* ==========================================================================

/* ==========================================================================

/* ==========================================================================

/* ==========================================================================

/* ==========================================================================
   Pricing Page Extra Styles
   ========================================================================== */

/* ── pricing-table / pricing-card 高さ揃え ── */
.pricing-table {
  align-items: stretch !important;
  gap: var(--space-md) !important;
}

.pricing-card {
  display: flex !important;
  flex-direction: column !important;
  padding: var(--space-xl) var(--space-lg) !important;
}

.pricing-card__name {
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  word-break: keep-all !important;
}

.pricing-card__description {
  font-size: 0.8rem !important;
  margin-bottom: var(--space-md) !important;
}

.pricing-card__price {
  font-size: 1.8rem !important;
  white-space: nowrap !important;
}

.pricing-card__price-unit {
  font-size: 0.8rem !important;
}

.pricing-card__price-note {
  font-size: 0.7rem !important;
  margin-bottom: var(--space-lg) !important;
}

.pricing-card__features {
  flex: 1;
  margin-bottom: var(--space-lg) !important;
}

.pricing-card__feature {
  padding: var(--space-xs) 0 !important;
  font-size: 0.8rem !important;
}

.pricing-card__feature .icon {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0;
}

.pricing-card__feature .icon svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
}

.pricing-card .btn {
  margin-top: auto;
  font-size: 0.85rem !important;
  padding: 10px 16px !important;
}

.pricing-card__badge {
  top: -12px !important;
  font-size: 0.7rem !important;
  padding: 0.3rem 1rem !important;
}

/* ── CTA デュアル説明文 ── */
.cta-section__option-desc {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
  margin-top: 10px;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

.cta-section--primary .cta-section__option-desc {
  color: rgba(255, 255, 255, 0.7);
}

.cta-section--accent .cta-section__option-desc {
  color: rgba(255, 255, 255, 0.7);
}

/* ── セット割バナー ── */
.pricing-set-banner {
  text-align: center;
  padding: 24px 28px;
  background: #ffffff;
  border: 2px solid #06c755;
  border-radius: 12px;
  color: #0f172a;
}

.pricing-set-banner__badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #ffffff;
  background: #06c755;
  padding: 4px 14px;
  border-radius: 100px;
  margin: 0 0 10px 0;
}

.pricing-set-banner__text {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  color: #0f172a;
}

.pricing-set-banner__text strong {
  color: #06c755;
}

/* ── HP制作 料金カード ── */
.pricing-hp__card {
  background: #ffffff;
  border: 2px solid #e2e5ef;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 16px;
}

.pricing-hp__card--limited {
  border-color: #06c755;
  box-shadow: 0 4px 20px rgba(6, 199, 85, 0.12);
}

.pricing-hp__badge {
  background: #06c755;
  color: #ffffff;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 8px 0;
  letter-spacing: 0.05em;
}

.pricing-hp__body {
  padding: 28px 24px;
}

.pricing-hp__name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 6px 0;
}

.pricing-hp__desc {
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.7;
  margin: 0 0 20px 0;
}

.pricing-hp__price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.pricing-hp__price-old {
  font-size: 1rem;
  color: #94a3b8;
  text-decoration: line-through;
}

.pricing-hp__price-arrow {
  font-size: 1.2rem;
  color: #06c755;
  font-weight: 700;
}

.pricing-hp__price-new {
  font-size: 2rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1;
}

.pricing-hp__price-new small {
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
}

.pricing-hp__features {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
  columns: 2;
  column-gap: 16px;
}

@media (max-width: 640px) {
  .pricing-hp__features {
    columns: 1;
  }
}

.pricing-hp__features li {
  position: relative;
  padding-left: 1.4em;
  font-size: 0.825rem;
  color: #475569;
  line-height: 2;
  break-inside: avoid;
}

.pricing-hp__features li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: #06c755;
  font-weight: 700;
}

.pricing-hp__condition {
  font-size: 0.75rem;
  color: #94a3b8;
  margin: 0;
}

/* ── 保守サポート ── */
.pricing-hp__maintenance {
  background: #f8f9fc;
  border: 1px solid #e2e5ef;
  border-radius: 12px;
  padding: 20px 24px;
}

.pricing-hp__maintenance-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

@media (max-width: 640px) {
  .pricing-hp__maintenance-inner {
    flex-direction: column;
    text-align: center;
  }
}

.pricing-hp__maintenance-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 4px 0;
}

.pricing-hp__maintenance-desc {
  font-size: 0.8rem;
  color: #475569;
  margin: 0;
  line-height: 1.6;
}

.pricing-hp__maintenance-price {
  flex-shrink: 0;
  text-align: right;
}

.pricing-hp__maintenance-price span {
  display: block;
  font-size: 0.7rem;
  color: #94a3b8;
  font-weight: 600;
}

.pricing-hp__maintenance-price strong {
  font-size: 1.5rem;
  font-weight: 900;
  color: #0f172a;
}

.pricing-hp__maintenance-price strong small {
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
}
.prose a.btn,.prose .inline-cta a,.prose .cta-box a{color:#fff!important;text-decoration:none!important}.prose a.btn:hover,.prose .inline-cta a:hover{color:#fff!important}.prose .wp-block-button__link:hover{color:#fff!important;background-color:var(--color-primary-dark)!important}.prose .wp-block-group.has-background h3,.prose .wp-block-group.has-background p,.prose .wp-block-group.has-background a{color:inherit!important;text-decoration:none}
.inline-cta__options{display:flex;gap:var(--space-md,1rem);justify-content:center;flex-wrap:wrap}.inline-cta__option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs,.25rem)}.inline-cta__desc{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted,#94a3b8);text-align:center}
.cta-section__option-desc{font-size:.75rem;line-height:1.5;max-width:260px;margin:0 auto}.cta-section--primary .cta-section__option-desc{color:rgba(255,255,255,.7)}.cta-section--accent .cta-section__option-desc{color:#94a3b8}@media(min-width:768px){.cta-section__dual{flex-direction:row;align-items:flex-start}.cta-section__option{flex:1;max-width:300px}}


/* ============================================
   Section Background Photo — セクション背景画像
   ============================================ */
.section--bg-photo {
  position: relative;
  overflow: hidden;
}
.section--bg-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg-photo);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.07;
  z-index: 0;
  pointer-events: none;
}
.section--bg-photo > .container {
  position: relative;
  z-index: 1;
}
.section--bg-photo-light::before {
  opacity: 0.05;
}

/* ============================================
   Accent Photo — ワンポイント装飾画像
   ============================================ */
.section--accent-photo {
  position: relative;
  overflow: hidden;
}
.section--accent-photo__img {
  position: absolute;
  top: -40px;
  right: -80px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  opacity: 0.10;
  filter: blur(1px);
  z-index: 0;
  pointer-events: none;
}
.section--accent-photo > .container {
  position: relative;
  z-index: 1;
}

/* ============================================
   CTA Background Wrap — CTA背景画像
   ============================================ */
.cta-bg-wrap {
  position: relative;
  overflow: hidden;
}
.cta-bg-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg-photo);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.12;
  z-index: 0;
  pointer-events: none;
}
.cta-bg-wrap > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .section--bg-photo::before,
  .cta-bg-wrap::before {
    background-attachment: scroll;
  }
  .section--accent-photo__img {
    width: 200px;
    height: 200px;
    top: -20px;
    right: -40px;
    opacity: 0.08;
  }
}


/* Footer logo aspect fix */
.footer__logo-img {
  width: 140px;
  height: auto;
  object-fit: contain;
}


/* ============================================
   Stats Popup — 数字の根拠ポップアップ
   ============================================ */
.stats__item { position: relative; }
.stats__trigger {
  background: none;
  border: none;
  cursor: default;
  padding: 0;
  color: inherit;
  text-align: center;
  width: 100%;
}
.stats__item--has-detail .stats__trigger {
  cursor: pointer;
}
.stats__item--has-detail .stats__trigger:hover .stats__label {
  color: var(--color-accent, #06c755);
}
.stats__info-icon {
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  opacity: 0.4;
  transition: opacity 0.2s;
}
.stats__item--has-detail .stats__trigger:hover .stats__info-icon {
  opacity: 0.8;
}
.stats-popup {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  width: 320px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
  transform: translateX(-50%) translateY(-8px);
  pointer-events: none;
}
.stats-popup[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.stats-popup__inner {
  background: var(--color-white, #fff);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08);
  border: 1px solid var(--color-border, #e2e5ef);
  color: var(--color-text, #0f172a);
  text-align: left;
  position: relative;
}
.stats-popup__inner::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 14px;
  height: 14px;
  background: var(--color-white, #fff);
  border-top: 1px solid var(--color-border, #e2e5ef);
  border-left: 1px solid var(--color-border, #e2e5ef);
}
.stats-popup__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
  padding: 0;
}
.stats-popup__close:hover {
  background: var(--color-bg-alt, #f8f9fc);
}
.stats-popup__close svg {
  width: 16px;
  height: 16px;
}
.stats-popup__title {
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  padding-right: 24px;
  line-height: 1.4;
}
.stats-popup__list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}
.stats-popup__list li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
  line-height: 1.6;
  color: var(--color-text-secondary, #475569);
}
.stats-popup__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary, #1a2f55);
  opacity: 0.5;
}
.stats-popup__note {
  font-size: 0.7rem;
  color: var(--color-text-muted, #94a3b8);
  line-height: 1.5;
  border-top: 1px solid var(--color-border, #e2e5ef);
  padding-top: 0.6rem;
  margin: 0;
}
@media (max-width: 768px) {
  .stats-popup {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform: translateX(0) translateY(100%);
    border-radius: 0;
  }
  .stats-popup[aria-hidden="false"] {
    transform: translateX(0) translateY(0);
  }
  .stats-popup__inner {
    border-radius: 16px 16px 0 0;
    padding: 1.5rem;
    max-height: 60vh;
    overflow-y: auto;
  }
  .stats-popup__inner::before {
    display: none;
  }
}


/* Fix: allow stats popups to overflow section boundary */
.fp-stats {
  overflow: visible !important;
}
.stats-popup[aria-hidden="false"] {
  z-index: 1000;
}


/* ===== Education Sections ===== */
.edu-reality { padding: 80px 0; background: linear-gradient(135deg, #0f0f1e 0%, #1a1a2e 100%); position: relative; overflow: hidden; }
.edu-reality::before { content: ''; position: absolute; inset: 0; opacity: 0.03; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 40px 40px; }
.edu-reality .container { position: relative; z-index: 2; }
.edu-reality__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.edu-reality__card { background: linear-gradient(135deg, rgba(248,113,113,0.08), rgba(248,113,113,0.02)); border: 1px solid rgba(248,113,113,0.15); border-radius: 8px; padding: 36px; position: relative; overflow: hidden; transition: all 0.4s; }
.edu-reality__card:hover { border-color: rgba(248,113,113,0.3); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(248,113,113,0.08); }
.edu-reality__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #f87171, #ef4444); opacity: 0.6; }
.edu-reality__card:hover::before { opacity: 1; }
.edu-reality__icon { width: 56px; height: 56px; background: rgba(248,113,113,0.1); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 28px; }
.edu-reality__card h3 { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 12px; }
.edu-reality__card p { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.9; }



/* ===== Service Showcase (services page) ===== */
.svc-showcase { padding: 0; }
.svc-block { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; }
.svc-block:nth-child(even) { direction: rtl; }
.svc-block:nth-child(even) > * { direction: ltr; }
.svc-block__visual { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.svc-block__visual img { width: 100%; height: 100%; object-fit: cover; }
.svc-block__visual--gradient { background: linear-gradient(135deg, var(--svc-color-1, #0d9488), var(--svc-color-2, #1a1a2e)); }
.svc-block__content { display: flex; flex-direction: column; justify-content: center; padding: 64px; }
.svc-block__label { font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 16px; }
.svc-block__title { font-size: clamp(28px, 4vw, 40px); font-weight: 900; line-height: 1.25; margin-bottom: 20px; color: #1a1a2e; }
.svc-block__desc { font-size: 15px; color: #1a1a2e99; line-height: 1.9; margin-bottom: 28px; }
.svc-block__points { list-style: none; padding: 0; margin: 0 0 32px; }
.svc-block__points li { font-size: 14px; padding: 8px 0; display: flex; align-items: flex-start; gap: 10px; color: #1a1a2e; font-weight: 500; }
.svc-block__points li::before { content: '✓'; color: #0d9488; font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.svc-block__price { font-size: 14px; color: #1a1a2e77; margin-bottom: 28px; padding: 16px; background: rgba(13,148,136,0.04); border-left: 3px solid #0d9488; border-radius: 0 8px 8px 0; }
.svc-block__price strong { font-size: 24px; font-weight: 900; color: #0d9488; font-family: 'DM Sans', sans-serif; }
.svc-block__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* Dark variant */
.svc-block--dark .svc-block__content { background: #1a1a2e; }
.svc-block--dark .svc-block__title { color: #fff; }
.svc-block--dark .svc-block__desc { color: rgba(255,255,255,0.65); }
.svc-block--dark .svc-block__points li { color: rgba(255,255,255,0.85); }
.svc-block--dark .svc-block__points li::before { color: #2dd4bf; }
.svc-block--dark .svc-block__price { background: rgba(45,212,191,0.08); border-color: #2dd4bf; color: rgba(255,255,255,0.6); }
.svc-block--dark .svc-block__price strong { color: #2dd4bf; }

/* Accent variant */
.svc-block--accent .svc-block__content { background: #06c755; }
.svc-block--accent .svc-block__title { color: #fff; }
.svc-block--accent .svc-block__desc { color: rgba(255,255,255,0.85); }
.svc-block--accent .svc-block__points li { color: #fff; }
.svc-block--accent .svc-block__points li::before { color: #fff; }
.svc-block--accent .svc-block__price { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.5); color: rgba(255,255,255,0.8); }
.svc-block--accent .svc-block__price strong { color: #fff; }

/* Stats in service block */
.svc-stats { display: flex; gap: 32px; margin-bottom: 28px; }
.svc-stat__number { font-size: 32px; font-weight: 900; font-family: 'DM Sans', sans-serif; }
.svc-stat__label { font-size: 12px; opacity: 0.7; }

@media (max-width: 768px) {
  .edu-reality__grid { grid-template-columns: 1fr; }
}


/* ===== Service Page Polish ===== */

/* --- Polished Service Hero --- */
.svc-page-hero { position: relative; padding: 120px 0 80px; background: linear-gradient(135deg, #1a1a2e 0%, #0f2027 60%, #203a43 100%); overflow: hidden; }
.svc-page-hero::before { content: ''; position: absolute; inset: 0; background: url(var(--hero-bg)) center/cover no-repeat; opacity: 0.15; }
.svc-page-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 120px; background: linear-gradient(to top, #fff, transparent); }
.svc-page-hero .container { position: relative; z-index: 2; }
.svc-page-hero__label { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--hero-accent, #2dd4bf); margin-bottom: 16px; padding: 6px 16px; border: 1px solid rgba(255,255,255,0.15); border-radius: 100px; }
.svc-page-hero__title { font-size: clamp(32px, 5vw, 52px); font-weight: 900; color: #fff; line-height: 1.2; margin-bottom: 20px; }
.svc-page-hero__title span { color: var(--hero-accent, #2dd4bf); }
.svc-page-hero__desc { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.9; max-width: 600px; margin-bottom: 32px; }
.svc-page-hero__stats { display: flex; gap: 40px; margin-bottom: 32px; }
.svc-page-hero__stat-num { font-size: 40px; font-weight: 900; font-family: 'DM Sans', sans-serif; color: var(--hero-accent, #2dd4bf); line-height: 1; }
.svc-page-hero__stat-label { font-size: 12px; color: rgba(255,255,255,0.5); margin-top: 4px; }
.svc-page-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* --- Enhanced Problem Cards --- */
.problems-grid-v2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 800px; margin: 48px auto 0; }
.problem-card-v2 { display: flex; align-items: flex-start; gap: 16px; padding: 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; transition: all 0.3s; }
.problem-card-v2:hover { border-color: rgba(248,113,113,0.3); box-shadow: 0 8px 24px rgba(0,0,0,0.04); transform: translateY(-2px); }
.problem-card-v2__icon { flex-shrink: 0; width: 40px; height: 40px; background: rgba(248,113,113,0.08); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.problem-card-v2__text { font-size: 15px; font-weight: 600; color: #1a1a2e; line-height: 1.6; }

/* --- Feature Cards V2 --- */
.features-v2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.feature-v2 { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; padding: 36px; position: relative; overflow: hidden; transition: all 0.4s; }
.feature-v2:hover { border-color: rgba(13,148,136,0.3); box-shadow: 0 12px 40px rgba(13,148,136,0.06); transform: translateY(-4px); }
.feature-v2::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--feature-color-1, #0d9488), var(--feature-color-2, #06c755)); opacity: 0; transition: opacity 0.4s; }
.feature-v2:hover::before { opacity: 1; }
.feature-v2__icon { width: 48px; height: 48px; background: linear-gradient(135deg, rgba(13,148,136,0.08), rgba(6,199,85,0.05)); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: #0d9488; }
.feature-v2__title { font-size: 17px; font-weight: 800; color: #1a1a2e; margin-bottom: 10px; }
.feature-v2__text { font-size: 14px; color: #1a1a2e88; line-height: 1.8; }

/* --- Number Highlight Section --- */
.num-highlight { padding: 60px 0; background: linear-gradient(135deg, #1a1a2e, #0f2027); }
.num-highlight__grid { display: flex; justify-content: center; gap: 60px; flex-wrap: wrap; }
.num-highlight__item { text-align: center; }
.num-highlight__value { font-size: 48px; font-weight: 900; font-family: 'DM Sans', sans-serif; color: #2dd4bf; line-height: 1; }
.num-highlight__label { font-size: 13px; color: rgba(255,255,255,0.5); margin-top: 8px; }

/* --- Process V2 --- */
.process-v2 { max-width: 700px; margin: 48px auto 0; position: relative; }
.process-v2::before { content: ''; position: absolute; left: 24px; top: 60px; bottom: 60px; width: 2px; background: linear-gradient(180deg, #0d9488, rgba(13,148,136,0.1)); }
.process-v2__step { display: flex; gap: 24px; align-items: flex-start; padding: 24px 0; position: relative; }
.process-v2__num { flex-shrink: 0; width: 50px; height: 50px; background: linear-gradient(135deg, #0d9488, #06c755); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 900; color: #fff; font-family: 'DM Sans', sans-serif; position: relative; z-index: 2; }
.process-v2__content { padding-top: 8px; }
.process-v2__title { font-size: 18px; font-weight: 800; color: #1a1a2e; margin-bottom: 6px; }
.process-v2__text { font-size: 14px; color: #1a1a2e88; line-height: 1.8; }

/* --- Proof / Tech badges V2 --- */
.proof-section { padding: 80px 0; background: linear-gradient(135deg, #0f0f1e, #1a1a2e); position: relative; overflow: hidden; }
.proof-section::before { content: ''; position: absolute; inset: 0; opacity: 0.02; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 30px 30px; }
.proof-section .container { position: relative; z-index: 2; }
.proof-section .section-title { color: #fff; }
.proof-section .section-description { color: rgba(255,255,255,0.6); }
.tech-badges-v2 { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.tech-badge-v2 { padding: 10px 20px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 100px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.7); transition: all 0.3s; }
.tech-badge-v2:hover { background: rgba(45,212,191,0.1); border-color: rgba(45,212,191,0.3); color: #2dd4bf; }

/* --- Solution highlight V2 --- */
.solution-v2 { padding: 80px 0; background: linear-gradient(135deg, rgba(13,148,136,0.03), rgba(6,199,85,0.02)); border-top: 1px solid rgba(13,148,136,0.1); border-bottom: 1px solid rgba(13,148,136,0.1); }
.solution-v2__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.solution-v2__icon { font-size: 48px; margin-bottom: 24px; }
.solution-v2__title { font-size: clamp(24px, 3.5vw, 32px); font-weight: 900; color: #1a1a2e; line-height: 1.4; margin-bottom: 16px; }
.solution-v2__text { font-size: 15px; color: #1a1a2e88; line-height: 1.9; }

/* --- SNS Case V2 polish --- */
.sns-case { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #e5e5e5; margin-bottom: 32px; transition: all 0.3s; }
.sns-case:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.06); }

/* --- Responsive --- */
@media (max-width: 768px) {
  .svc-page-hero { padding: 80px 0 60px; }
  .svc-page-hero__stats { gap: 24px; }
  .svc-page-hero__stat-num { font-size: 28px; }
  .problems-grid-v2 { grid-template-columns: 1fr; }
  .features-v2 { grid-template-columns: 1fr; }
  .num-highlight__grid { gap: 32px; }
  .num-highlight__value { font-size: 36px; }
  .process-v2::before { left: 24px; }
}


/* ===== Scroll Animations ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes countUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* ===== Services Page Animations ===== */
.svc-block { opacity: 0; transform: translateY(60px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.svc-block.is-visible { opacity: 1; transform: translateY(0); }
.svc-block:nth-child(2) { transition-delay: 0.15s; }
.svc-block:nth-child(3) { transition-delay: 0.3s; }

.svc-block__visual img { transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.svc-block:hover .svc-block__visual img { transform: scale(1.05); }

.svc-block__content { opacity: 0; transform: translateX(40px); transition: opacity 0.6s 0.3s, transform 0.6s 0.3s; }
.svc-block:nth-child(even) .svc-block__content { transform: translateX(-40px); }
.svc-block.is-visible .svc-block__content { opacity: 1; transform: translateX(0); }

.svc-stat__number { opacity: 0; animation: countUp 0.6s 0.6s forwards; }
.svc-block.is-visible .svc-stat__number { animation: countUp 0.6s 0.6s forwards; }

/* Service block image overlay for quality */
.svc-block__visual { position: relative; }
.svc-block__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.1), transparent 60%); pointer-events: none; }
.svc-block--dark .svc-block__visual::after { background: linear-gradient(135deg, rgba(26,26,46,0.3), transparent 60%); }
.svc-block--accent .svc-block__visual::after { background: linear-gradient(135deg, rgba(6,199,85,0.2), transparent 60%); }

/* ===== Service Page Hero - Enhanced ===== */
.svc-page-hero { position: relative; padding: 120px 0 80px; background: linear-gradient(135deg, #1a1a2e 0%, #0f2027 60%, #203a43 100%); overflow: hidden; min-height: 560px; display: flex; align-items: center; }
.svc-page-hero::before { content: ''; position: absolute; inset: 0; background: url(var(--hero-bg)) center/cover no-repeat; opacity: 0.18; filter: blur(1px); transition: opacity 0.6s; }
.svc-page-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 120px; background: linear-gradient(to top, #fff, transparent); pointer-events: none; }
.svc-page-hero .container { position: relative; z-index: 2; animation: fadeInUp 0.8s ease-out; }
.svc-page-hero__label { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--hero-accent, #2dd4bf); margin-bottom: 16px; padding: 6px 16px; border: 1px solid rgba(255,255,255,0.15); border-radius: 100px; backdrop-filter: blur(8px); background: rgba(255,255,255,0.04); }
.svc-page-hero__title { font-size: clamp(32px, 5vw, 52px); font-weight: 900; color: #fff; line-height: 1.2; margin-bottom: 20px; letter-spacing: -0.02em; }
.svc-page-hero__title span { color: var(--hero-accent, #2dd4bf); }
.svc-page-hero__desc { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.9; max-width: 600px; margin-bottom: 32px; }
.svc-page-hero__stats { display: flex; gap: 40px; margin-bottom: 32px; }
.svc-page-hero__stat-num { font-size: 42px; font-weight: 900; font-family: 'DM Sans', sans-serif; color: var(--hero-accent, #2dd4bf); line-height: 1; }
.svc-page-hero__stat-label { font-size: 12px; color: rgba(255,255,255,0.5); margin-top: 6px; letter-spacing: 0.05em; }
.svc-page-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* ===== Enhanced Problem Cards ===== */
.problems-grid-v2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 800px; margin: 48px auto 0; }
.problem-card-v2 { display: flex; align-items: flex-start; gap: 16px; padding: 28px; background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.problem-card-v2:hover { border-color: rgba(248,113,113,0.25); box-shadow: 0 12px 32px rgba(0,0,0,0.06); transform: translateY(-4px); }
.problem-card-v2__icon { flex-shrink: 0; width: 44px; height: 44px; background: linear-gradient(135deg, rgba(248,113,113,0.08), rgba(248,113,113,0.03)); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.problem-card-v2__text { font-size: 15px; font-weight: 600; color: #1a1a2e; line-height: 1.7; }

/* ===== Enhanced Feature Cards ===== */
.features-v2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.feature-v2 { background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; padding: 36px; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.feature-v2:hover { border-color: rgba(13,148,136,0.25); box-shadow: 0 16px 48px rgba(13,148,136,0.08); transform: translateY(-6px); }
.feature-v2::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--feature-color-1, #0d9488), var(--feature-color-2, #06c755)); opacity: 0; transition: opacity 0.4s; }
.feature-v2:hover::before { opacity: 1; }
.feature-v2__icon { width: 52px; height: 52px; background: linear-gradient(135deg, rgba(13,148,136,0.08), rgba(6,199,85,0.04)); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: #0d9488; }
.feature-v2__title { font-size: 17px; font-weight: 800; color: #1a1a2e; margin-bottom: 10px; }
.feature-v2__text { font-size: 14px; color: rgba(26,26,46,0.55); line-height: 1.85; }

/* ===== Number Highlight ===== */
.num-highlight { padding: 72px 0; background: linear-gradient(135deg, #1a1a2e, #0f2027); position: relative; overflow: hidden; }
.num-highlight::before { content: ''; position: absolute; inset: 0; opacity: 0.02; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 40px 40px; }
.num-highlight .container { position: relative; z-index: 2; }
.num-highlight__grid { display: flex; justify-content: center; gap: 64px; flex-wrap: wrap; }
.num-highlight__item { text-align: center; }
.num-highlight__value { font-size: 48px; font-weight: 900; font-family: 'DM Sans', sans-serif; color: #2dd4bf; line-height: 1; }
.num-highlight__label { font-size: 13px; color: rgba(255,255,255,0.45); margin-top: 10px; letter-spacing: 0.05em; }

/* ===== Process V2 ===== */
.process-v2 { max-width: 700px; margin: 48px auto 0; position: relative; }
.process-v2::before { content: ''; position: absolute; left: 24px; top: 60px; bottom: 60px; width: 2px; background: linear-gradient(180deg, #0d9488, rgba(13,148,136,0.08)); }
.process-v2__step { display: flex; gap: 28px; align-items: flex-start; padding: 28px 0; position: relative; }
.process-v2__num { flex-shrink: 0; width: 50px; height: 50px; background: linear-gradient(135deg, #0d9488, #06c755); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 900; color: #fff; font-family: 'DM Sans', sans-serif; position: relative; z-index: 2; box-shadow: 0 4px 16px rgba(13,148,136,0.25); }
.process-v2__content { padding-top: 8px; }
.process-v2__title { font-size: 18px; font-weight: 800; color: #1a1a2e; margin-bottom: 6px; }
.process-v2__text { font-size: 14px; color: rgba(26,26,46,0.55); line-height: 1.85; }

/* ===== Solution V2 ===== */
.solution-v2 { padding: 80px 0; background: linear-gradient(135deg, rgba(13,148,136,0.04), rgba(6,199,85,0.02)); border-top: 1px solid rgba(13,148,136,0.08); border-bottom: 1px solid rgba(13,148,136,0.08); }
.solution-v2__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.solution-v2__icon { font-size: 48px; margin-bottom: 24px; display: block; }
.solution-v2__title { font-size: clamp(24px, 3.5vw, 32px); font-weight: 900; color: #1a1a2e; line-height: 1.45; margin-bottom: 16px; }
.solution-v2__text { font-size: 15px; color: rgba(26,26,46,0.55); line-height: 1.9; }

/* ===== Proof Section ===== */
.proof-section { padding: 80px 0; background: linear-gradient(135deg, #0f0f1e, #1a1a2e); position: relative; overflow: hidden; }
.proof-section::before { content: ''; position: absolute; inset: 0; opacity: 0.02; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 30px 30px; }
.proof-section .container { position: relative; z-index: 2; }
.proof-section .section-title { color: #fff; }
.proof-section .section-description { color: rgba(255,255,255,0.55); }
.proof-section .section-label { color: #2dd4bf; }
.tech-badges-v2 { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.tech-badge-v2 { padding: 10px 20px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 100px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.6); transition: all 0.3s; backdrop-filter: blur(4px); }
.tech-badge-v2:hover { background: rgba(45,212,191,0.1); border-color: rgba(45,212,191,0.3); color: #2dd4bf; transform: translateY(-2px); }

/* ===== Education Section Polish ===== */
.edu-reality { padding: 80px 0; background: linear-gradient(135deg, #0f0f1e 0%, #1a1a2e 100%); position: relative; overflow: hidden; }
.edu-reality::before { content: ''; position: absolute; inset: 0; opacity: 0.03; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 40px 40px; }
.edu-reality .container { position: relative; z-index: 2; }
.edu-reality__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.edu-reality__card { background: linear-gradient(135deg, rgba(248,113,113,0.08), rgba(248,113,113,0.02)); border: 1px solid rgba(248,113,113,0.12); border-radius: 16px; padding: 36px; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.edu-reality__card:hover { border-color: rgba(248,113,113,0.3); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(248,113,113,0.08); }
.edu-reality__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #f87171, #ef4444); opacity: 0.5; }
.edu-reality__card:hover::before { opacity: 1; }
.edu-reality__icon { width: 56px; height: 56px; background: rgba(248,113,113,0.08); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 28px; }
.edu-reality__card h3 { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 12px; }
.edu-reality__card p { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.9; }



/* ===== SNS Case polish ===== */
.sns-case { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #e8e8e8; margin-bottom: 32px; transition: all 0.4s; box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.sns-case:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.06); transform: translateY(-2px); }

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .svc-page-hero { padding: 80px 0 60px; min-height: auto; }
  .svc-page-hero__stats { gap: 24px; }
  .svc-page-hero__stat-num { font-size: 28px; }
  .problems-grid-v2 { grid-template-columns: 1fr; }
  .features-v2 { grid-template-columns: 1fr; }
  .edu-reality__grid { grid-template-columns: 1fr; }
}


/* ===== Service Blocks V3 - Typography Focus ===== */
.svc-showcase-v3 { padding: 0; }

.svc-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; overflow: hidden; }
.svc-card:nth-child(even) { direction: rtl; }
.svc-card:nth-child(even) > * { direction: ltr; }

.svc-card__hero { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 40px; text-align: center; overflow: hidden; }
.svc-card__hero::before { content: ''; position: absolute; inset: 0; opacity: 0.06; background-image: radial-gradient(circle at 1px 1px, currentColor 1px, transparent 0); background-size: 32px 32px; }

/* Dark style (SNS) */
.svc-card--dark .svc-card__hero { background: linear-gradient(160deg, #0f0f1e 0%, #1a1a2e 40%, #0d3320 100%); color: #fff; }
.svc-card--dark .svc-card__big-num { color: #2dd4bf; }
.svc-card--dark .svc-card__hero-label { color: rgba(255,255,255,0.35); }
.svc-card--dark .svc-card__hero-sub { color: rgba(255,255,255,0.5); }
.svc-card--dark .svc-card__hero-badge { background: rgba(45,212,191,0.12); color: #2dd4bf; border: 1px solid rgba(45,212,191,0.2); }

/* Light style (HP) */
.svc-card--light .svc-card__hero { background: linear-gradient(160deg, #f0fdf4 0%, #e0f2fe 50%, #f5f5f4 100%); color: #1a1a2e; }
.svc-card--light .svc-card__big-num { color: #0d9488; }
.svc-card--light .svc-card__hero-label { color: rgba(26,26,46,0.3); }
.svc-card--light .svc-card__hero-sub { color: rgba(26,26,46,0.45); }
.svc-card--light .svc-card__hero-badge { background: rgba(13,148,136,0.08); color: #0d9488; border: 1px solid rgba(13,148,136,0.15); }

/* Green style (AI) */
.svc-card--green .svc-card__hero { background: linear-gradient(160deg, #064e3b 0%, #065f46 40%, #0f2027 100%); color: #fff; }
.svc-card--green .svc-card__big-num { color: #fff; text-shadow: 0 0 60px rgba(6,199,85,0.3); }
.svc-card--green .svc-card__hero-label { color: rgba(255,255,255,0.35); }
.svc-card--green .svc-card__hero-sub { color: rgba(255,255,255,0.5); }
.svc-card--green .svc-card__hero-badge { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.15); }

.svc-card__hero-label { font-size: 11px; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 24px; position: relative; z-index: 2; }
.svc-card__big-num { font-size: clamp(72px, 10vw, 100px); font-weight: 900; font-family: 'DM Sans', sans-serif; line-height: 1; position: relative; z-index: 2; letter-spacing: -0.03em; }
.svc-card__hero-sub { font-size: 13px; margin-top: 12px; letter-spacing: 0.08em; position: relative; z-index: 2; }
.svc-card__hero-badge { display: inline-block; padding: 6px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; margin-top: 24px; position: relative; z-index: 2; }

/* Content side */
.svc-card__body { display: flex; flex-direction: column; justify-content: center; padding: 56px 48px; background: #fff; }
.svc-card--dark .svc-card__body { background: #fafaf8; }
.svc-card--green .svc-card__body { background: #fafaf8; }

.svc-card__tag { font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--card-accent, #0d9488); margin-bottom: 12px; }
.svc-card__title { font-size: clamp(24px, 3vw, 32px); font-weight: 900; line-height: 1.3; color: #1a1a2e; margin-bottom: 16px; }
.svc-card__desc { font-size: 14px; color: rgba(26,26,46,0.55); line-height: 1.9; margin-bottom: 24px; }
.svc-card__features { list-style: none; padding: 0; margin: 0 0 24px; }
.svc-card__features li { font-size: 14px; padding: 6px 0; display: flex; align-items: flex-start; gap: 10px; color: #1a1a2e; font-weight: 500; }
.svc-card__features li::before { content: '✓'; color: var(--card-accent, #0d9488); font-weight: 700; flex-shrink: 0; }
.svc-card__price { font-size: 14px; color: rgba(26,26,46,0.5); margin-bottom: 24px; padding: 14px 16px; background: rgba(13,148,136,0.03); border-left: 3px solid var(--card-accent, #0d9488); border-radius: 0 8px 8px 0; }
.svc-card__price strong { font-size: 24px; font-weight: 900; color: var(--card-accent, #0d9488); font-family: 'DM Sans', sans-serif; }
.svc-card__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* Animation */
.svc-card { opacity: 0; transform: translateY(48px); transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.svc-card.is-visible { opacity: 1; transform: translateY(0); }
.svc-card__hero { overflow: hidden; }
.svc-card__big-num { opacity: 0; transform: scale(0.85); transition: opacity 0.6s 0.3s, transform 0.6s 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.svc-card.is-visible .svc-card__big-num { opacity: 1; transform: scale(1); }

@media (max-width: 768px) {
  .svc-card { grid-template-columns: 1fr; min-height: auto; }
  .svc-card:nth-child(even) { direction: ltr; }
  .svc-card__hero { padding: 48px 32px; min-height: 280px; }
  .svc-card__big-num { font-size: 64px; }
  .svc-card__body { padding: 40px 24px; }
}


/* ===== SNS Portfolio Cards ===== */
.sns-case { display: grid; grid-template-columns: 280px 1fr; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #e8e8e8; margin-bottom: 28px; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.sns-case:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.06); transform: translateY(-2px); }
.sns-case--reverse { grid-template-columns: 1fr 280px; }
.sns-case--reverse .sns-case__images { order: 2; }
.sns-case--reverse .sns-case__content { order: 1; }

.sns-case__images { position: relative; overflow: hidden; background: #f5f5f4; display: flex; flex-direction: column; }
.sns-case__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s; }
.sns-case:hover .sns-case__img { transform: scale(1.03); }
.sns-case__img--sub { position: absolute; bottom: 0; right: 0; width: 45%; height: 45%; border-radius: 8px 0 0 0; border-top: 3px solid #fff; border-left: 3px solid #fff; object-fit: cover; z-index: 2; }

.sns-case__content { padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.sns-case__industry { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: #0d9488; background: rgba(13,148,136,0.06); padding: 4px 12px; border-radius: 100px; margin-bottom: 8px; width: fit-content; }
.sns-case__name { font-size: 20px; font-weight: 900; color: #1a1a2e; margin-bottom: 6px; }
.sns-case__result { display: inline-block; font-size: 12px; font-weight: 700; color: #06c755; background: rgba(6,199,85,0.08); padding: 4px 12px; border-radius: 100px; margin-bottom: 8px; width: fit-content; }
.sns-case__meta { margin-bottom: 10px; }
.sns-case__purpose { font-size: 12px; color: rgba(26,26,46,0.45); font-weight: 600; }
.sns-case__summary { font-size: 13px; color: rgba(26,26,46,0.55); line-height: 1.8; margin-bottom: 14px; }
.sns-case__points-label { font-size: 12px; font-weight: 800; color: #1a1a2e; margin-bottom: 6px; letter-spacing: 0.05em; }
.sns-case__points { list-style: none; padding: 0; margin: 0 0 14px; }
.sns-case__points li { font-size: 12px; color: rgba(26,26,46,0.6); padding: 3px 0; padding-left: 16px; position: relative; line-height: 1.6; }
.sns-case__points li::before { content: '✓'; position: absolute; left: 0; color: #0d9488; font-weight: 700; font-size: 11px; }

@media (max-width: 768px) {
  .sns-case { grid-template-columns: 1fr; }
  .sns-case--reverse { grid-template-columns: 1fr; }
  .sns-case--reverse .sns-case__images { order: 0; }
  .sns-case--reverse .sns-case__content { order: 0; }
  .sns-case__images { max-height: 240px; }
  .sns-case__content { padding: 24px; }
}


/* ===== SNS Portfolio V3 - Uniform Cards ===== */
.sns-portfolio { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 48px; }

.sns-pf-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; overflow: hidden; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.sns-pf-card:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.07); transform: translateY(-4px); }

.sns-pf-card__img-wrap { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #f5f5f4; }
.sns-pf-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.sns-pf-card:hover .sns-pf-card__img { transform: scale(1.04); }
.sns-pf-card__img--sub { position: absolute; bottom: 12px; right: 12px; width: 80px; height: 80px; border-radius: 12px; border: 3px solid #fff; object-fit: cover; box-shadow: 0 4px 16px rgba(0,0,0,0.15); z-index: 2; }

.sns-pf-card__badge { position: absolute; top: 12px; left: 12px; z-index: 3; display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; color: #fff; background: rgba(6,199,85,0.9); backdrop-filter: blur(4px); padding: 5px 12px; border-radius: 100px; }

.sns-pf-card__body { padding: 24px; }
.sns-pf-card__industry { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: #0d9488; margin-bottom: 4px; }
.sns-pf-card__name { font-size: 18px; font-weight: 900; color: #1a1a2e; margin-bottom: 8px; }
.sns-pf-card__purpose { font-size: 12px; color: rgba(26,26,46,0.4); font-weight: 600; margin-bottom: 10px; }
.sns-pf-card__summary { font-size: 13px; color: rgba(26,26,46,0.55); line-height: 1.75; margin-bottom: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sns-pf-card__points { list-style: none; padding: 0; margin: 0 0 16px; }
.sns-pf-card__points li { font-size: 12px; color: rgba(26,26,46,0.6); padding: 3px 0 3px 16px; position: relative; line-height: 1.6; }
.sns-pf-card__points li::before { content: '✓'; position: absolute; left: 0; color: #0d9488; font-weight: 700; font-size: 11px; }

@media (max-width: 768px) {
  .sns-portfolio { grid-template-columns: 1fr; }
  .sns-pf-card__img-wrap { aspect-ratio: 16 / 10; }
}


/* ===== Next Service Navigation ===== */
.next-svc {
  background: linear-gradient(135deg, #f8fffe 0%, #f0fdf4 100%);
  padding: 56px 0;
  border-top: 1px solid rgba(6,199,85,0.1);
}
.next-svc__inner {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}
.next-svc__text {
  flex: 1;
}
.next-svc__label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #06c755;
  margin-bottom: 8px;
}
.next-svc__title {
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 900;
  color: #1a1a2e;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
.next-svc__desc {
  font-size: 14px;
  color: rgba(26,26,46,0.55);
  line-height: 1.7;
  margin-bottom: 20px;
}
.next-svc__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: #1a1a2e;
  color: #fff;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
}
.next-svc__btn:hover {
  background: #06c755;
  transform: translateX(4px);
}
.next-svc__btn svg {
  transition: transform 0.3s;
}
.next-svc__btn:hover svg {
  transform: translateX(4px);
}
.next-svc__visual {
  flex-shrink: 0;
  width: 160px;
  height: 160px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.03em;
}
.next-svc__visual--hp {
  background: linear-gradient(135deg, #1a1a2e, #2d2d5e);
}
.next-svc__visual--ai {
  background: linear-gradient(135deg, #06c755, #00a550);
}
.next-svc__visual--consult {
  background: linear-gradient(135deg, #06c755, #00a550);
}

/* Consultation CTA for AI page */
.consult-cta {
  background: linear-gradient(135deg, #1a1a2e, #0f2027);
  padding: 80px 0;
  text-align: center;
}
.consult-cta__label {
  display: inline-block;
  background: rgba(6,199,85,0.12);
  color: #06c755;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 20px;
  letter-spacing: 0.15em;
  border-radius: 100px;
  border: 1px solid rgba(6,199,85,0.2);
  margin-bottom: 24px;
}
.consult-cta__title {
  font-size: clamp(24px, 4vw, 36px);
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}
.consult-cta__desc {
  font-size: 15px;
  color: rgba(255,255,255,0.5);
  line-height: 1.8;
  margin-bottom: 36px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.consult-cta__buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.consult-cta__btn-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  background: #06c755;
  color: #fff;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0 4px 20px rgba(6,199,85,0.3);
}
.consult-cta__btn-line:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(6,199,85,0.4);
}
.consult-cta__btn-pricing {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  background: transparent;
  color: rgba(255,255,255,0.7);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
}
.consult-cta__btn-pricing:hover {
  border-color: rgba(255,255,255,0.5);
  color: #fff;
}
.consult-cta__note {
  margin-top: 20px;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
}

@media (max-width: 768px) {
  .next-svc__inner { flex-direction: column; text-align: center; gap: 24px; }
  .next-svc__visual { width: 120px; height: 120px; font-size: 36px; order: -1; }
}


/* ===== AI Transformation Cards ===== */
.ai-impact-hero {
  max-width: 700px;
  margin: 0 auto 48px;
}
.ai-impact-hero__inner {
  background: linear-gradient(135deg, #1a1a2e, #0f2027);
  border-radius: 20px;
  padding: 40px;
  text-align: center;
}
.ai-impact-hero__stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 16px;
}
.ai-impact-hero__num {
  font-size: clamp(40px, 6vw, 56px);
  font-weight: 900;
  color: rgba(255,255,255,0.3);
  letter-spacing: -0.03em;
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,0.15);
}
.ai-impact-hero__num small {
  font-size: 0.4em;
  font-weight: 700;
}
.ai-impact-hero__num--after {
  color: #06c755;
  text-decoration: none;
  text-shadow: 0 0 40px rgba(6,199,85,0.3);
}
.ai-impact-hero__unit {
  font-size: 28px;
  color: rgba(255,255,255,0.2);
  font-weight: 300;
}
.ai-impact-hero__text {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  line-height: 1.8;
  margin: 0;
}
.ai-impact-hero__text strong {
  color: #fff;
  font-weight: 800;
}

.ai-transform-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}

.ai-transform {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  padding: 28px;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.ai-transform:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.06);
  transform: translateY(-3px);
}
.ai-transform__icon {
  font-size: 28px;
  margin-bottom: 8px;
}
.ai-transform__task {
  font-size: 15px;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}
.ai-transform__comparison {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.ai-transform__before,
.ai-transform__after {
  flex: 1;
}
.ai-transform__tag {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
  background: #f1f5f9;
  padding: 2px 10px;
  border-radius: 100px;
  margin-bottom: 6px;
}
.ai-transform__tag--after {
  color: #fff;
  background: #06c755;
}
.ai-transform__desc {
  font-size: 11px;
  color: rgba(26,26,46,0.5);
  line-height: 1.5;
  margin: 0 0 4px;
}
.ai-transform__time {
  font-size: 14px;
  font-weight: 800;
  color: rgba(26,26,46,0.3);
  text-decoration: line-through;
  text-decoration-color: rgba(26,26,46,0.1);
}
.ai-transform__time--after {
  color: #06c755;
  text-decoration: none;
}
.ai-transform__arrow-wrap {
  flex-shrink: 0;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ai-transform__savings {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #f1f5f9;
}
.ai-transform__savings-bar {
  flex: 1;
  height: 6px;
  background: #f1f5f9;
  border-radius: 100px;
  overflow: hidden;
}
.ai-transform__savings-fill {
  height: 100%;
  width: var(--pct);
  background: linear-gradient(90deg, #06c755, #00d68f);
  border-radius: 100px;
  animation: fillBar 1.2s ease-out forwards;
  transform-origin: left;
}
@keyframes fillBar {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.ai-transform__savings-pct {
  font-size: 18px;
  font-weight: 900;
  color: #06c755;
  white-space: nowrap;
}
.ai-transform__savings-pct small {
  font-size: 10px;
  font-weight: 700;
  color: rgba(26,26,46,0.4);
  margin-left: 2px;
}

/* ROI Message */
.ai-roi-message {
  max-width: 700px;
  margin: 40px auto 0;
}
.ai-roi-message__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #fff;
  border: 2px solid #06c755;
  border-radius: 16px;
  padding: 28px 36px;
}
.ai-roi-message__left {
  flex: 1;
}
.ai-roi-message__label {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #06c755;
  background: rgba(6,199,85,0.08);
  padding: 3px 12px;
  border-radius: 100px;
  margin-bottom: 8px;
}
.ai-roi-message__calc {
  font-size: 13px;
  color: rgba(26,26,46,0.6);
  line-height: 1.7;
  margin: 0;
}
.ai-roi-message__calc strong {
  color: #1a1a2e;
  font-weight: 800;
}
.ai-roi-message__right {
  text-align: center;
  flex-shrink: 0;
}
.ai-roi-message__highlight {
  display: block;
  font-size: 14px;
  color: #1a1a2e;
  line-height: 1.4;
}
.ai-roi-message__highlight strong {
  font-size: 28px;
  font-weight: 900;
  color: #06c755;
  display: block;
}
.ai-roi-message__sub {
  font-size: 10px;
  color: rgba(26,26,46,0.35);
  display: block;
  margin-top: 4px;
}

@media (max-width: 768px) {
  .ai-transform-grid { grid-template-columns: 1fr; }
  .ai-impact-hero__inner { padding: 28px 20px; }
  .ai-impact-hero__stat { gap: 12px; }
  .ai-roi-message__inner { flex-direction: column; text-align: center; gap: 20px; padding: 24px; }
}


/* ===== Icon Size Fixes ===== */
.icon { display: inline-flex; align-items: center; flex-shrink: 0; }
.icon svg { display: inline-block; width: 1em; height: 1em; vertical-align: middle; }
.btn .icon svg { width: 18px; height: 18px; }
.consult-cta__btn-line .icon svg { width: 20px; height: 20px; }
.svc-page-hero__cta .icon svg { width: 18px; height: 18px; }
.svc-card__cta .icon svg { width: 16px; height: 16px; }
.next-svc__btn svg { width: 20px; height: 20px; }


/* ===== Benefits Section (v2) ===== */
.edu-benefits {
  padding: 80px 0;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.edu-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 48px;
  background: #e5e7eb;
  border-radius: 20px;
  overflow: hidden;
}
.edu-benefit {
  background: #fff;
  padding: 40px 36px;
  position: relative;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.edu-benefit:hover {
  background: #fafffe;
}
.edu-benefit::before {
  content: none;
}
.edu-benefit__num {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #0d9488;
  background: rgba(13,148,136,0.06);
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 16px;
  font-family: 'DM Sans', sans-serif;
}
.edu-benefit h3 {
  font-size: 17px;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}
.edu-benefit p {
  font-size: 13px;
  color: rgba(26,26,46,0.5);
  line-height: 1.9;
}

/* ===== Knowledge Section (v2) ===== */
.edu-knowledge__list {
  max-width: 800px;
  margin: 48px auto 0;
  position: relative;
}
.edu-knowledge__list::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, #0d9488 20%, #0d9488 80%, transparent);
  opacity: 0.15;
}
.edu-knowledge__item {
  position: relative;
  padding: 0 0 0 72px;
  margin-bottom: 40px;
  transition: all 0.3s;
}
.edu-knowledge__item:last-child {
  margin-bottom: 0;
}
.edu-knowledge__number {
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 900;
  color: #0d9488;
  background: rgba(13,148,136,0.06);
  border-radius: 16px;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: -0.02em;
  transition: all 0.3s;
}
.edu-knowledge__item:hover .edu-knowledge__number {
  background: #0d9488;
  color: #fff;
  transform: scale(1.05);
}
.edu-knowledge__item h3 {
  font-size: 17px;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 8px;
  padding-top: 4px;
  letter-spacing: -0.01em;
}
.edu-knowledge__item p {
  font-size: 13px;
  color: rgba(26,26,46,0.5);
  line-height: 1.9;
}

@media (max-width: 768px) {
  .edu-benefits__grid { grid-template-columns: 1fr; }
  .edu-benefit { padding: 28px 24px; }
  .edu-knowledge__list::before { display: none; }
  .edu-knowledge__item { padding-left: 64px; }
  .edu-knowledge__number { width: 48px; height: 48px; font-size: 16px; border-radius: 12px; }
}


/* ===== Problems Section (v3) ===== */
.problems-v3 {
  max-width: 720px;
  margin: 48px auto 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.problem-v3 {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 36px;
  background: #fff;
  border-bottom: 1px solid #f1f3f5;
  transition: all 0.3s;
}
.problem-v3:last-child {
  border-bottom: none;
}
.problem-v3:hover {
  background: #fef2f2;
}
.problem-v3__num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  color: #f87171;
  background: rgba(248,113,113,0.06);
  border-radius: 12px;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: -0.02em;
  transition: all 0.3s;
}
.problem-v3:hover .problem-v3__num {
  background: #f87171;
  color: #fff;
  transform: scale(1.08);
}
.problem-v3__text {
  font-size: 15px;
  font-weight: 500;
  color: rgba(26,26,46,0.65);
  line-height: 1.6;
}
.problem-v3__text strong {
  color: #1a1a2e;
  font-weight: 700;
}

@media (max-width: 768px) {
  .problem-v3 { padding: 20px 24px; gap: 16px; }
  .problem-v3__num { width: 36px; height: 36px; font-size: 12px; }
  .problem-v3__text { font-size: 14px; }
}


/* ===== Problems v4 — Dark, Bold ===== */
.problems-v4 {
  background: #f8f8f6;
  padding: 80px 0;
  overflow: hidden;
}
.problems-v4__header {
  margin-bottom: 56px;
}
.problems-v4__label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f87171;
  margin-bottom: 16px;
}
.problems-v4__title {
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 900;
  color: #1a1a2e;
  letter-spacing: -0.03em;
  line-height: 1.3;
}
.problems-v4__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.problems-v4__card {
  padding: 36px 28px;
  border-right: 1px solid rgba(26,26,46,0.06);
  transition: all 0.4s;
  position: relative;
}
.problems-v4__card:last-child {
  border-right: none;
}
.problems-v4__card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 28px;
  right: 28px;
  height: 2px;
  background: #f87171;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.problems-v4__card:hover::after {
  transform: scaleX(1);
}
.problems-v4__card:hover {
  background: rgba(248,113,113,0.03);
}
.problems-v4__num {
  display: block;
  font-size: 48px;
  font-weight: 900;
  color: rgba(248,113,113,0.2);
  font-family: 'DM Sans', sans-serif;
  line-height: 1;
  margin-bottom: 20px;
  letter-spacing: -0.04em;
}
.problems-v4__heading {
  font-size: 20px;
  font-weight: 800;
  color: #1a1a2e;
  line-height: 1.4;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.problems-v4__desc {
  font-size: 13px;
  color: rgba(26,26,46,0.45);
  line-height: 1.7;
}

@media (max-width: 1024px) {
  .problems-v4__grid { grid-template-columns: repeat(2, 1fr); }
  .problems-v4__card { border-bottom: 1px solid rgba(255,255,255,0.06); }
  .problems-v4__card:nth-child(2) { border-right: none; }
}
@media (max-width: 640px) {
  .problems-v4 { padding: 60px 0; }
  .problems-v4__grid { grid-template-columns: 1fr; }
  .problems-v4__card { border-right: none; padding: 28px 0; }
  .problems-v4__card::after { left: 0; right: 0; }
  .problems-v4__num { font-size: 36px; margin-bottom: 12px; }
  .problems-v4__heading { font-size: 18px; }
}


/* ===== Case Study Banner ===== */
.cs-case-banner {
  max-width: 800px;
  margin: 0 auto;
}
.cs-case-banner__content {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 48px 44px;
  transition: all 0.4s;
  box-shadow: 0 2px 12px rgba(0,0,0,0.03);
}
.cs-case-banner__content:hover {
  box-shadow: 0 16px 48px rgba(59,130,246,0.08);
  border-color: rgba(59,130,246,0.2);
}
.cs-case-banner__tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #3b82f6;
  background: rgba(59,130,246,0.06);
  padding: 4px 14px;
  border-radius: 100px;
  margin-bottom: 16px;
}
.cs-case-banner__title {
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 900;
  color: #1a1a2e;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.cs-case-banner__desc {
  font-size: 14px;
  color: rgba(26,26,46,0.55);
  line-height: 1.8;
  margin-bottom: 24px;
}
.cs-case-banner__stats {
  display: flex;
  gap: 32px;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #f1f3f5;
}
.cs-case-banner__stat-num {
  display: block;
  font-size: 24px;
  font-weight: 900;
  color: #3b82f6;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: -0.03em;
}
.cs-case-banner__stat-label {
  font-size: 11px;
  color: rgba(26,26,46,0.4);
  font-weight: 600;
}
.cs-case-banner__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: #1a1a2e;
  color: #fff;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
}
.cs-case-banner__btn:hover {
  background: #3b82f6;
  transform: translateX(4px);
}
.cs-case-banner__btn svg {
  transition: transform 0.3s;
}
.cs-case-banner__btn:hover svg {
  transform: translateX(4px);
}
@media (max-width: 640px) {
  .cs-case-banner__content { padding: 32px 24px; }
  .cs-case-banner__stats { flex-wrap: wrap; gap: 20px; }
}
