/*
Theme Name: Luminolux — Stil i dizajn
Theme URI: https://luminolux.hr
Author: Luminolux
Description: Premium WordPress tema za LED ogledala po mjeri.
Version: 2.4.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: luminolux
*/

:root {
	--navy-950: #050e1c;
	--navy-900: #071426;
	--navy-800: #0c203b;
	--blue-600: #176cff;
	--blue-500: #2c86ff;
	--cyan-400: #63dcff;
	--ink: #081427;
	--muted: #607087;
	--line: #dfe6ef;
	--soft: #f4f7fb;
	--white: #ffffff;
	--radius-sm: 12px;
	--radius-md: 22px;
	--radius-lg: 34px;
	--shadow: 0 26px 70px rgba( 7, 20, 38, .12 );
	--shell: min( 1240px, calc( 100% - 48px ) );
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 108px; }
[id] { scroll-margin-top: 118px; }
body {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.05; letter-spacing: -.045em; }
h1 { font-size: clamp( 3.25rem, 7vw, 6.6rem ); font-weight: 650; }
h2 { font-size: clamp( 2.35rem, 4.6vw, 4.35rem ); font-weight: 650; }
h3 { font-size: 1.25rem; }
::selection { color: var(--white); background: var(--blue-600); }

.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: clamp( 84px, 11vw, 150px ); }
.section--soft { background: var(--soft); }
.section--navy { color: var(--white); background: var(--navy-950); overflow: hidden; }
.section--navy::before {
	content: "";
	position: absolute;
	width: 520px;
	height: 520px;
	border: 1px solid rgba( 99, 220, 255, .18 );
	border-radius: 50%;
	right: -250px;
	transform: translateY( -220px );
	box-shadow: 0 0 80px rgba( 23, 108, 255, .12 );
}
.section--navy { position: relative; }
.eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--blue-600);
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .15em;
	line-height: 1.4;
	text-transform: uppercase;
}
.eyebrow > span:first-child { width: 26px; height: 1px; background: currentColor; }
.section-heading { margin-bottom: 54px; }
.section-heading h2 { max-width: 800px; margin-bottom: 0; }
.section-heading--split { display: grid; grid-template-columns: minmax( 0, 1.4fr ) minmax( 280px, .6fr ); gap: 72px; align-items: end; }
.section-heading--split > p,
.section-heading--split > div:last-child > p { margin-bottom: 0; color: var(--muted); font-size: 1.05rem; }
.section-heading--light .eyebrow { color: var(--cyan-400); }
.section-heading--light > p { color: #aab7c9; }
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 12px 18px; background: var(--white); border: 2px solid var(--blue-600); }
.skip-link:focus { top: 16px; }

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 56px;
	padding: 0 24px;
	border: 1px solid var(--blue-600);
	border-radius: 999px;
	background: var(--blue-600);
	color: var(--white);
	font-size: .93rem;
	font-weight: 750;
	letter-spacing: -.01em;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY( -2px ); background: #075ae5; box-shadow: 0 12px 30px rgba( 23, 108, 255, .25 ); }
