@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f160ec2cb9962ef-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ad8a7e2c3c2c120b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cde148027b808b99-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e61ae719f7cc4155-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0ea4f4df910e6120-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/739c2d8941231bb4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f160ec2cb9962ef-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ad8a7e2c3c2c120b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cde148027b808b99-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e61ae719f7cc4155-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0ea4f4df910e6120-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/739c2d8941231bb4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Roboto Mono Fallback;src:local("Arial");ascent-override:77.84%;descent-override:20.13%;line-gap-override:0.00%;size-adjust:134.61%}.__className_c8ca7d{font-family:Roboto Mono,Roboto Mono Fallback,ui-monospace,SF Mono,monospace;font-style:normal}.__variable_c8ca7d{--font-mono-loaded:"Roboto Mono","Roboto Mono Fallback",ui-monospace,SF Mono,monospace}:root{--teal-50:#f0f7f5;--teal-100:#dcecea;--teal-200:#bcdbd6;--teal-300:#93c4bd;--teal-400:#67a99f;--teal-500:#549e93;--teal-600:#499f94;--teal-700:#3c7c74;--teal-800:#32635d;--teal-900:#2a504c;--teal-950:#1c3633;--orange-50:#fef6e9;--orange-100:#fdeac8;--orange-200:#fbd58d;--orange-300:#f9c163;--orange-400:#f7b44a;--orange-500:#f6ad3c;--orange-600:#e2902a;--orange-700:#bd7220;--orange-800:#985a1d;--orange-900:#7c4a1c;--orange-950:#46280d;--cream-50:#fffaf1;--cream-100:#fbf4e8;--cream-200:#f4ebdb;--cream-300:#e8dccb;--cream-400:#cdbfac;--cream-500:#a99c8a;--cream-600:#82776a;--cream-700:#5f574d;--cream-800:#423c35;--cream-900:#2b2722;--cream-950:#1c1916;--success-500:#4a9a6b;--warning-500:#d9941f;--danger-500:#c4503f;--info-500:#4f86a8;--color-bg:var(--cream-50);--color-surface:#ffffff;--color-surface-sunken:var(--cream-100);--color-surface-inverse:var(--teal-900);--color-text:var(--cream-900);--color-text-strong:var(--cream-950);--color-text-muted:var(--cream-700);--color-text-subtle:var(--cream-600);--color-text-inverse:var(--cream-50);--color-text-on-accent:var(--cream-950);--color-primary:var(--teal-600);--color-primary-hover:var(--teal-700);--color-primary-active:var(--teal-800);--color-primary-soft:var(--teal-50);--color-primary-contrast:var(--cream-50);--color-accent:var(--orange-500);--color-accent-strong:var(--orange-600);--color-accent-soft:var(--orange-50);--color-border:var(--cream-300);--color-border-strong:var(--cream-400);--color-border-inverse:color-mix(in srgb,var(--cream-50) 18%,transparent);--color-focus-ring:var(--teal-600);--color-success:var(--success-500);--color-warning:var(--warning-500);--color-danger:var(--danger-500);--color-info:var(--info-500);--gradient-brand:linear-gradient(155deg,var(--orange-500) 0%,var(--orange-400) 30%,var(--teal-500) 100%);--font-serif:"Zen Old Mincho","Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;--font-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--font-latin:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;--font-mono:"Roboto Mono",ui-monospace,"SF Mono",monospace;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:clamp(0.8125rem,0.78rem + 0.16vw,0.875rem);--text-base:clamp(0.9375rem,0.90rem + 0.22vw,1.0625rem);--text-md:clamp(1.0625rem,1.00rem + 0.30vw,1.1875rem);--text-lg:clamp(1.25rem,1.13rem + 0.55vw,1.5rem);--text-xl:clamp(1.5rem,1.30rem + 0.90vw,2rem);--text-2xl:clamp(1.875rem,1.55rem + 1.45vw,2.75rem);--text-3xl:clamp(2.25rem,1.75rem + 2.25vw,3.75rem);--text-4xl:clamp(2.75rem,1.95rem + 3.55vw,5rem);--text-5xl:clamp(3.25rem,2.05rem + 5.30vw,6.5rem);--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.45;--leading-normal:1.7;--leading-relaxed:1.9;--leading-loose:2.1;--tracking-tighter:-0.02em;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-wider:0.08em;--tracking-widest:0.18em;--cjk-letter-spacing-display:0.02em;--space-0:0;--space-px:1px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:6rem;--space-12:8rem;--space-13:10rem;--space-14:12.5rem;--section-py:clamp(4.5rem,3rem + 7vw,10rem);--section-py-lg:clamp(6rem,3.5rem + 11vw,12.5rem);--container-max:1240px;--container-narrow:760px;--container-wide:1440px;--measure:42em;--gutter:clamp(1.25rem,0.5rem + 3vw,3rem);--grid-columns:12;--grid-gap:clamp(1rem,0.5rem + 1.6vw,2rem);--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-2xl:28px;--radius-pill:999px;--radius-full:50%;--shadow-color:30 25% 20%;--shadow-xs:0 1px 2px hsl(var(--shadow-color)/0.05);--shadow-sm:0 1px 3px hsl(var(--shadow-color)/0.06),0 1px 2px hsl(var(--shadow-color)/0.04);--shadow-md:0 4px 12px hsl(var(--shadow-color)/0.07),0 2px 4px hsl(var(--shadow-color)/0.05);--shadow-lg:0 12px 28px hsl(var(--shadow-color)/0.09),0 4px 10px hsl(var(--shadow-color)/0.05);--shadow-xl:0 24px 56px hsl(var(--shadow-color)/0.12);--shadow-edge:inset 0 1px 0 rgba(255,255,255,0.6);--focus-ring:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 38%,transparent);--duration-instant:80ms;--duration-fast:150ms;--duration-base:240ms;--duration-slow:400ms;--duration-slower:640ms;--ease-standard:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.33,1,0.68,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-entrance:cubic-bezier(0.2,0.8,0.2,1);--reveal-distance:24px;--z-base:0;--z-raised:10;--z-sticky:100;--z-dropdown:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-grain:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--cream-950);--color-surface:#25211c;--color-surface-sunken:#161310;--color-surface-inverse:var(--teal-50);--color-text:#e7ded2;--color-text-strong:var(--cream-50);--color-text-muted:#b3a896;--color-text-subtle:#8a7f6f;--color-text-inverse:var(--cream-950);--color-text-on-accent:var(--cream-950);--color-primary:var(--teal-400);--color-primary-hover:var(--teal-300);--color-primary-active:var(--teal-200);--color-primary-soft:color-mix(in srgb,var(--teal-600) 22%,var(--cream-950));--color-primary-contrast:var(--cream-950);--color-accent:var(--orange-400);--color-accent-strong:var(--orange-300);--color-accent-soft:color-mix(in srgb,var(--orange-500) 18%,var(--cream-950));--color-border:color-mix(in srgb,var(--cream-50) 12%,transparent);--color-border-strong:color-mix(in srgb,var(--cream-50) 20%,transparent);--color-focus-ring:var(--teal-400);--shadow-color:0 0% 0%;--shadow-edge:inset 0 1px 0 rgba(255,255,255,0.04)}}[data-theme=dark]{--color-bg:var(--cream-950);--color-surface:#25211c;--color-surface-sunken:#161310;--color-surface-inverse:var(--teal-50);--color-text:#e7ded2;--color-text-strong:var(--cream-50);--color-text-muted:#b3a896;--color-text-subtle:#8a7f6f;--color-text-inverse:var(--cream-950);--color-text-on-accent:var(--cream-950);--color-primary:var(--teal-400);--color-primary-hover:var(--teal-300);--color-primary-active:var(--teal-200);--color-primary-soft:color-mix(in srgb,var(--teal-600) 22%,var(--cream-950));--color-primary-contrast:var(--cream-950);--color-accent:var(--orange-400);--color-accent-strong:var(--orange-300);--color-accent-soft:color-mix(in srgb,var(--orange-500) 18%,var(--cream-950));--color-border:color-mix(in srgb,var(--cream-50) 12%,transparent);--color-border-strong:color-mix(in srgb,var(--cream-50) 20%,transparent);--color-focus-ring:var(--teal-400);--shadow-color:0 0% 0%;--shadow-edge:inset 0 1px 0 rgba(255,255,255,0.04)}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0ms;--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms;--duration-slower:0ms;--reveal-distance:0px}}:root{--font-sans:var(--font-sans-loaded),"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--font-serif:var(--font-serif-loaded),"Zen Old Mincho","Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;--font-latin:var(--font-latin-loaded),"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;--font-mono:var(--font-mono-loaded),"Roboto Mono",ui-monospace,"SF Mono",monospace}*,:after,:before{box-sizing:border-box}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:6rem;text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);font-feature-settings:"palt" 1;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:var(--color-primary-hover);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.18em}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:var(--weight-bold);color:var(--color-text-strong);line-height:var(--leading-tight);letter-spacing:var(--cjk-letter-spacing-display);margin:0;text-wrap:balance}p{margin:0}::selection{background:var(--color-primary-soft);color:var(--color-text-strong)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.container-narrow{max-width:var(--container-narrow)}.container-wide{max-width:var(--container-wide)}.section{padding-block:var(--section-py)}.section-label{display:inline-block;font-family:var(--font-latin);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);color:var(--color-primary-hover);margin-bottom:var(--space-4)}.lead{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-muted);max-width:var(--measure)}.eyebrow-latin{font-family:var(--font-latin);letter-spacing:var(--tracking-wider);text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-toast);background:var(--color-surface);color:var(--color-text-strong);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:top var(--duration-base) var(--ease-standard)}.skip-link:focus{top:var(--space-4);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:1;padding:var(--space-4) var(--space-7);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn,.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary-hover);color:var(--color-primary-contrast)}.btn-primary:hover{background:var(--color-primary-active)}.btn-accent{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-bold)}.btn-accent:hover{background:var(--orange-400)}.btn-secondary{background:transparent;color:var(--color-primary-hover);border-color:var(--color-border-strong)}.btn-secondary:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.btn-block{width:100%}.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard)}.site-header[data-scrolled=true]{border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-bg) 94%,transparent)}.header-inner{justify-content:space-between;gap:var(--space-6);height:72px}.brand-lockup,.header-inner{display:flex;align-items:center}.brand-lockup{gap:var(--space-3);color:var(--color-text-strong)}.brand-lockup,.brand-lockup:hover{text-decoration:none}.brand-mark{width:34px;height:auto;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-latin{font-family:var(--font-latin);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-strong)}.brand-ja{font-family:var(--font-serif);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em}.nav-desktop{display:flex;align-items:center;gap:var(--space-6)}.nav-desktop a{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap}.nav-desktop a:hover{color:var(--color-primary-hover);text-decoration:none}.nav-cta{padding:var(--space-3) var(--space-5);font-size:var(--text-sm)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}.nav-toggle span{display:block;height:1.5px;width:22px;margin-inline:auto;background:var(--color-text-strong);transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-base) var(--ease-standard)}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-mobile{display:none}@media (max-width:880px){.nav-desktop{display:none}.nav-toggle{display:flex}.nav-mobile{display:block;overflow:hidden;max-height:0;border-top:1px solid transparent;transition:max-height var(--duration-slow) var(--ease-standard)}.nav-mobile[data-open=true]{max-height:480px;border-top-color:var(--color-border)}.nav-mobile ul{list-style:none;margin:0;padding:var(--space-4) var(--gutter) var(--space-6);display:flex;flex-direction:column}.nav-mobile li a{display:block;padding:var(--space-4) 0;font-size:var(--text-md);color:var(--color-text);border-bottom:1px solid var(--color-border)}.nav-mobile li a:hover{text-decoration:none;color:var(--color-primary-hover)}.nav-mobile .nav-mobile-cta{margin-top:var(--space-5)}}.hero{position:relative;padding-top:var(--space-9);padding-bottom:var(--section-py);overflow:hidden}.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);align-items:center}.hero-copy{grid-column:1/span 6}.hero-tagline{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-primary-hover);margin-bottom:var(--space-5)}.hero-tagline:before{content:"";width:32px;height:1px;background:var(--color-accent)}.hero-title{font-size:var(--text-5xl);margin-bottom:var(--space-6)}.hero-subtitle{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-muted);max-width:34em;margin-bottom:var(--space-8)}.hero-media{grid-column:7/span 6;position:relative}.hero-media-frame{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-lg)}.hero-media-frame img{width:100%;height:auto}.hero-vertical-label{position:absolute;top:var(--space-2);right:calc(-1 * var(--space-6));writing-mode:vertical-rl;font-family:var(--font-serif);font-size:var(--text-sm);letter-spacing:.25em;color:var(--color-text-subtle)}@media (max-width:980px){.hero-vertical-label{display:none}}@media (max-width:768px){.hero-grid{grid-template-columns:1fr}.hero-copy,.hero-media{grid-column:1/-1}.hero-media{margin-top:var(--space-8)}}.divider-wave{width:100%;height:clamp(40px,5vw,64px);display:block;opacity:.5}.divider-wave img{width:100%;height:100%;object-fit:cover}.about-head{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);align-items:start}.about-heading{grid-column:1/span 7;font-size:var(--text-3xl)}.about-lead{grid-column:1/span 7;margin-top:var(--space-6);font-size:var(--text-md);color:var(--color-text)}.about-body{grid-column:1/span 7;margin-top:var(--space-5);color:var(--color-text-muted);max-width:var(--measure)}.about-points{margin-top:var(--space-11);display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--color-border)}.about-point{padding:var(--space-7) var(--space-6) var(--space-2);border-left:1px solid var(--color-border)}.about-point:first-child{border-left:none;padding-left:0}.about-point-index{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent-strong);display:block;margin-bottom:var(--space-4)}.about-point h3{font-size:var(--text-xl);margin-bottom:var(--space-4)}.about-point p{font-size:var(--text-base);color:var(--color-text-muted)}@media (max-width:768px){.about-body,.about-heading,.about-lead{grid-column:1/-1}.about-points{grid-template-columns:1fr}.about-point{border-left:none;border-top:1px solid var(--color-border);padding:var(--space-6) 0 var(--space-2)}.about-point:first-child{border-top:none}}.services-head{margin-bottom:var(--space-10);max-width:var(--measure)}.services-head h2{font-size:var(--text-3xl);margin-bottom:var(--space-5)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.service-item{padding:var(--space-7) var(--space-6);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg);transition:background-color var(--duration-base) var(--ease-standard)}.service-item:hover{background:var(--color-primary-soft)}.service-icon{width:52px;height:52px;margin-bottom:var(--space-5)}.service-item h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.service-item p{font-size:var(--text-base);color:var(--color-text-muted)}@media (max-width:880px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.services-grid{grid-template-columns:1fr}}.partners-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);align-items:center}.partners-head{grid-column:1/span 5}.partners-head h2{font-size:var(--text-2xl);margin-bottom:var(--space-5)}.partners-map{grid-column:7/span 6}.partners-map img{width:100%;height:auto}.partners-list{margin-top:var(--space-10);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}.partner-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.partner-flag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-latin);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-primary-hover);background:var(--color-primary-soft);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);margin-bottom:var(--space-5)}.partner-card h3{font-size:var(--text-lg);margin-bottom:var(--space-4)}.partner-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}@media (max-width:880px){.partners-head,.partners-map{grid-column:1/-1}.partners-map{margin-top:var(--space-7);max-width:560px}.partners-list{grid-template-columns:1fr;gap:var(--space-5)}}.company-section{background:var(--color-surface-sunken)}.company-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);align-items:start}.company-aside{grid-column:1/span 4}.company-aside h2{font-size:var(--text-2xl)}.company-table{grid-column:6/-1}.company-table dl{margin:0}.company-row{display:grid;grid-template-columns:200px 1fr;gap:var(--space-6);padding-block:var(--space-5);border-bottom:1px solid var(--color-border)}.company-row:first-child{border-top:1px solid var(--color-border)}.company-row dt{font-family:var(--font-serif);font-size:var(--text-base);color:var(--color-text-strong);font-weight:var(--weight-bold)}.company-row dd{margin:0;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}@media (max-width:880px){.company-aside,.company-table{grid-column:1/-1}.company-table{margin-top:var(--space-7)}}@media (max-width:560px){.company-row{grid-template-columns:1fr;gap:var(--space-2)}}.contact-section{background:var(--color-surface-inverse);color:var(--color-text-inverse)}.contact-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap);align-items:start}.contact-intro{grid-column:1/span 5}.contact-intro .section-label{color:var(--orange-300)}.contact-intro h2{color:var(--color-text-inverse);font-size:var(--text-3xl);margin-bottom:var(--space-5)}.contact-intro p{color:color-mix(in srgb,var(--color-text-inverse) 82%,transparent);font-size:var(--text-md);line-height:var(--leading-relaxed)}.contact-vertical{writing-mode:vertical-rl;font-family:var(--font-serif);font-size:var(--text-lg);letter-spacing:.3em;color:color-mix(in srgb,var(--color-text-inverse) 55%,transparent);margin-top:var(--space-7);height:8em}.contact-form-wrap{grid-column:7/span 6}@media (max-width:880px){.contact-form-wrap,.contact-intro{grid-column:1/-1}.contact-form-wrap{margin-top:var(--space-8)}.contact-vertical{display:none}}.form-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.form-field label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-inverse)}.form-field .req{color:var(--orange-300);margin-left:var(--space-1)}.form-field input,.form-field textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-strong);background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-4);width:100%;transition:box-shadow var(--duration-base) var(--ease-standard)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-subtle)}.form-field input:focus-visible,.form-field textarea:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--orange-300) 60%,transparent)}.form-field textarea{min-height:140px;resize:vertical}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{box-shadow:0 0 0 2px var(--color-danger)}.form-error{font-size:var(--text-sm);color:var(--orange-200)}.form-actions{margin-top:var(--space-6)}.form-status{margin-top:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base)}.form-status[data-kind=success]{background:color-mix(in srgb,var(--success-500) 22%,var(--teal-900));color:var(--color-text-inverse);border:1px solid color-mix(in srgb,var(--success-500) 55%,transparent)}.form-status[data-kind=error]{background:color-mix(in srgb,var(--danger-500) 24%,var(--teal-900));color:var(--color-text-inverse);border:1px solid color-mix(in srgb,var(--danger-500) 55%,transparent)}.contact-form button[type=submit]:disabled{opacity:.6;cursor:progress}.site-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding-block:var(--space-9)}.footer-inner{justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.footer-brand,.footer-inner{display:flex;align-items:center}.footer-brand{gap:var(--space-3)}.footer-brand img{width:28px;height:auto}.footer-brand-text{font-family:var(--font-latin);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-text-strong)}.footer-nav{display:flex;gap:var(--space-6);flex-wrap:wrap}.footer-nav a{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-note{width:100%;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-subtle)}.reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--duration-slow) var(--ease-entrance),transform var(--duration-slow) var(--ease-entrance);transition-delay:var(--reveal-delay,0s)}.no-js .reveal,.reveal[data-visible=true]{opacity:1;transform:none}