:root{--color-bg:#fff;--color-bg-alt:#f5f7fb;--color-surface:#fff;--color-text:#14161f;--color-text-muted:#5a6072;--color-primary:#2451ff;--color-primary-dark:#1638c4;--color-accent:#ff6a3d;--color-border:#e5e8f0;--color-success:#1c9d5b;--color-error:#d43f3f;--shadow-sm:0 2px 10px #1416280f;--shadow-md:0 14px 34px #1416281a;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--header-height:76px;--max-width:1180px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0e1016;--color-bg-alt:#151824;--color-surface:#1a1d29;--color-text:#eef0f6;--color-text-muted:#9ba0b3;--color-primary:#6f8bff;--color-primary-dark:#8ba0ff;--color-accent:#ff8a5c;--color-border:#2a2e3d;--shadow-sm:0 2px 10px #00000059;--shadow-md:0 14px 34px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--color-bg:#0e1016;--color-bg-alt:#151824;--color-surface:#1a1d29;--color-text:#eef0f6;--color-text-muted:#9ba0b3;--color-primary:#6f8bff;--color-primary-dark:#8ba0ff;--color-accent:#ff8a5c;--color-border:#2a2e3d;--shadow-sm:0 2px 10px #00000059;--shadow-md:0 14px 34px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.55}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,h4,p{margin:0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.section{padding:88px 0}@media (width<=720px){.section{padding:56px 0}}.section-heading{text-align:center;max-width:640px;margin:0 auto 48px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:10px;font-size:13px;font-weight:700;display:inline-block}.section-heading h2{letter-spacing:-.01em;font-size:clamp(28px,4vw,38px);font-weight:800}.section-heading p{color:var(--color-text-muted);margin-top:14px;font-size:17px}.btn{border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 26px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{color:var(--color-text);border:1.5px solid var(--color-border);background:0 0}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lang-switcher{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.lang-switcher__btn{color:var(--color-text-muted);background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.lang-switcher__btn:hover{color:var(--color-text)}.lang-switcher__btn--active{background:var(--color-primary);color:#fff}.header{z-index:40;height:var(--header-height);background:0 0;border-bottom:1px solid #0000;align-items:center;transition:background .25s,box-shadow .25s,border-color .25s;display:flex;position:sticky;top:0}.header--scrolled{background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--color-border)}.header--on-dark .header__brand,.header--on-dark .header__nav a{color:#fff}.header--on-dark .header__nav a{opacity:.85}.header--on-dark .header__nav a:hover{opacity:1;color:#fff}.header--on-dark .header__toggle{background:#ffffff1f;border-color:#ffffff59}.header--on-dark .header__toggle span{background:#fff}.header--on-dark .lang-switcher{background:#ffffff1a;border-color:#ffffff59}.header--on-dark .lang-switcher__btn{color:#ffffffbf}.header--on-dark .lang-switcher__btn:hover{color:#fff}.header--on-dark .lang-switcher__btn--active{color:var(--color-text);background:#fff}.header--on-dark .header__nav--open a{color:var(--color-text);opacity:1}.header--on-dark .header__nav--open .lang-switcher{background:var(--color-bg-alt);border-color:var(--color-border)}.header--on-dark .header__nav--open .lang-switcher__btn{color:var(--color-text-muted)}.header--on-dark .header__nav--open .lang-switcher__btn--active{background:var(--color-primary);color:#fff}.header__inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.header__brand{letter-spacing:-.01em;font-size:19px;font-weight:800}.header__nav{align-items:center;gap:28px;font-size:15px;font-weight:600;display:flex}.header__nav a{color:var(--color-text-muted);transition:color .2s}.header__nav a:hover{color:var(--color-primary)}.header__nav-lang{display:none}.header__actions{align-items:center;gap:16px;display:flex}.header__theme-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,color .2s;display:flex}.header__theme-toggle:hover{color:var(--color-primary);border-color:var(--color-primary)}.header--on-dark .header__theme-toggle{color:#fff;background:#ffffff1f;border-color:#ffffff59}.header--on-dark .header__theme-toggle:hover{color:#fff;border-color:#fff}.header__toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.header__toggle span{background:var(--color-text);height:2px;margin:0 9px;transition:transform .25s,opacity .25s;display:block}@media (width<=860px){.header__lang-desktop{display:none}.header__toggle{display:flex}.header__nav{inset:var(--header-height) 0 auto 0;background:var(--color-bg);border-bottom:1px solid var(--color-border);opacity:0;pointer-events:none;box-shadow:var(--shadow-md);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 24px 20px;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(-8px)}.header__nav a{border-bottom:1px solid var(--color-border);width:100%;padding:12px 0}.header__nav--open{opacity:1;pointer-events:auto;transform:translateY(0)}.header__nav-lang{padding-top:14px;display:block}.header__toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.header__toggle--open span:nth-child(2){opacity:0}.header__toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}.footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:64px 0 0}.footer__inner{grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:40px;display:grid}.footer__col{flex-direction:column;gap:12px;display:flex}.footer__col h4{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px;font-size:13px;font-weight:700}.footer__col a{color:var(--color-text);font-size:15px;transition:color .2s}.footer__col a:hover{color:var(--color-primary)}.footer__brand-name{font-size:20px;font-weight:800}.footer__brand p{color:var(--color-text-muted);max-width:320px;font-size:15px}.footer__social{gap:12px;margin-top:8px;display:flex}.footer__social a{background:var(--color-surface);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,border-color .2s;display:flex}.footer__social a:hover{color:var(--color-primary);border-color:var(--color-primary)}.footer__bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);padding:20px 24px;font-size:13px}@media (width<=720px){.footer__inner{grid-template-columns:1fr;gap:32px}}.floating-contact{z-index:50;background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);border:none;border-radius:999px;align-items:center;gap:9px;padding:14px 22px;font-size:14.5px;font-weight:700;transition:bottom .25s,background .2s;display:flex;position:fixed;bottom:24px;right:24px}.floating-contact:hover{background:var(--color-primary-dark)}.floating-contact--raised{bottom:104px}@media (width<=560px){.floating-contact span{display:none}.floating-contact{padding:14px;bottom:18px;right:18px}.floating-contact--raised{bottom:148px}}.chat-launcher{z-index:60;background:var(--color-primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;transition:bottom .25s,background .2s,transform .2s;display:flex;position:fixed;bottom:88px;right:24px}.chat-launcher__badge{letter-spacing:.02em;font-size:14px;font-weight:800}.chat-launcher:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.chat-launcher--open{background:var(--color-text)}.chat-launcher--raised{bottom:168px}.chat-panel{z-index:60;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(360px,100vw - 48px);max-height:min(520px,100vh - 140px);box-shadow:var(--shadow-md);flex-direction:column;transition:bottom .25s;display:flex;position:fixed;bottom:156px;right:24px;overflow:hidden}.chat-panel--raised{bottom:236px}.chat-panel__header{background:var(--color-text);color:var(--color-bg);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.chat-panel__header strong{font-size:15px;display:block}.chat-panel__header span{opacity:.7;margin-top:2px;font-size:12.5px;display:block}.chat-panel__header button{color:inherit;opacity:.75;background:0 0;border:none;flex-shrink:0;display:flex}.chat-panel__header button:hover{opacity:1}.chat-panel__messages{flex-direction:column;flex:1;gap:10px;min-height:160px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.45}.chat-bubble--assistant{background:var(--color-bg-alt);color:var(--color-text);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble--user{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble--typing{align-items:center;gap:4px;padding:14px;display:flex}.chat-bubble--typing span{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chat-typing}.chat-bubble--typing span:nth-child(2){animation-delay:.15s}.chat-bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-panel__chips{flex-wrap:wrap;gap:8px;padding:0 16px 12px;display:flex}.chat-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.chat-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-panel__form{border-top:1px solid var(--color-border);gap:8px;padding:12px 16px;display:flex}.chat-panel__form input{border:1px solid var(--color-border);background:var(--color-bg);min-width:0;color:var(--color-text);border-radius:999px;flex:1;padding:10px 14px;font-size:14px}.chat-panel__form input:focus{border-color:var(--color-primary);outline:none}.chat-panel__form button{background:var(--color-primary);color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.chat-panel__form button:disabled{opacity:.5;cursor:not-allowed}.chat-panel__disclaimer{color:var(--color-text-muted);text-align:center;padding:0 16px 14px;font-size:11px}@media (width<=560px){.chat-launcher{bottom:76px;right:18px}.chat-launcher--raised{bottom:206px}.chat-panel{bottom:144px;right:18px}.chat-panel--raised{bottom:274px}}.theme-toggle-floating{z-index:60;border:1px solid var(--color-border);background:var(--color-surface);width:56px;height:56px;color:var(--color-text);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;transition:bottom .25s,color .2s,border-color .2s,transform .2s;display:flex;position:fixed;bottom:88px;right:92px}.theme-toggle-floating:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-2px)}.theme-toggle-floating--raised{bottom:168px}@media (width<=560px){.theme-toggle-floating{bottom:76px;right:84px}.theme-toggle-floating--raised{bottom:206px}}.lang-picker{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a12b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lang-picker__card{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-md);text-align:center;padding:36px 30px}.lang-picker__title{margin-bottom:22px;font-size:19px;font-weight:800;display:block}.lang-picker__options{flex-direction:column;gap:10px;display:flex}.lang-picker__options button{border:1.5px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text);border-radius:999px;padding:13px 20px;font-size:15px;font-weight:700;transition:border-color .2s,background .2s,color .2s}.lang-picker__options button:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.cookie-consent{z-index:90;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:760px;box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin:0 auto;padding:20px 26px;display:flex;position:fixed;bottom:20px;left:20px;right:20px}.cookie-consent p{min-width:220px;color:var(--color-text-muted);flex:1;font-size:14px;line-height:1.5}.cookie-consent a{color:var(--color-primary);font-weight:700}.cookie-consent__actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.cookie-consent .btn{white-space:nowrap;flex-shrink:0;padding:11px 20px;font-size:13.5px}@media (width<=560px){.cookie-consent{padding:18px;bottom:12px;left:12px;right:12px}.cookie-consent__actions{width:100%}.cookie-consent__actions .btn{flex:1}}.hero{min-height:100vh;margin-top:calc(-1 * var(--header-height));padding-top:var(--header-height);align-items:center;display:flex;position:relative;overflow:hidden}.hero__video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__scrim{z-index:1;background:linear-gradient(#080a14b8 0%,#080a148c 45%,#080a1459 70%,#080a1499 100%);position:absolute;inset:0}.hero__ai-notice{z-index:2;letter-spacing:.02em;color:#ffffffa6;font-size:12px;font-weight:600;position:absolute;bottom:16px;left:24px}@media (width<=720px){.hero__ai-notice{font-size:11px;bottom:12px;left:16px}}.hero__inner{z-index:2;position:relative}.hero__text{max-width:640px}.hero__greeting{color:#fff;opacity:.85;margin-bottom:10px;font-size:16px;font-weight:700;display:block}.hero__name{letter-spacing:-.02em;color:#fff;font-size:clamp(38px,6vw,62px);font-weight:800;line-height:1.05}.hero__question{color:#fff;margin-top:22px;font-size:clamp(20px,2.6vw,26px);font-weight:700}.hero__cta{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.btn-secondary--on-dark{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff14;border-color:#ffffff80}.btn-secondary--on-dark:hover{color:#fff;background:#ffffff29;border-color:#fff}@media (width<=720px){.hero{min-height:92vh}}.service-card-wrap{height:100%}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:100%;box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.service-card__preview{background:#0a0e1a;flex-shrink:0;height:160px;display:flex;position:relative}.service-card__preview img{object-fit:contain;width:50%;height:100%}.service-card__preview:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#060810eb 50%,#0000 100%);width:140px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.service-card__preview--single img{width:100%}.service-card__preview--single:after{display:none}.service-card__body{flex-direction:column;flex:1;align-items:flex-start;gap:14px;padding:34px 28px;display:flex}.service-card__icon{background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:56px;height:56px;color:var(--color-primary);border-radius:16px;justify-content:center;align-items:center;display:flex}.service-card h3{letter-spacing:-.01em;font-size:20px;font-weight:800}.service-card p{color:var(--color-text-muted);flex:1;font-size:15px}.service-card__link{color:var(--color-primary);align-items:center;gap:6px;margin-top:6px;font-size:14.5px;font-weight:700;display:inline-flex}.service-card__link:hover{gap:10px}.service-card__link svg{transition:transform .2s}.services-section{background:var(--color-bg-alt);position:relative;overflow:hidden}.services-section__bg{z-index:0;opacity:.6;pointer-events:none;background-position:top;background-repeat:repeat;background-size:1100px;animation:5.4s ease-in-out infinite services-section-shimmer;position:absolute;inset:0}@keyframes services-section-shimmer{0%,to{opacity:.5}50%{opacity:.68}}@media (prefers-reduced-motion:reduce){.services-section__bg{opacity:.6;animation:none}}.services-section>.container{z-index:1;position:relative}.services-section .section-heading{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:14px 18px}.services-section .section-heading h2,.services-section .section-heading p{color:#000;text-shadow:0 1px 3px #ffffffd9,0 0 16px #ffffff8c}.services-section .section-heading p{font-weight:600}[data-theme=dark] .services-section .section-heading h2,[data-theme=dark] .services-section .section-heading p{color:#fff;text-shadow:0 1px 3px #000000d9,0 0 16px #0000008c}.services-section__grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}@media (width<=700px){.services-section__grid{grid-template-columns:1fr}}.review-links{color:var(--color-text-muted);flex-direction:column;gap:10px;font-size:14.5px;display:flex}.review-links--center{text-align:center;align-items:center}.review-links__actions{flex-wrap:wrap;gap:8px 20px;display:flex}.review-links--center .review-links__actions{justify-content:center}.review-links__actions a{color:var(--color-primary);align-items:center;gap:6px;font-weight:700;display:inline-flex}.review-links__actions a:hover{gap:10px}.about-section__inner{grid-template-columns:.8fr 1.2fr;align-items:center;gap:56px;display:grid}.about-section__photo-wrap{justify-content:center;display:flex}.about-section__photo{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:min(320px,100%);box-shadow:var(--shadow-md)}.about-section__role{color:var(--color-primary);margin-top:6px;font-size:15.5px;font-weight:700}.about-section__intro{color:var(--color-text-muted);max-width:560px;margin-top:16px;font-size:16.5px}.about-section__actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px;display:flex}.about-section__reviews{margin-top:26px}.about-section__linkedin{color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.about-section__linkedin:hover{color:var(--color-primary)}@media (width<=860px){.about-section__inner{text-align:center;grid-template-columns:1fr}.about-section__intro{margin-inline:auto}.about-section__actions,.about-section__reviews .review-links__actions{justify-content:center}}.portfolio-section{background:var(--color-bg-alt);position:relative;overflow:hidden}.portfolio-section__bg{z-index:0;opacity:.6;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;animation:5.4s ease-in-out infinite portfolio-section-shimmer;position:absolute;inset:0}@keyframes portfolio-section-shimmer{0%,to{opacity:.5}50%{opacity:.68}}@media (prefers-reduced-motion:reduce){.portfolio-section__bg{opacity:.6;animation:none}}.portfolio-section>.container{z-index:1;position:relative}.portfolio-section .section-heading{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);max-width:900px;padding:14px 18px}.portfolio-section .section-heading h2{color:#000;text-shadow:0 1px 3px #ffffffd9,0 0 16px #ffffff8c}[data-theme=dark] .portfolio-section .section-heading h2{color:#fff;text-shadow:0 1px 3px #000000d9,0 0 16px #0000008c}.portfolio-section__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.portfolio-card-wrap{height:100%}.portfolio-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:100%;min-height:240px;box-shadow:var(--shadow-sm);background-position:50%;background-size:cover;transition:transform .25s,box-shadow .25s;display:block;position:relative;overflow:hidden}.portfolio-card:hover,.portfolio-card:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-6px)}.portfolio-card__title-wrap{z-index:1;text-align:center;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.portfolio-card__title{color:#fff;letter-spacing:-.01em;background:#000000f2;border-radius:8px;padding:10px 18px;font-size:18px;font-weight:900;line-height:1.5;box-shadow:0 4px 16px #00000080}.portfolio-card__overlay{z-index:2;opacity:0;pointer-events:none;background:#080a12e6;flex-direction:column;justify-content:flex-start;align-items:center;gap:14px;padding:30px 24px 22px;transition:opacity .25s,transform .25s;display:flex;position:absolute;inset:0;overflow-y:auto;transform:translateY(8px)}.portfolio-card:hover .portfolio-card__overlay,.portfolio-card:focus-visible .portfolio-card__overlay{opacity:1;pointer-events:auto;transform:translateY(0)}.portfolio-card__overlay p{color:#fff;text-align:center;font-size:14.5px;font-weight:600;line-height:1.6}.portfolio-card__overlay-link{color:#fff;background:#ffffff24;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.portfolio-section__labrity{text-align:center;color:var(--color-text-muted);margin-top:40px;font-size:15px}.portfolio-section__reviews{margin-top:20px}.portfolio-section__labrity a{color:var(--color-primary);font-weight:700}@media (width<=960px){.portfolio-section__grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.portfolio-section__grid{grid-template-columns:1fr}}.contact-section__inner{max-width:720px}.contact-rf-notice{background:color-mix(in srgb, var(--color-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:var(--radius-md);padding:18px 22px}.contact-rf-notice strong{margin-bottom:6px;font-size:15px;display:block}.contact-rf-notice p{color:var(--color-text-muted);font-size:14.5px}.contact-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:18px;padding:36px;display:flex}.contact-form__row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form__field{flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600;display:flex}.contact-form__field input,.contact-form__field select,.contact-form__field textarea{width:100%;min-width:0;font:inherit;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:12px 14px;font-weight:400;transition:border-color .2s}.contact-form__field input:focus,.contact-form__field select:focus,.contact-form__field textarea:focus{border-color:var(--color-primary);outline:none}.contact-form__field textarea{resize:vertical;min-height:100px}.contact-form__hint{color:var(--color-text-muted);margin-top:-8px;font-size:13px}.contact-form__consent{color:var(--color-text-muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.contact-form__consent input{width:17px;height:17px;accent-color:var(--color-primary);flex-shrink:0;margin-top:3px}.contact-form__consent a{color:var(--color-primary);font-weight:600}.contact-form button[type=submit]{align-self:flex-start}.contact-form__status{align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.contact-form__status--success{color:var(--color-success)}.contact-form__status--error{color:var(--color-error)}.contact-direct{text-align:center;margin-top:36px}.contact-direct h4{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:14px;font-size:13px;font-weight:700}.contact-direct__links{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.contact-direct__links a{color:var(--color-text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.contact-direct__qrs{flex-wrap:wrap;justify-content:center;gap:32px;margin-top:22px;display:flex}.contact-direct__qr-item{flex-direction:column;align-items:center;gap:8px;scroll-margin-top:100px;display:flex}.contact-direct__qr{border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;display:inline-block;overflow:hidden}.contact-direct__qr:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.contact-direct__qr img{width:140px;height:140px;display:block}.contact-direct__qr-caption{color:var(--color-text-muted);font-size:13px;font-weight:700}.contact-direct__links a:hover{color:var(--color-primary)}.contact-rf-notice a{color:var(--color-primary);font-weight:700;text-decoration:underline}@media (width<=640px){.contact-form{padding:26px 20px}.contact-form__row{grid-template-columns:1fr}}.success-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a12b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.success-modal__card{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);text-align:center;padding:38px 32px}.success-modal__icon{background:color-mix(in srgb, var(--color-success) 15%, transparent);width:56px;height:56px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.success-modal__card h3{margin-bottom:10px;font-size:20px;font-weight:800}.success-modal__card p{color:var(--color-text-muted);font-size:15px;line-height:1.5}.success-modal__actions{flex-direction:column;gap:10px;margin-top:26px;display:flex}.success-modal__actions .btn{justify-content:center;width:100%}.about-hero{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:56px 0 64px}.about-hero__inner{grid-template-columns:.7fr 1.3fr;align-items:center;gap:48px;display:grid}.about-hero__photo{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-md)}.about-hero__role{color:var(--color-primary);margin-top:6px;font-size:16px;font-weight:700}.about-hero__intro{color:var(--color-text-muted);max-width:560px;margin-top:16px;font-size:17px}.about-hero__links{flex-wrap:wrap;gap:24px;margin-top:26px;display:flex}.about-hero__links a{color:var(--color-text);align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:inline-flex}.about-hero__links a:hover{color:var(--color-primary)}.about-page__grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.about-page__timeline h2,.about-page__block h2{margin-bottom:24px;font-size:20px;font-weight:800}.about-page__timeline ol{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex}.about-page__timeline li{border-bottom:1px solid var(--color-border);grid-template-columns:108px 1fr;gap:16px;padding-bottom:22px;display:grid}.about-page__timeline li:last-child{border-bottom:none;padding-bottom:0}.about-page__period{color:var(--color-primary);font-size:13px;font-weight:700}.about-page__timeline strong{font-size:15.5px;display:block}.about-page__place{color:var(--color-text-muted);margin-top:2px;font-size:13px;display:block}.about-page__timeline p{color:var(--color-text-muted);margin-top:8px;font-size:14.5px}.about-page__alt{background:var(--color-bg-alt);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.about-page__skills{flex-direction:column;gap:18px;margin:0;display:flex}.about-page__skills dt{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:13px;font-weight:700}.about-page__skills dd{margin:4px 0 0;font-size:15.5px}.about-page__languages{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.about-page__languages li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding-bottom:14px;font-size:15.5px;display:flex}.about-page__languages li:last-child{border-bottom:none;padding-bottom:0}.about-page__level{color:var(--color-text-muted)}.about-page__portfolio-link{text-align:center;flex-direction:column;align-items:center;display:flex}@media (width<=860px){.about-hero__inner{text-align:center;grid-template-columns:1fr}.about-hero__photo{width:min(260px,60vw);margin:0 auto}.about-hero__intro{margin-inline:auto}.about-hero__links{justify-content:center}.about-page__grid{grid-template-columns:1fr;gap:40px}.about-page__timeline li{grid-template-columns:1fr;gap:4px}}.service-detail-page{position:relative;overflow:hidden}.service-detail-page__bg{z-index:0;opacity:.6;pointer-events:none;background-position:top;background-repeat:repeat;background-size:1100px;animation:5.4s ease-in-out infinite service-hero-shimmer;position:absolute;inset:0}@keyframes service-hero-shimmer{0%,to{opacity:.5}50%{opacity:.68}}@media (prefers-reduced-motion:reduce){.service-detail-page__bg{opacity:.6;animation:none}}.service-detail-page--photo .service-hero,.service-detail-page--photo .section,.service-detail-page--photo .service-detail__others{z-index:1;position:relative}.service-detail-page--photo .service-hero,.service-detail-page--photo .service-detail__others{background:0 0;border-color:#0000}.service-detail-page--photo .service-hero__back,.service-detail-page--photo .service-hero__inner h1,.service-detail-page--photo .service-hero__inner p,.service-detail-page--photo .service-detail__intro p,.service-detail-page--photo .service-detail__features li,.service-detail-page--photo .section-heading h2{color:#000;text-shadow:0 1px 3px #ffffffd9,0 0 16px #ffffff8c}[data-theme=dark] .service-detail-page--photo .service-hero__back,[data-theme=dark] .service-detail-page--photo .service-hero__inner h1,[data-theme=dark] .service-detail-page--photo .service-hero__inner p,[data-theme=dark] .service-detail-page--photo .service-detail__intro p,[data-theme=dark] .service-detail-page--photo .service-detail__features li,[data-theme=dark] .service-detail-page--photo .section-heading h2{color:#fff;text-shadow:0 1px 3px #000000d9,0 0 16px #0000008c}.service-detail-page--photo .service-hero__inner p,.service-detail-page--photo .service-detail__intro p,.service-detail-page--photo .service-detail__features li{font-weight:600}.service-detail-page--photo .service-hero__inner,.service-detail-page--photo .service-detail__intro{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:10px 14px}.service-detail-page--photo .service-detail__intro{margin:-10px -14px}.service-detail-page--photo .service-hero__inner{text-align:center;margin:-10px auto}.service-detail-page--photo .section-heading{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:14px 18px}.service-detail-page--photo .service-detail__intro p{line-height:1.6}.service-detail-page--photo .service-detail__features li{line-height:1.9}.service-hero{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:48px 0 64px;position:relative}.service-hero__inner{z-index:1;max-width:640px;position:relative}.service-hero__back{color:var(--color-text-muted);margin-bottom:24px;font-size:14px;font-weight:700;display:inline-block}.service-hero__back:hover{color:var(--color-primary)}.service-hero__icon{background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:68px;height:68px;color:var(--color-primary);border-radius:20px;justify-content:center;align-items:center;margin-bottom:22px;display:flex}.service-hero__inner h1{letter-spacing:-.01em;font-size:clamp(28px,4vw,40px);font-weight:800}.service-hero__inner p{color:var(--color-text-muted);margin-top:14px;font-size:18px}.service-detail__grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:56px;display:grid}.service-detail__intro p{color:var(--color-text-muted);margin-bottom:24px;font-size:16.5px}.service-detail__features{flex-direction:column;gap:14px;margin:0 0 32px;padding:0;list-style:none;display:flex}.service-detail__features li{align-items:flex-start;gap:12px;font-size:15.5px;display:flex}.service-detail__features svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.service-detail__process{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px}.service-detail__process h3{margin-bottom:22px;font-size:18px;font-weight:800}.service-detail__process ol{flex-direction:column;gap:22px;margin:0;padding:0;list-style:none;display:flex}.service-detail__process li{gap:14px;display:flex}.service-detail__step-num{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:flex}.service-detail__process li strong{margin-bottom:3px;font-size:15px;display:block}.service-detail__process li p{color:var(--color-text-muted);font-size:14px}.service-detail__others{background:var(--color-bg-alt);border-top:1px solid var(--color-border)}.service-detail__others-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.service-detail__other-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);align-items:center;gap:14px;padding:22px 24px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex}.service-detail__other-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.service-detail__other-card span{color:var(--color-text);flex:1;font-weight:600}@media (width<=860px){.service-detail__grid,.service-detail__others-grid{grid-template-columns:1fr}}.privacy-page__inner{max-width:760px}.privacy-page h1{font-size:clamp(28px,4vw,38px);font-weight:800}.privacy-page__updated{color:var(--color-text-muted);margin-top:10px;font-size:14px}.privacy-page__intro{color:var(--color-text-muted);margin-top:20px;font-size:16.5px}.privacy-page__section{border-top:1px solid var(--color-border);margin-top:40px;padding-top:32px}.privacy-page__section h2{margin-bottom:14px;font-size:20px;font-weight:800}.privacy-page__section p{color:var(--color-text-muted);font-size:15.5px}.privacy-page__section ul{flex-direction:column;gap:8px;margin:14px 0 0;padding-left:20px;display:flex}.privacy-page__section li{color:var(--color-text-muted);font-size:15px}.privacy-page__address{white-space:pre-line;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);margin-top:12px;padding:16px 18px;font-size:15px}
