/* ==========================================================
   Advocate Moksh Jain — Design Tokens
   Ink ledger / brass-seal identity for a Mumbai law practice
   ========================================================== */
:root{
	--ink: #0B1E3D;
	--ink-soft: #14335F;
	--parchment: #EDE6D6;
	--parchment-deep: #E3DAC4;
	--brass: #2C5FA8;
	--brass-light: #4A7FCB;
	--seal: #0E2A54;
	--slate: #2C3A4E;
	--slate-soft: #667486;
	--line: #D9CFB8;
	--white: #FFFFFF;
	--gold: #C9A24B;
	--gold-light: #E8CE8C;
	--gold-deep: #8F6C24;

	--font-display: 'Fraunces', 'Georgia', serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-mono: 'IBM Plex Mono', monospace;

	--container: 1180px;
	--radius: 4px;
	--shadow-card: 0 18px 40px -22px rgba(22,33,28,0.35);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
	margin:0;
	font-family: var(--font-body);
	color: var(--slate);
	background: var(--parchment);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family: var(--font-display); color: var(--ink); margin:0 0 .5em; font-weight:600; letter-spacing: -0.01em; }
p{ margin:0 0 1em; }
.container{ max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.screen-reader-text{ position:absolute; left:-9999px; }
.skip-link:focus{ position:fixed; top:8px; left:8px; background:var(--ink); color:var(--parchment); padding:10px 16px; z-index:9999; border-radius: var(--radius); }

:focus-visible{ outline: 2px solid var(--brass); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior:auto !important; }
}

/* Eyebrow / section label — uses statute "§" marker deliberately,
   echoing indexed sections of a legal code. */
.eyebrow{
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brass);
	margin: 0 0 14px;
}
.eyebrow--light{ color: var(--brass-light); }

/* Buttons */
.btn{
	display:inline-flex; align-items:center; gap:8px;
	padding: 14px 26px;
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-weight:600; font-size:14.5px;
	letter-spacing: 0.01em;
	border: 1px solid transparent;
	cursor:pointer;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.btn svg{ width:16px; height:16px; }
.btn--brass{ background: var(--brass); color: var(--white); }
.btn--brass:hover{ background: var(--brass-light); transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(169,129,47,0.55); }
.btn--ghost{ background: transparent; color: var(--parchment); border-color: rgba(237,230,214,0.45); }
.btn--ghost:hover{ background: rgba(237,230,214,0.12); transform: translateY(-2px); }
.btn--outline{ background: transparent; color: var(--ink); border-color: var(--ink); }
.btn--outline:hover{ background: var(--ink); color: var(--parchment); transform: translateY(-2px); }

/* ==========================================================
   Header
   ========================================================== */
.amj-header{
	position: sticky; top:0; z-index: 100;
	background: rgba(237,230,214,0.92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--line);
	transition: box-shadow .25s ease;
}
.amj-header.is-scrolled{ box-shadow: 0 10px 26px -20px rgba(11,30,61,0.45); }
.amj-header__inner{ display:flex; align-items:center; justify-content:space-between; padding: 14px 24px; gap: 20px; }
.amj-brand{ display:flex; align-items:center; gap:12px; }
.amj-brand__seal{ width:44px; height:44px; color: var(--ink); flex:none; }
.amj-brand__seal svg{ width:100%; height:100%; }
.amj-brand__text{ display:flex; flex-direction:column; line-height:1.15; }
.amj-brand__text strong{ font-family: var(--font-display); font-size: 18px; color: var(--ink); font-weight:600; }
.amj-brand__text em{ font-style:normal; font-family: var(--font-mono); font-size: 10.5px; letter-spacing:.1em; text-transform:uppercase; color: var(--slate-soft); }

.amj-nav__list{ display:flex; gap: 30px; }
.amj-nav__list a{ font-size:14.5px; font-weight:600; color: var(--slate); position:relative; padding: 4px 0; }
.amj-nav__list a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background: var(--brass); transition: width .25s ease; }
.amj-nav__list a:hover::after, .amj-nav__list a:focus::after{ width:100%; }

.amj-header__actions{ display:flex; align-items:center; gap: 16px; }
.amj-header__cta{ padding: 10px 20px; font-size:13.5px; }
.amj-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:none; cursor:pointer; }
.amj-burger span{ display:block; width:22px; height:2px; background: var(--ink); transition: transform .25s ease, opacity .25s ease; }

/* ==========================================================
   Hero
   ========================================================== */