.button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba( 23, 108, 255, .34 ); outline-offset: 3px; }
.button--secondary { border-color: #c8d2df; color: var(--navy-900); background: transparent; }
.button--secondary:hover { border-color: var(--navy-900); background: var(--white); box-shadow: none; }
.button--small { min-height: 44px; padding-inline: 19px; font-size: .85rem; }
.button--full { width: 100%; }
.button--light { color: var(--navy-900); background: var(--white); border-color: var(--white); }
.button--light:hover { color: var(--navy-900); background: #eaf3ff; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 14px; color: var(--blue-600); font-weight: 750; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba( 255, 255, 255, .92 ); border-bottom: 1px solid rgba( 223, 230, 239, .72 ); backdrop-filter: blur( 18px ); transition: box-shadow .2s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 34px rgba( 7, 20, 38, .07 ); }
.topline { color: #d5e0ef; background: var(--navy-950); font-size: .72rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.topline__inner { display: flex; justify-content: space-between; align-items: center; min-height: 34px; }
.topline__meta { color: #94a5bb; }
.nav-row { display: grid; grid-template-columns: 252px 1fr auto; align-items: center; min-height: 78px; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: 252px; color: var(--navy-950); }
.brand__mark { width: 34px; height: 51px; flex: 0 0 auto; object-fit: contain; }
.brand__name { display: grid; gap: 2px; line-height: 1; }
.brand__name strong { font-size: 1.1rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.brand__name small { font-size: .59rem; letter-spacing: .27em; text-transform: uppercase; }
.brand--full { display: inline-flex; width: 190px; padding: 15px; background: #fff; }
.brand--full img { width: 100%; height: auto; }
.custom-logo-link { display: inline-flex; max-width: 252px; }
.primary-nav { justify-self: center; }
.primary-nav .menu { display: flex; align-items: center; gap: clamp( 18px, 2.4vw, 36px ); margin: 0; padding: 0; list-style: none; }
.primary-nav a { position: relative; display: block; padding-block: 26px; color: #34435a; font-size: .86rem; font-weight: 680; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 2px; background: var(--blue-600); transition: right .2s ease; }
.primary-nav a:hover::after { right: 0; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--navy-900); transition: transform .2s, opacity .2s; }

.hero { position: relative; overflow: hidden; padding: clamp( 58px, 7vw, 102px ) 0 clamp( 76px, 10vw, 126px ); background: linear-gradient( 135deg, #fff 0%, #f6faff 61%, #edf5ff 100% ); }
.hero::before { content: ""; position: absolute; inset: auto auto -300px -210px; width: 600px; height: 600px; border: 1px solid rgba( 23, 108, 255, .13 ); border-radius: 50%; }
.hero__grid { display: grid; grid-template-columns: minmax( 0, .95fr ) minmax( 500px, 1.05fr ); gap: clamp( 50px, 7vw, 100px ); align-items: center; }
.hero__copy { position: relative; z-index: 2; }
.hero h1 { max-width: 760px; margin-bottom: 28px; }
.hero__lead { max-width: 660px; margin-bottom: 34px; color: var(--muted); font-size: clamp( 1.05rem, 1.4vw, 1.2rem ); line-height: 1.7; }
.hero__proof { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 0; margin: 54px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); list-style: none; }
.hero__proof li { display: grid; gap: 2px; padding-right: 20px; }
.hero__proof li + li { padding-left: 20px; border-left: 1px solid var(--line); }
.hero__proof strong { font-size: .9rem; }
.hero__proof span { color: var(--muted); font-size: .75rem; }
.image-slot { position: relative; min-height: 500px; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient( 150deg, #09182d 0%, #102f56 58%, #176cff 140% ); }
.image-slot::before { content: ""; position: absolute; width: 330px; height: 330px; top: -135px; right: -120px; border: 1px solid rgba( 99, 220, 255, .32 ); border-radius: 50%; box-shadow: 0 0 90px rgba( 23, 108, 255, .2 ); }
.image-slot__note { position: absolute; left: 26px; right: 26px; bottom: 24px; z-index: 3; display: grid; gap: 3px; padding: 16px 18px; border: 1px solid rgba( 255, 255, 255, .18 ); border-radius: var(--radius-sm); color: var(--white); background: rgba( 5, 14, 28, .68 ); backdrop-filter: blur( 12px ); }
.image-slot__note strong { font-size: .88rem; }
.image-slot__note span { color: #b9c7d9; font-size: .74rem; }
.image-slot--hero { min-height: clamp( 560px, 53vw, 700px ); }
.mirror-silhouette { position: absolute; top: 9%; right: 9%; bottom: 10%; left: 9%; background: linear-gradient( 145deg, #dce7f0, #8195aa 42%, #d8e3ed ); box-shadow: 0 0 0 9px rgba( 255, 255, 255, .04 ), 0 0 55px 12px rgba( 99, 220, 255, .68 ); }
.mirror-silhouette::before { content: ""; position: absolute; inset: 2px; background: linear-gradient( 140deg, rgba( 255, 255, 255, .78 ), rgba( 87, 115, 143, .42 ) 44%, rgba( 255, 255, 255, .5 ) ); clip-path: inherit; }
.mirror-silhouette--organic { border-radius: 44% 56% 42% 58% / 60% 40% 60% 40%; transform: rotate( -3deg ); }
.mirror-shine { position: absolute; z-index: 2; top: 22%; left: 17%; width: 44%; height: 2px; background: rgba( 255, 255, 255, .72 ); transform: rotate( -48deg ); box-shadow: 0 15px 0 rgba( 255, 255, 255, .28 ); }
.hero-card { position: absolute; z-index: 4; right: -26px; bottom: 70px; display: flex; align-items: center; gap: 14px; min-width: 250px; padding: 15px 18px; border: 1px solid rgba( 255, 255, 255, .86 ); border-radius: 15px; background: rgba( 255, 255, 255, .92 ); box-shadow: var(--shadow); }
.hero-card__number { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; color: var(--white); background: var(--blue-600); font-size: .75rem; font-weight: 800; }
.hero-card div { display: grid; }
.hero-card strong { font-size: .83rem; }
.hero-card div span { color: var(--muted); font-size: .75rem; }

.trust-strip { overflow: hidden; color: #c7d5e7; background: var(--navy-950); }
.trust-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 58px; white-space: nowrap; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.trust-strip__inner span:nth-child( even ) { color: var(--blue-500); }

.shape-grid { display: grid; grid-template-columns: repeat( 6, 1fr ); gap: 14px; }
.shape-card { position: relative; display: flex; flex-direction: column; min-height: 330px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.shape-card--featured { grid-column: span 2; }
.shape-card:hover { transform: translateY( -5px ); border-color: rgba( 23, 108, 255, .4 ); box-shadow: 0 20px 50px rgba( 7, 20, 38, .09 ); }
.shape-card__art { display: grid; place-items: center; flex: 1; min-height: 175px; }
.shape { display: block; width: 104px; height: 130px; background: linear-gradient( 145deg, #eef4fa, #b7c5d3 ); border: 5px solid #dce6ef; box-shadow: 0 0 0 1px #a9bdd1, 0 0 22px 4px rgba( 23, 108, 255, .28 ); }
.shape--organic { width: 150px; border-radius: 42% 58% 35% 65% / 61% 42% 58% 39%; transform: rotate( -5deg ); }
.shape--round { width: 126px; height: 126px; border-radius: 50%; }
.shape--arch { border-radius: 60px 60px 8px 8px; }
.shape--rectangle { width: 142px; height: 105px; border-radius: 6px; }
.shape--capsule { width: 84px; height: 152px; border-radius: 60px; }
.shape-card__body { display: grid; gap: 4px; }
.shape-card__body strong { font-size: 1rem; }
.shape-card__body small { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.shape-card__arrow { position: absolute; top: 18px; right: 18px; color: var(--blue-600); font-size: 1.1rem; }

.compare-wrap { overflow-x: auto; border: 1px solid rgba( 255, 255, 255, .13 ); border-radius: var(--radius-md); background: rgba( 255, 255, 255, .025 ); }
.compare-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.compare-table th, .compare-table td { padding: 20px 26px; border-bottom: 1px solid rgba( 255, 255, 255, .1 ); text-align: left; }
.compare-table thead th { color: #8fa2ba; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.compare-table thead th:nth-child( 2 ), .compare-table thead th:nth-child( 3 ) { width: 34%; color: var(--white); font-size: 1.08rem; text-transform: none; letter-spacing: 0; }
.compare-table th:first-child { width: 25%; }
.compare-table tbody th { color: var(--white); font-size: .9rem; }
.compare-table td { color: #b6c3d3; }
.compare-table .is-premium { background: rgba( 23, 108, 255, .12 ); }
.compare-table .is-premium span { display: block; width: max-content; margin-bottom: 7px; padding: 4px 8px; border-radius: 999px; color: var(--cyan-400); background: rgba( 99, 220, 255, .1 ); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
.compare-table td:nth-child( 3 ) { color: #e5eef8; background: rgba( 23, 108, 255, .075 ); }
.compare-table tbody tr:last-child > * { border-bottom: 0; }
.compare-note { margin: 20px 0 0; color: #8294aa; font-size: .78rem; }

.configurator { background: linear-gradient( 180deg, #fff 0%, #f7faff 100% ); }
.configurator__grid { display: grid; grid-template-columns: minmax( 300px, .72fr ) minmax( 580px, 1.28fr ); gap: clamp( 54px, 7vw, 100px ); align-items: start; }
.configurator__intro { position: sticky; top: 146px; }
.configurator__intro h2 { margin-bottom: 26px; }
.configurator__intro > p:not(.eyebrow) { color: var(--muted); }
.configurator__steps { margin-top: 44px; border-top: 1px solid var(--line); }
.configurator__steps > div { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.configurator__steps > div > span { color: var(--blue-600); font-size: .72rem; font-weight: 800; }
.configurator__steps p { display: grid; margin: 0; }
.configurator__steps strong { font-size: .88rem; }
.configurator__steps small { color: var(--muted); }
.quote-form { position: relative; padding: clamp( 26px, 4vw, 48px ); border: 1px solid #dce5f0; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.form-progress { height: 4px; margin: -4px 0 38px; overflow: hidden; border-radius: 99px; background: #e7edf5; }
.form-progress span { display: block; width: 0; height: 100%; background: linear-gradient( 90deg, var(--blue-600), var(--cyan-400) ); transition: width .25s ease; }
.quote-form fieldset { margin: 0 0 34px; padding: 0; border: 0; }
.quote-form legend { margin-bottom: 18px; font-size: .92rem; font-weight: 800; letter-spacing: -.01em; }
.form-grid { display: grid; gap: 16px; }
.form-grid--3 { grid-template-columns: repeat( 3, 1fr ); }
.form-grid--2 { grid-template-columns: repeat( 2, 1fr ); }
.form-grid__wide { grid-column: 1 / -1; }
.quote-form label:not(.upload-field):not(.consent) { display: grid; gap: 7px; color: #33435b; font-size: .76rem; font-weight: 720; }
.quote-form input:not([type="checkbox"]):not([type="file"]), .quote-form select, .quote-form textarea {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid #ced8e5;
	border-radius: 11px;
	color: var(--ink);
	background: #fbfdff;
	font-size: .9rem;
	font-weight: 500;
	transition: border-color .2s, box-shadow .2s;
}
.quote-form textarea { resize: vertical; }
.quote-form input:hover, .quote-form select:hover, .quote-form textarea:hover { border-color: #a9bad0; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { border-color: var(--blue-600); box-shadow: 0 0 0 4px rgba( 23, 108, 255, .08 ); outline: 0; }
.upload-field { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; padding: 18px; border: 1px dashed #9fb1c7; border-radius: 13px; background: #f8fbff; cursor: pointer; }
.upload-field:hover { border-color: var(--blue-600); }
.upload-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-field:focus-within { outline: 3px solid rgba( 23, 108, 255, .34 ); outline-offset: 3px; }
.upload-field__icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; color: var(--white); background: var(--blue-600); font-size: 1.35rem; }
.upload-field > span:last-child { display: grid; }
.upload-field strong { font-size: .83rem; }
.upload-field small { color: var(--muted); }
.config-summary { display: grid; grid-template-columns: repeat( 3, 1fr ); margin-bottom: 24px; padding: 18px; border-radius: 13px; color: var(--white); background: var(--navy-900); }
.config-summary div { display: grid; gap: 3px; padding-inline: 15px; }
.config-summary div + div { border-left: 1px solid rgba( 255, 255, 255, .12 ); }
.config-summary span { color: #91a4bd; font-size: .67rem; text-transform: uppercase; letter-spacing: .08em; }
.config-summary strong { font-size: .8rem; font-weight: 680; }
.consent { display: flex; gap: 10px; margin-bottom: 22px; color: var(--muted); font-size: .73rem; line-height: 1.5; }
.consent input { width: 17px; height: 17px; flex: 0 0 17px; accent-color: var(--blue-600); }
.consent a { color: var(--blue-600); text-decoration: underline; }
.form-footnote { margin: 12px 0 0; color: #7d8ca0; font-size: .68rem; text-align: center; }
.form-notice { margin-bottom: 24px; padding: 14px 16px; border-radius: 10px; font-size: .83rem; }
.form-notice--success { color: #115f43; background: #e9fbf3; }
.form-notice--error { color: #8a2430; background: #fff0f2; }
.honeypot { position: absolute; left: -9999px; }

.project-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 24px; }
.project-card { min-width: 0; }
.project-card:nth-child( 3 ) { grid-column: 2; }
.project-card--large { grid-row: span 2; }
.project-card .image-slot { min-height: 350px; border-radius: var(--radius-md); }
.project-card--large .image-slot { min-height: 750px; }
.project-card:nth-child( 2 ) .image-slot { background: linear-gradient( 145deg, #dbe6f2, #8ea3b9 52%, #14253d ); }
.project-card:nth-child( 3 ) .image-slot { background: linear-gradient( 145deg, #0b203c, #245c9d 70%, #69cfff ); }
.project-card__meta { display: flex; justify-content: space-between; gap: 18px; padding: 18px 2px 8px; }
.project-card__meta h3 { margin-bottom: 4px; font-size: 1.05rem; }
.project-card__meta p { margin: 0; color: var(--muted); font-size: .76rem; }
.project-card__meta > span { color: var(--blue-600); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.process-list { display: grid; grid-template-columns: repeat( 4, 1fr ); margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; counter-reset: process; }
.process-list li { position: relative; min-height: 290px; padding: 28px 28px 28px 0; border-bottom: 1px solid var(--line); }
.process-list li + li { padding-left: 28px; border-left: 1px solid var(--line); }
.process-list > li > span { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 66px; border: 1px solid #cdd7e4; border-radius: 50%; color: var(--blue-600); font-size: .72rem; font-weight: 800; }
.process-list h3 { margin-bottom: 12px; }
.process-list p { margin: 0; color: var(--muted); font-size: .89rem; }

.proof-section { color: var(--white); background: linear-gradient( 135deg, #071426 0%, #0a1e38 74%, #113963 100% ); }
.proof-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp( 50px, 7vw, 100px ); }
.proof-intro { align-self: start; position: sticky; top: 150px; }
.proof-intro .eyebrow { color: var(--cyan-400); }
.proof-intro .button { margin-top: 20px; color: var(--white); border-color: rgba( 255, 255, 255, .4 ); }
.proof-intro .button:hover { color: var(--navy-900); }
.benefit-grid { display: grid; grid-template-columns: repeat( 2, 1fr ); gap: 1px; background: rgba( 255, 255, 255, .13 ); }
.benefit-grid article { min-height: 270px; padding: 32px; background: #0a1b31; }
.benefit-grid article > span { color: var(--cyan-400); font-size: .7rem; font-weight: 800; }
.benefit-grid h3 { margin: 66px 0 12px; }
.benefit-grid p { margin-bottom: 0; color: #9fb0c5; font-size: .88rem; }

.review-section { background: #fff; }
.review-score { display: grid; grid-template-columns: .6fr 1.4fr; gap: 60px; align-items: center; margin-bottom: 36px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.review-score > div { display: grid; }
.review-score p { margin: 0; color: var(--muted); }
.stars { color: #f4b338; letter-spacing: .12em; }
.review-grid { display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 18px; }
.review-grid article { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.review-grid blockquote { min-height: 110px; margin: 22px 0 30px; color: #34435a; font-size: .92rem; }
.review-grid p { display: grid; margin: 0; }
.review-grid p strong { font-size: .8rem; }
.review-grid p span { color: var(--muted); font-size: .7rem; }

.logistics { display: grid; grid-template-columns: 1fr 1fr; gap: clamp( 50px, 7vw, 100px ); align-items: stretch; }
.logistics__visual { min-height: 640px; }
.package-graphic { position: absolute; inset: 90px 70px 150px; border: 1px solid rgba( 99, 220, 255, .45 ); transform: perspective( 700px ) rotateY( -8deg ); }
.package-graphic::before, .package-graphic::after { content: ""; position: absolute; border: 1px solid rgba( 255, 255, 255, .18 ); }
.package-graphic::before { inset: 28px; }
.package-graphic::after { left: 50%; top: 0; bottom: 0; }
.package-graphic span { position: absolute; z-index: 2; background: var(--cyan-400); box-shadow: 0 0 18px rgba( 99, 220, 255, .7 ); }
.package-graphic span:nth-child( 1 ) { left: -2px; top: 14%; bottom: 14%; width: 3px; }
.package-graphic span:nth-child( 2 ) { top: -2px; left: 14%; right: 14%; height: 3px; }
.package-graphic span:nth-child( 3 ) { right: -2px; top: 26%; bottom: 26%; width: 3px; }
.logistics__copy { align-self: center; }
.logistics__copy > h2 { margin-bottom: 36px; }
.logistics__item { display: grid; grid-template-columns: 46px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line); }
.logistics__item > span { color: var(--blue-600); font-size: .7rem; font-weight: 800; }
.logistics__item h3 { margin-bottom: 7px; font-size: 1rem; }
.logistics__item p { margin: 0; color: var(--muted); font-size: .86rem; }

.b2b-section { padding-top: 0; }
.b2b-card { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; overflow: hidden; padding: clamp( 42px, 6vw, 76px ); border-radius: var(--radius-lg); color: var(--white); background: var(--blue-600); }
.b2b-card::after { content: ""; position: absolute; width: 370px; height: 370px; right: -110px; bottom: -230px; border: 1px solid rgba( 255, 255, 255, .35 ); border-radius: 50%; }
.b2b-card .eyebrow { color: #cceaff; }
.b2b-card h2 { margin-bottom: 22px; }
.b2b-card p { max-width: 700px; margin-bottom: 0; color: #e0ecff; }
.b2b-card__actions { position: relative; z-index: 2; display: grid; justify-items: start; gap: 12px; }
.b2b-card__actions small { color: #d9e8ff; }

.faq-section { display: block; }
.faq-list { max-width: 960px; margin-left: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; cursor: pointer; font-weight: 750; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #cdd8e5; border-radius: 50%; color: var(--blue-600); font-size: 1.2rem; font-weight: 400; transition: transform .2s; }
.faq-list details[open] summary::after { transform: rotate( 45deg ); }
.faq-list details div { padding: 0 64px 22px 0; color: var(--muted); }
.faq-list details p { margin: 0; }

.final-cta { padding: 80px 0; border-top: 1px solid var(--line); background: linear-gradient( 105deg, #f6faff, #fff ); }
.final-cta__inner { display: flex; justify-content: space-between; align-items: end; gap: 50px; }
.final-cta h2 { max-width: 850px; margin-bottom: 0; font-size: clamp( 2.25rem, 4.4vw, 4.2rem ); }

.site-footer { padding-top: 74px; color: #bac7d8; background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat( 3, .7fr ); gap: 60px; padding-bottom: 60px; }
.site-footer .brand { filter: brightness( 0 ) invert( 1 ); opacity: .98; }
.footer-brand p { max-width: 360px; margin-top: 25px; color: #8799b0; font-size: .86rem; }
.site-footer h2 { margin: 0 0 18px; color: var(--white); font-size: .83rem; letter-spacing: .02em; }
.footer-links { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; color: #8799b0; font-size: .8rem; }
.footer-links a:hover { color: var(--cyan-400); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 22px 0 28px; border-top: 1px solid rgba( 255, 255, 255, .09 ); color: #71849d; font-size: .68rem; }
.footer-bottom p { margin: 0; }
.floating-contact { position: fixed; z-index: 900; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 9px; padding: 8px 15px 8px 8px; border: 1px solid rgba( 255, 255, 255, .65 ); border-radius: 999px; color: var(--white); background: var(--navy-900); box-shadow: 0 15px 35px rgba( 5, 14, 28, .22 ); font-size: .75rem; font-weight: 750; }
.floating-contact__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue-600); }

.landing-hero { padding: clamp( 70px, 9vw, 120px ) 0; overflow: hidden; background: linear-gradient( 135deg, #fff, #f0f6ff ); }
.landing-hero__grid { display: grid; grid-template-columns: 1fr .74fr; gap: 80px; align-items: center; }
.landing-hero h1 { max-width: 850px; margin-bottom: 24px; }
.landing-hero__lead { max-width: 720px; margin-bottom: 34px; color: var(--muted); font-size: 1.15rem; }
.landing-hero__panel { position: relative; display: grid; place-items: center; min-height: 520px; padding: 35px; border-radius: var(--radius-lg); color: #aec0d5; background: var(--navy-950); }
.landing-hero__panel::before { content: ""; position: absolute; inset: 10%; border: 1px solid rgba( 99, 220, 255, .2 ); border-radius: 50%; }
.landing-hero__panel > p { position: absolute; left: 28px; bottom: 18px; margin: 0; font-size: .72rem; }
.landing-hero__index { position: absolute; top: 26px; left: 28px; color: var(--cyan-400); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.landing-mirror { position: relative; width: 54%; aspect-ratio: .76; border-radius: 48% 52% 44% 56% / 58% 42% 58% 42%; background: linear-gradient( 145deg, #eff7ff, #7c94ac ); box-shadow: 0 0 44px 9px rgba( 99, 220, 255, .5 ); transform: rotate( -4deg ); }
.landing-mirror span { position: absolute; width: 45%; height: 2px; top: 35%; left: 18%; background: rgba( 255, 255, 255, .75 ); transform: rotate( -48deg ); }
.landing-details { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.landing-points { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.landing-points li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.landing-points span { color: var(--blue-600); font-size: .73rem; font-weight: 800; }
.landing-points strong { font-size: 1.04rem; }
.landing-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.landing-guide__card { position: relative; padding: 40px; border: 1px solid #dce5f0; border-radius: var(--radius-md); background: #fff; box-shadow: 0 18px 46px rgba( 7, 20, 38, .08 ); }
.landing-guide__card > span { position: absolute; top: 22px; right: 24px; color: var(--blue-600); font-size: 1.2rem; }
.landing-guide__card p { margin-bottom: 18px; color: var(--muted); }
.content-page { min-height: 60vh; padding-block: 100px; }
.content-page__header { max-width: 850px; margin-bottom: 50px; }
.content-page h1 { font-size: clamp( 3rem, 6vw, 5.5rem ); }
.prose { max-width: 820px; }
.prose > * + * { margin-top: 1.25em; }
.prose a { color: var(--blue-600); text-decoration: underline; }
.post-grid { display: grid; grid-template-columns: repeat( 2, 1fr ); gap: 22px; }
.post-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); }
.post-card h2 { font-size: 1.5rem; }
.not-found { text-align: center; }
.not-found .eyebrow, .not-found .button-row { justify-content: center; }

@media ( max-width: 1100px ) {
	:root { --shell: min( 100% - 36px, 960px ); }
	.nav-row { grid-template-columns: 220px 1fr auto; }
	.brand { width: 220px; }
	.primary-nav .menu { gap: 18px; }
	.primary-nav a { font-size: .78rem; }
	.hero__grid { grid-template-columns: 1fr 1fr; gap: 42px; }
	.hero h1 { font-size: clamp( 3rem, 6vw, 5rem ); }
	.hero__proof { grid-template-columns: 1fr; gap: 10px; }
	.hero__proof li, .hero__proof li + li { padding: 0; border: 0; }
	.shape-grid { grid-template-columns: repeat( 3, 1fr ); }
	.shape-card--featured { grid-column: span 1; }
	.configurator__grid { grid-template-columns: .72fr 1.28fr; gap: 42px; }
	.form-grid--3 { grid-template-columns: 1fr; }
	.process-list { grid-template-columns: repeat( 2, 1fr ); }
	.process-list li:nth-child( 3 ) { border-left: 0; }
	.footer-grid { grid-template-columns: 1.2fr repeat( 3, .7fr ); gap: 34px; }
}

@media ( max-width: 860px ) {
	:root { --shell: min( 100% - 32px, 720px ); }
	.section { padding-block: 82px; }
	.topline__meta { display: none; }
	.nav-row { grid-template-columns: 1fr auto; min-height: 70px; }
	.header-cta { display: none; }
	.menu-toggle { display: block; z-index: 5; }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 1 ) { transform: translateY( 7px ) rotate( 45deg ); }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 2 ) { opacity: 0; }
	.menu-toggle[aria-expanded="true"] > span:nth-child( 3 ) { transform: translateY( -7px ) rotate( -45deg ); }
	.primary-nav { position: fixed; inset: 104px 0 0; display: none; padding: 28px 24px; background: rgba( 255, 255, 255, .98 ); }
	.primary-nav.is-open { display: block; }
	.primary-nav .menu { display: grid; gap: 0; }
	.primary-nav a { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
	.hero__grid, .landing-hero__grid { grid-template-columns: 1fr; }
	.hero__visual { max-width: 650px; width: 100%; margin-inline: auto; }
	.hero-card { right: 16px; }
	.section-heading--split { grid-template-columns: 1fr; gap: 20px; align-items: start; }
	.shape-grid { grid-template-columns: repeat( 2, 1fr ); }
	.configurator__grid { grid-template-columns: 1fr; }
	.configurator__intro, .proof-intro { position: static; }
	.configurator__steps { display: grid; grid-template-columns: repeat( 3, 1fr ); }
	.configurator__steps > div { display: block; border-bottom: 0; }
	.configurator__steps > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
	.configurator__steps > div > span { display: block; margin-bottom: 22px; }
	.project-grid { grid-template-columns: 1fr 1fr; }
	.project-card--large { grid-column: 1 / -1; grid-row: auto; }
	.project-card--large .image-slot { min-height: 540px; }
	.project-card:nth-child( 3 ) { grid-column: auto; }
	.proof-grid, .logistics, .landing-details, .landing-guide { grid-template-columns: 1fr; gap: 48px; }
	.review-score { grid-template-columns: 1fr; gap: 18px; }
	.review-grid { grid-template-columns: 1fr; }
	.review-grid blockquote { min-height: 0; }
	.b2b-card { grid-template-columns: 1fr; gap: 32px; }
	.final-cta__inner { display: grid; }
	.footer-grid { grid-template-columns: repeat( 2, 1fr ); }
	.footer-brand { grid-column: 1 / -1; }
	.floating-contact span:last-child { display: none; }
	.floating-contact { padding: 8px; }
}

@media ( max-width: 600px ) {
	:root { --shell: calc( 100% - 24px ); --radius-lg: 24px; }
	body { font-size: 16px; }
	h1 { font-size: clamp( 2.8rem, 15vw, 4rem ); }
	h2 { font-size: clamp( 2.15rem, 10vw, 3.1rem ); }
	.topline__inner { justify-content: center; }
	.brand { width: 194px; }
	.primary-nav { top: 104px; }
	.hero { padding-top: 48px; }
	.hero__lead { font-size: 1rem; }
	.button-row { display: grid; grid-template-columns: 1fr; }
	.button { width: 100%; }
	.hero__proof { margin-top: 38px; }
	.hero__visual, .image-slot--hero { min-height: 450px; }
	.mirror-silhouette { inset: 9% 8% 16%; }
	.hero-card { left: 16px; right: 16px; bottom: 72px; min-width: 0; }
	.trust-strip__inner { justify-content: flex-start; overflow: hidden; }
	.shape-grid { grid-template-columns: 1fr; }
	.shape-card { min-height: 280px; }
	.compare-table th, .compare-table td { padding: 17px 18px; }
	.configurator__steps { grid-template-columns: 1fr; }
	.configurator__steps > div { display: grid; padding: 18px 0; border-bottom: 1px solid var(--line); }
	.configurator__steps > div + div { padding-left: 0; border-left: 0; }
	.configurator__steps > div > span { margin-bottom: 0; }
	.quote-form { padding: 24px 18px; }
	.form-grid--2 { grid-template-columns: 1fr; }
	.form-grid__wide { grid-column: auto; }
	.config-summary { grid-template-columns: 1fr; }
	.config-summary div { padding: 10px 4px; }
	.config-summary div + div { border-top: 1px solid rgba( 255, 255, 255, .12 ); border-left: 0; }
	.project-grid { grid-template-columns: 1fr; }
	.project-card--large .image-slot, .project-card .image-slot { min-height: 420px; }
	.process-list { grid-template-columns: 1fr; }
	.process-list li, .process-list li + li { min-height: 0; padding: 22px 0; border-left: 0; }
	.process-list > li > span { margin-bottom: 28px; }
	.benefit-grid { grid-template-columns: 1fr; }
	.benefit-grid article { min-height: 235px; }
	.logistics__visual { min-height: 480px; }
	.logistics-photo > img { min-height: 480px; }
	.package-graphic { inset: 70px 35px 140px; }
	.b2b-card { padding: 34px 24px; }
	.faq-list details div { padding-right: 0; }
	.footer-grid { grid-template-columns: 1fr; }
	.footer-brand { grid-column: auto; }
	.footer-bottom { display: grid; }
	.landing-hero__panel { min-height: 420px; }
	.post-grid { grid-template-columns: 1fr; }
}

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

/* Version 1.1 — editorial interior direction */
:root {
	--navy-950: #07111f;
	--navy-900: #0a1729;
	--navy-800: #12243b;
	--blue-600: #155eef;
	--blue-500: #2d70f2;
	--cyan-400: #8ad9ff;
	--ink: #0b1420;
	--muted: #5d6877;
	--line: #ccd3dc;
	--soft: #f2f3f5;
	--radius-sm: 2px;
	--radius-md: 2px;
	--radius-lg: 2px;
	--shadow: 0 14px 34px rgba( 7, 17, 31, .08 );
}

body { background: #fdfdfd; }
h1, h2 {
	font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.055em;
}
h3 { letter-spacing: -.025em; }
h1 { font-size: clamp( 3.3rem, 6.65vw, 6.35rem ); }
h2 { font-size: clamp( 2.5rem, 4.4vw, 4.2rem ); }
.section { padding-block: clamp( 92px, 10vw, 142px ); }
.section--soft { background: #f1f2f4; }
.section--navy { background: var(--navy-950); }
.section--navy::before { display: none; }
.eyebrow {
	margin-bottom: 22px;
	font-size: .7rem;
	letter-spacing: .19em;
}
.section-heading { padding-top: 22px; border-top: 1px solid var(--line); }
.section-heading--split { grid-template-columns: minmax( 0, 1.55fr ) minmax( 280px, .45fr ); gap: 9vw; }
.section-heading--light { border-color: rgba( 255, 255, 255, .22 ); }
.section-heading--split > p,
.section-heading--split > div:last-child > p { font-size: .96rem; line-height: 1.75; }

.button {
	min-height: 54px;
	padding-inline: 27px;
	border-radius: 1px;
	font-size: .76rem;
	letter-spacing: .075em;
	text-transform: uppercase;
	box-shadow: none;
}
.button:hover { transform: none; box-shadow: inset 0 -4px 0 rgba( 7, 17, 31, .22 ); }
.button--secondary { background: #fff; border-color: var(--ink); }
.button--secondary:hover { color: #fff; background: var(--ink); }
.button--small { min-height: 42px; padding-inline: 17px; }
.text-link { border-bottom: 1px solid currentColor; font-size: .77rem; letter-spacing: .04em; }

.site-header { background: rgba( 253, 253, 253, .96 ); backdrop-filter: blur( 10px ); }
.site-header.is-scrolled { box-shadow: 0 4px 18px rgba( 7, 17, 31, .055 ); }
.topline { color: #dce4ee; background: var(--navy-950); font-size: .65rem; letter-spacing: .13em; }
.topline__inner { min-height: 31px; }
.nav-row { min-height: 84px; }
.primary-nav a { color: #263445; font-size: .76rem; letter-spacing: .025em; }
.primary-nav a::after { bottom: 21px; height: 1px; }

.hero {
	padding: clamp( 72px, 8vw, 116px ) 0 clamp( 90px, 11vw, 150px );
	background: #fdfdfd;
}
.hero::before { display: none; }
.hero__grid { grid-template-columns: minmax( 0, 1.05fr ) minmax( 480px, .95fr ); gap: clamp( 52px, 8vw, 120px ); }
.hero__copy::before { display: none; }
.hero h1 { margin-bottom: 34px; }
.hero__lead { max-width: 590px; margin-bottom: 38px; color: #495566; font-size: 1.03rem; line-height: 1.82; }
.hero__proof { margin-top: 68px; padding-top: 18px; }
.hero__proof strong { font-size: .76rem; letter-spacing: .02em; }
.hero__proof span { font-size: .69rem; }
.image-slot { border-radius: 1px; background: #0b192c; }
.image-slot::before { display: none; }
.image-slot--hero { min-height: clamp( 580px, 52vw, 720px ); }
.image-slot__note {
	left: 0;
	right: auto;
	bottom: 0;
	max-width: 72%;
	padding: 14px 18px;
	border: 0;
	border-radius: 0;
	background: rgba( 7, 17, 31, .92 );
	backdrop-filter: none;
}
.mirror-silhouette {
	top: 8%;
	right: 11%;
	bottom: 13%;
	left: 11%;
	background: linear-gradient( 145deg, #e7edf2, #9aa8b7 48%, #d8e0e7 );
	box-shadow: 0 0 0 1px rgba( 255, 255, 255, .45 ), 0 0 32px 3px rgba( 138, 217, 255, .55 );
}
.hero-card {
	right: -28px;
	bottom: 76px;
	padding: 13px 16px;
	border: 1px solid var(--ink);
	border-radius: 0;
	box-shadow: 8px 8px 0 rgba( 21, 94, 239, .95 );
}
.hero-card strong { font-size: .76rem; letter-spacing: .01em; }
.hero-card div span { max-width: 270px; }
.hero-card__number { width: 34px; height: 34px; flex-basis: 34px; border-radius: 0; }
.trust-strip { border-top: 1px solid #20334d; border-bottom: 1px solid #20334d; }
.trust-strip__inner { min-height: 54px; color: #bac7d8; letter-spacing: .09em; }

.shape-grid { grid-template-columns: repeat( 5, 1fr ); gap: 0; border-top: 1px solid var(--line); }
.shape-card, .shape-card--featured {
	grid-column: span 1;
	min-height: 360px;
	padding: 26px 20px;
	border: 0;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	border-radius: 0;
	background: transparent;
}
.shape-card:first-child { border-left: 1px solid var(--line); }
.shape-card:hover { transform: none; border-color: var(--line); background: #f3f5f7; box-shadow: none; }
.shape-card__art { min-height: 215px; }
.shape { background: #dbe2e8; border: 1px solid #94a4b5; box-shadow: 0 0 20px rgba( 21, 94, 239, .26 ); }
.shape-card__body strong { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: 1.27rem; font-weight: 400; }
.shape-card__body small { font-size: .7rem; }
.shape-card__arrow { top: 21px; right: 20px; font-size: .9rem; }

.compare-wrap { border: 1px solid rgba( 255, 255, 255, .2 ); border-radius: 0; background: transparent; }
.compare-table th, .compare-table td { padding: 19px 24px; }
.compare-table .is-premium { background: rgba( 21, 94, 239, .18 ); }
.compare-table .is-premium span { border: 1px solid rgba( 138, 217, 255, .35 ); border-radius: 0; background: transparent; }
.compare-table td:nth-child( 3 ) { background: rgba( 21, 94, 239, .1 ); }

.configurator { background: #fdfdfd; }
.configurator__grid { grid-template-columns: minmax( 300px, .8fr ) minmax( 580px, 1.2fr ); }
.configurator__steps { border-top-color: var(--ink); }
.configurator__steps > div { border-bottom-color: var(--line); }
.quote-form {
	padding: clamp( 30px, 4vw, 50px );
	border: 1px solid var(--ink);
	border-top: 5px solid var(--blue-600);
	border-radius: 0;
	box-shadow: 14px 14px 0 #e9edf2;
}
.form-progress { height: 2px; border-radius: 0; }
.form-progress span { background: var(--blue-600); }
.quote-form input:not([type="checkbox"]):not([type="file"]), .quote-form select, .quote-form textarea {
	border: 1px solid #aeb8c4;
	border-radius: 0;
	background: #fff;
}
.upload-field { border-radius: 0; background: #f5f6f8; }
.upload-field__icon { border-radius: 0; }
.config-summary { border-radius: 0; background: var(--navy-950); }
.form-notice { border-radius: 0; }

.project-grid { gap: 34px 20px; }
.project-card .image-slot { border-radius: 0; }
.project-card__meta { padding-top: 16px; border-top: 1px solid var(--ink); }
.project-card__meta h3 { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: 1.2rem; font-weight: 400; }

.process-list { border-top-color: var(--ink); }
.process-list li { min-height: 320px; }
.process-list > li > span { width: auto; height: auto; margin-bottom: 88px; border: 0; border-radius: 0; justify-content: start; }
.process-list h3 { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: 1.35rem; font-weight: 400; }

.proof-section { background: var(--navy-950); }
.benefit-grid { gap: 0; background: transparent; border-top: 1px solid rgba( 255, 255, 255, .22 ); border-left: 1px solid rgba( 255, 255, 255, .22 ); }
.benefit-grid article { border-right: 1px solid rgba( 255, 255, 255, .22 ); border-bottom: 1px solid rgba( 255, 255, 255, .22 ); background: transparent; }
.benefit-grid h3 { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: 1.4rem; font-weight: 400; }

.review-section { background: #fdfdfd; }
.review-score { grid-template-columns: .55fr 1.45fr; border-top: 1px solid var(--ink); padding-top: 24px; }
.review-grid { gap: 0; border-top: 1px solid var(--line); }
.review-grid article { padding: 30px 30px 30px 0; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; }
.review-grid article + article { padding-left: 30px; }
.review-grid article:last-child { border-right: 0; }
.review-grid blockquote { font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: 1.08rem; line-height: 1.55; }

.logistics__visual { border-radius: 0; }
.logistics-photo { position: relative; min-height: 640px; margin: 0; overflow: hidden; background: #e8edf2; }
.logistics-photo > img { width: 100%; height: 100%; min-height: 640px; object-fit: cover; object-position: center; }
.logistics-photo figcaption { position: absolute; left: 0; right: 22%; bottom: 0; display: grid; gap: 4px; padding: 18px 20px; color: #fff; background: rgba( 7, 17, 31, .9 ); }
.logistics-photo figcaption strong { font-size: .8rem; letter-spacing: .03em; }
.logistics-photo figcaption span { color: #c3cfdd; font-size: .7rem; line-height: 1.55; }
.logistics__item:first-of-type { border-top-color: var(--ink); }
.b2b-card { border-radius: 0; background: var(--blue-600); }
.b2b-card::after { width: 410px; height: 410px; border-radius: 0; transform: rotate( 45deg ); opacity: .35; }
.faq-list { border-top-color: var(--ink); }
.faq-list summary::after { border-radius: 0; }
.final-cta { background: #fdfdfd; border-top-color: var(--ink); }

.site-footer { background: var(--navy-950); }
.site-footer .brand--full { border: 1px solid rgba( 255, 255, 255, .18 ); filter: none; opacity: 1; }
.footer-grid { padding-top: 4px; border-top: 1px solid rgba( 255, 255, 255, .2 ); }
.floating-contact { border-radius: 1px; }
.floating-contact__icon { border-radius: 0; }

.landing-hero { background: #fdfdfd; }
.landing-hero__panel { position: relative; display: block; margin: 0; padding: 0; overflow: hidden; border-radius: 0; background: var(--navy-950); }
.landing-hero__panel::before { display: none; }
.landing-hero__panel > img { display: block; width: 100%; min-height: 600px; object-fit: cover; }
.landing-hero__panel figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 16px 18px; color: #d7e1ed; background: rgba( 7, 17, 31, .88 ); font-size: .69rem; line-height: 1.55; }
.landing-guide__card { border: 1px solid var(--ink); border-radius: 0; box-shadow: 10px 10px 0 #dfe4ea; }
.post-card { border-radius: 0; }

@media ( max-width: 1100px ) {
	.shape-grid { grid-template-columns: repeat( 3, 1fr ); }
	.shape-card:nth-child( 4 ) { border-left: 1px solid var(--line); }
}

@media ( max-width: 860px ) {
	.hero__grid { grid-template-columns: 1fr; }
	.shape-grid { grid-template-columns: repeat( 2, 1fr ); }
	.shape-card:nth-child( 3 ), .shape-card:nth-child( 5 ) { border-left: 1px solid var(--line); }
	.shape-card:nth-child( 4 ) { border-left: 0; }
	.quote-form { box-shadow: 8px 8px 0 #e9edf2; }
	.review-grid article, .review-grid article + article { padding: 28px 0; border-right: 0; }
}

@media ( max-width: 600px ) {
	.section { padding-block: 78px; }
	.hero h1 { font-size: clamp( 3rem, 14.2vw, 4.2rem ); }
	.shape-grid { grid-template-columns: 1fr; }
	.shape-card, .shape-card:nth-child( 3 ), .shape-card:nth-child( 4 ), .shape-card:nth-child( 5 ) { border-left: 1px solid var(--line); }
	.shape-card { min-height: 320px; }
	.process-list li { min-height: 0; }
	.process-list > li > span { margin-bottom: 34px; }
}

/* Priced models — supplied photography and original commercial content */
.price-section { background: #fdfdfd; }
.model-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	column-gap: 18px;
	row-gap: 58px;
}
.model-card { min-width: 0; }
.model-card__image {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e9edf1;
}
.model-card__image::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba( 7, 17, 31, .14 );
	pointer-events: none;
}
.model-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s cubic-bezier( .2, .7, .2, 1 );
}
.model-card:hover .model-card__image img { transform: scale( 1.025 ); }
.model-card__image > span {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 43px;
	height: 43px;
	color: #fff;
	background: var(--navy-950);
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .08em;
}
.model-card__content {
	min-height: 205px;
	padding: 21px 2px 0;
	border-top: 1px solid var(--ink);
}
.model-card__content h3 {
	margin: 0 0 11px;
	font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	font-size: clamp( 1.7rem, 2.25vw, 2.25rem );
	font-weight: 400;
	letter-spacing: -.045em;
}
.model-card__content p {
	min-height: 52px;
	margin-bottom: 24px;
	color: var(--muted);
	font-size: .77rem;
	line-height: 1.65;
}
.model-card__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 0 0 5px;
	border: 0;
	border-bottom: 1px solid var(--blue-600);
	color: var(--blue-600);
	background: transparent;
	font-size: .7rem;
	font-weight: 780;
	letter-spacing: .075em;
	text-transform: uppercase;
}
.model-card__link span { transition: transform .2s ease; }
.model-card__link:hover span { transform: translate( 3px, 3px ); }
.price-note {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 50px;
	margin-top: 64px;
	padding-top: 20px;
	border-top: 1px solid var(--line);
}
.price-note p {
	max-width: 720px;
	margin: 0;
	color: var(--muted);
	font-size: .77rem;
}
.price-note strong { color: var(--ink); }
.price-note .text-link { flex: 0 0 auto; margin-top: 0; }

@media ( max-width: 960px ) {
	.model-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}

@media ( max-width: 600px ) {
	.model-grid { grid-template-columns: 1fr; row-gap: 44px; }
	.model-card__content { min-height: 0; }
	.model-card__content p { min-height: 0; }
	.price-note { display: grid; gap: 18px; margin-top: 50px; }
}

/* Supplied photography */
.hero-photo {
	position: relative;
	min-height: clamp( 580px, 52vw, 720px );
	overflow: hidden;
	background: #dfe4e9;
}
.hero-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba( 7, 17, 31, .14 );
	pointer-events: none;
}
.hero-photo > img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: 48% center;
}
.hero-photo__label {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	padding: 13px 16px;
	color: #fff;
	background: var(--navy-950);
	font-size: .66rem;
	font-weight: 780;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.project-card__image {
	position: relative;
	min-height: 350px;
	overflow: hidden;
	background: #dfe4e9;
}
.project-card--large .project-card__image { min-height: 750px; }
.project-card__image img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	transition: transform .5s cubic-bezier( .2, .7, .2, 1 );
}
.project-card:hover .project-card__image img { transform: scale( 1.018 ); }
.gallery-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	margin-top: clamp( 90px, 10vw, 150px );
	padding-top: 22px;
	border-top: 1px solid var(--ink);
}
.gallery-heading .eyebrow { margin-bottom: 13px; }
.gallery-heading h3 {
	margin: 0;
	font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	font-size: clamp( 2rem, 3.5vw, 3.35rem );
	font-weight: 400;
}
.gallery-heading > p { margin: 0 0 7px; color: var(--muted); font-size: .76rem; }
.gallery-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	grid-auto-flow: dense;
	gap: 8px;
	margin-top: 34px;
}
.gallery-item {
	position: relative;
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #dfe4e9;
}
.gallery-item[hidden] { display: none; }
.gallery-item:nth-child( 9n + 1 ) { grid-column: span 2; aspect-ratio: 2 / 1; }
.gallery-item:nth-child( 13n + 5 ) { grid-row: span 2; aspect-ratio: 1 / 2; }
.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s cubic-bezier( .2, .7, .2, 1 );
}
.gallery-item:hover img { transform: scale( 1.025 ); }
.gallery-action { display: flex; justify-content: center; margin-top: 42px; }

@media ( max-width: 860px ) {
	.project-card--large .project-card__image { min-height: 540px; }
	.gallery-grid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
}

@media ( max-width: 600px ) {
	.landing-hero__panel > img { min-height: 420px; }
	.hero-photo { min-height: 470px; }
	.project-card__image,
	.project-card--large .project-card__image { min-height: 420px; }
	.gallery-heading { display: grid; gap: 12px; }
	.gallery-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 5px; }
	.gallery-item:nth-child( 9n + 1 ),
	.gallery-item:nth-child( 13n + 5 ) { grid-column: span 1; grid-row: span 1; aspect-ratio: 1 / 1; }
}

/* Version 1.5 — mobile-first refinement */
.mobile-nav-cta { display: none; }
.proof-intro .button.button--secondary { color: var(--navy-950); border-color: #fff; background: #fff; }
.proof-intro .button.button--secondary:hover { color: #fff; border-color: var(--blue-600); background: var(--blue-600); }

@media ( max-width: 860px ) {
	html { scroll-padding-top: 112px; }
	body { overflow-x: clip; }
	.nav-row { min-height: 70px; }
	.brand { width: 210px; }
	.menu-toggle {
		display: grid;
		place-content: center;
		min-width: 48px;
		min-height: 48px;
		margin-right: -8px;
		touch-action: manipulation;
	}
	.primary-nav {
		inset: 101px 0 0;
		padding: 18px max( 20px, calc( ( 100vw - 720px ) / 2 ) ) calc( 28px + env( safe-area-inset-bottom ) );
		overflow-y: auto;
		overscroll-behavior: contain;
		background: rgba( 253, 253, 253, .99 );
	}
	.primary-nav a { display: flex; align-items: center; min-height: 56px; padding: 13px 0; font-size: 1rem; }
	.primary-nav a::after { display: none; }
	.mobile-nav-cta {
		display: flex !important;
		justify-content: space-between;
		margin-top: 24px;
		padding: 0 18px !important;
		border: 1px solid var(--blue-600) !important;
		color: #fff !important;
		background: var(--blue-600);
		font-size: .82rem !important;
		font-weight: 800;
		letter-spacing: .07em;
		text-transform: uppercase;
	}
	.section-heading { margin-bottom: 42px; }
	.section-heading--split { grid-template-columns: 1fr; gap: 16px; }
	.configurator__grid { grid-template-columns: 1fr; gap: 48px; }
	.configurator__intro { position: static; }
	.shape-grid { grid-template-columns: repeat( 6, minmax( 0, 1fr ) ); }
	.shape-card,
	.shape-card--featured,
	.shape-card:nth-child( 3 ) { grid-column: span 2; }
	.shape-card:nth-child( 4 ),
	.shape-card:nth-child( 5 ) { grid-column: span 3; }
	.compare-wrap { overflow: visible; border: 0; }
	.compare-table { display: block; min-width: 0; }
	.compare-table thead,
	.compare-table tbody { display: block; }
	.compare-table thead tr { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba( 255, 255, 255, .2 ); }
	.compare-table thead th:first-child { display: none; }
	.compare-table thead th:nth-child( 2 ),
	.compare-table thead th:nth-child( 3 ) { width: auto; padding: 16px; border: 0; font-size: .92rem; }
	.compare-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; border-right: 1px solid rgba( 255, 255, 255, .14 ); border-bottom: 1px solid rgba( 255, 255, 255, .14 ); border-left: 1px solid rgba( 255, 255, 255, .14 ); }
	.compare-table tbody th { grid-column: 1 / -1; width: auto; padding: 15px 16px 8px; border: 0; color: #fff; font-size: .78rem; }
	.compare-table tbody td { min-width: 0; padding: 9px 16px 16px; border: 0; font-size: .83rem; line-height: 1.5; }
	.compare-table tbody td + td { border-left: 1px solid rgba( 255, 255, 255, .12 ); }
	.compare-table .is-premium span { white-space: normal; }
	.final-cta__inner { align-items: start; }
	.floating-contact { gap: 8px; padding: 7px 12px 7px 7px; }
	.floating-contact span:last-child { display: inline; }
}

@media ( max-width: 600px ) {
	:root { --shell: calc( 100% - 28px ); }
	html { scroll-padding-top: 104px; }
	body { font-size: 16px; }
	h1 { font-size: clamp( 2.55rem, 12.8vw, 3.5rem ); line-height: 1.01; letter-spacing: -.052em; }
	h2 { font-size: clamp( 2rem, 9.4vw, 2.8rem ); line-height: 1.04; }
	h3 { line-height: 1.16; }
	.section { padding-block: 72px; }
	.topline { font-size: .59rem; }
	.topline__inner { min-height: 29px; }
	.nav-row { min-height: 68px; }
	.brand { width: 176px; gap: 9px; }
	.custom-logo-link { max-width: 176px; }
	.custom-logo-link img { width: auto; max-height: 50px; object-fit: contain; }
	.brand__mark { width: 29px; height: 44px; }
	.brand__name strong { font-size: .91rem; letter-spacing: .11em; }
	.brand__name small { font-size: .52rem; letter-spacing: .22em; }
	.primary-nav { inset: 97px 0 0; padding-inline: 18px; }
	.hero { padding: 38px 0 72px; }
	.hero__grid { gap: 42px; }
	.hero h1 { margin-bottom: 24px; }
	.hero__lead { margin-bottom: 30px; line-height: 1.7; }
	.button-row { gap: 10px; }
	.button { min-height: 52px; padding-inline: 18px; font-size: .72rem; touch-action: manipulation; }
	.hero__proof { display: grid; gap: 0; margin-top: 42px; padding-top: 0; border-top: 1px solid var(--line); }
	.hero__proof li,
	.hero__proof li + li { display: grid; grid-template-columns: minmax( 116px, .7fr ) 1.3fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
	.hero__proof span { align-self: center; }
	.hero-photo { min-height: 410px; }
	.hero-card { right: 0; bottom: 0; left: 0; padding: 13px 15px; border: 0; box-shadow: none; }
	.hero-card div span { max-width: none; }
	.hero-photo__label { padding: 10px 12px; font-size: .6rem; }
	.trust-strip__inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 0; padding-block: 12px; overflow: visible; gap: 0; }
	.trust-strip__inner > span:nth-child( even ) { display: none; }
	.trust-strip__inner > span:nth-child( odd ) { display: flex; align-items: center; min-height: 48px; padding: 7px 12px 7px 0; border-bottom: 1px solid rgba( 255, 255, 255, .1 ); font-size: .6rem; line-height: 1.45; }
	.trust-strip__inner > span:nth-child( 4n + 3 ) { padding-right: 0; padding-left: 12px; border-left: 1px solid rgba( 255, 255, 255, .1 ); }
	.section-heading { margin-bottom: 36px; padding-top: 16px; }
	.eyebrow { margin-bottom: 16px; font-size: .66rem; line-height: 1.5; }
	.section-heading--split > p,
	.section-heading--split > div:last-child > p { font-size: .95rem; line-height: 1.68; }
	.shape-grid {
		display: flex;
		gap: 10px;
		width: calc( 100vw - 14px );
		margin-right: -14px;
		padding: 0 14px 12px 0;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: inline mandatory;
		scroll-padding-inline: 0;
		border: 0;
		-webkit-overflow-scrolling: touch;
	}
	.shape-card,
	.shape-card--featured,
	.shape-card:nth-child( 3 ),
	.shape-card:nth-child( 4 ),
	.shape-card:nth-child( 5 ) { flex: 0 0 min( 78vw, 294px ); min-height: 270px; border: 1px solid var(--line); scroll-snap-align: start; }
	.shape-card__art { min-height: 168px; }
	.shape { transform: scale( .86 ); }
	.model-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 36px 12px; }
	.model-card__image > span { width: 36px; height: 36px; }
	.model-card__content { padding-top: 15px; }
	.model-card__content h3 { font-size: clamp( 1.42rem, 7vw, 1.75rem ); }
	.model-card__content p { margin-bottom: 18px; font-size: .75rem; line-height: 1.55; }
	.model-card__link { font-size: .66rem; line-height: 1.45; text-align: left; }
	.price-note { margin-top: 42px; }
	.compare-table thead th:nth-child( 2 ),
	.compare-table thead th:nth-child( 3 ) { padding: 14px 12px; font-size: .85rem; }
	.compare-table tbody th { padding: 14px 12px 6px; }
	.compare-table tbody td { padding: 8px 12px 14px; font-size: .78rem; }
	.compare-note { font-size: .75rem; line-height: 1.6; }
	.configurator__grid { gap: 38px; }
	.configurator__steps { margin-top: 32px; }
	.configurator__steps > div { grid-template-columns: 38px 1fr; padding: 16px 0; }
	.quote-form { padding: 24px 16px; box-shadow: 6px 6px 0 #e9edf2; }
	.form-progress { margin-bottom: 30px; }
	.quote-form fieldset { margin-bottom: 30px; }
	.quote-form legend { font-size: 1rem; }
	.quote-form label:not(.upload-field):not(.consent) { font-size: .875rem; }
	.quote-form input:not([type="checkbox"]):not([type="file"]),
	.quote-form select,
	.quote-form textarea { min-height: 54px; padding: 13px 12px; border-radius: 2px; font-size: 16px; }
	.quote-form textarea { min-height: 120px; }
	.upload-field { align-items: flex-start; padding: 16px; border-radius: 2px; }
	.upload-field > span:last-child { min-width: 0; }
	.upload-field small { overflow-wrap: anywhere; }
	.config-summary { padding: 14px; border-radius: 2px; }
	.consent { font-size: .78rem; }
	.consent input { width: 20px; height: 20px; flex-basis: 20px; }
	.form-footnote { font-size: .75rem; line-height: 1.55; }
	.project-grid { gap: 44px; }
	.project-card__image,
	.project-card--large .project-card__image { min-height: 340px; }
	.project-card__meta { display: grid; gap: 10px; }
	.project-card__meta > span { justify-self: start; }
	.gallery-heading { margin-top: 78px; }
	.gallery-grid { gap: 4px; margin-top: 24px; }
	.gallery-action { margin-top: 28px; }
	.process-list > li > span { margin-bottom: 20px; }
	.benefit-grid article { min-height: 0; padding: 26px 0; }
	.proof-intro .button { width: auto; }
	.logistics { gap: 38px; }
	.logistics__visual,
	.logistics-photo > img { min-height: 360px; }
	.logistics-photo figcaption { right: 0; padding: 14px 15px; }
	.logistics__copy > h2 { margin-bottom: 28px; }
	.logistics__item { grid-template-columns: 34px 1fr; gap: 12px; padding: 18px 0; }
	.b2b-card { padding: 30px 20px; }
	.faq-list summary { min-height: 66px; padding: 18px 0; font-size: .94rem; line-height: 1.4; }
	.faq-list summary::after { width: 38px; height: 38px; flex-basis: 38px; }
	.final-cta { padding: 64px 0; }
	.final-cta__inner { gap: 28px; }
	.site-footer { padding-top: 58px; padding-bottom: calc( 72px + env( safe-area-inset-bottom ) ); }
	.footer-grid { gap: 38px; padding-bottom: 44px; }
	.brand--full { width: 166px; }
	.footer-links { gap: 12px; font-size: .88rem; }
	.footer-bottom { gap: 8px; }
	.floating-contact { right: 12px; bottom: calc( 12px + env( safe-area-inset-bottom ) ); display: flex; gap: 8px; padding: 7px 12px 7px 7px; border-radius: 2px; }
	.floating-contact span:last-child { display: inline; }
	.floating-contact__icon { width: 30px; height: 30px; border-radius: 0; }
	.landing-hero { padding-block: 54px 0; }
	.landing-hero__grid { gap: 42px; }
	.landing-hero__panel,
	.landing-hero__panel > img { min-height: 360px; }
	.landing-hero__panel figcaption { padding: 13px 14px; }
	.landing-details,
	.landing-guide { gap: 32px; }
}

@media ( max-width: 380px ) {
	:root { --shell: calc( 100% - 22px ); }
	h1 { font-size: 2.48rem; }
	.brand { width: 164px; }
	.brand__mark { width: 27px; }
	.model-grid { grid-template-columns: 1fr; row-gap: 40px; }
	.model-card__content p { min-height: 0; }
	.trust-strip__inner { grid-template-columns: 1fr; }
	.trust-strip__inner > span:nth-child( odd ) { padding-inline: 0; border-left: 0; }
	.compare-table tbody td { font-size: .74rem; }
	.floating-contact span:last-child { font-size: .7rem; }
}

@media ( hover: none ) and ( pointer: coarse ) {
	.button:hover { transform: none; box-shadow: none; }
	.model-card:hover .model-card__image img,
	.project-card:hover .project-card__image img,
	.gallery-item:hover img { transform: none; }
}

/* Version 1.8 — clearer typography, photographic hero and interactive gallery */
:root {
	--type-display: clamp( 3.5rem, 7vw, 6.25rem );
	--type-title: clamp( 2.35rem, 4.2vw, 4rem );
	--type-copy: clamp( 1rem, .96rem + .18vw, 1.1rem );
	--type-meta: .84rem;
	--section-space: clamp( 68px, 7vw, 100px );
}

body { font-size: var(--type-copy); line-height: 1.7; }
h1 { font-size: var(--type-display); }
h2 { font-size: var(--type-title); }
h3 { font-size: 1.3rem; line-height: 1.2; }
.section { padding-block: var(--section-space); }
.section-heading { margin-bottom: clamp( 34px, 4vw, 50px ); }
.section-heading--split > p,
.section-heading--split > div:last-child > p,
.hero__lead { font-size: var(--type-copy); }
.eyebrow,
.button,
.text-link,
.primary-nav a,
.shape-card__body small,
.model-card__content p,
.project-card__meta p,
.logistics__item p,
.benefit-grid p { font-size: var(--type-meta); }

/* The first screen is the mirror photograph, with content layered over it. */
.hero {
	display: grid;
	min-height: clamp( 720px, 84vh, 920px );
	padding: 0;
	color: #fff;
	background: var(--navy-950);
}
.hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	align-items: end;
	width: 100%;
	min-height: inherit;
	max-width: none;
	gap: 0;
}
.hero__copy {
	position: relative;
	z-index: 5;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: var(--shell);
	min-height: inherit;
	margin-inline: auto;
	padding-block: clamp( 110px, 15vh, 180px ) clamp( 62px, 8vh, 90px );
}
.hero h1 { max-width: 930px; margin-bottom: 24px; text-wrap: balance; }
.hero__lead { max-width: 690px; margin-bottom: 30px; color: rgba( 255, 255, 255, .86 ); line-height: 1.7; }
.hero .eyebrow { color: #a9e7ff; }
.hero .button--secondary { color: #fff; border-color: rgba( 255, 255, 255, .8 ); background: rgba( 7, 17, 31, .26 ); backdrop-filter: blur( 8px ); }
.hero .button--secondary:hover { color: var(--navy-950); background: #fff; }
.hero__proof { max-width: 900px; margin-top: 42px; padding-top: 18px; border-top-color: rgba( 255, 255, 255, .34 ); }
.hero__proof li + li { border-left-color: rgba( 255, 255, 255, .28 ); }
.hero__proof strong { color: #fff; font-size: .9rem; }
.hero__proof span { color: rgba( 255, 255, 255, .72 ); font-size: .8rem; }
.hero-photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	min-height: 100%;
	max-width: none;
	margin: 0;
}
.hero-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient( 90deg, rgba( 5, 14, 28, .91 ) 0%, rgba( 5, 14, 28, .67 ) 43%, rgba( 5, 14, 28, .17 ) 74%, rgba( 5, 14, 28, .06 ) 100% ), linear-gradient( 0deg, rgba( 5, 14, 28, .55 ), transparent 48% );
	pointer-events: none;
}
.hero-photo::after { z-index: 2; border-color: rgba( 255, 255, 255, .12 ); }
.hero-photo > img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center 48%; }
.hero-photo__label { z-index: 4; top: auto; right: 0; bottom: 0; left: auto; background: rgba( 7, 17, 31, .82 ); }
.hero-card { z-index: 4; right: 34px; bottom: 62px; border-color: rgba( 255, 255, 255, .72 ); box-shadow: none; }

/* Seven shapes: four cards in the first row and three wider cards in the second. */
.shape-grid { display: grid; grid-template-columns: repeat( 12, minmax( 0, 1fr ) ); gap: 12px; border: 0; }
.shape-card,
.shape-card--featured { grid-column: span 3; min-height: 310px; border: 1px solid var(--line); }
.shape-card:first-child { border-left: 1px solid var(--line); }
.shape-card:nth-child( n + 5 ) { grid-column: span 4; }
.shape--semicircle { width: 148px; height: 86px; border-radius: 90px 90px 7px 7px; }
.shape--oval { width: 100px; height: 154px; border-radius: 50%; }

/* Preserve the full photographs and open each one in an accessible lightbox. */
.project-card__image,
.project-card--large .project-card__image { min-height: 0; background: #e7ebef; }
.project-card__image .gallery-open,
.gallery-open { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: zoom-in; }
.project-card__image img,
.project-card--large .project-card__image img { width: 100%; height: auto; min-height: 0; object-fit: contain; }
.gallery-heading { margin-top: clamp( 58px, 7vw, 86px ); }
.gallery-grid {
	display: block;
	columns: 4;
	column-gap: 8px;
	margin-top: 30px;
}
.gallery-item,
.gallery-item:nth-child( 9n + 1 ),
.gallery-item:nth-child( 13n + 5 ) {
	display: inline-block;
	width: 100%;
	margin: 0 0 8px;
	aspect-ratio: auto;
	break-inside: avoid;
	overflow: hidden;
}
.gallery-item[hidden] { display: none; }
.gallery-item img { width: 100%; height: auto; object-fit: contain; }
.gallery-open:focus-visible { position: relative; z-index: 2; outline: 3px solid var(--blue-600); outline-offset: -3px; }

body.lightbox-open { overflow: hidden; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: grid;
	grid-template-columns: 64px minmax( 0, 1fr ) 64px;
	align-items: center;
	gap: 18px;
	padding: 34px;
	color: #fff;
	background: rgba( 3, 9, 18, .96 );
	backdrop-filter: blur( 12px );
}
.gallery-lightbox figure { display: grid; place-items: center; gap: 12px; max-width: 1500px; max-height: calc( 100vh - 68px ); margin: auto; }
.gallery-lightbox img { width: auto; max-width: 100%; max-height: calc( 100vh - 120px ); object-fit: contain; }
.gallery-lightbox figcaption { color: #c8d3df; font-size: var(--type-meta); text-align: center; }
.gallery-lightbox button {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba( 255, 255, 255, .45 );
	color: #fff;
	background: rgba( 255, 255, 255, .08 );
	font-size: 1.45rem;
}
.gallery-lightbox button:hover { background: var(--blue-600); }
.gallery-lightbox__close { position: absolute; top: 20px; right: 20px; z-index: 2; }

/* Tighter, consistent vertical rhythm. */
.b2b-section { padding-top: var(--section-space); }
.process-list li { min-height: 250px; }
.process-list > li > span { margin-bottom: 50px; }
.benefit-grid article { min-height: 230px; }
.benefit-grid h3 { margin-top: 42px; }
.final-cta { padding-block: clamp( 58px, 6vw, 78px ); }

/* Mobile navigation uses the measured bottom edge of the sticky header. */
@media ( max-width: 860px ) {
	.primary-nav {
		position: fixed;
		top: var(--luminolux-header-bottom, 101px);
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		justify-self: stretch;
		width: 100%;
		max-width: none;
		margin: 0;
		height: calc( 100dvh - var(--luminolux-header-bottom, 101px) );
		padding: 14px max( 22px, calc( ( 100vw - 720px ) / 2 ) ) calc( 28px + env( safe-area-inset-bottom ) );
		border-top: 1px solid var(--line);
		box-shadow: 0 18px 40px rgba( 7, 17, 31, .12 );
		background: #fdfdfd;
		visibility: hidden;
		opacity: 0;
		transform: translateY( -12px );
		pointer-events: none;
		transition: opacity .2s ease, transform .2s ease, visibility .2s;
	}
	.primary-nav.is-open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
	.primary-nav .menu { display: grid; width: 100%; max-width: none; }
	.primary-nav .menu li { width: 100%; }
	.primary-nav a { width: 100%; justify-content: flex-start; text-align: left; }
	.primary-nav .mobile-nav-cta { justify-content: space-between; width: 100%; }
	.shape-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 10px; }
	.shape-card,
	.shape-card--featured,
	.shape-card:nth-child( n + 5 ) { grid-column: span 1; min-height: 270px; }
	.gallery-grid { columns: 3; }
}

@media ( max-width: 600px ) {
	:root {
		--type-display: clamp( 2.65rem, 12.2vw, 3.65rem );
		--type-title: clamp( 2rem, 8.7vw, 2.65rem );
		--type-copy: 1rem;
		--type-meta: .82rem;
		--section-space: 56px;
	}
	.section { padding-block: var(--section-space); }
	.hero { min-height: max( 720px, calc( 100svh - 97px ) ); padding: 0; }
	.hero__grid { gap: 0; }
	.hero__copy { min-height: inherit; padding-block: 88px 38px; }
	.hero h1 { margin-bottom: 18px; }
	.hero__lead { margin-bottom: 24px; line-height: 1.6; }
	.hero-photo { min-height: 100%; }
	.hero-photo::before { background: linear-gradient( 0deg, rgba( 5, 14, 28, .94 ) 0%, rgba( 5, 14, 28, .72 ) 50%, rgba( 5, 14, 28, .12 ) 100% ); }
	.hero-photo > img { object-position: 57% center; }
	.hero__proof { margin-top: 28px; }
	.hero__proof li,
	.hero__proof li + li { grid-template-columns: 112px 1fr; border-bottom-color: rgba( 255, 255, 255, .24 ); }
	.hero-card { display: none; }
	.hero-photo__label { top: 14px; right: 14px; bottom: auto; }
	.shape-grid { display: grid; width: auto; margin: 0; padding: 0; overflow: visible; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.shape-card,
	.shape-card--featured,
	.shape-card:nth-child( 3 ),
	.shape-card:nth-child( 4 ),
	.shape-card:nth-child( 5 ),
	.shape-card:nth-child( n + 5 ) { grid-column: span 1; min-width: 0; min-height: 235px; padding: 18px 14px; }
	.shape-card__art { min-height: 140px; }
	.shape { transform: scale( .75 ); }
	.gallery-heading { margin-top: 54px; }
	.gallery-grid { columns: 2; column-gap: 5px; margin-top: 22px; }
	.gallery-item,
	.gallery-item:nth-child( 9n + 1 ),
	.gallery-item:nth-child( 13n + 5 ) { margin-bottom: 5px; }
	.gallery-lightbox { grid-template-columns: 44px minmax( 0, 1fr ) 44px; gap: 7px; padding: 64px 8px 22px; }
	.gallery-lightbox button { width: 42px; height: 42px; }
	.gallery-lightbox__close { top: 12px; right: 12px; }
	.gallery-lightbox img { max-height: calc( 100svh - 150px ); }
	.process-list li { min-height: 0; }
	.process-list > li > span { margin-bottom: 24px; }
}

@media ( max-width: 380px ) {
	.shape-grid { grid-template-columns: 1fr; }
}

/* Version 1.9 — client content corrections and consistent mobile columns */
.model-grid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); column-gap: 22px; }
.final-cta__offer { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: var(--type-copy); }

@media ( max-width: 960px ) {
	.model-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}

@media ( max-width: 600px ) {
	.model-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 34px 10px; }
	.model-card__content h3 { font-size: clamp( 1.32rem, 6.4vw, 1.68rem ); }
	.model-card__content p { font-size: .76rem; line-height: 1.5; }
	.shape-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.final-cta__offer { margin-top: 14px; }
}

@media ( max-width: 380px ) {
	.model-grid,
	.shape-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.model-card__content h3 { font-size: 1.22rem; }
	.model-card__content p { font-size: .72rem; }
	.shape-card,
	.shape-card--featured,
	.shape-card:nth-child( n + 5 ) { min-height: 220px; padding-inline: 11px; }
}

/* Version 2.0 — privacy-first Google measurement controls. */
.shape-card { cursor: default; }
.shape-card:hover { transform: none; border-color: var(--line); background: transparent; box-shadow: none; }

.cookie-consent {
	position: fixed;
	right: 22px;
	bottom: 22px;
	left: 22px;
	z-index: 7000;
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 28px;
	width: min( 880px, calc( 100% - 44px ) );
	margin-inline: auto;
	padding: 22px;
	border: 1px solid rgba( 255, 255, 255, .14 );
	border-radius: 18px;
	color: #e8f0fa;
	background: rgba( 5, 14, 28, .97 );
	box-shadow: 0 24px 70px rgba( 0, 0, 0, .28 );
	backdrop-filter: blur( 18px );
}
.cookie-consent[hidden] { display: none; }
.cookie-consent__copy strong { display: block; margin-bottom: 5px; color: #fff; font-size: 1.05rem; }
.cookie-consent__copy p { max-width: 620px; margin: 0 0 4px; color: #b9c7d8; font-size: .88rem; line-height: 1.55; }
.cookie-consent__copy a { color: #7db4ff; font-size: .82rem; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__choices { display: flex; flex-wrap: wrap; gap: 9px; margin: 12px 0; }
.cookie-consent__choices label { display: flex; align-items: center; gap: 9px; min-width: 170px; padding: 9px 11px; border: 1px solid #66778d; border-radius: 10px; cursor: pointer; }
.cookie-consent__choices input { width: 18px; height: 18px; accent-color: var(--blue-600); }
.cookie-consent__choices span { display: grid; gap: 1px; font-size: .84rem; font-weight: 700; }
.cookie-consent__choices small { color: #b9c7d8; font-size: .72rem; font-weight: 400; }
.cookie-consent__actions { display: flex; gap: 9px; }
.cookie-consent__button {
	min-height: 44px;
	padding: 0 17px;
	border: 1px solid var(--blue-600);
	border-radius: 999px;
	color: #fff;
	background: var(--blue-600);
	font-size: .82rem;
	font-weight: 750;
	white-space: nowrap;
}
.cookie-consent__button--secondary { border-color: #66778d; background: transparent; }
.cookie-consent__button:hover { background: #075ae5; }
.cookie-consent__button--secondary:hover { border-color: #fff; background: rgba( 255, 255, 255, .08 ); }

@media ( max-width: 720px ) {
	.cookie-consent {
		right: 10px;
		bottom: max( 10px, env( safe-area-inset-bottom ) );
		left: 10px;
		grid-template-columns: 1fr;
		gap: 16px;
		width: auto;
		padding: 18px;
		border-radius: 15px;
	}
	.cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }
	.cookie-consent__button { padding-inline: 12px; white-space: normal; }
}

/* Version 2.4 — multi-mirror quotes, blog and social links. */
.form-section { margin-bottom: 34px; }
.form-section h3 { margin-bottom: 6px; font-size: 1rem; font-weight: 800; letter-spacing: -.01em; }
.form-section > p, .form-helper { color: var(--muted); font-size: .82rem; line-height: 1.55; }
.form-section > p { margin-bottom: 18px; }
.mirror-list { display: grid; gap: 16px; }
.quote-form .mirror-item { position: relative; margin: 0; padding: 22px; border: 1px solid #cfdae8; background: #f8fafc; }
.quote-form .mirror-item legend { margin: 0; padding: 0 8px; color: var(--ink); font-size: .95rem; font-weight: 800; }
.mirror-item .form-grid--3 { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
.mirror-remove { position: absolute; top: 12px; right: 18px; padding: 5px 0; border: 0; color: #315b97; background: transparent; font-size: .78rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.mirror-remove[hidden], .mirror-limit[hidden] { display: none; }
.mirror-add { display: block; width: 100%; margin-top: 16px; padding: 13px 18px; border: 1px dashed #6e94c5; color: #1056b8; background: #f8fbff; font-size: .85rem; font-weight: 800; text-align: center; }
.mirror-add:hover { border-style: solid; background: #edf5ff; }
.mirror-add:disabled { cursor: not-allowed; opacity: .5; }
.mirror-add:focus-visible, .mirror-remove:focus-visible, .social-links a:focus-visible, .blog-card a:focus-visible { outline: 3px solid var(--blue-600); outline-offset: 3px; }
.mirror-limit { margin: 10px 0 0; }
.quote-form .form-helper { margin: 0; font-weight: 500; }
.quote-form > .form-helper { margin: -12px 0 20px; }

.blog-grid { display: grid; grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); gap: 22px; }
.blog-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--line); background: #fff; }
.blog-card__image { display: grid; place-items: center; min-height: 220px; background: #eef2f6; }
.blog-card__image img { max-height: 310px; width: 100%; height: auto; object-fit: contain; }
.blog-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 24px; }
.blog-card__body time { margin-bottom: 12px; color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.blog-card__body h2, .blog-card__body h3 { margin-bottom: 14px; font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif; font-size: clamp( 1.55rem, 2vw, 2rem ); font-weight: 400; line-height: 1.12; }
.blog-card__body h2 a:hover, .blog-card__body h3 a:hover { color: var(--blue-600); }
.blog-card__body p { margin-bottom: 20px; color: var(--muted); font-size: .87rem; line-height: 1.65; }
.blog-card__body .text-link { margin-top: auto; }
.blog-empty { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blog-empty p { max-width: 650px; margin: 0; color: var(--muted); }
.blog-page .content-page__header { max-width: 760px; margin-bottom: 54px; }
.blog-page .content-page__header p:last-child { color: var(--muted); }
.blog-pagination { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 42px; }
.blog-pagination .page-numbers { padding: 8px 12px; border: 1px solid var(--line); }
.blog-pagination .current { color: #fff; background: var(--navy-900); }
.article-page { max-width: 1000px; }
.article-page__header { max-width: 780px; margin-bottom: 42px; }
.article-page__header > .text-link { display: inline-block; margin-bottom: 36px; }
.article-page__header h1 { font-size: clamp( 3rem, 6vw, 5.5rem ); }
.article-page__image { margin: 0 0 50px; background: #f1f3f5; }
.article-page__image img { width: 100%; height: auto; }
.article-page__body { max-width: 780px; margin-inline: auto; }
.article-page__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 780px; margin: 60px auto 0; padding-top: 22px; border-top: 1px solid var(--line); }
.article-page__footer .button { width: auto; }

.social-section { padding-block: clamp( 64px, 8vw, 110px ); border-top: 1px solid var(--line); background: #f3f5f7; }
.social-section__inner { display: grid; grid-template-columns: minmax( 0, .9fr ) minmax( 0, 1.1fr ); gap: clamp( 34px, 8vw, 110px ); align-items: end; }
.social-section h2 { max-width: 550px; margin-bottom: 16px; }
.social-section__inner > div:first-child > p:last-child { max-width: 500px; margin-bottom: 0; color: var(--muted); }
.social-links { display: grid; gap: 12px; }
.social-links a { display: grid; grid-template-columns: 1fr auto; gap: 3px 20px; padding: 19px 22px; border: 1px solid #cdd6e1; background: #fff; transition: border-color .2s, transform .2s; }
.social-links a:hover { transform: translateY( -2px ); border-color: var(--blue-600); }
.social-links a > span:first-child { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.social-links a strong { grid-column: 1; font-size: 1rem; font-weight: 650; }
.social-links a > span:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--blue-600); font-size: 1.25rem; }

@media ( max-width: 860px ) {
	.blog-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.social-section__inner { grid-template-columns: 1fr; }
}
@media ( max-width: 600px ) {
	.quote-form .mirror-item { padding: 18px 13px; }
	.mirror-item .form-grid--3 { grid-template-columns: 1fr; }
	.blog-grid { grid-template-columns: 1fr; }
	.blog-empty, .article-page__footer { align-items: flex-start; flex-direction: column; }
	.social-links a { padding: 16px; }
}
