
.site-header { position: sticky; z-index: 40; top: 0; background: var(--ink); color: var(--paper); border-bottom: 1px solid rgba(242,240,234,.35); transition: background-color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard), padding var(--duration-base) var(--ease-standard); }
.site-header.is-condensed { border-bottom-color: var(--signal); }

.site-header.is-condensed .header-inner { min-height: 4rem; }
.site-header .primary-nav a:hover, .site-header .primary-nav a:focus-visible { color: #ff8178; }
.site-footer a:hover, .site-footer a:focus-visible { color: #ff8178; }
.header-inner { display: flex; min-height: 5.5rem; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; min-height: 44px; align-items: center; color: var(--paper); flex: 0 1 auto; }
.brand img { width: auto; height: 2.1rem; max-width: min(24rem, 62vw); }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.7vw, 2.5rem); }
.primary-nav a, .nav-link { display: inline-flex; min-height: 44px; align-items: center; padding: .65rem 0; color: var(--paper); font-family: var(--mono); font-size: .74rem; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; border-bottom: 2px solid transparent; transition: color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.primary-nav a:hover, .primary-nav a:active, .primary-nav a:focus-visible, .nav-link:hover, .nav-link:active, .nav-link:focus-visible { color: var(--signal); border-color: var(--signal); transform: translateY(-1px); }
.primary-nav a:active, .nav-link:active { transform: translateY(1px); }
.nav-toggle { display: none; min-height: 44px; align-items: center; gap: .6rem; padding: .65rem .75rem; border: 1px solid var(--steel); background: transparent; color: var(--paper); font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.nav-toggle:hover, .nav-toggle:focus-visible { background: var(--paper); color: var(--ink); border-color: var(--paper); transform: translateY(-1px); }
.nav-toggle:active { background: var(--signal); border-color: var(--signal); color: var(--white); transform: translateY(1px); }
.nav-toggle .icon { width: 1.2rem; height: 1.2rem; }

.button, .button-primary, .button-secondary, .button-quiet { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .65rem; padding: .75rem 1.15rem; border: 2px solid var(--signal); border-radius: 0; font-family: var(--mono); font-size: .76rem; font-weight: 600; letter-spacing: .06em; line-height: 1.25; text-align: center; text-decoration: none; text-transform: uppercase; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.button-primary, .button { background: var(--signal); color: var(--white); }
.button-secondary { background: transparent; color: var(--ink); }
.button-quiet { border-color: var(--line); background: transparent; color: var(--slate); }
.dark-band .button-secondary { color: var(--paper); border-color: var(--paper); }
.button:hover, .button-primary:hover { background: var(--oxide); border-color: var(--oxide); color: var(--white); transform: translateY(-2px); }
.button-secondary:hover, .button-quiet:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); transform: translateY(-2px); }
.button:active, .button-primary:active, .button-secondary:active, .button-quiet:active { transform: translateY(1px); box-shadow: inset 0 2px 0 rgba(0,0,0,.18); }
.button:focus-visible, .button-primary:focus-visible, .button-secondary:focus-visible, .button-quiet:focus-visible { outline: 0; box-shadow: var(--focus); }
.button .icon, .button-primary .icon, .button-secondary .icon { width: 1rem; height: 1rem; }

.section-kicker { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.75rem, 4vw, 3.5rem); padding-bottom: .75rem; border-bottom: 1px solid var(--line); }
.section-kicker .coordinate { color: var(--signal); }
.hero-statement { position: relative; overflow: hidden; min-height: min(740px, calc(100svh - 5.5rem)); display: flex; align-items: flex-end; padding-block: clamp(4.5rem, 12vw, 10rem) clamp(3.5rem, 8vw, 7rem); background: var(--ink); color: var(--paper); border-bottom: var(--rule) solid var(--signal); }
.hero-statement::after { position: absolute; content: "AUS / 30.2672° N / 97.7431° W"; right: var(--gutter); bottom: 1.75rem; color: var(--steel); font: .68rem var(--mono); letter-spacing: .11em; }
.hero-statement h1 { color: var(--paper); }
.hero-statement .hero-copy { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.hero-statement .hero-aside { padding-bottom: .4rem; border-left: 2px solid var(--signal); padding-left: 1.25rem; }
.hero-statement .hero-aside p { color: var(--steel); }
.hero-meta { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-top: 2rem; color: var(--steel); font: .72rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hero-meta span::before { content: "•"; color: var(--signal); margin-right: .5rem; }

.offer-list { border-top: 1px solid var(--line); }
.offer-row { display: grid; grid-template-columns: 5rem minmax(0, 1fr) minmax(260px, .75fr) minmax(150px, .35fr); gap: clamp(1rem, 3vw, 3rem); align-items: center; min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem) 0; border-bottom: 1px solid var(--line); transition: background-color var(--duration-base) var(--ease-standard), padding-inline var(--duration-base) var(--ease-standard); }
.offer-row:hover { padding-inline: 1rem; background: var(--steel); }
.offer-row:active { background: var(--signal); color: var(--white); }
.offer-row:active h3, .offer-row:active .offer-number, .offer-row:active p { color: var(--white); }
.offer-number { align-self: start; color: var(--signal); font: 600 clamp(1.8rem, 4vw, 3.5rem) var(--display); line-height: 1; }
.offer-row h3 { margin-bottom: .35rem; }
.offer-row p { font-size: .95rem; }
.offer-detail { color: var(--slate); font-family: var(--mono); font-size: .78rem; line-height: 1.55; }
.offer-link { justify-self: end; }
.offer-media { display: none; }

.duotone-break { position: relative; isolation: isolate; min-height: clamp(26rem, 70vw, 47rem); display: grid; place-items: center; overflow: hidden; background: var(--ink); color: var(--paper); border-block: var(--rule) solid var(--signal); }
.duotone-break img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15); mix-blend-mode: luminosity; }
.duotone-break::before { position: absolute; z-index: -1; content: ""; inset: 0; background: var(--oxide); mix-blend-mode: multiply; opacity: .86; }
.duotone-break::after { position: absolute; z-index: -1; content: ""; inset: 0; background: rgba(16,18,20,.44); }
.duotone-copy { max-width: 900px; padding: clamp(2rem, 7vw, 6rem); text-align: center; }
.duotone-copy h2 { max-width: 14ch; margin-inline: auto; color: var(--paper); font-size: clamp(2.7rem, 8vw, 7rem); }
.duotone-copy p { margin: 1.5rem auto 0; color: var(--paper); }