.hero{ position:relative; overflow:hidden; background: var(--ink); color: var(--parchment); }
.hero__bg{
	position:absolute; inset:0;
	background:
		radial-gradient(1100px 500px at 85% -10%, rgba(169,129,47,0.28), transparent 60%),
		repeating-linear-gradient(115deg, rgba(237,230,214,0.03) 0px, rgba(237,230,214,0.03) 1px, transparent 1px, transparent 64px);
}
.hero__inner{ position:relative; padding: 128px 24px 110px; max-width: 760px; }
.hero__tagline{
	display:inline-flex; align-items:center; gap:8px;
	font-family: var(--font-mono); font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
	color: var(--ink);
	background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
	padding: 6px 16px; border-radius:999px; margin-bottom:18px;
	animation: amj-rise .8s ease .04s both;
}
.hero__title{
	font-size: clamp(38px, 6vw, 64px);
	color: var(--parchment);
	line-height: 1.06;
	margin-bottom: 22px;
	animation: amj-rise .8s ease both;
}
.hero__sub{ font-size: 17px; color: rgba(237,230,214,0.78); max-width: 520px; margin-bottom: 36px; animation: amj-rise .8s ease .1s both; }
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; animation: amj-rise .8s ease .2s both; }
.hero__seal{
	position:absolute; right: -40px; bottom: -60px; width: 320px; height:320px;
	color: rgba(237,230,214,0.06);
	transform: rotate(-8deg);
	pointer-events:none;
}
.hero__seal svg{ width:100%; height:100%; }

@keyframes amj-rise{ from{ opacity:0; transform: translateY(18px);} to{ opacity:1; transform:none; } }

/* ==========================================================
   Brand marquee slider
   ========================================================== */
.brandstrip{
	position:relative; overflow:hidden;
	background: linear-gradient(120deg, var(--ink) 0%, var(--ink-soft) 100%);
	padding: 48px 0 44px;
	box-shadow: 0 18px 40px -22px rgba(11,30,61,0.55);
}
.brandstrip::before{
	content:""; position:absolute; inset:0;
	background: radial-gradient(900px 260px at 12% 0%, rgba(201,162,75,0.14), transparent 65%);
	pointer-events:none;
}
.brandstrip::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
	background: linear-gradient(90deg, transparent, rgba(201,162,75,0.4), transparent);
	pointer-events:none;
}
.brandstrip__head{ position:relative; margin-bottom: 22px; }
.brandstrip__head .eyebrow{ color: var(--gold-light); }
.brandstrip__track-wrap{ position:relative; overflow:hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.brandstrip__track{ display:flex; align-items:center; gap: 56px; width: max-content; animation: amj-marquee 32s linear infinite; }
.brandstrip__track:hover{ animation-play-state: paused; }
@keyframes amj-marquee{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }
.brand-chip{
	display:flex; align-items:center; gap:14px; flex:none;
	padding: 10px 20px 10px 10px;
	border: 1px solid rgba(201,162,75,0.18);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(237,230,214,0.05), rgba(237,230,214,0.015));
	opacity:.85; transition: opacity .3s ease, transform .3s ease, border-color .3s ease, background .3s ease;
}
.brand-chip:hover{
	opacity:1; transform: translateY(-2px);
	border-color: rgba(201,162,75,0.4);
	background: linear-gradient(180deg, rgba(237,230,214,0.08), rgba(237,230,214,0.02));
}
.brand-chip__mark{
	width:40px; height:40px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background: transparent;
	border: 1.4px solid var(--gold);
	color: var(--gold-light);
	box-shadow: 0 0 0 3px rgba(201,162,75,0.08);
	font-family: var(--font-display); font-weight:600; font-size:15px;
	transition: background .3s ease, color .3s ease;
}
.brand-chip:hover .brand-chip__mark{
	background: linear-gradient(135deg, var(--gold-light), var(--gold));
	color: var(--ink);
}
.brand-chip__name{ font-family: var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase; color: rgba(237,230,214,0.82); font-weight:500; white-space:nowrap; }

/* ==========================================================
   Sections
   ========================================================== */
.section{ padding: 96px 0; }
.section--tight{ padding: 0 0 96px; }
.section__head{ max-width: 620px; margin-bottom: 48px; }
.section__head h2{ font-size: clamp(26px, 3.4vw, 36px); }
.section__cta{ text-align:center; margin-top: 44px; }

