/*
Theme Name: Igne Twenty Twenty-Five
Theme URI: https://igne.fun/
Description: 株式会社イグネのブランドサイト用 Twenty Twenty-Five 子テーマ
Author: Igne Inc.
Template: twentytwentyfive
Version: 1.0.0
Text Domain: igne-twentytwentyfive
*/

:root {
	--igne-black: #080808;
	--igne-surface: #121212;
	--igne-surface-soft: #191919;
	--igne-white: #f7f4ee;
	--igne-muted: #aaa69f;
	--igne-accent: #f5c518;
	--igne-border: rgba(255, 255, 255, 0.15);
	--igne-radius: 1.25rem;
	--igne-transition: 260ms cubic-bezier(.2,.7,.2,1);
}

html { scroll-behavior: smooth; }
body {
	background: var(--igne-black);
	color: var(--igne-white);
	overflow-x: clip;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
}
a { text-underline-offset: .2em; }
img { display: block; }
::selection { background: var(--igne-accent); color: var(--igne-black); }

.igne-site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 20;
	padding: 1.25rem clamp(1.25rem, 4vw, 4rem);
	border-bottom: 1px solid rgba(255,255,255,.12);
	background: linear-gradient(180deg, rgba(8,8,8,.8), rgba(8,8,8,.35));
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	transition: padding var(--igne-transition), background var(--igne-transition);
}
.igne-site-header.is-scrolled { padding-top: .85rem; padding-bottom: .85rem; background: rgba(8,8,8,.92); }
.igne-site-header .wp-block-site-title {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 800;
	letter-spacing: -.04em;
	text-transform: lowercase;
}
.igne-brand-logo { margin: 0 !important; line-height: 0; }
.igne-brand-logo img { display: block; height: auto; filter: invert(1); mix-blend-mode: screen; }
.igne-brand-logo--header img { width: 60px !important; }
.igne-brand-logo--footer img { width: clamp(7rem, 12vw, 9.5rem) !important; }
.igne-brand-logo--concept { display: flex; justify-content: center; }
.igne-brand-logo--concept img { width: min(100%, 390px) !important; aspect-ratio: 1; object-fit: contain; border-radius: 50%; }
.igne-site-header a { color: #fff; text-decoration: none; }
.igne-site-header .wp-block-navigation { font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.igne-site-header .wp-block-navigation-item__content { position: relative; }
.igne-site-header .wp-block-navigation-item__content::after { content: ""; position: absolute; right: 0; bottom: -.4rem; left: 0; height: 1px; background: var(--igne-accent); transform: scaleX(0); transform-origin: right; transition: transform var(--igne-transition); }
.igne-site-header .wp-block-navigation-item__content:hover::after { transform: scaleX(1); transform-origin: left; }
.igne-site-header .wp-block-navigation__responsive-container-open,
.igne-site-header .wp-block-navigation__responsive-container-close { color: #fff; }
.igne-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--igne-black) !important;
	color: var(--igne-white) !important;
	padding: 1.5rem;
}

.igne-main { margin-top: 0 !important; }
.igne-hero {
	min-height: min(920px, 100svh);
	display: flex;
	align-items: flex-end;
	padding: clamp(8rem, 16vh, 12rem) clamp(1.25rem, 6vw, 6rem) clamp(3rem, 8vw, 6rem) !important;
}
.igne-hero .wp-block-cover__background {
	background:
		linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.08) 78%),
		linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.2) 48%, rgba(0,0,0,.88)) !important;
	opacity: 1 !important;
}
.igne-hero .wp-block-cover__image-background { transition: transform 1.2s ease; }
.igne-hero:hover .wp-block-cover__image-background { transform: scale(1.015); }
.igne-hero .wp-block-cover__inner-container { width: min(72vw, 1120px); margin-right: auto; margin-left: 0; }
.igne-eyebrow {
	margin: 0 0 1rem;
	color: var(--igne-accent);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.igne-display {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3.6rem, 7.5vw, 7.8rem) !important;
	font-weight: 800;
	letter-spacing: -.075em;
	line-height: .96;
	white-space: nowrap;
}
.igne-hero-copy {
	max-width: 37rem;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
	padding: 0;
}
.igne-hero-brand { margin: 0 0 1rem; font-size: clamp(1.25rem, 2.25vw, 1.9rem); font-weight: 750; letter-spacing: -.04em; line-height: 1.35; }
.igne-hero-statement { margin: 0; color: rgba(255,255,255,.78); font-size: clamp(.85rem, 1.2vw, 1.05rem); font-weight: 450; line-height: 1.85; }
.igne-scroll-cue { margin-top: 2.25rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }
.igne-scroll-cue::before { content: ""; display: inline-block; width: 3rem; height: 1px; margin-right: .75rem; vertical-align: middle; background: currentColor; }