.scope-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.scope-table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--ink); }
.scope-table tr { border-bottom: 1px solid var(--line); }
.scope-table th, .scope-table td { padding: 1rem .5rem; text-align: left; vertical-align: top; }
.scope-table th { width: 36%; color: var(--ink); font: 600 .72rem/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.scope-table td { color: var(--slate); }
.proof-image { border-top: var(--rule) solid var(--ink); }
.proof-image img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.figure-caption { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; color: var(--slate); font: .72rem var(--mono); border-bottom: 1px solid var(--line); }

.contact-block { background: var(--steel); border-top: var(--rule) solid var(--ink); }
.contact-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 8vw, 8rem); }
.contact-facts { border-top: 2px solid var(--ink); }
.fact { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.fact dt { color: var(--ink); font: 600 .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.fact dd { margin: 0; min-width: 0; }
.fact a { overflow-wrap: anywhere; }
.inquiry-note { margin-top: 1.5rem; padding: 1rem; border-left: 3px solid var(--signal); background: rgba(242,240,234,.6); }

.form-shell { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--signal); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.field { display: flex; min-width: 0; flex-direction: column; gap: .4rem; }
.field-wide { grid-column: 1 / -1; }
.field label, .field legend { color: var(--ink); font: 600 .73rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.field label em { color: var(--line); font-style: normal; font-weight: 400; text-transform: none; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.field textarea { min-height: 9rem; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--ink); background: #fff; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 0; border-color: var(--signal); box-shadow: inset 0 -2px var(--signal); }
.field input:active, .field select:active, .field textarea:active { background: var(--paper); }
.field [aria-invalid='true'] { border-color: var(--signal); background: #fff5f3; }
.field-error { min-height: 1.25em; color: var(--oxide); font-size: .82rem; }
.consent-line { display: flex; align-items: flex-start; gap: .7rem; grid-column: 1 / -1; }
.consent-line input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--signal); }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; grid-column: 1 / -1; }
.form-status { min-height: 1.5em; color: var(--ink); font-size: .9rem; }

.site-footer { background: var(--ink); color: var(--steel); border-top: var(--rule) solid var(--signal); }
.footer-main { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(0, 1fr) minmax(180px, .7fr); gap: 2rem; padding-block: 4rem; }
.footer-brand img { height: 2.65rem; width: auto; }
.footer-heading { margin-bottom: .8rem; color: var(--paper); font: 600 .72rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1.5rem; }
.footer-nav a, .footer-contact a { display: inline-flex; min-height: 44px; align-items: center; padding-block: .55rem; color: var(--paper); font-size: .9rem; text-decoration: none; transition: color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.footer-nav a:hover, .footer-nav a:focus-visible, .footer-contact a:hover, .footer-contact a:focus-visible { color: var(--signal); transform: translateX(3px); }

.footer-nav a:active, .footer-contact a:active { color: var(--oxide); transform: translateX(1px); }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1rem; border-top: 1px solid var(--line); color: var(--steel); font: .7rem var(--mono); }
.footer-legal a { display: inline-flex; min-height: 44px; align-items: center; color: var(--paper); transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.footer-legal a:hover, .footer-legal a:focus-visible { color: var(--signal); }
.footer-legal a:active { color: var(--oxide); }
.footer-legal-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }

.cookie-banner { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: none; background: var(--ink); color: var(--paper); border-top: 3px solid var(--signal); box-shadow: 0 -1rem 2rem rgba(16,18,20,.18); }
.cookie-banner.is-visible { display: block; }
.cookie-inner { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .75rem; }
.cookie-copy { min-width: 0; }
.cookie-actions { min-width: max-content; }
.cookie-actions button { white-space: nowrap; }
.cookie-copy { min-width: 0; font-size: .82rem; }
.cookie-copy a { color: var(--paper); }
.cookie-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .5rem; }
.cookie-actions button, .cookie-reopen { min-height: 44px; padding: .65rem .85rem; border: 1px solid var(--paper); border-radius: 0; background: transparent; color: var(--paper); font: 600 .7rem var(--mono); letter-spacing: .05em; text-transform: uppercase; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.cookie-actions button:first-child { border-color: var(--signal); background: var(--signal); }
.cookie-actions button:hover, .cookie-reopen:hover, .cookie-actions button:focus-visible, .cookie-reopen:focus-visible { background: var(--paper); border-color: var(--paper); color: var(--ink); transform: translateY(-1px); }
.cookie-actions button:active, .cookie-reopen:active { background: var(--signal); border-color: var(--signal); color: var(--white); transform: translateY(1px); }
.cookie-reopen { display: inline-flex; align-items: center; color: var(--paper); }

.chat-launcher { position: fixed; z-index: 75; right: var(--gutter); bottom: 1.25rem; display: inline-flex; min-width: 3.5rem; min-height: 3.5rem; align-items: center; justify-content: center; gap: .5rem; padding: .75rem; border: 2px solid var(--signal); border-radius: 0; background: var(--signal); color: var(--white); box-shadow: 5px 5px 0 var(--ink); font: 600 .7rem var(--mono); text-transform: uppercase; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.chat-launcher:hover, .chat-launcher:focus-visible { background: var(--paper); border-color: var(--paper); color: var(--ink); box-shadow: 3px 3px 0 var(--signal); transform: translate(-2px, -2px); }
.chat-launcher:active { background: var(--oxide); border-color: var(--oxide); color: var(--white); box-shadow: 1px 1px 0 var(--ink); transform: translate(2px, 2px); }
.chat-launcher .icon { width: 1.35rem; height: 1.35rem; }
.chat-count { position: absolute; top: -.5rem; right: -.5rem; display: grid; min-width: 1.35rem; min-height: 1.35rem; place-items: center; padding: .15rem; background: var(--paper); color: var(--ink); border: 1px solid var(--ink); font: 600 .68rem var(--mono); }
.chat-panel { position: fixed; z-index: 76; right: var(--gutter); bottom: 6rem; width: min(24rem, calc(100vw - 2rem)); max-height: min(38rem, calc(100svh - 8rem)); display: none; flex-direction: column; background: var(--paper); color: var(--slate); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); }
.chat-panel.is-open { display: flex; }
.chat-head { display: flex; min-height: 3.75rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; background: var(--ink); color: var(--paper); }
.chat-head h2 { color: var(--paper); font: 600 1.35rem var(--display); }
.chat-close { min-height: 44px; min-width: 44px; padding: .5rem; border: 1px solid var(--steel); background: transparent; color: var(--paper); transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.chat-close:hover, .chat-close:focus-visible { background: var(--paper); color: var(--ink); transform: translateY(-1px); }
.chat-close:active { background: var(--signal); color: var(--white); transform: translateY(1px); }
.chat-transcript { min-height: 8rem; max-height: 22rem; overflow-y: auto; padding: 1rem; }
.chat-message { width: fit-content; max-width: 90%; margin-bottom: .75rem; padding: .65rem .75rem; border-left: 3px solid var(--line); background: var(--steel); font-size: .9rem; }
.chat-message.is-user { margin-left: auto; border-left: 0; border-right: 3px solid var(--signal); background: var(--ink); color: var(--paper); }
.chat-compose { display: flex; gap: .5rem; padding: .75rem; border-top: 1px solid var(--line); }
.chat-compose textarea { min-width: 0; flex: 1; min-height: 44px; max-height: 7rem; padding: .65rem; border: 1px solid var(--line); border-radius: 0; resize: vertical; }
.chat-compose textarea:focus { outline: 0; border-color: var(--signal); box-shadow: inset 0 -2px var(--signal); }
.chat-compose button { min-width: 44px; min-height: 44px; padding: .6rem; border: 2px solid var(--signal); background: var(--signal); color: var(--white); transition: background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); }
.chat-compose button:hover, .chat-compose button:focus-visible { background: var(--oxide); border-color: var(--oxide); transform: translateY(-1px); }
.chat-compose button:active { transform: translateY(1px); }
.chat-intro { padding: 1rem; border-bottom: 1px solid var(--line); }
.chat-intro .field { margin-top: .75rem; }
.chat-intro input { width: 100%; min-height: 44px; padding: .5rem; border: 1px solid var(--line); border-radius: 0; background: var(--white); }
.chat-intro button { margin-top: .75rem; min-height: 44px; padding: .6rem .8rem; border: 2px solid var(--ink); background: var(--ink); color: var(--paper); font: 600 .7rem var(--mono); text-transform: uppercase; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.chat-intro button:hover, .chat-intro button:focus-visible { background: var(--signal); border-color: var(--signal); transform: translateY(-1px); }
.chat-intro button:active { transform: translateY(1px); }

@media (max-width: 767px) {
	.header-inner { min-height: 4.75rem; }
	.brand img { height: 1.8rem; }
	.nav-toggle { display: inline-flex; }
	.primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: .75rem var(--gutter) 1rem; background: var(--ink); border-bottom: 3px solid var(--signal); }
	.primary-nav.is-open { display: grid; }
	.primary-nav a { padding-block: .7rem; border-bottom: 1px solid var(--line); }
	.hero-statement { min-height: calc(100svh - 4.75rem); }
	.hero-statement .hero-copy, .contact-grid, .scope-panel { grid-template-columns: minmax(0, 1fr); }
	.hero-statement::after { position: static; display: block; margin-top: 2rem; }
	.offer-row { grid-template-columns: 3rem minmax(0, 1fr); }
	.offer-detail, .offer-link { grid-column: 2; }
	.offer-link { justify-self: start; }
	.form-grid { grid-template-columns: minmax(0, 1fr); }
	.field-wide, .consent-line, .form-actions { grid-column: auto; }
	.footer-main { grid-template-columns: minmax(0, 1fr); padding-block: 1.5rem; gap: 1rem; }

	.cookie-inner { display: block; padding-block: .6rem; }
	.cookie-actions { margin-top: .45rem; }
	.cookie-banner { max-height: 20vh; overflow: auto; }
	.chat-launcher { bottom: 5.4rem; }
	.chat-panel { bottom: 9.5rem; }
}
@media (min-width: 768px) { .chat-panel { bottom: 6.5rem; } }