.page-hero{ background: var(--ink-soft); color: var(--parchment); padding: 84px 0 64px; }
.page-hero h1{ color: var(--parchment); font-size: clamp(32px, 5vw, 48px); }
.page-hero__sub{ max-width: 560px; color: rgba(237,230,214,0.78); font-size:16px; margin:0; }
.content-narrow{ max-width: 760px; }
.content-narrow h3{ font-size: 19px; margin-top: 38px; }
.content-narrow p{ font-size: 15px; color: var(--slate); }
.content-narrow ul{ display:grid; gap:10px; margin: 0 0 1em; }
.content-narrow ul li{ font-size:15px; color: var(--slate); padding-left:18px; position:relative; }
.content-narrow ul li::before{ content:"—"; position:absolute; left:0; color: var(--brass); }
.content-narrow ul li a{ color: var(--brass); font-weight:600; }
.content-narrow ul li a:hover{ text-decoration: underline; }
.content-narrow__contact li{ padding-left:0; }
.content-narrow__contact li::before{ content:none; }
.content-narrow__contact li{ color: var(--slate); }
.content-narrow__contact svg{ color: var(--brass); }
.content-narrow__contact a{ color: var(--brass); font-weight:600; }

/* ==========================================================
   Service cards
   ========================================================== */
.service-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.service-grid--preview{ grid-template-columns: repeat(3, 1fr); }

.service-card{
	position:relative;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 32px 28px 30px;
	opacity:0; transform: translateY(16px);
	animation: amj-rise .6s ease forwards;
	animation-delay: var(--d, 0s);
	animation-play-state: paused;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.service-card.is-visible{ animation-play-state: running; }
.service-card:hover, .service-card:focus{
	transform: translateY(-6px);
	box-shadow: var(--shadow-card);
	border-color: var(--brass);
}
.service-card__index{ display:block; font-family: var(--font-mono); font-size:12px; color: var(--brass); letter-spacing: .08em; margin-bottom: 18px; }
.service-card__icon{ display:inline-flex; width:40px; height:40px; color: var(--ink); margin-bottom: 18px; transition: transform .35s ease, color .35s ease; }
.service-card__icon svg{ width:100%; height:100%; }
.service-card:hover .service-card__icon{ transform: rotate(-6deg) scale(1.08); color: var(--brass); }
.service-card h3{ font-size: 19px; margin-bottom: 10px; }
.service-card p{ font-size: 14.5px; color: var(--slate-soft); margin:0; }

.service-card--corporate{ background: var(--ink); border-color: var(--ink); }
.service-card--corporate h3, .service-card--corporate .service-card__index{ color: var(--parchment); }
.service-card--corporate .service-card__icon{ color: var(--brass-light); }
.service-card--corporate p{ color: rgba(237,230,214,0.72); }
.service-card--corporate:hover{ border-color: var(--brass); }
.service-card__sublist{ margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(237,230,214,0.18); display:grid; gap:9px; }
.service-card__sublist li{ font-size: 13.5px; color: rgba(237,230,214,0.85); padding-left: 16px; position:relative; }
.service-card__sublist li::before{ content:"—"; position:absolute; left:0; color: var(--brass-light); }

/* ==========================================================
   Team — homepage horizontal scroller + team page grid
   ========================================================== */
.team-scroller-wrap{ position:relative; }
.team-scroller{
	display:flex; gap:24px;
	overflow-x:auto; scroll-snap-type:x mandatory;
	padding: 6px 6px 18px;
	scrollbar-width: none;
}
.team-scroller::-webkit-scrollbar{ display:none; }
.team-card{
	flex: 0 0 calc((100% - 48px)/3);
	scroll-snap-align: start;
	background: var(--white);
	border:1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px 22px 26px;
	text-align:center;
	transition: transform .3s ease, box-shadow .3s ease;
}
.team-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-card); }
.team-card__photo{ width:100%; aspect-ratio: 4/5; overflow:hidden; border-radius: var(--radius); margin-bottom:18px; background: var(--parchment-deep); }
.team-card__photo img{ width:100%; height:100%; object-fit:cover; object-position: top center; }
.team-card h3{ font-size:17px; margin-bottom:4px; }
.team-card__qual{ font-family: var(--font-mono); font-size:11.5px; letter-spacing:.08em; color: var(--brass); text-transform:uppercase; margin-bottom:8px; }
.team-card__role{ font-size:13.5px; color: var(--slate-soft); margin:0; }

