:root {
  --blue:#0b6f97; --blue-deep:#095d81; --cyan:#16b8d3;
  --orange:#e7a77e; --orange-hover:#edb48f; --orange-ink:#884d2e; --orange-text:#452e22; --orange-pale:#fff3e9;
  --ink:#15394c; --body:#506571; --line:#dbe9ef; --line-warm:#eedfd4;
  --pale:#edf7fb; --surface-soft:#f5fafc; --surface-warm:#fff9f4; --detail:#68a6bb;
  --radius-inset:16px; --radius-card:24px; --radius-panel:32px;
  --shadow-card:0 10px 32px #0b6f9708; --shadow-hover:0 16px 40px #0b6f9710;
  --header:88px; --font-en:'Plus Jakarta Sans',sans-serif; color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 24px); }
body { margin:0; background:#fff; color:var(--ink); font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif; font-size:1rem; line-height:1.9; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { max-width:100%; height:auto; display:block; }
button,a { -webkit-tap-highlight-color:rgba(11,111,151,.08); touch-action:manipulation; }
a:focus-visible,button:focus-visible { outline:3px solid var(--cyan); outline-offset:5px; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3,h4 { font-weight:700; font-feature-settings:"palt"; }
h1 { font-size:clamp(2.45rem,3.7vw,3.65rem); line-height:1.5; letter-spacing:-.025em; margin-bottom:28px; }
h2 { font-size:clamp(2rem,3.2vw,2.75rem); line-height:1.5; letter-spacing:-.025em; margin-bottom:28px; }
h3 { font-size:1.375rem; line-height:1.65; letter-spacing:-.015em; margin-bottom:16px; }
h4 { font-size:1.125rem; margin-bottom:12px; }
.wrap { width:min(1200px,calc(100% - 120px)); margin-inline:auto; }
.section { padding-block:112px; }
.section[id] { scroll-margin-top:-112px; }
#media { scroll-margin-top:-32px; }
#why,#event { scroll-margin-top:0; }
#company { scroll-margin-top:-88px; }
.nowrap { display:inline-block; }
.eyebrow { display:flex; align-items:center; gap:12px; font:700 .875rem/1.5 var(--font-en); letter-spacing:.02em; color:var(--blue); margin-bottom:24px; }
.eyebrow::before { content:''; width:24px; height:3px; border-radius:3px; background:var(--orange); flex:0 0 24px; }
.body-copy { color:var(--body); line-height:1.95; text-wrap:pretty; margin-bottom:24px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:16px 24px; gap:18px; border-radius:16px; background:var(--blue); color:#fff; font-size:.875rem; font-weight:600; border:1px solid transparent; cursor:pointer; text-align:center; }
.button.secondary { background:#fff; border-color:#bdd8e4; color:var(--blue); }
.actions { display:flex; flex-wrap:wrap; gap:14px; }
.text-link { min-height:44px; display:inline-flex; align-items:center; gap:14px; color:var(--blue); font-size:.9375rem; font-weight:700; text-underline-offset:5px; }
.site-header { position:sticky; top:0; z-index:50; background:#f0fafff5; backdrop-filter:blur(18px); border-bottom:1px solid var(--line); transition:box-shadow .25s; }
.site-header.scrolled { box-shadow:0 5px 28px #0b6f9710; }
.header-inner { width:min(1328px,calc(100% - 72px)); margin:auto; min-height:var(--header); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { flex:0 0 auto; }
.brand img { width:116px; }
.desktop-nav { display:flex; align-items:center; gap:26px; font-size:.875rem; font-weight:600; }
.desktop-nav>a:not(.button) { position:relative; display:inline-flex; align-items:center; min-height:44px; padding-block:8px; white-space:nowrap; }
.desktop-nav>a:not(.button)::after { position:absolute; content:''; bottom:1px; left:0; width:100%; height:2px; border-radius:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.desktop-nav .button { min-height:48px; padding:12px 24px; border-radius:14px; }
.mobile-actions { display:none; }
.menu-button { display:grid; place-items:center; background:none; border:0; width:44px; height:44px; flex:0 0 44px; padding:10px; color:var(--blue); cursor:pointer; }
.mobile-nav { display:none; border-top:1px solid var(--line); background:var(--pale); }
.mobile-nav a { display:block; padding:12px 0; color:var(--blue); font-weight:600; }
.hero { position:relative; min-height:700px; isolation:isolate; display:flex; align-items:center; overflow:hidden; background:#f5f8f9; margin:20px 24px 0; border-radius:var(--radius-panel); }
.hero-media { display:contents; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; z-index:-2; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#ffffffdb 0%,#ffffff90 30%,#ffffff00 61%); }
.hero .wrap { width:min(1240px,calc(100% - 96px)); }
.hero-copy { width:59%; padding:66px 0 70px; }
.hero .eyebrow { font-size:.8125rem; margin-bottom:26px; }
.hero-copy .body-copy { margin-bottom:30px; }
.hero-support { font-size:.9375rem; }
.hero .button.secondary { background:#fffffff0; }
.business-directory { padding-top:40px; scroll-margin-top:-16px; }
.directory-heading { margin-bottom:24px; }
.directory-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; }
.directory-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; }
.directory-marketing { background:linear-gradient(145deg,var(--pale),#fff 80%); }
.directory-event { background:var(--surface-soft); }
.directory-label { color:var(--blue); font:700 .75rem/1.5 var(--font-en); margin-bottom:12px; }
.directory-card h3 { font-size:1.1875rem; margin-bottom:16px; }
.directory-description { color:var(--body); font-size:.875rem; line-height:1.9; margin-bottom:24px; }
.directory-routes { display:grid; grid-template-columns:1fr; gap:10px; margin-top:auto; }
.directory-marketing .directory-routes { grid-template-columns:1fr 1fr; }
.directory-routes a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 16px; border:1px solid var(--line); background:#fff; border-radius:var(--radius-inset); color:var(--blue); transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease; }
.directory-routes a>span { min-width:0; }
.directory-routes strong { display:block; font-size:.875rem; line-height:1.65; font-weight:600; }
.directory-routes small { display:block; color:var(--body); font-size:.75rem; line-height:1.8; margin-top:6px; }
.directory-routes .button-arrow { width:16px; height:16px; flex-basis:16px; }
.directory-routes .directory-creator { background:var(--surface-warm); border-color:var(--line-warm); color:var(--orange-ink); }
.desktop-nav>a[aria-current="page"] { color:var(--blue); }
.desktop-nav>a[aria-current="page"]::after { transform:scaleX(1); }
.mobile-nav a[aria-current="page"] { color:var(--blue); background:#def1f7; box-shadow:inset 3px 0 0 var(--blue); }
.mobile-contact { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; color:#fff; background:var(--blue); border-radius:12px; font-size:.8125rem; font-weight:600; white-space:nowrap; }
.menu-caption { font-size:10px; line-height:1; font-weight:500; white-space:nowrap; }
.mobile-menu-label { margin:16px 16px 8px; font-size:.6875rem; color:var(--body); font-weight:500; letter-spacing:.05em; }
.mobile-menu-services a>span,.mobile-menu-services a>small { display:block; }
.mobile-menu-services a>small { font-size:.75rem; font-weight:400; color:var(--body); margin-top:3px; }
.mobile-menu-company { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.page-context { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px 0; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; list-style:none; padding:0; margin:0; gap:8px 12px; font-size:.75rem; color:var(--body); }
.breadcrumbs li { display:flex; align-items:center; gap:12px; }
.breadcrumbs li+li::before { content:'›'; color:var(--detail); }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:36px; color:var(--blue); text-underline-offset:4px; }
.breadcrumbs [aria-current="page"] { color:var(--ink); font-weight:500; }
.back-home { display:inline-flex; align-items:center; gap:10px; color:var(--blue); font-size:.75rem; font-weight:600; flex-shrink:0; min-height:44px; }
.back-home .button-arrow { width:16px; height:16px; flex-basis:16px; }
.page-local-nav { display:flex; align-items:center; gap:40px; padding-block:24px; border-bottom:1px solid var(--line); }
.page-local-nav>span { font-size:.75rem; color:var(--body); flex-shrink:0; }
.page-local-nav nav { display:flex; flex-wrap:wrap; gap:12px 28px; }
.page-local-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-size:.875rem; font-weight:500; color:var(--blue); border-bottom:2px solid transparent; transition:border-color 180ms ease; }
.page-local-nav a[aria-current="location"] { border-bottom-color:var(--blue); }
@media (hover:hover) and (pointer:fine) {
  .directory-routes a:hover { border-color:#99c8dc; box-shadow:var(--shadow-card); }
  .directory-routes .directory-creator:hover { border-color:#dfbca4; background:var(--orange-pale); }
  .directory-routes a:hover .button-arrow { transform:translateX(3px); }
  .back-home:hover .button-arrow { transform:translateX(-3px); }
  .breadcrumbs a:hover { text-decoration:underline; }
  .page-local-nav a:hover { border-bottom-color:#9fc8d8; }
}
.about-section { display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center; }
.about-copy .body-copy { max-width:540px; }
.about-visual { min-width:0; padding:28px 32px 0; background:var(--surface-soft); border:1px solid var(--line); border-radius:var(--radius-panel); }
.principle-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:22px; }
.principle-heading>span { font:600 .75rem/1.5 var(--font-en); color:#527581; letter-spacing:.025em; }
.principle-heading p { margin:0; font-size:.8125rem; font-weight:500; color:#436573; }
.principle-list { list-style:none; padding:0; margin:0; }
.principle-list li+li { border-top:1px solid var(--line); }
.principle-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 56px; gap:16px; align-items:center; min-height:124px; padding:22px 0; border-radius:4px; }
.principle-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.principle-label { display:flex; align-items:baseline; gap:9px; color:var(--blue); font:600 .75rem/1.5 var(--font-en); margin-bottom:9px; }
.principle-copy strong { font-size:1.25rem; line-height:1.5; font-weight:600; letter-spacing:-.035em; margin-bottom:8px; }
.principle-detail { font-size:.8125rem; line-height:1.85; color:#546e7a; }
.principle-art { width:40px; height:40px; justify-self:center; }
.brand-icon { display:block; flex-shrink:0; fill:none; stroke:var(--blue); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.brand-icon path,.brand-icon rect,.brand-icon circle { vector-effect:non-scaling-stroke; }
.brand-icon .icon-accent { stroke:var(--orange-ink); }
.brand-icon .icon-dots { fill:var(--orange-ink); stroke:var(--orange-ink); stroke-width:0; }
.service-icon { width:48px; height:48px; }
.media-section { position:relative; background:linear-gradient(180deg,#fff 0%,var(--surface-soft) 45%,#fff 100%); padding-top:32px; }
.media-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:88px; align-items:center; }
.media-story .body-copy { max-width:550px; }
.media-cycle { list-style:none; padding:0; margin:30px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.media-cycle li { position:relative; padding:15px 10px; border:1px solid var(--line); background:#fff; border-radius:var(--radius-inset); text-align:center; font-size:.875rem; color:var(--ink); font-weight:600; }
.media-cycle span { display:block; font:700 .75rem var(--font-en); color:var(--blue); margin-bottom:8px; }
.media-profile { position:relative; display:block; min-width:0; border-radius:var(--radius-panel); padding:44px; background:linear-gradient(145deg,#fff 25%,var(--pale)); border:1px solid var(--line); box-shadow:var(--shadow-card); overflow:hidden; }
.profile-header { display:flex; align-items:center; gap:24px; margin-bottom:32px; }
.profile-avatar { width:108px; height:108px; flex:0 0 108px; border-radius:50%; object-fit:cover; border:5px solid #fff; box-shadow:0 4px 18px #0b6f9712; }
.platform { display:block; color:var(--blue); font:800 1.5rem/1.4 var(--font-en); margin-bottom:6px; }
.owned-label { display:block; color:var(--body); font:500 .75rem/1.6 var(--font-en); }
.media-profile h3 { font-size:1.875rem; line-height:1.6; margin-bottom:10px; }
.handle { display:inline-block; color:var(--blue); font:600 .875rem/1.8 var(--font-en); margin-bottom:28px; }
.profile-note { border-top:1px solid var(--line); padding-top:24px; font-size:1rem; color:var(--body); margin:0; }
.profile-link { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); color:var(--blue); font-weight:700; font-size:.875rem; }
.services-section { padding-top:112px; background:linear-gradient(180deg,#fff 25%,var(--surface-soft) 74%,#fff 100%); }
.section-intro { margin-bottom:48px; }
.centered { text-align:center; max-width:850px; margin-inline:auto; }
.centered .eyebrow { justify-content:center; }
.centered .body-copy { margin-bottom:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.service-card { display:flex; align-items:flex-start; flex-direction:column; padding:32px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-card); min-width:0; }
.service-card:nth-child(2) { border-color:var(--line-warm); }
.service-card .service-icon { margin:0 0 28px; }
.service-name { color:var(--blue); font:700 .875rem/1.5 var(--font-en); margin-bottom:12px; }
.service-card h3 { font-size:1.625rem; line-height:1.6; margin-bottom:20px; }
.service-description { color:var(--body); margin-bottom:22px; font-size:1rem; line-height:1.9; }
.feature-list { list-style:none; padding:20px 0 0; border-top:1px solid var(--line); margin:0 0 24px; width:100%; }
.feature-list li { position:relative; padding-left:20px; font-size:.875rem; color:var(--ink); margin:8px 0; }
.feature-list li::before { content:''; position:absolute; left:0; top:.73em; width:7px; height:7px; border-radius:50%; background:var(--detail); }
.consult-example { background:var(--pale); border-radius:var(--radius-inset); padding:20px; margin-top:auto; width:100%; }
.consult-example span { display:block; font-size:.75rem; color:var(--blue); font-weight:700; margin-bottom:8px; }
.consult-example p { font-size:.875rem; line-height:1.85; margin:0; color:var(--body); }
.service-card:nth-child(2) .service-name,.service-card:nth-child(2) .consult-example span { color:var(--orange-ink); }
.service-card:nth-child(2) .consult-example { background:var(--orange-pale); }
.service-card:nth-child(2) .feature-list li::before { background:var(--orange); }
.work-process { margin-top:56px; padding:38px 42px; border:1px solid var(--line); background:#fff; border-radius:var(--radius-card); }
.process-heading { margin-bottom:26px; }
.process-heading .eyebrow { margin-bottom:12px; }
.process-heading h3 { margin-bottom:8px; }
.process-heading p:last-child { color:var(--body); margin:0; font-size:.9375rem; }
.process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.process-grid li { position:relative; border-top:1px solid var(--line); padding-top:22px; }
.step-number { display:block; font:800 1rem var(--font-en); color:var(--blue); margin-bottom:16px; }
.process-grid p { color:var(--body); margin:0; font-size:.9375rem; }
.why { padding-top:0; }
.why-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.reason { padding:28px 6px 0; border-top:2px solid #c9eaf5; }
.line-icon { width:42px; height:42px; margin-bottom:24px; }
.reason-label { font:800 1.625rem/1.3 var(--font-en); color:var(--blue); margin-bottom:12px; }
.reason h3 { font-size:1.1875rem; margin-bottom:16px; }
.reason p:last-child { color:var(--body); margin:0; }
.technology-note { display:grid; grid-template-columns:1fr 1.7fr; gap:48px; align-items:center; margin-top:56px; padding:44px 48px; border:1px solid var(--line); border-radius:var(--radius-card); background:linear-gradient(110deg,var(--pale),var(--surface-soft)); }
.technology-note h3 { margin:0; color:var(--blue-deep); font-size:clamp(1.75rem,2.3vw,2rem); line-height:1.65; }
.technology-note p { margin:0; color:var(--body); font-size:1.0625rem; line-height:1.95; text-wrap:pretty; }
.marketing-inquiry { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:44px; padding:30px 32px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface-soft); }
.marketing-inquiry p { color:var(--body); margin:0; font-size:1rem; line-height:1.85; }
.marketing-inquiry .button { flex-shrink:0; }
.creator-section { padding-bottom:0; }
.creator-card { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:64px; background:linear-gradient(120deg,var(--surface-warm),#fff); border:1px solid var(--line-warm); border-radius:var(--radius-panel); overflow:hidden; }
.creator-intro .body-copy { margin-bottom:20px; }
.creator-cta { margin-top:30px; }
.creator-cta p { color:var(--body); font-size:.875rem; margin:16px 0 0; }
.creator-points { display:grid; gap:16px; align-content:center; }
.creator-points article { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:24px; border:1px solid var(--line); background:#fff; border-radius:var(--radius-card); }
.mini-number { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:var(--blue); background:var(--pale); font:700 .8125rem var(--font-en); }
.creator-points .mini-number { color:var(--orange-ink); background:var(--orange-pale); }
.creator-points h3 { font-size:1.0625rem; margin-bottom:10px; }
.creator-points p { font-size:.9375rem; line-height:1.9; color:var(--body); margin:0; }
.event-section { background:linear-gradient(180deg,#fff 0,var(--surface-soft) 480px); }
.event-intro { color:var(--ink); }
.event-intro-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; padding:44px 56px; background:linear-gradient(120deg,var(--pale),var(--surface-soft)); border:1px solid var(--line); border-radius:var(--radius-panel); box-shadow:var(--shadow-card); }
.event-intro .eyebrow { width:fit-content; color:var(--blue); margin-bottom:24px; padding:9px 16px; background:#ffffffd9; border-radius:999px; font-size:.8125rem; }
.event-intro .eyebrow::before { width:16px; flex-basis:16px; }
.event-intro h2 { margin:0; color:var(--blue-deep); font-size:clamp(1.75rem,2.8vw,2.375rem); line-height:1.6; letter-spacing:-.025em; }
.event-intro-copy { color:var(--body); font-size:1rem; line-height:1.95; }
.event-intro-copy p { margin:0; }
.event-intro-copy p+p { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); font-size:.875rem; color:var(--blue-deep); }
.event-content { padding-block:64px 80px; }
.event-story-heading { font-size:clamp(1.65rem,2.5vw,2.125rem); line-height:1.55; margin-bottom:24px; }
.event-section .event-results { background:#fff; }
.event-section .event-scope,.event-section .event-capability { background:#fff; }
.event-section+.company-section { background:#fff; border-top:1px solid var(--line); }

.event-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; }
.event-story .body-copy { margin-bottom:30px; }
.event-results { background:linear-gradient(145deg,#f3fbff,#eaf8fc); border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; }
.metric { min-width:0; padding:28px 38px 24px; }
.metric .eyebrow { margin-bottom:16px; font-size:.8125rem; }
.metric .eyebrow::before { display:none; }
.metric-number { display:flex; align-items:baseline; gap:14px; color:var(--blue); margin-bottom:18px; }
.metric-number strong { font:600 6rem/1 var(--font-en); letter-spacing:-.065em; }
.metric-number span { font-size:1rem; white-space:nowrap; }
.metric-label { font-size:1rem; font-weight:700; margin-bottom:12px; }
.metric .body-copy { font-size:.9375rem; margin:0; }
.tour-record { border-top:1px solid var(--line); padding:20px 38px; background:var(--surface-soft); }
.tour-record>span { font-size:.875rem; color:var(--body); }
.tour-record p { margin:7px 0 0; color:var(--blue); font-size:.9375rem; }
.tour-record strong { font-size:1.375rem; margin-inline:4px; }
.tour-record br { display:block; }
.event-scope { margin-top:44px; padding:32px 36px; background:var(--surface-soft); border-radius:var(--radius-card); }
.event-scope h3 { font-size:1.25rem; margin-bottom:8px; }
.event-scope .body-copy { margin-bottom:20px; }
.scope-list { display:flex; flex-wrap:wrap; list-style:none; gap:10px; padding:0; margin:0; }
.scope-list li { padding:8px 16px; background:#fff; border:1px solid var(--line); border-radius:30px; color:var(--blue); font-size:.875rem; font-weight:500; }
.event-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:34px; }
.event-capability { padding:32px; border:1px solid var(--line); border-radius:var(--radius-card); }
.event-capability .mini-number { margin-bottom:18px; }
.event-capability h3 { font-size:1.125rem; margin-bottom:14px; }
.event-capability p { font-size:.9375rem; line-height:1.9; color:var(--body); margin:0; }
.company-section { background:var(--surface-soft); padding-block:88px; }
.company-layout { display:grid; grid-template-columns:1fr 1.12fr; gap:80px; }
.company-layout .body-copy { max-width:450px; }
.company-details { margin:0; }
.company-details>div { display:grid; grid-template-columns:115px minmax(0,1fr); gap:22px; padding:22px 0; border-bottom:1px solid var(--line); }
.company-details>div:first-child { padding-top:0; }
.company-details dt { font-size:.875rem; font-weight:600; padding-top:2px; }
.company-details dd { margin:0; font-size:.9375rem; color:var(--body); line-height:1.9; overflow-wrap:anywhere; }
.company-details dd>span { display:block; font-size:.8125rem; color:var(--body); margin-top:4px; }
.company-details .text-link { font-size:.9375rem; }
.contact { background:linear-gradient(180deg,#fff 15%,var(--surface-soft) 100%); }
.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.contact-card { display:flex; flex-direction:column; align-items:flex-start; padding:32px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--shadow-card); }
.contact-card:first-child { border-color:var(--line-warm); }
.contact-card:first-child .contact-label { color:var(--orange-ink); }
.contact-label { font:700 .875rem var(--font-en); color:var(--blue); margin-bottom:16px; }
.contact-card h3 { font-size:1.25rem; margin-bottom:14px; }
.contact-card>p:not(.contact-label) { color:var(--body); font-size:.9375rem; margin-bottom:24px; }
.contact-card .button { margin-top:auto; width:100%; padding-inline:16px; gap:12px; }
.recruit-contact { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:32px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-card); }
.recruit-contact h3 { font-size:1.125rem; margin-bottom:6px; }
.recruit-contact p { color:var(--body); font-size:.9375rem; margin:0; }
.recruit-contact .button { flex-shrink:0; }
/* Shared email fallback: usable without JavaScript or clipboard permission. */
.email-fallback { width:100%; max-width:440px; margin:22px auto 0; text-align:center; }
.email-fallback .email-fallback-label { color:var(--body); font-size:.75rem; line-height:1.8; margin:0 0 8px; }
.email-address-row { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4px 12px; }
.email-address { display:inline-flex; align-items:center; min-height:44px; color:var(--blue-deep); font:600 .875rem/1.8 var(--font-en); overflow-wrap:anywhere; }
.email-address:hover { text-decoration:underline; text-underline-offset:4px; }
.email-copy { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; min-width:110px; padding:8px 12px; border:1px solid #bfd7e1; border-radius:12px; background:#fff; color:var(--blue-deep); font-size:.75rem; font-weight:500; cursor:pointer; transition:background-color .2s,border-color .2s; }
.email-copy[hidden] { display:none; }
.email-copy svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.email-copy.is-copied { background:var(--pale); border-color:var(--detail); }
.email-copy:active { background:#dfeff5; }
.email-fallback .email-copy-status { min-height:3.6em; color:var(--body); font-size:.75rem; line-height:1.8; margin:8px 0 0; }
@media (hover:hover) and (pointer:fine) { .email-copy:hover { background:var(--pale); border-color:var(--detail); } }
@media (max-width:760px) { .email-fallback { text-align:left; } .email-address-row { justify-content:flex-start; } }
.footer { padding-block:56px 28px; }
.footer-main { display:grid; grid-template-columns:minmax(240px,1fr) minmax(360px,1fr); gap:64px; align-items:start; }
.footer-logo { display:block; width:128px; margin-bottom:20px; }
.footer img { display:block; width:100%; height:auto; }
.footer p { font-size:.875rem; color:var(--body); margin:0; }
.footer .footer-principle { font-size:1rem; font-weight:600; line-height:1.8; color:var(--ink); margin:0 0 12px; }
.footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.footer .footer-heading { color:var(--ink); font-size:.875rem; font-weight:600; line-height:1.6; padding-block:4px 16px; border-bottom:1px solid var(--line); margin-bottom:10px; }
.footer-links { display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0; list-style:none; font-size:.875rem; color:var(--body); }
.footer-links a { display:flex; align-items:center; min-height:44px; line-height:1.7; padding-block:8px; }
.footer-links a[aria-current="page"] { color:var(--blue); }
.footer small { display:block; padding-top:24px; margin-top:40px; border-top:1px solid var(--line); color:var(--body); font:500 .75rem/1.5 var(--font-en); }
.skip { position:fixed; left:16px; top:-80px; background:#fff; padding:14px; z-index:100; }
.skip:focus { top:8px; }
@media (hover:hover) and (pointer:fine) {
  .text-link:hover { text-decoration:underline; }
  .text-link:hover .button-arrow { transform:translateX(3px); }

}
@media (min-width:1700px) { .hero { max-width:1664px; margin-inline:auto; min-height:800px; } }
@media (max-width:1150px) {
  .wrap { width:calc(100% - 80px); }
  .header-inner { width:calc(100% - 48px); }
  .desktop-nav { gap:16px; font-size:.875rem; }
  .directory-marketing .directory-routes { grid-template-columns:1fr; }
  .hero { min-height:650px; margin-inline:20px; }
  .hero .wrap { width:calc(100% - 64px); }
  .hero-copy { width:62%; }
  .hero-copy .actions { max-width:410px; }
  .about-section,.media-layout { gap:40px; }
  .about-visual { padding:24px 26px 0; }
  .principle-heading { display:block; padding-bottom:14px; }
  .principle-heading>span { display:block; margin-bottom:6px; }
  .principle-row { grid-template-columns:minmax(0,1fr) 48px; gap:12px; }
  .principle-art { width:36px; height:36px; }
  .principle-copy strong { font-size:1.0625rem; }
  .principle-detail { font-size:.75rem; }
  .service-grid { gap:18px; }
  .service-card { padding:24px; }
  .service-card h3 { font-size:1.4rem; }
  .service-name { min-height:42px; }

  .media-profile { padding:32px; }
  .profile-header { gap:18px; }
  .profile-avatar { width:88px; height:88px; flex-basis:88px; }
  .media-profile h3 { font-size:1.65rem; }
  .why-grid { gap:28px; }
  .creator-card { padding:44px; gap:36px; }
  .creator-points article { padding:22px 18px; gap:12px; }
  .event-layout { gap:44px; }
  .event-intro-inner { padding:40px 36px; gap:36px; }
  .metric { padding:30px; }
  .metric-number { gap:10px; }
  .metric-number strong { font-size:5.4rem; }
  .tour-record { padding:24px 30px; }
  .tour-record br { display:block; }
  .event-capabilities { gap:20px; }
  .event-capability { padding:24px; }
  .company-layout { gap:44px; }
  .company-details>div { grid-template-columns:90px minmax(0,1fr); gap:14px; }
  .contact-grid { gap:18px; }
  .contact-card { padding:24px; }
  .contact-card .button { padding-inline:12px; font-size:.8125rem; }
}
@media (min-width:761px) and (max-width:1024px) {
  .directory-grid { grid-template-columns:1fr; }
  .directory-marketing .directory-routes { grid-template-columns:1fr 1fr; }
  .directory-description br.optional { display:none; }
  .about-section { grid-template-columns:1fr 1fr; gap:32px; }
  .about-visual { padding:22px 22px 0; }
  .principle-row { grid-template-columns:minmax(0,1fr) 40px; gap:6px; }
  .principle-art { width:32px; height:32px; }
  .principle-copy strong { font-size:1rem; }
  .principle-detail { max-width:180px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { display:grid; grid-template-columns:64px 1fr 1fr; gap:0 28px; }
  .service-card .service-icon { grid-column:1; grid-row:1/4; margin:0; }
  .service-name { grid-column:2; min-height:0; }
  .service-card h3 { grid-column:2; }
  .service-description { grid-column:3; grid-row:1/4; }
  .feature-list { grid-column:1/3; }
  .consult-example { grid-column:3; }
  .creator-card { grid-template-columns:1fr; }
  .creator-points { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .creator-points article { display:block; }
  .creator-points .mini-number { margin-bottom:16px; }
  .metric-number strong { font-size:4.75rem; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-card { display:grid; grid-template-columns:1fr 220px; gap:0 24px; }
  .contact-card>p,.contact-card h3 { grid-column:1; }
  .contact-card>p:not(.contact-label) { margin-bottom:0; }
  .contact-card .button { grid-column:2; grid-row:1/4; align-self:center; margin:0; }
}
@media (max-width:1024px) {
  .header-inner { width:calc(100% - 36px); gap:12px; }
  .brand img { width:100px; }
  .desktop-nav { display:none; }
  .mobile-actions { display:flex; align-items:center; gap:8px; }
  .menu-button { height:48px; padding:5px 2px; gap:5px; }
  .breadcrumbs a { min-height:44px; }
  .footer-main { grid-template-columns:minmax(210px,.8fr) minmax(330px,1.2fr); gap:32px; }
  .footer-nav { gap:24px; }
}
@media (max-width:760px) {
  :root { --header:64px; --radius-panel:28px; }
  .wrap { width:calc(100% - 40px); }
  .section { padding-block:56px; }
  .section[id] { scroll-margin-top:-40px; }
  #media { scroll-margin-top:-20px; }
  #why,#event { scroll-margin-top:0; }
  #company { scroll-margin-top:-64px; }
  h1 { font-size:clamp(1.75rem,7.7vw,2.5rem); line-height:1.6; letter-spacing:-.025em; margin-bottom:24px; }
  h2 { font-size:clamp(1.65rem,7.4vw,2rem); line-height:1.6; margin-bottom:24px; }
  h3 { font-size:1.25rem; }
  .eyebrow { font-size:.8125rem; margin-bottom:20px; }
  .body-copy br.optional { display:none; }
  .header-inner { width:calc(100% - 36px); gap:12px; }
  .brand img { width:100px; }
  .desktop-nav { display:none; }
  .mobile-actions { display:flex; align-items:center; gap:8px; }
  .mobile-contact { min-height:44px; padding:10px 12px; font-size:.75rem; }
  .hero { display:flex; align-items:center; min-height:0; margin:12px 12px 0; padding:0; border-radius:var(--radius-panel); background:#f5f8f9; }
  .hero .wrap { width:calc(100% - 40px); }
  .hero-image { inset:0; width:100%; height:100%; border-radius:0; object-fit:cover; object-position:85% center; }
  .hero::before { display:block; background:linear-gradient(180deg,#ffffffb8 0%,#ffffff70 58%,#ffffff00 100%),linear-gradient(90deg,#fffffff2 0%,#ffffffc9 52%,#ffffff40 100%); }
  .hero-copy { width:100%; padding:36px 0 28px; }
  .hero .eyebrow { font-size:.6875rem; gap:8px; margin-bottom:20px; }
  .hero .eyebrow::before { width:18px; flex-basis:18px; }
  .hero h1 { font-size:clamp(1.6rem,7.2vw,2.5rem); line-height:1.5; letter-spacing:-.04em; margin-bottom:20px; }
  .hero-copy .body-copy { font-size:.875rem; line-height:1.85; margin-bottom:22px; color:#345462; }
  .hero-support { font-size:.8125rem; }
  .hero-copy .actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; max-width:none; }
  .hero .button { min-height:48px; padding:12px 16px; font-size:.8125rem; }
  .hero .button.secondary { min-height:44px; background:#ffffffb8; }
  .business-directory { padding-top:32px; scroll-margin-top:-8px; }
  .directory-heading { margin-bottom:20px; }
  .directory-grid { grid-template-columns:1fr; gap:18px; }
  .directory-card { padding:22px; }
  .directory-card h3 { font-size:1.0625rem; }
  .directory-description { font-size:.875rem; }
  .directory-description br.optional { display:none; }
  .directory-marketing .directory-routes { grid-template-columns:1fr; }
  .directory-routes a { padding:12px 14px; }
  .directory-routes strong { font-size:.875rem; }
  .page-context { display:block; padding-top:18px; }
  .breadcrumbs ol { font-size:.75rem; gap:6px 8px; }
  .breadcrumbs li { gap:8px; }
  .back-home { display:none; }
  .page-local-nav { padding-block:16px; display:block; }
  .page-local-nav>span { display:block; margin-bottom:8px; font-size:.6875rem; }
  .page-local-nav nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding:2px 2px 6px; scroll-padding-inline:2px; scrollbar-width:thin; scrollbar-color:#b7d6e1 transparent; }
  .page-local-nav a { flex:0 0 auto; min-height:44px; padding:8px 14px; background:var(--surface-soft); border-radius:12px; border:1px solid var(--line); font-size:.8125rem; }
  .page-local-nav a[aria-current="location"] { border-color:#91bed0; background:var(--pale); }
  .about-section { grid-template-columns:1fr; gap:34px; padding-bottom:54px; }
  .about-visual { width:100%; max-width:500px; margin-inline:auto; padding:24px 24px 0; border-radius:var(--radius-panel); }
  .principle-heading { display:flex; padding-bottom:14px; gap:12px; }
  .principle-heading>span { margin-bottom:0; font-size:.75rem; }
  .principle-heading p { font-size:.75rem; }
  .principle-row { grid-template-columns:minmax(0,1fr) 44px; gap:10px; min-height:126px; padding:20px 0; }
  .principle-art { width:36px; height:36px; }
  .principle-copy strong { font-size:clamp(.9rem,4.2vw,1.2rem); line-height:1.55; }
  .principle-detail { font-size:.75rem; max-width:230px; }
  .media-section { padding-top:20px; }
  .media-layout { grid-template-columns:1fr; gap:34px; }
  .media-cycle { gap:8px; margin:24px 0; }
  .media-cycle li { font-size:.8125rem; padding:14px 5px; }
  .media-profile { padding:32px 24px; border-radius:var(--radius-panel); }
  .profile-header { gap:18px; margin-bottom:26px; }
  .profile-avatar { width:88px; height:88px; flex-basis:88px; }
  .platform { font-size:1.375rem; }
  .owned-label { font-size:.75rem; }
  .media-profile h3 { font-size:1.55rem; }
  .profile-link { font-size:.8125rem; }
  .services-section { padding-top:56px; }
  .section-intro { margin-bottom:32px; }
  .centered { text-align:left; }
  .centered .eyebrow { justify-content:flex-start; }
  .service-grid { grid-template-columns:1fr; gap:22px; }
  .service-card { padding:24px; border-radius:var(--radius-card); }
  .service-card .service-icon { width:36px; height:36px; margin:0 0 18px; }
  .service-name { font-size:.875rem; min-height:0; }
  .service-card h3 { font-size:clamp(1.3rem,5.8vw,1.6rem); }
  .service-description { margin-bottom:18px; }
  .feature-list { margin-bottom:20px; }
  .work-process { margin-top:32px; padding:24px; border-radius:var(--radius-card); }
  .process-grid { grid-template-columns:1fr; gap:22px; }
  .process-grid li { padding-top:18px; }
  .step-number { margin-bottom:10px; }
  .process-grid h4 { font-size:1.0625rem; margin-bottom:10px; }
  .why { padding-top:0; }
  .why-grid { grid-template-columns:1fr; gap:28px; }
  .technology-note { grid-template-columns:1fr; gap:24px; margin-top:40px; padding:30px 24px; }
  .technology-note h3 { font-size:1.5625rem; }
  .technology-note p { font-size:1rem; }
  .marketing-inquiry { display:block; padding:24px; margin-top:32px; }
  .marketing-inquiry p { font-size:.9375rem; }
  .marketing-inquiry br.optional { display:none; }
  .marketing-inquiry .button { width:100%; margin-top:22px; }
  .reason { padding:24px 0 0; }
  .line-icon { float:right; margin-left:16px; }
  .reason-label { font-size:1.6rem; }
  .reason h3 { font-size:1.125rem; }
  .reason p:last-child { clear:both; }
  .creator-section { width:calc(100% - 24px); }
  .creator-card { grid-template-columns:1fr; gap:28px; padding:28px 24px; border-radius:var(--radius-panel); }
  .creator-cta .button { width:100%; padding-inline:14px; }
  .creator-points { gap:12px; }
  .creator-points article { padding:22px 18px; grid-template-columns:30px minmax(0,1fr); }
  .creator-points .mini-number { width:30px; height:30px; font-size:.75rem; }
  .creator-points h3 { font-size:1rem; }
  .event-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .event-intro-inner { width:calc(100% - 24px); grid-template-columns:minmax(0,1fr); gap:24px; padding:36px 24px; border-radius:var(--radius-panel); }
  .event-intro h2 { font-size:clamp(1.4rem,6.3vw,1.9rem); }
  .event-intro .eyebrow { margin-bottom:20px; padding:8px 14px; font-size:.75rem; }
  .event-intro-copy { font-size:.9375rem; }
  .event-intro-copy p+p { font-size:.8125rem; margin-top:18px; padding-top:16px; }
  .event-intro-copy br.optional { display:none; }
  .event-content { padding-block:44px 64px; }
  .event-story-heading { font-size:clamp(1.4rem,6.3vw,1.9rem); line-height:1.6; }

  .event-story .button { width:100%; padding-inline:14px; gap:12px; font-size:.8125rem; }
  .event-results { border-radius:var(--radius-card); }
  .metric { padding:30px 28px 24px; }
  .metric-number { gap:10px; }
  .metric-number strong { font-size:clamp(4.5rem,20vw,5.5rem); }
  .tour-record { padding:22px 28px; }
  .tour-record p { font-size:.875rem; }
  .event-scope { margin-top:28px; padding:24px; border-radius:var(--radius-card); }
  .event-scope h3 { font-size:1.15rem; }
  .event-scope .body-copy { font-size:.9375rem; }
  .scope-list { gap:8px; }
  .scope-list li { padding:7px 12px; font-size:.8125rem; }
  .event-capabilities { grid-template-columns:1fr; gap:18px; margin-top:24px; }
  .event-capability { padding:24px; display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:12px; row-gap:16px; align-items:start; }
  .event-capability .mini-number { margin:0; }
  .event-capability h3 { margin:0; align-self:center; }
  .event-capability p { grid-column:1 / -1; }
  .company-section { padding-block:64px; }
  .company-layout { grid-template-columns:1fr; gap:24px; }
  .company-details>div { grid-template-columns:80px minmax(0,1fr); gap:14px; padding-block:20px; }
  .company-details dd { font-size:.875rem; }
  .company-details dt { font-size:.8125rem; }
  .contact-grid { grid-template-columns:1fr; gap:18px; }
  .contact-card { padding:24px; border-radius:var(--radius-card); }
  .contact-card .button { font-size:.875rem; }
  .recruit-contact { display:block; padding:24px; }
  .recruit-contact .button { margin-top:22px; width:100%; }
  .footer { padding-block:44px 24px; }
  .footer-main { grid-template-columns:1fr; gap:36px; }
  .footer-nav { gap:20px; }
  .footer small { margin-top:28px; }
}
@media (max-width:360px) { .header-inner { gap:8px; } .brand img { width:90px; } .mobile-contact { padding-inline:10px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

@media (max-width:360px) { .about-visual { padding-inline:18px; } .principle-row { grid-template-columns:minmax(0,1fr) 36px; } .principle-art { width:36px; height:36px; } .principle-heading { display:block; } .principle-heading>span { margin-bottom:5px; } }