.igne-section { padding: clamp(5rem, 11vw, 10rem) clamp(1.25rem, 6vw, 6rem) !important; }
.igne-section--line { border-top: 1px solid var(--igne-border); }
.igne-section--surface { background: var(--igne-surface); }
.igne-section--accent { background: var(--igne-accent); color: var(--igne-black); }
.igne-section-head { margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.igne-section-index { color: var(--igne-accent); font-size: .7rem; font-weight: 800; letter-spacing: .15em; }
.igne-section--accent .igne-section-index { color: currentColor; opacity: .62; }
.igne-section-title {
	margin: .5rem 0 0;
	font-size: clamp(2.2rem, 6vw, 5.7rem) !important;
	font-weight: 750;
	letter-spacing: -.055em;
	line-height: 1.02;
}
.igne-lead { max-width: 39rem; font-size: clamp(1.15rem, 2.5vw, 2rem); line-height: 1.65; }
.igne-copy { color: var(--igne-muted); line-height: 2; }
.igne-section--accent .igne-copy { color: rgba(8,8,8,.72); }
#about.igne-section { padding-top: clamp(3.75rem, 7vw, 6.5rem) !important; padding-bottom: clamp(3.75rem, 5.5vw, 5.25rem) !important; }
#shops.igne-section { padding-top: clamp(3.75rem, 7vw, 6.5rem) !important; }
.igne-brand-concept { position: relative; margin-top: clamp(2.5rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); overflow: hidden; border: 1px solid var(--igne-border); border-radius: var(--igne-radius); background: radial-gradient(circle at 85% 10%, rgba(245,197,24,.18), transparent 30%), #0d0d0d; }
.igne-brand-concept::after { content: ""; position: absolute; right: 1.25rem; bottom: 1.25rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--igne-accent); box-shadow: -1.2rem 0 #ff594d, -2.4rem 0 #f7f4ee; }
.igne-brand-concept__caption { margin: 1.25rem 0 0; color: var(--igne-muted); font-size: .62rem; font-weight: 750; letter-spacing: .14em; }
.igne-about-copy { padding-top: clamp(5rem, 12vw, 11rem); }
.igne-enrich-message { margin: clamp(2.5rem, 6vw, 5rem) 0; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--igne-border); border-radius: var(--igne-radius); background: linear-gradient(135deg, rgba(245,197,24,.1), transparent 55%); }
.igne-enrich-message__label { margin: 0 0 .9rem; color: var(--igne-accent); font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.igne-enrich-message__copy { margin: 0; font-size: clamp(1.55rem, 3.2vw, 2.8rem) !important; letter-spacing: -.04em; line-height: 1.35; }
.igne-about-rhythm { margin: clamp(2rem, 5vw, 4rem) 0; padding: 1.5rem 0 1.5rem clamp(1.25rem, 4vw, 3rem); border-left: 2px solid var(--igne-accent); font-size: clamp(1.1rem, 2vw, 1.55rem); font-weight: 650; line-height: 2; }
.igne-about-intro { gap: clamp(2.5rem, 7vw, 7rem) !important; }
.igne-about-title { max-width: 9ch; }
.igne-about-statement { padding-top: clamp(.75rem, 2vw, 1.75rem); }
.igne-about-statement__lead { margin: 0; font-size: clamp(1.35rem, 2.5vw, 2.15rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.65; }
.igne-about-statement__body { margin: clamp(1.35rem, 2.5vw, 2.25rem) 0; color: var(--igne-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.9; }
.igne-about-statement__closing { margin: 0; padding-left: 1.25rem; border-left: 2px solid var(--igne-accent); font-size: clamp(1rem, 1.5vw, 1.2rem); font-weight: 650; line-height: 1.8; }
.igne-about-detail { gap: clamp(1rem, 2.5vw, 2rem) !important; margin-top: clamp(2.75rem, 5vw, 4.75rem); }
.igne-about-visual { height: 100%; margin: 0 !important; overflow: hidden; border-radius: var(--igne-radius); }
.igne-about-visual img { width: 100%; height: 100%; min-height: clamp(27rem, 42vw, 38rem); object-fit: cover; object-position: center 52%; filter: saturate(.9) contrast(1.04); transition: transform .8s ease, filter .8s ease; }
.igne-about-visual:hover img { transform: scale(1.02); filter: saturate(1) contrast(1.02); }
.igne-about-enrich { position: relative; display: flex; min-height: clamp(27rem, 42vw, 38rem); flex-direction: column; justify-content: flex-end; padding: clamp(1.75rem, 4vw, 3.5rem); overflow: hidden; border: 1px solid var(--igne-border); border-radius: var(--igne-radius); background: radial-gradient(circle at 90% 8%, rgba(245,197,24,.2), transparent 28%), var(--igne-surface); }
.igne-about-enrich::before { content: ""; position: absolute; top: 1.5rem; left: 1.5rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--igne-accent); box-shadow: 1.2rem 0 #ff594d, 2.4rem 0 #f7f4ee; }
.igne-about-enrich .igne-enrich-message__copy { font-size: clamp(1.8rem, 3.6vw, 3.6rem) !important; }
.igne-about-enrich__note { margin: clamp(2rem, 5vw, 4rem) 0 0; color: var(--igne-muted); font-size: .62rem; font-weight: 750; letter-spacing: .12em; }
.igne-shops-intro { max-width: 34rem; margin: 1.75rem 0 0 auto; color: var(--igne-muted); line-height: 1.9; }

.igne-store-grid { gap: clamp(1.25rem, 3vw, 2.5rem) !important; }
.igne-store-card {
	position: relative;
	min-height: clamp(31rem, 58vw, 48rem);
	overflow: hidden;
	border-radius: var(--igne-radius);
	background: var(--igne-surface-soft);
	border-top: 3px solid var(--igne-accent);
}
.igne-store-grid > .wp-block-column:nth-child(1) .igne-store-card { border-top-color: #ff594d; }
.igne-store-grid > .wp-block-column:nth-child(2) .igne-store-card { border-top-color: var(--igne-accent); }
.igne-store-grid > .wp-block-column:nth-child(3) .igne-store-card { border-top-color: #f7f4ee; }
.igne-store-card .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(0,0,0,.04) 30%, rgba(0,0,0,.92)) !important;
	opacity: 1 !important;
}
.igne-store-card .wp-block-cover__image-background { transition: transform .65s ease, filter .65s ease; }
.igne-store-card:hover .wp-block-cover__image-background { transform: scale(1.035); filter: saturate(1.08); }
.igne-store-card .wp-block-cover__inner-container { align-self: flex-end; }
.igne-store-card__content { padding: clamp(1.5rem, 4vw, 3rem); }
.igne-store-card__number { color: var(--igne-accent); font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.igne-store-grid > .wp-block-column:nth-child(1) .igne-store-card__number { color: #ff756b; }
.igne-store-card__title { margin: .5rem 0; font-size: clamp(1.8rem, 4vw, 3.4rem) !important; line-height: 1.08; letter-spacing: -.04em; }
.igne-store-card__catch { margin: 1rem 0 0; font-size: clamp(1.05rem, 1.8vw, 1.4rem); font-weight: 700; letter-spacing: -.02em; }
.igne-store-card__description { max-width: 30rem; margin: .75rem 0 0; color: rgba(255,255,255,.72); font-size: .84rem; line-height: 1.8; }
.igne-store-card__links { margin-top: 1.5rem; }
.igne-store-card__links { gap: .65rem; }
.igne-store-card__links .wp-block-button__link { min-width: 0; padding: .72rem 1.05rem; border-color: rgba(255,255,255,.55); color: rgba(255,255,255,.88); }
.igne-store-card__links a { font-size: .74rem; font-weight: 750; letter-spacing: .065em; text-decoration: none; }
.igne-store-card__links a[aria-disabled="true"] { opacity: .88; cursor: not-allowed; }

.igne-concept-word {
	margin: 0;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,.72);
	font-size: clamp(4rem, 16vw, 13rem) !important;
	font-weight: 800;
	letter-spacing: -.08em;
	line-height: .78;
}
.igne-values { margin-top: clamp(4rem, 9vw, 8rem); border-bottom: 1px solid var(--igne-border); }
.igne-value { gap: 1.5rem !important; padding: clamp(1.5rem, 4vw, 3rem) 0; border-top: 1px solid var(--igne-border); }
.igne-value__word { margin: 0; color: var(--igne-white); font-size: clamp(2.6rem, 7vw, 7rem) !important; font-weight: 800; letter-spacing: -.065em; line-height: .9; transition: color .4s ease; }
.igne-value__copy { margin: 0; color: var(--igne-muted); font-size: clamp(.9rem, 1.4vw, 1.15rem); }

@media (hover: hover) and (pointer: fine) {
	.igne-value:hover .igne-value__word,
	.igne-value:focus-within .igne-value__word { color: var(--igne-accent); }
}
@media (hover: none), (pointer: coarse) {
	.igne-value.is-active .igne-value__word { color: var(--igne-accent); }
}

.igne-recruit-copy { max-width: 10ch; font-size: clamp(3rem, 9vw, 8rem) !important; font-weight: 800; letter-spacing: -.07em; line-height: .92; }
.igne-recruit-body { align-items: flex-start !important; margin-top: clamp(3rem, 7vw, 6rem); }
.igne-recruit-body > .wp-block-column { align-self: flex-start !important; }
.igne-recruit-sub { max-width: 18ch; margin-top: 0; font-size: clamp(1.5rem, 3.5vw, 3rem) !important; letter-spacing: -.04em; line-height: 1.35; }
.igne-recruit-text { margin-top: 0; color: rgba(8,8,8,.72); line-height: 1.8; }
.igne-recruit-text br + br { line-height: 1.25; }
.igne-recruit-values { margin-top: clamp(5rem, 10vw, 9rem); padding: clamp(2rem, 6vw, 6rem); border-radius: var(--igne-radius); background: var(--igne-black); color: var(--igne-white); }
.igne-recruit-eyebrow { margin: 0 0 1.5rem; color: var(--igne-accent); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.igne-recruit-values__lead { max-width: 14ch; margin: 0; font-size: clamp(2.25rem, 5.6vw, 5.8rem) !important; font-weight: 800; letter-spacing: -.06em; line-height: 1.06; }
.igne-recruit-values__intro { max-width: 38rem; margin: clamp(2.5rem, 6vw, 5rem) 0 0 auto; color: var(--igne-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.9; }
.igne-recruit-values__intro strong { color: var(--igne-white); }
.igne-recruit-values__link { margin: clamp(2.5rem, 5vw, 4rem) 0 0; }
.igne-recruit-values__link a { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; max-width: 100%; padding: 1rem 1.35rem; border: 1px solid var(--igne-accent); border-radius: 99rem; background: var(--igne-accent); color: var(--igne-black); font-size: .8rem; font-weight: 800; letter-spacing: .055em; text-decoration: none; transition: background .35s ease, color .35s ease; }
.igne-recruit-values__link span { display: inline-block; transition: transform .35s ease; }
.igne-recruit-value-list { margin-top: clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--igne-border); }
.igne-recruit-value { display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 56%); gap: clamp(2rem, 7vw, 7rem); padding: clamp(2.25rem, 5vw, 4.5rem) 0; border-top: 1px solid var(--igne-border); }
.igne-recruit-value header p { margin: 0 0 1rem; color: var(--igne-accent); font-size: .68rem; font-weight: 800; letter-spacing: .15em; }
.igne-recruit-value h4 { max-width: 10ch; margin: 0; color: var(--igne-white); font-size: clamp(2.1rem, 4.5vw, 4.6rem); letter-spacing: -.055em; line-height: 1.05; }
.igne-recruit-value > div { align-self: end; max-width: 35rem; color: var(--igne-muted); font-size: clamp(.92rem, 1.2vw, 1.05rem); line-height: 1.85; }
.igne-recruit-value > div p { margin: 0 0 1.25rem; }
.igne-recruit-value > div strong { color: var(--igne-white); font-weight: 750; }
.igne-recruit-challenge { margin-top: clamp(1rem, 2vw, 2rem); padding: clamp(2.5rem, 7vw, 7rem); border: 1px solid rgba(8,8,8,.25); border-radius: var(--igne-radius); background: var(--igne-white); color: var(--igne-black); }
.igne-recruit-challenge .igne-recruit-eyebrow { color: rgba(8,8,8,.62); }
.igne-recruit-challenge__title { max-width: 12ch; margin: 0; font-size: clamp(2.8rem, 7vw, 7rem) !important; font-weight: 800; letter-spacing: -.07em; line-height: .98; }
.igne-recruit-challenge__body { margin-top: clamp(3rem, 7vw, 6rem); gap: clamp(2rem, 7vw, 7rem) !important; }
.igne-recruit-challenge__body p { margin: 0; line-height: 1.9; }
.igne-recruit-links { margin-top: clamp(3rem, 6vw, 5rem); gap: 1rem !important; }
.igne-recruit-link { position: relative; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(8,8,8,.45); border-radius: var(--igne-radius); background: var(--igne-accent); color: var(--igne-black); transition: background .35s ease, color .35s ease; }
.igne-recruit-link:nth-child(2) { background: var(--igne-black); color: var(--igne-white); }
.igne-recruit-link h3 { margin: .75rem 0 2rem; font-size: clamp(1.35rem, 2.5vw, 2.1rem) !important; }
.igne-recruit-link a { color: inherit; font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-decoration: none; }
.igne-recruit-link a::after { position: absolute; inset: 0; content: ""; }
.igne-recruit-link a span { display: inline-block; transition: transform .35s ease; }
.igne-recruit-link__label { margin: 0; font-size: .65rem; font-weight: 800; letter-spacing: .14em; }
@media (hover: hover) and (pointer: fine) {
	.igne-recruit-link:first-child:hover,
	.igne-recruit-link:first-child:focus-within { background: var(--igne-black); color: var(--igne-white); }
	.igne-recruit-link:nth-child(2):hover,
	.igne-recruit-link:nth-child(2):focus-within { background: var(--igne-accent); color: var(--igne-black); }
	.igne-recruit-link:hover a span,
	.igne-recruit-link:focus-within a span { transform: translateX(4px); }
	.igne-recruit-values__link a:hover span,
	.igne-recruit-values__link a:focus-visible span { transform: translateX(4px); }
	.igne-recruit-values__link a:hover,
	.igne-recruit-values__link a:focus-visible { background: transparent; color: var(--igne-accent); }
}

.igne-recruit-values-page { background: var(--igne-black); color: var(--igne-white); }
.igne-values-page-main { overflow: hidden; }
.igne-values-page-shell { width: min(calc(100% - 3rem), 1280px); margin-inline: auto; }
.igne-values-page-hero { padding: clamp(9rem, 15vw, 13rem) 0 clamp(4.5rem, 8vw, 7.5rem); background: var(--igne-black); }
.igne-values-page-hero h1 { max-width: 12ch; margin: 0; font-size: clamp(3.4rem, 8vw, 8rem); font-weight: 800; letter-spacing: -.075em; line-height: .98; }
.igne-values-page-intro { max-width: 34rem; margin: clamp(3rem, 7vw, 6rem) 0 0 auto; color: var(--igne-muted); font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.85; }
.igne-values-page-intro br + br { line-height: 1.35; }
.igne-values-page-intro strong { color: var(--igne-white); }
.igne-values-page-list-section { padding-bottom: clamp(4.5rem, 8vw, 7.5rem); background: var(--igne-black); }
.igne-values-page-list-section .igne-recruit-value-list { margin-top: 0; }
.igne-values-page-list-section .igne-recruit-value h2 { max-width: 10ch; margin: 0; color: var(--igne-white); font-size: clamp(2.1rem, 4.5vw, 4.6rem); letter-spacing: -.055em; line-height: 1.05; }
.igne-values-page-challenge { margin: 0; padding: clamp(4.5rem, 9vw, 8rem) 0; border: 0; border-radius: 0; }
.igne-values-page-challenge .igne-recruit-challenge__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.igne-values-page-process { padding: clamp(4.5rem, 9vw, 8rem) 0; background: var(--igne-accent); color: var(--igne-black); }
.igne-values-page-process .igne-recruit-eyebrow { color: rgba(8,8,8,.62); }
.igne-values-page-process__grid { display: grid; grid-template-columns: minmax(0, 45%) minmax(0, 55%); gap: clamp(2rem, 7vw, 7rem); }
.igne-values-page-process__grid h2 { max-width: 12ch; margin: 0; font-size: clamp(2.3rem, 5vw, 5rem); letter-spacing: -.06em; line-height: 1.05; }
.igne-values-page-process__grid p { margin: 0 0 1.75rem; line-height: 1.85; }
.igne-values-page-process .igne-recruit-cycle { margin: 2.5rem 0; padding-left: 1.25rem; border-left: 2px solid var(--igne-black); font-size: clamp(1.35rem, 2.5vw, 2.2rem); line-height: 1.55; }
.igne-values-page-back { margin: clamp(4rem, 8vw, 7rem) 0 0; text-align: right; }
.igne-values-page-back a { display: inline-block; padding-bottom: .4rem; border-bottom: 1px solid currentColor; color: inherit; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; }

.igne-entry-page { background: var(--igne-black); color: var(--igne-white); }
.igne-entry-main { overflow: hidden; }
.igne-entry-shell { width: min(calc(100% - 3rem), 1120px); margin-inline: auto; }
.igne-entry-eyebrow { margin: 0 0 1.5rem; color: var(--igne-accent); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.igne-entry-hero { padding: clamp(10rem, 17vw, 15rem) 0 clamp(5rem, 9vw, 8rem); background: var(--igne-black); }
.igne-entry-hero h1, .igne-entry-complete h1 { max-width: 11ch; margin: 0; font-size: clamp(3.5rem, 8vw, 8rem); font-weight: 800; letter-spacing: -.075em; line-height: .98; }
.igne-entry-intro { max-width: 34rem; margin: clamp(3rem, 7vw, 6rem) 0 0 auto; color: var(--igne-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.9; }
.igne-entry-form-section { padding: clamp(4rem, 9vw, 8rem) 0; background: var(--igne-accent); color: var(--igne-black); }
.igne-entry-form { padding: clamp(1.5rem, 5vw, 4.5rem); border: 1px solid rgba(8,8,8,.28); border-radius: var(--igne-radius); background: var(--igne-white); }
.igne-entry-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.igne-entry-field, .igne-entry-fieldset { margin: 0 0 clamp(1.75rem, 4vw, 3rem); }
.igne-entry-form-grid .igne-entry-field { margin-bottom: 0; }
.igne-entry-form-grid + .igne-entry-fieldset, .igne-entry-form-grid + .igne-entry-field { margin-top: clamp(1.75rem, 4vw, 3rem); }
.igne-entry-field label, .igne-entry-fieldset legend { display: block; margin: 0 0 .7rem; font-size: .82rem; font-weight: 750; letter-spacing: .025em; }
.igne-entry-field label > span, .igne-entry-fieldset legend > span { margin-left: .45rem; color: #9b2d22; font-size: .66rem; font-weight: 800; }
.igne-entry-field label small, .igne-entry-fieldset legend small { margin-left: .45rem; color: rgba(8,8,8,.58); font-size: .7rem; font-weight: 600; }
.igne-entry-field input, .igne-entry-field select, .igne-entry-field textarea { box-sizing: border-box; width: 100%; min-height: 3.35rem; padding: .85rem 1rem; border: 1px solid rgba(8,8,8,.35); border-radius: .35rem; outline: 0; background: #fff; color: var(--igne-black); font: inherit; font-size: 1rem; line-height: 1.5; transition: border-color .25s ease, box-shadow .25s ease; }
.igne-entry-field textarea { min-height: 5.5rem; resize: vertical; }
.igne-entry-field input:focus, .igne-entry-field select:focus, .igne-entry-field textarea:focus { border-color: var(--igne-black); box-shadow: 0 0 0 3px rgba(245,197,24,.55); }
.igne-entry-field input::placeholder, .igne-entry-field textarea::placeholder { color: rgba(8,8,8,.42); }
.igne-entry-fieldset { min-width: 0; padding: 0; border: 0; }
.igne-entry-options { display: flex; flex-wrap: wrap; gap: .75rem; }
.igne-entry-options label { position: relative; cursor: pointer; }
.igne-entry-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.igne-entry-options span { display: block; min-width: 8rem; padding: .85rem 1.1rem; border: 1px solid rgba(8,8,8,.35); border-radius: 99rem; background: #fff; font-size: 1rem; text-align: center; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.igne-entry-options input:checked + span { border-color: var(--igne-black); background: var(--igne-black); color: var(--igne-white); }
.igne-entry-options input:focus-visible + span { outline: 3px solid rgba(245,197,24,.8); outline-offset: 2px; }
.igne-entry-options--shops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.igne-entry-options--shops span { display: flex; min-height: 3.25rem; align-items: center; justify-content: center; }
.igne-entry-field-error { margin: .6rem 0 0; color: #9b2d22; font-size: .82rem; font-weight: 700; line-height: 1.5; }
.igne-entry-field [aria-invalid="true"], .igne-entry-fieldset[aria-invalid="true"] .igne-entry-options span { border-color: #9b2d22; }
.igne-entry-submit { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid rgba(8,8,8,.25); }
.igne-entry-submit > p { margin: 0; font-size: .9rem; }
.igne-entry-submit .igne-entry-privacy { margin-top: .55rem; color: rgba(8,8,8,.62); font-size: .78rem; line-height: 1.7; }
.igne-entry-submit button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-width: min(100%, 20rem); min-height: 4rem; margin-top: 2rem; padding: 1rem 1.5rem; border: 1px solid var(--igne-black); border-radius: 99rem; background: var(--igne-black); color: var(--igne-white); font: inherit; font-size: 1rem; font-weight: 800; letter-spacing: .06em; cursor: pointer; transition: background .3s ease, color .3s ease; }
.igne-entry-submit button:hover, .igne-entry-submit button:focus-visible { background: var(--igne-accent); color: var(--igne-black); }
.igne-entry-submit button:disabled { cursor: wait; opacity: .62; }
.igne-line-cta { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(1.75rem, 4vw, 2.75rem); border-top: 1px solid rgba(8,8,8,.28); }
.igne-line-cta p { margin: 0 0 1.25rem; color: rgba(8,8,8,.7); font-size: .86rem; line-height: 1.75; }
.igne-line-cta a { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: center; padding: .85rem 1.35rem; border: 1px solid var(--igne-black); border-radius: 99rem; color: var(--igne-black); font-size: .82rem; font-weight: 800; letter-spacing: .045em; text-decoration: none; transition: background .3s ease, color .3s ease; }
.igne-line-cta a:hover, .igne-line-cta a:focus-visible { background: var(--igne-black); color: var(--igne-white); }
.igne-entry-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.igne-entry-errors { margin-bottom: 1.5rem; padding: 1.25rem 1.5rem; border: 1px solid var(--igne-black); border-radius: var(--igne-radius); background: var(--igne-black); color: var(--igne-white); }
.igne-entry-errors p { margin: 0 0 .5rem; font-weight: 800; }
.igne-entry-errors ul { margin: 0; padding-left: 1.25rem; }
.igne-entry-complete { display: grid; min-height: 100svh; place-items: center; padding: clamp(9rem, 15vw, 13rem) 0 clamp(5rem, 9vw, 8rem); background: var(--igne-black); }
.igne-entry-complete > .igne-entry-shell > p:not(.igne-entry-eyebrow) { margin: clamp(2.5rem, 6vw, 5rem) 0 0; color: var(--igne-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.9; }
.igne-entry-home { display: inline-flex; align-items: center; gap: .75rem; margin-top: 2.5rem; padding-bottom: .4rem; border-bottom: 1px solid currentColor; color: var(--igne-white); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.igne-entry-complete-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.igne-button .wp-block-button__link {
	min-width: 13rem;
	padding: 1rem 1.4rem;
	border: 1px solid currentColor;
	border-radius: 99rem;
	background: transparent;
	color: inherit;
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .06em;
	transition: background var(--igne-transition), color var(--igne-transition), transform var(--igne-transition);
}
.igne-button .wp-block-button__link:hover { background: var(--igne-white); color: var(--igne-black); transform: translateY(-2px); }
.igne-section--accent .igne-button .wp-block-button__link:hover { background: var(--igne-black); color: var(--igne-white); }
.igne-store-card .igne-store-card__links .wp-block-button__link:hover { border-color: var(--igne-accent); background: rgba(245,197,24,.08); color: var(--igne-accent); }

.igne-company-table { width: 100%; border-collapse: collapse; }
.igne-company-table tr { border-top: 1px solid var(--igne-border); }
.igne-company-table th, .igne-company-table td { padding: 1.25rem 0; border: 0; text-align: left; vertical-align: top; }
.igne-company-table th { width: 32%; color: var(--igne-muted); font-size: .75rem; font-weight: 600; }
.igne-company-table td { font-size: .92rem; line-height: 1.8; }
.igne-company-table a { color: inherit; }

.igne-contact-link { display: inline-block; color: inherit; font-size: clamp(1.6rem, 5vw, 4rem); font-weight: 750; letter-spacing: -.04em; text-decoration: none; border-bottom: 2px solid currentColor; }
.igne-contact-link:hover { opacity: .65; }
.igne-contact-intro { max-width: 42rem; margin: clamp(2rem, 5vw, 4rem) 0; color: var(--igne-muted); font-size: clamp(1rem, 1.7vw, 1.25rem); line-height: 1.9; }
.igne-contact-tags { gap: .6rem !important; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.igne-contact-tags p { margin: 0; padding: .55rem .9rem; border: 1px solid var(--igne-border); border-radius: 99rem; color: var(--igne-muted); font-size: .65rem; font-weight: 750; letter-spacing: .1em; }
.igne-contact-note { color: var(--igne-muted); font-size: .75rem; }
.igne-site-footer { padding: 3rem clamp(1.25rem, 6vw, 6rem) !important; background: var(--igne-black); border-top: 1px solid var(--igne-border); }
.igne-site-footer a { color: inherit; text-decoration: none; }
.igne-footer-mark { font-size: clamp(2rem, 5vw, 4rem) !important; font-weight: 800; letter-spacing: -.06em; }
.igne-footer-small { color: var(--igne-muted); font-size: .68rem; letter-spacing: .08em; }

.igne-reveal { opacity: 1; transform: none; }
.js .igne-reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.js .igne-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 781px) {
	.igne-site-header { padding: 1rem 1.25rem; }
	.igne-hero { min-height: 100svh !important; padding-bottom: 2.25rem !important; }
	.igne-hero .wp-block-cover__image-background { object-position: 56% center; }
	.igne-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.22) 34%, rgba(0,0,0,.94) 79%) !important; }
	.igne-hero .wp-block-cover__inner-container { width: 100%; }
	.igne-display { max-width: 100%; font-size: clamp(2rem, 10vw, 4.5rem) !important; line-height: 1; white-space: nowrap; }
	.igne-hero-copy { margin-left: 0; padding-left: 0; }
	.igne-hero-brand { font-size: clamp(1.05rem, 5vw, 1.35rem); line-height: 1.4; }
	.igne-hero-statement { max-width: 25rem; font-size: .82rem; }
	.igne-scroll-cue { margin-top: 1.5rem; }
	.igne-brand-logo--header img { width: 52px !important; }
	.igne-section-title br { display: initial; }
	.igne-store-grid { flex-direction: column; }
	.igne-store-card { min-height: 33rem; }
	.igne-about-copy { padding-top: 2rem; }
	.igne-enrich-message { margin: 2rem 0; }
	.igne-about-intro, .igne-about-detail { flex-direction: column; }
	.igne-about-intro { gap: 0 !important; }
	#about.igne-section { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
	#shops.igne-section { padding-top: 3.5rem !important; }
	.igne-about-statement { padding-top: 2rem; }
	.igne-about-statement__lead { font-size: clamp(1.3rem, 6vw, 1.7rem); }
	.igne-about-statement__body { margin: 1.35rem 0; line-height: 1.85; }
	.igne-about-statement__body br, .igne-about-statement__closing br { display: none; }
	.igne-about-detail { gap: 1rem !important; margin-top: 2.75rem; }
	.igne-about-detail > .wp-block-column { flex-basis: auto !important; }
	.igne-about-visual img { min-height: 0; aspect-ratio: 4 / 3; object-position: center 48%; }
	.igne-about-enrich { min-height: 22rem; }
	.igne-brand-concept { max-width: 30rem; }
	.igne-value { display: block !important; }
	.igne-value__copy { margin-top: 1rem; }
	.igne-recruit-values { margin-top: 4rem; padding: 2rem 1.25rem; }
	.igne-recruit-values__lead { font-size: clamp(2.1rem, 11vw, 3.5rem) !important; }
	.igne-recruit-values__intro { margin-top: 2.5rem; }
	.igne-recruit-value-list { margin-top: 3.5rem; }
	.igne-recruit-value { display: block; padding: 2.75rem 0; }
	.igne-recruit-value h4 { max-width: none; font-size: clamp(2rem, 10vw, 3.25rem); }
	.igne-recruit-value > div { margin-top: 2rem; }
	.igne-recruit-challenge { padding: 2.5rem 1.25rem; }
	.igne-recruit-challenge__title { font-size: clamp(2.05rem, 9vw, 3.2rem) !important; }
	.igne-recruit-challenge__body { flex-direction: column; }
	.igne-recruit-links { flex-direction: column; }
	.igne-recruit-link { flex-basis: auto !important; }
	.igne-recruit-values__link a { width: 100%; padding-inline: .9rem; font-size: .72rem; }
	#recruit .igne-recruit-values { padding-bottom: 1.5rem; }
	#recruit .igne-recruit-values__link { margin-top: 1.5rem; padding-inline: 1rem; }
	#recruit .igne-recruit-values__link a {
		box-sizing: border-box;
		min-height: 40px;
		padding: .55rem .75rem;
		border-radius: .6rem;
	}
	.igne-values-page-shell { width: min(calc(100% - 2rem), 1280px); }
	.igne-values-page-hero { padding-top: 8.5rem; }
	.igne-values-page-hero h1 { max-width: none; font-size: clamp(2.35rem, 10.8vw, 3.25rem); line-height: 1.04; }
	.igne-values-page-intro { margin-top: 3rem; }
	.igne-values-page-list-section .igne-recruit-value h2 { max-width: none; font-size: clamp(1.9rem, 8.8vw, 2.8rem); line-height: 1.1; }
	.igne-values-page-challenge .igne-recruit-challenge__body,
	.igne-values-page-process__grid { grid-template-columns: 1fr; }
	.igne-values-page-process__grid h2 { max-width: none; font-size: clamp(2.05rem, 9vw, 3.2rem); line-height: 1.1; }
	.igne-values-page-back { text-align: left; }
	.igne-entry-shell { width: min(calc(100% - 2rem), 1120px); }
	.igne-entry-hero { padding-top: 8.5rem; }
	.igne-entry-hero h1, .igne-entry-complete h1 { max-width: none; font-size: clamp(2.7rem, 12vw, 4rem); line-height: 1.02; }
	.igne-entry-intro { margin-top: 2.5rem; }
	.igne-entry-form-section { padding: 2.5rem 0; }
	.igne-entry-form { padding: 1.5rem 1rem; }
	.igne-entry-form-grid { grid-template-columns: 1fr; gap: 1.75rem; }
	.igne-entry-form-grid .igne-entry-field { margin-bottom: 0; }
	.igne-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.igne-entry-options--shops { grid-template-columns: 1fr; }
	.igne-entry-options span { min-width: 0; padding-inline: .65rem; }
	.igne-entry-submit button { width: 100%; }
	.igne-line-cta a { width: 100%; box-sizing: border-box; }
	.igne-entry-complete { min-height: 100svh; padding-top: 8.5rem; }
	.igne-company-table th, .igne-company-table td { display: block; width: 100%; padding-bottom: .25rem; }
	.igne-company-table td { padding-top: 0; padding-bottom: 1.25rem; }
	.igne-contact-link { font-size: clamp(1.25rem, 7vw, 2rem); word-break: break-all; }
}
@media (min-width: 782px) and (max-width: 1100px) {
	.igne-store-grid { flex-wrap: wrap !important; }
	.igne-store-grid > .wp-block-column { flex-basis: calc(50% - 1.25rem) !important; }
	.igne-store-grid > .wp-block-column:last-child { flex-basis: 100% !important; }
}
@media (min-width: 782px) and (max-width: 960px) {
	.igne-values-page-list-section .igne-recruit-value,
	.igne-values-page-challenge .igne-recruit-challenge__body,
	.igne-values-page-process__grid { grid-template-columns: 1fr; }
	.igne-values-page-list-section .igne-recruit-value > div { margin-top: 2rem; }
	.igne-values-page-list-section .igne-recruit-value h2,
	.igne-values-page-process__grid h2 { max-width: 14ch; }
}
@media (min-width: 961px) {
	.igne-values-page-list-section .igne-recruit-value { padding-top: clamp(2rem, 4.4vw, 4rem); padding-bottom: clamp(2rem, 4.4vw, 4rem); }
	.igne-values-page-process { padding-top: clamp(4rem, 7.9vw, 7rem); padding-bottom: clamp(4rem, 7.9vw, 7rem); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
	.js .igne-reveal { opacity: 1; transform: none; }
}

/* Only the mobile overlay changes; desktop navigation retains its existing layout. */
@media (max-width: 599px) {
 .igne-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
 }
 .igne-site-header .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: max(1.5rem, env(safe-area-inset-top)) 1.5rem max(1.5rem, env(safe-area-inset-bottom));
 }
 .igne-site-header .is-menu-open .wp-block-navigation-item__content {
  min-height: 44px;
  display: flex;
  align-items: center;
 }
 .igne-main > [id] { scroll-margin-top: 6rem; }
}

/* Selected shop photography: equal prominence and no text over key subjects. */
.igne-hero.igne-hero--three-shops { display: block; min-height: 0 !important; padding: 6.5rem 0 0 !important; background: var(--igne-black); }
.igne-hero-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
.igne-hero-photos figure, .igne-about-photos figure, .igne-store-main, .igne-store-photos figure { margin: 0; overflow: hidden; }
.igne-hero-photos img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.igne-hero-message { position: relative; padding: 2.5rem clamp(1.25rem, 6vw, 6rem) 3rem; }
.igne-about-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: center; height: 100%; }
.igne-about-photos figure { border-radius: .75rem; }
.igne-about-photos img { width: 100%; height: auto; }
.igne-store-card.igne-store-card--photo { min-height: 0; height: 100%; display: flex; flex-direction: column; padding: 0; }
.igne-store-main { flex-shrink: 0; }
.igne-store-main img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.igne-store-card--photo .igne-store-card__content { padding: 1.5rem; }
.igne-store-card--photo .igne-store-card__title { font-size: clamp(1.8rem, 2.5vw, 2.5rem) !important; }
.igne-store-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .65rem; margin-top: auto; padding: 0 1.5rem 1.5rem; }
.igne-store-photos figure { border-radius: .5rem; }
.igne-store-photos img { width: 100%; height: auto; }
@media (max-width: 781px) {
 .igne-hero.igne-hero--three-shops { padding-top: 5.5rem !important; }
 .igne-hero-photos { grid-template-columns: 1fr; }
 .igne-hero-photos img { aspect-ratio: 16 / 9; }
 .igne-hero-photos figure:nth-child(1) img { object-position: 50% 58%; }
 .igne-hero-photos figure:nth-child(2) img { object-position: 50% 55%; }
 .igne-hero-photos figure:nth-child(3) img { object-position: 50% 58%; }
 .igne-hero-message { padding-top: 2rem; }
 .igne-about-photos { gap: .4rem; }
 .igne-store-card--photo .igne-store-card__title { font-size: 1.9rem !important; }
}
/* Keep the three main photos equal at tablet widths too. */
.igne-store-grid:has(.igne-store-card--photo) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.igne-store-grid:has(.igne-store-card--photo) > .wp-block-column { min-width: 0; }
@media (max-width: 781px) {
 .igne-store-grid:has(.igne-store-card--photo) { grid-template-columns: 1fr; }
}

/* Privacy policy page and links. */
.igne-privacy-main { overflow: hidden; }
.igne-privacy-hero { padding: clamp(9rem, 15vw, 13rem) 0 clamp(3.5rem, 7vw, 6rem); }
.igne-privacy-hero h1 { max-width: 13ch; margin: 0; font-size: clamp(3rem, 7vw, 7rem); font-weight: 800; letter-spacing: -.07em; line-height: 1; }
.igne-privacy-content { padding: 0 0 clamp(5rem, 10vw, 9rem); }
.igne-privacy-content__inner { max-width: 52rem; margin-left: auto; }
.igne-privacy-content section { padding: 2rem 0; border-top: 1px solid var(--igne-border); }
.igne-privacy-content h2 { margin: 0 0 1rem; font-size: clamp(1.2rem, 2vw, 1.55rem); }
.igne-privacy-content p, .igne-privacy-content li { color: var(--igne-muted); line-height: 1.85; }
.igne-privacy-content ul { padding-left: 1.25rem; }
.igne-privacy-content a { color: var(--igne-white); }

.igne-entry-submit .igne-entry-privacy a { color: inherit; text-decoration: underline; }
.igne-site-footer .igne-footer-small a { color: inherit; text-decoration: underline; }

/* Reserve the WordPress toolbar height only for signed-in users. */
body.admin-bar { --igne-adminbar-offset: 32px; }
body.admin-bar .igne-site-header { top: var(--igne-adminbar-offset); }
@media (max-width: 782px) {
 body.admin-bar { --igne-adminbar-offset: 46px; }
}
@media (max-width: 599px) {
 body.admin-bar .igne-site-header .wp-block-navigation__responsive-container.is-menu-open {
  padding-top: calc(max(1.5rem, env(safe-area-inset-top)) + var(--igne-adminbar-offset));
 }
}