.scroll-btn{
	position:absolute; top:50%; transform: translateY(-50%);
	width:42px; height:42px; border-radius:50%;
	background: var(--white); border:1px solid var(--line); color: var(--ink);
	display:flex; align-items:center; justify-content:center; cursor:pointer;
	z-index:5; transition: background .25s ease, color .25s ease;
}
.scroll-btn svg{ width:18px; height:18px; }
.scroll-btn--left{ left:-6px; transform: translateY(-50%) rotate(180deg); }
.scroll-btn--right{ right:-6px; }
.scroll-btn:hover{ background: var(--ink); color: var(--parchment); }

.team-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:28px; }
.team-card--page{ opacity:0; transform: translateY(16px); animation: amj-rise .6s ease forwards; animation-delay: var(--d,0s); animation-play-state: paused; }
.team-card--page.is-visible{ animation-play-state: running; }

/* ==========================================================
   Swipeable Forums & Tribunals section (homepage)
   ========================================================== */
.swiper-head{ max-width: 620px; margin-bottom: 36px; }
.swiper-head h2{ font-size: clamp(24px, 3.2vw, 32px); }

.swiper-wrap{ position:relative; }
.swiper-track{
	display:flex;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	border-radius: var(--radius);
	box-shadow: var(--shadow-card);
}
.swiper-track::-webkit-scrollbar{ display:none; }

.swiper-slide{
	flex: 0 0 100%;
	scroll-snap-align: start;
	position:relative;
	padding: 56px 60px;
	min-height: 420px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.swiper-slide--intro{
	background: linear-gradient(125deg, var(--ink) 0%, var(--seal) 100%);
	color: var(--parchment);
	overflow:hidden;
}
.swiper-slide--intro h3{ color: var(--parchment); font-size: clamp(24px, 3vw, 34px); max-width: 620px; margin-bottom:18px; }
.swiper-slide__copy{ max-width: 560px; color: rgba(237,230,214,0.78); font-size:15.5px; margin-bottom: 30px; }
.swiper-slide__seal{
	position:absolute; right:-30px; top:-30px; width:240px; height:240px;
	color: rgba(237,230,214,0.07); transform: rotate(8deg); pointer-events:none;
}
.swiper-slide__seal svg{ width:100%; height:100%; }
.swiper-slide__page{
	font-family: var(--font-mono); font-size:12px; letter-spacing:.14em;
	color: var(--gold-light); margin-bottom: 20px; display:inline-block;
}
.swiper-slide__page--dark{ color: var(--brass); }
.swiper-slide__stats{ display:flex; gap: 36px; flex-wrap:wrap; margin-bottom: 30px; }
.swiper-slide__stats strong{ display:block; font-family: var(--font-display); font-size: 26px; color: var(--parchment); }
.swiper-slide__stats span{ font-family: var(--font-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color: rgba(237,230,214,0.62); }
.swiper-slide__next{ width: fit-content; }

.swiper-slide--tribunals{ background: var(--white); }
.swiper-slide--tribunals h3{ font-size: clamp(22px, 3vw, 30px); margin-bottom: 26px; }
.tribunal-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tribunal-card{
	background: var(--parchment);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px 20px;
	opacity:0; transform: translateY(14px);
	animation: amj-rise .55s ease forwards;
	animation-delay: var(--d, 0s);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.tribunal-card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-card); border-color: var(--brass); }
.tribunal-card__code{
	display:inline-block; font-family: var(--font-mono); font-size:12px; letter-spacing:.08em;
	color: var(--brass); border: 1px solid rgba(44,95,168,0.3); border-radius: 999px;
	padding: 3px 12px; margin-bottom: 14px;
}
.tribunal-card h4{ font-size:16px; margin-bottom:8px; }
.tribunal-card p{ font-size:13.5px; color: var(--slate-soft); margin:0; }

.swiper-arrow{
	position:absolute; top:50%; transform: translateY(-50%);
	width:44px; height:44px; border-radius:50%;
	background: var(--white); border:1px solid var(--line); color: var(--ink);
	display:flex; align-items:center; justify-content:center; cursor:pointer;
	z-index:6; transition: background .25s ease, color .25s ease, opacity .2s ease;
	box-shadow: 0 10px 22px -12px rgba(11,30,61,0.4);
}
.swiper-arrow svg{ width:18px; height:18px; }
.swiper-arrow--left{ left: -20px; transform: translateY(-50%) rotate(180deg); }
.swiper-arrow--right{ right: -20px; }
.swiper-arrow:hover{ background: var(--brass); color: var(--white); }
.swiper-arrow:disabled{ opacity:.35; cursor:default; }
.swiper-arrow:disabled:hover{ background: var(--white); color: var(--ink); }

.swiper-dots{ display:flex; justify-content:center; gap:10px; margin-top: 22px; }
.swiper-dot{ width:9px; height:9px; border-radius:50%; background: var(--line); border:none; padding:0; cursor:pointer; transition: background .25s ease, transform .25s ease; }
.swiper-dot.is-active{ background: var(--brass); transform: scale(1.25); }

/* ==========================================================
   Disclaimer overlay (Bar Council of India compliance gate)
   ========================================================== */
body.amj-lock-scroll{ overflow:hidden; }
.amj-disclaimer{
	position:fixed; inset:0; z-index: 10000;
	background: rgba(11,30,61,0.96);
	display:flex; align-items:center; justify-content:center;
	padding: 32px 20px;
	overflow-y:auto;
}
.amj-disclaimer.is-hidden{ display:none; }
.amj-disclaimer__panel{
	background: var(--parchment);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	max-width: 640px; width:100%;
	padding: 44px 40px 38px;
	box-shadow: 0 30px 70px -20px rgba(0,0,0,0.55);
	animation: amj-rise .5s ease both;
}
.amj-disclaimer__seal{ width:38px; height:38px; max-width:38px; max-height:38px; color: var(--ink); margin-bottom:14px; overflow:hidden; }
.amj-disclaimer__seal svg{ display:block; width:100%; height:100%; }
.amj-disclaimer__panel h2{ font-size: clamp(24px, 3.4vw, 30px); margin-bottom: 16px; }
.amj-disclaimer__intro{ font-size:14.5px; color: var(--slate); margin-bottom: 20px; }
.amj-disclaimer__list{ display:grid; gap: 14px; margin-bottom: 28px; }
.amj-disclaimer__list li{ display:flex; gap:12px; font-size:13.5px; color: var(--slate-soft); line-height:1.55; }
.amj-disclaimer__list li::before{ content:"§"; flex:none; font-family: var(--font-mono); color: var(--brass); font-weight:600; }
.amj-disclaimer__actions{ display:flex; gap:16px; flex-wrap:wrap; }
.amj-disclaimer__note{ margin-top:18px; font-size:12px; color: var(--slate-soft); font-family: var(--font-mono); }

.amj-disclaimer--denied .amj-disclaimer__panel{ text-align:center; }
.amj-disclaimer__denied-icon{ width:44px; height:44px; margin: 0 auto 18px; color: var(--brass); }
.amj-disclaimer__denied-icon svg{ width:100%; height:100%; }

/* ==========================================================
   CTA strip
   ========================================================== */
.cta-strip{ background: linear-gradient(120deg, var(--seal) 0%, var(--ink) 100%); color: var(--parchment); }
.cta-strip__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding: 56px 24px; }
.cta-strip h2{ color: var(--parchment); font-size: clamp(22px, 3vw, 30px); margin:0; max-width: 480px; }

/* ==========================================================
   Forms
   ========================================================== */
.form-layout{ display:grid; grid-template-columns: 1.5fr 1fr; gap: 48px; align-items:start; }
.form-panel{ background: var(--white); border:1px solid var(--line); border-radius: var(--radius); padding: 36px; }
.form-status{ background: #eef4ea; border:1px solid #b9d4a6; color:#2f5222; padding:14px 18px; border-radius: var(--radius); margin-bottom:22px; font-size:14.5px; }
.form-row{ margin-bottom:20px; }
.form-row--split{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.amj-form label{ display:block; font-size:13px; font-weight:600; color: var(--ink); margin-bottom:7px; }
.amj-form input, .amj-form select, .amj-form textarea{
	width:100%; padding: 12px 14px; border:1px solid var(--line); border-radius: var(--radius);
	font-family: var(--font-body); font-size:14.5px; color: var(--slate); background: var(--parchment);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.amj-form input:focus, .amj-form select:focus, .amj-form textarea:focus{ border-color: var(--brass); box-shadow: 0 0 0 3px rgba(169,129,47,0.18); outline:none; }
.amj-form textarea{ resize: vertical; }

.form-aside{ background: var(--ink); color: var(--parchment); border-radius: var(--radius); padding: 32px; }
.form-aside__seal{ width:52px; height:52px; margin-bottom:20px; color: var(--brass-light); }
.form-aside__seal svg{ width:100%; height:100%; }
.form-aside h3{ color: var(--parchment); font-size:15px; margin: 20px 0 8px; }
.form-aside h3:first-of-type{ margin-top:0; }
.form-aside p{ color: rgba(237,230,214,0.75); font-size:14px; }
.amj-footer__contact li{ display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; font-size:13.5px; }
.amj-footer__contact svg{ width:16px; height:16px; flex:none; margin-top:2px; color: var(--brass-light); }
.amj-footer__contact a{ color: rgba(237,230,214,0.85); }
.amj-footer__contact a:hover{ color: var(--brass-light); }

.map-frame{ border-radius: var(--radius); overflow:hidden; border:1px solid var(--line); filter: grayscale(0.15) contrast(1.02); }

/* ==========================================================
   Footer
   ========================================================== */
.amj-footer{ background: var(--ink); color: rgba(237,230,214,0.85); padding-top: 64px; }
.amj-footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(237,230,214,0.12); }
.amj-footer__brand{ padding-right: 12px; }
.amj-footer__strap{ font-family: var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color: var(--gold-light); margin-bottom:10px; }
.amj-footer__tagline{ font-size:14px; line-height:1.6; color: rgba(237,230,214,0.65); max-width:280px; }
.amj-footer__col h4{ color: var(--parchment); font-size:14px; text-transform:uppercase; letter-spacing:.08em; font-family: var(--font-mono); margin-bottom:18px; }
.amj-footer__col ul li{ margin-bottom:11px; font-size:14px; }
.amj-footer__col a{ color: rgba(237,230,214,0.75); }
.amj-footer__col a:hover{ color: var(--brass-light); }
.amj-footer__bar{ display:flex; justify-content:space-between; padding: 22px 24px; font-size:12.5px; color: rgba(237,230,214,0.5); flex-wrap:wrap; gap:8px; }

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 980px){
	.service-grid, .service-grid--preview{ grid-template-columns: repeat(2,1fr); }
	.team-card{ flex: 0 0 calc((100% - 24px)/2); }
	.team-grid{ grid-template-columns: repeat(2,1fr); }
	.form-layout{ grid-template-columns: 1fr; }
	.amj-footer__grid{ grid-template-columns: 1fr 1fr; }
	.tribunal-grid{ grid-template-columns: repeat(2, 1fr); }
	.swiper-slide{ padding: 48px 44px; }
	.swiper-arrow--left{ left:10px; }
	.swiper-arrow--right{ right:10px; }
}

@media (max-width: 760px){
	.amj-nav{
		position:absolute; top:100%; left:0; right:0;
		background: var(--parchment); border-bottom:1px solid var(--line);
		max-height:0; overflow:hidden; transition: max-height .3s ease;
	}
	.amj-nav.is-open{ max-height: 400px; }
	.amj-nav__list{ flex-direction:column; padding: 10px 24px 22px; gap:4px; }
	.amj-nav__list a{ display:block; padding:12px 0; border-bottom:1px solid var(--line); }
	.amj-burger{ display:flex; }
	.amj-header__cta{ display:none; }

	.hero__inner{ padding: 92px 20px 76px; }
	.service-grid, .service-grid--preview{ grid-template-columns: 1fr; }
	.team-card{ flex: 0 0 82%; }
	.team-grid{ grid-template-columns: 1fr; }
	.amj-footer__grid{ grid-template-columns: 1fr; }
	.cta-strip__inner{ flex-direction:column; align-items:flex-start; }
	.form-row--split{ grid-template-columns: 1fr; }
	.section{ padding: 64px 0; }

	/* Swipeable tribunals section */
	.swiper-slide{ padding: 40px 24px; min-height: unset; }
	.swiper-slide__stats{ gap: 22px; }
	.tribunal-grid{ grid-template-columns: 1fr; }
	.swiper-arrow{ width:36px; height:36px; }
	.swiper-arrow--left{ left:6px; }
	.swiper-arrow--right{ right:6px; }
	.swiper-wrap{ margin: 0 -4px; }

	/* Disclaimer overlay */
	.amj-disclaimer{ padding: 20px 14px; }
	.amj-disclaimer__panel{ padding: 28px 20px 24px; }
	.amj-disclaimer__seal{ width:30px; height:30px; max-width:30px; max-height:30px; margin-bottom:12px; }
	.amj-disclaimer__panel h2{ margin-bottom:12px; }
	.amj-disclaimer__intro{ font-size:13.5px; }
	.amj-disclaimer__list{ gap:11px; margin-bottom:22px; }
	.amj-disclaimer__list li{ font-size:13px; }
	.amj-disclaimer__actions{ flex-direction:column; }
	.amj-disclaimer__actions .btn{ width:100%; justify-content:center; }
}
