:root {
  --thp-night: #0a1120;
  --thp-night-2: #121d30;
  --thp-porcelain: #edf2f4;
  --thp-violet: #7657ff;
  --thp-violet-dark: #4d35c8;
  --thp-amber: #ffb238;
  --thp-mint: #52d6c8;
  --thp-wet: #28323a;
  --thp-line: rgba(40,50,58,.2);
  --thp-shadow: 0 30px 80px rgba(10,17,32,.24);
}

/* Removed oversized edge diagrams; section content keeps its own motion. */
.thp-page main section > [aria-hidden="true"] { display: none !important; }

html { scroll-behavior: smooth; }
.thp-page { overflow-x: clip; color: var(--thp-wet); background: var(--thp-porcelain); }
.thp-page main > section { position: relative; isolation: isolate; overflow: clip; scroll-margin-top: 90px; }
.thp-page main > section > .container,
.thp-page main > section > figure { position: relative; z-index: 3; }
.thp-page h1,
.thp-page h2 { margin: 0; font-weight: 950; line-height: .97; letter-spacing: -3.7px; text-wrap: balance; }
.thp-page h1 { max-width: 800px; font-size: clamp(58px,6.1vw,91px); }
.thp-page h2 { max-width: 900px; font-size: clamp(45px,5vw,70px); }
.thp-page h3,
.thp-page p,
.thp-page li,
.thp-page dd,
.thp-page a,
.thp-page summary { overflow-wrap: anywhere; }
.thp-page a:focus-visible,
.thp-page summary:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px var(--thp-violet); }
.thp-kicker { margin: 0 0 18px; color: var(--thp-violet); font-size: 10px; font-weight: 950; line-height: 1.25; letter-spacing: 2.1px; text-transform: uppercase; }
.thp-page figure { position: relative; margin: 0; overflow: hidden; }
.thp-page figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.thp-page figure figcaption { position: absolute; z-index: 4; right: 18px; bottom: 18px; display: grid; max-width: min(390px,calc(100% - 36px)); padding: 14px 17px; color: #fff; background: rgba(10,17,32,.9); border-left: 6px solid var(--thp-amber); box-shadow: 0 14px 35px rgba(0,0,0,.28); }
.thp-page figure figcaption span { margin-bottom: 5px; color: var(--thp-mint); font-size: 9px; font-weight: 950; letter-spacing: 1.25px; text-transform: uppercase; }
.thp-page figure figcaption strong { font-size: 13px; line-height: 1.36; }

/* 1. Field journal hero. */
.thp-hero { min-height: 1110px; padding: 90px 0 105px; color: #fff; background: var(--thp-night); }
.thp-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(10,17,32,.72),rgba(10,17,32,.08) 78%),linear-gradient(0deg,rgba(10,17,32,.62),transparent 54%); pointer-events: none; }
.thp-hero-photo { position: absolute !important; z-index: 0 !important; inset: 0; }
.thp-hero-photo img { object-position: 53% center; }
.thp-hero-layout { display: flex; min-height: 915px; align-items: flex-end; }
.thp-hero-panel { position: relative; z-index: 5; width: min(850px,72%); padding: 48px 52px 45px; background: #0d1728; border-top: 12px solid var(--thp-amber); border-right: 1px solid rgba(255,255,255,.18); box-shadow: 22px 25px 0 rgba(118,87,255,.2),var(--thp-shadow); }
.thp-hero-panel::before { content: "FIELD / 01"; position: absolute; right: 20px; top: 19px; color: rgba(255,255,255,.28); font: 900 9px/1 monospace; letter-spacing: 1.1px; }
.thp-hero .breadcrumbs { margin-bottom: 48px; }
.thp-hero .breadcrumbs a,
.thp-hero .breadcrumbs span { color: #a9b8c7; }
.thp-hero .thp-kicker { color: var(--thp-amber); }
.thp-lead { max-width: 745px; margin: 28px 0 30px; color: #bcc7d3; font-size: 17px; line-height: 1.7; }
.thp-hero-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 31px; border-block: 1px solid rgba(255,255,255,.16); }
.thp-hero-facts span { min-height: 78px; padding: 16px 16px 14px 0; color: #dce3ea; font-size: 11px; font-weight: 850; line-height: 1.35; }
.thp-hero-facts span + span { padding-left: 17px; border-left: 1px solid rgba(255,255,255,.16); }
.thp-hero-facts b { display: block; margin-bottom: 9px; color: var(--thp-mint); font: 950 9px/1 monospace; }
.thp-hero .button-ghost { color: #fff; border-color: rgba(255,255,255,.25); }

/* 2. One continuous safety corridor. */
.thp-safety { padding: 136px 0 150px; background: linear-gradient(153deg,#f1f4f5 0 66%,#dae3e6 66%); }
.thp-safety::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .16; background-image: repeating-linear-gradient(90deg,transparent 0 54px,rgba(40,50,58,.35) 55px 56px); }
.thp-safety-head { display: grid; grid-template-columns: 1.18fr .82fr; gap: 65px; align-items: end; margin-bottom: 54px; }
.thp-safety-head .thp-kicker { grid-column: 1 / -1; margin-bottom: -39px; }
.thp-safety-head > p:last-child { margin: 0; color: #58666f; font-size: 16px; line-height: 1.68; }
.thp-safety-corridor { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 650px; border: 14px solid var(--thp-night); box-shadow: var(--thp-shadow); }
.thp-safety-photo { border-right: 0; }
.thp-safety-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.66),transparent 57%); }
.thp-safety-photo img { object-position: 52% center; }
.thp-safety-rail { position: relative; padding: 39px 36px; color: #fff; background: var(--thp-night-2); border-left: 10px solid var(--thp-violet); }
.thp-safety-rail::before { content: ""; position: absolute; left: 54px; top: 52px; bottom: 78px; width: 2px; background: linear-gradient(var(--thp-amber),var(--thp-mint)); }
.thp-safety-rail > div { position: relative; display: grid; grid-template-columns: 50px 1fr; gap: 16px; min-height: 109px; }
.thp-safety-rail span { position: relative; z-index: 2; display: grid; width: 38px; height: 38px; place-items: center; color: var(--thp-night); background: var(--thp-amber); border: 6px solid var(--thp-night-2); border-radius: 50%; font: 950 8px/1 monospace; }
.thp-safety-rail div:nth-child(even) span { background: var(--thp-mint); }
.thp-safety-rail p { margin: 1px 0 0; color: #b9c6d0; font-size: 13px; line-height: 1.55; }
.thp-safety-rail > a { display: inline-block; margin: 5px 0 0 66px; color: var(--thp-mint); font-size: 12px; font-weight: 900; }

/* 3. Location context layers. */
.thp-location { padding: 136px 0 150px; color: #fff; background: linear-gradient(118deg,#172137 0 53%,#291f57 53%); }
.thp-location::before { content: ""; position: absolute; z-index: -1; right: -160px; top: -180px; width: 650px; height: 650px; border: 95px solid rgba(255,178,56,.08); border-radius: 50%; }
.thp-location-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,7vw,97px); align-items: center; }
.thp-location-copy > p:not(.thp-kicker):not(.thp-location-note) { margin: 27px 0 31px; color: #b9c4d2; font-size: 17px; line-height: 1.68; }
.thp-location-fields { margin: 0; padding: 11px; color: var(--thp-wet); background: #cfd9dd; transform: perspective(800px) rotateY(4deg); box-shadow: 18px 20px 0 rgba(82,214,200,.11); }
.thp-location-fields div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; min-height: 70px; align-items: center; padding: 12px 17px; border-bottom: 1px solid rgba(40,50,58,.2); }
.thp-location-fields div:last-child { border-bottom: 0; }
.thp-location-fields dt { color: var(--thp-violet-dark); font-size: 11px; font-weight: 950; text-transform: uppercase; }
.thp-location-fields dd { margin: 0; color: #53626b; font-size: 12px; line-height: 1.4; }
.thp-location-note { margin: 24px 0 0; padding: 17px 20px; color: #d3dce4; background: rgba(82,214,200,.08); border-left: 7px solid var(--thp-mint); font-size: 12px; line-height: 1.55; }
.thp-location-photo { height: 795px; border: 14px solid #070c17; border-radius: 0 105px 0 0; box-shadow: var(--thp-shadow); }
.thp-location-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.69),transparent 57%); }
.thp-location-photo img { object-position: 50% center; }

/* 4. Observation plates over a fixed field image. */
.thp-observations { min-height: 1050px; padding: 136px 0 150px; color: #fff; background: var(--thp-night); }
.thp-observations::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(10,17,32,.98) 0 52%,rgba(10,17,32,.67) 72%,rgba(10,17,32,.13)); }
.thp-observations-photo { position: absolute !important; z-index: 0 !important; inset: 0; }
.thp-observations-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.7),transparent 60%); }
.thp-observations-photo img { object-position: 64% center; }
.thp-observations-layout { display: flex; min-height: 765px; align-items: center; }
.thp-observations-copy { position: relative; z-index: 5; width: min(775px,64%); padding: 48px 48px 44px; background: rgba(14,24,42,.92); border-left: 11px solid var(--thp-violet); box-shadow: var(--thp-shadow); backdrop-filter: blur(15px); }
.thp-observations-copy > p:not(.thp-kicker) { margin: 26px 0 30px; color: #b7c4d0; font-size: 16px; line-height: 1.67; }
.thp-observation-plates { perspective: 850px; }
.thp-observation-plates article { display: grid; grid-template-columns: 148px 1fr; gap: 20px; align-items: center; min-height: 86px; padding: 14px 17px; background: #222e43; border-bottom: 1px solid rgba(255,255,255,.13); transform-origin: center bottom; }
.thp-observation-plates article:nth-child(even) { margin-left: 36px; background: #2a2354; }
.thp-observation-plates span { color: var(--thp-amber); font: 950 9px/1.2 monospace; }
.thp-observation-plates article:nth-child(even) span { color: var(--thp-mint); }
.thp-observation-plates p { margin: 0 !important; color: #aebbc7 !important; font-size: 12px !important; line-height: 1.5 !important; }

/* 5. Reflowed dispatch brief. */
.thp-brief { padding: 136px 0 150px; background: linear-gradient(180deg,#e7edf0 0 42%,#c9d4d9 42% 43%,#f2f4f4 43%); }
.thp-brief::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .22; background-image: radial-gradient(circle,rgba(40,50,58,.52) 1.2px,transparent 1.4px); background-size: 23px 23px; }
.thp-brief-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 67px; align-items: end; margin-bottom: 54px; }
.thp-brief-heading > p { margin: 0; color: #596871; font-size: 16px; line-height: 1.68; }
.thp-brief-stage { display: grid; grid-template-columns: .88fr 1.12fr; min-height: 720px; background: var(--thp-night); border: 13px solid var(--thp-night); box-shadow: var(--thp-shadow); }
.thp-brief-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.65),transparent 57%); }
.thp-brief-photo img { object-position: 51% center; }
.thp-message-line { display: grid; align-content: center; margin: 0; padding: 42px 45px; color: #fff; background: linear-gradient(135deg,#111c2f,#1f2b40); list-style: none; }
.thp-message-line li { display: grid; grid-template-columns: 145px 1fr; gap: 17px; align-items: center; min-height: 84px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.thp-message-line li:nth-child(even) { padding-left: 32px; }
.thp-message-line span { color: var(--thp-mint); font: 950 9px/1.2 monospace; text-transform: uppercase; }
.thp-message-line strong { color: #d5dee7; font-size: 14px; }

/* 6. One panel with two equal continuations. */
.thp-decision { padding: 136px 0 150px; color: #fff; background: radial-gradient(circle at 88% 13%,rgba(118,87,255,.25),transparent 30%),var(--thp-night); }
.thp-decision::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.09); }
.thp-decision-layout { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(47px,7vw,96px); align-items: center; }
.thp-decision-photo { height: 805px; border-radius: 105px 0 0; border: 14px solid #050a13; box-shadow: var(--thp-shadow); }
.thp-decision-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.68),transparent 57%); }
.thp-decision-photo img { object-position: 48% center; }
.thp-decision-copy > p:not(.thp-kicker) { margin: 27px 0 31px; color: #b8c4d0; font-size: 17px; line-height: 1.68; }
.thp-decision-panel { position: relative; display: grid; grid-template-columns: 1fr 1fr; background: #1a2538; border: 10px solid #050a13; }
.thp-decision-panel::after { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 6px; background: var(--thp-violet); transform: translateX(-50%); }
.thp-decision-panel article { min-height: 275px; padding: 32px 28px; }
.thp-decision-panel article:last-child { background: rgba(82,214,200,.07); }
.thp-decision-panel span { color: var(--thp-amber); font: 950 9px/1 monospace; letter-spacing: 1.2px; }
.thp-decision-panel article:last-child span { color: var(--thp-mint); }
.thp-decision-panel h3 { margin: 48px 0 12px; font-size: 24px; line-height: 1.08; }
.thp-decision-panel p { margin: 0 !important; color: #aebcc8 !important; font-size: 12px !important; line-height: 1.54 !important; }
.thp-vehicle-links { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 25px; }
.thp-vehicle-links a { padding: 13px 16px; color: #fff; background: #26334a; border-left: 5px solid var(--thp-mint); font-size: 11px; font-weight: 900; text-decoration: none; }
.thp-vehicle-links a:last-child { border-left-color: var(--thp-amber); }

/* 7. Static vehicle context and changing support surface. */
.thp-transport { padding: 136px 0 150px; background: linear-gradient(148deg,#edf2f4 0 58%,#d9dfe3 58%); }
.thp-transport::before { content: ""; position: absolute; z-index: -1; right: -110px; bottom: -130px; width: 510px; height: 510px; border: 75px solid rgba(118,87,255,.08); transform: rotate(21deg); }
.thp-transport-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 67px; align-items: end; margin-bottom: 53px; }
.thp-transport-head .thp-kicker { grid-column: 1 / -1; margin-bottom: -38px; }
.thp-transport-head > p:last-child { margin: 0; color: #57666f; font-size: 16px; line-height: 1.68; }
.thp-transport-stage { display: grid; grid-template-columns: .72fr 1.28fr; min-height: 735px; border: 13px solid var(--thp-night); background: var(--thp-night); box-shadow: var(--thp-shadow); }
.thp-transport-checks { display: grid; align-content: center; padding: 39px 34px; color: #fff; background: linear-gradient(155deg,#111c30,#201f45); }
.thp-transport-checks article { min-height: 123px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.thp-transport-checks article:last-child { border-bottom: 0; }
.thp-transport-checks span { color: var(--thp-mint); font: 950 9px/1 monospace; letter-spacing: 1.1px; }
.thp-transport-checks article:nth-child(even) span { color: var(--thp-amber); }
.thp-transport-checks p { margin: 14px 0 0; color: #b8c4cf; font-size: 12px; line-height: 1.55; }
.thp-transport-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.65),transparent 57%); }
.thp-transport-photo img { object-position: 53% center; }

/* 8. Baseline ledger. */
.thp-estimate { min-height: 1040px; padding: 136px 0 150px; color: #fff; background: var(--thp-night); }
.thp-estimate::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(10,17,32,.98) 0 57%,rgba(10,17,32,.61) 75%,rgba(10,17,32,.12)); }
.thp-estimate-photo { position: absolute !important; z-index: 0 !important; inset: 0; }
.thp-estimate-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.72),transparent 57%); }
.thp-estimate-photo img { object-position: 64% center; }
.thp-estimate-layout { display: flex; min-height: 765px; align-items: center; }
.thp-estimate-ledger { position: relative; z-index: 5; width: min(790px,67%); padding: 49px 48px 44px; color: var(--thp-wet); background: rgba(237,242,244,.96); border-top: 11px solid var(--thp-amber); box-shadow: var(--thp-shadow); backdrop-filter: blur(14px); }
.thp-estimate-ledger .thp-kicker { color: var(--thp-violet-dark); }
.thp-offer-copy { margin: 27px 0 30px; color: #4d5c66; font-size: 16px; line-height: 1.68; }
.thp-estimate-baseline { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin: 0 0 29px; border: 9px solid var(--thp-night); background: var(--thp-night); }
.thp-estimate-baseline span { display: flex; min-height: 78px; align-items: flex-end; padding: 14px; color: #d2dce5; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); font-size: 10px; font-weight: 850; line-height: 1.35; }
.thp-estimate-baseline span:nth-child(3n) { border-right: 0; }
.thp-estimate-baseline span:nth-last-child(-n+3) { border-bottom: 5px solid var(--thp-violet); }
.thp-estimate-ledger .button-ghost { color: var(--thp-night); border-color: rgba(10,17,32,.25); }

/* 9. Long-form FAQ beneath a preparation shadowboard. */
.thp-faq { padding: 136px 0 150px; background: radial-gradient(circle at 9% 9%,rgba(82,214,200,.14),transparent 29%),#e9eef0; }
.thp-faq::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: repeating-linear-gradient(0deg,transparent 0 31px,rgba(40,50,58,.28) 32px 33px); }
.thp-faq-head { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(47px,7vw,94px); align-items: center; margin-bottom: 50px; }
.thp-faq-photo { height: 465px; border: 12px solid var(--thp-night); border-radius: 0 85px 0 0; box-shadow: var(--thp-shadow); }
.thp-faq-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.67),transparent 57%); }
.thp-faq-photo img { object-position: 49% center; }
.thp-faq-list { background: var(--thp-night); border-left: 15px solid var(--thp-violet); box-shadow: var(--thp-shadow); }
.thp-faq-list details { color: #fff; background: rgba(255,255,255,.025); border-bottom: 1px solid rgba(255,255,255,.14); }
.thp-faq-list details:last-child { border-bottom: 0; }
.thp-faq-list summary { position: relative; padding: 24px 72px 24px 30px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 900; line-height: 1.42; }
.thp-faq-list summary::-webkit-details-marker { display: none; }
.thp-faq-list summary::before { content: ""; position: absolute; left: 0; bottom: -1px; width: 0; height: 3px; background: var(--thp-mint); transition: width .28s ease; }
.thp-faq-list details[open] summary::before { width: 100%; }
.thp-faq-list summary::after { content: "+"; position: absolute; right: 24px; top: 18px; display: grid; width: 38px; height: 38px; place-items: center; color: var(--thp-night); background: var(--thp-amber); border-radius: 50%; font-size: 21px; font-weight: 950; }
.thp-faq-list details[open] summary::after { content: "×"; color: #fff; background: var(--thp-violet); }
.thp-faq-list details p { margin: 0; padding: 0 72px 25px 30px; color: #b5c2cd; font-size: 13px; line-height: 1.62; }

/* 10. Contact behind a local window plane. */
.thp-contact { min-height: 1000px; padding: 136px 0 150px; color: #fff; background: var(--thp-night); }
.thp-contact::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(10,17,32,.97) 0 51%,rgba(10,17,32,.6) 72%,rgba(10,17,32,.15)); }
.thp-contact-photo { position: absolute !important; z-index: 0 !important; inset: 0; }
.thp-contact-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,32,.72),transparent 57%); }
.thp-contact-photo img { object-position: 61% center; }
.thp-contact-layout { display: flex; min-height: 715px; align-items: center; }
.thp-contact-panel { position: relative; z-index: 5; width: min(770px,65%); padding: 51px 50px 46px; background: rgba(11,19,34,.92); border-right: 12px solid var(--thp-violet); box-shadow: var(--thp-shadow); backdrop-filter: blur(16px); }
.thp-contact-panel > p:not(.thp-kicker) { margin: 27px 0 28px; color: #bac7d2; font-size: 16px; line-height: 1.68; }
.thp-phone { display: block; margin-bottom: 9px; color: var(--thp-mint); font-size: clamp(31px,4vw,50px); font-weight: 950; line-height: 1; letter-spacing: -2px; }
.thp-contact address { margin-bottom: 29px; color: #a4b3c0; font-size: 12px; font-style: normal; }
.thp-contact .button-ghost { color: #fff; border-color: rgba(255,255,255,.25); }

@media (max-width: 1080px) {
  .thp-page h1 { font-size: clamp(53px,6.8vw,75px); letter-spacing: -3.8px; }
  .thp-page h2 { font-size: clamp(42px,5.7vw,60px); letter-spacing: -3px; }
  .thp-hero-panel { width: 76%; }
  .thp-safety-head,
  .thp-brief-heading,
  .thp-transport-head { gap: 40px; }
  .thp-location-layout,
  .thp-decision-layout,
  .thp-faq-head { gap: 44px; }
  .thp-observations-copy { width: 69%; }
  .thp-message-line { padding-inline: 32px; }
  .thp-estimate-ledger { width: 70%; }
  .thp-contact-panel { width: 70%; }
}

@media (max-width: 840px) {
  .thp-page main > section { scroll-margin-top: 76px; }
  .thp-page h1 { font-size: clamp(49px,9.2vw,70px); }
  .thp-page h2 { font-size: clamp(40px,7.2vw,57px); }
  .thp-page figure figcaption { right: 12px; bottom: 12px; max-width: calc(100% - 24px); }
  .thp-hero { min-height: 1120px; padding-top: 0; padding-bottom: 105px; }
  .thp-hero::after { background: linear-gradient(180deg,rgba(10,17,32,.93) 0 67%,rgba(10,17,32,.34)); }
  .thp-hero-layout { min-height: 1015px; align-items: flex-start; padding-top: 126px; }
  .thp-hero-panel { width: 100%; padding: 43px 40px; }
  .thp-safety,
  .thp-location,
  .thp-brief,
  .thp-decision,
  .thp-transport,
  .thp-faq { padding-block: 105px 120px; }
  .thp-safety-head,
  .thp-brief-heading,
  .thp-transport-head { grid-template-columns: 1fr; gap: 21px; }
  .thp-safety-head .thp-kicker,
  .thp-transport-head .thp-kicker { grid-column: auto; margin-bottom: -4px; }
  .thp-safety-corridor,
  .thp-location-layout,
  .thp-brief-stage,
  .thp-decision-layout,
  .thp-transport-stage,
  .thp-faq-head { grid-template-columns: 1fr; }
  .thp-safety-photo,
  .thp-location-photo,
  .thp-brief-photo,
  .thp-decision-photo,
  .thp-transport-photo { height: 590px; }
  .thp-safety-rail { border-left: 0; border-top: 10px solid var(--thp-violet); }
  .thp-location-photo { grid-row: 1; }
  .thp-location-copy { grid-row: 2; }
  .thp-location-fields { transform: none; }
  .thp-observations,
  .thp-estimate,
  .thp-contact { min-height: 1140px; padding-block: 105px 130px; }
  .thp-observations::before,
  .thp-estimate::before,
  .thp-contact::before { background: linear-gradient(180deg,rgba(10,17,32,.97) 0 73%,rgba(10,17,32,.37)); }
  .thp-observations-layout,
  .thp-estimate-layout,
  .thp-contact-layout { min-height: 910px; align-items: flex-start; }
  .thp-observations-copy,
  .thp-estimate-ledger,
  .thp-contact-panel { width: 100%; padding: 43px 40px; }
  .thp-brief-photo { grid-row: 1; }
  .thp-decision-copy { grid-row: 2; }
  .thp-transport-photo { grid-row: 1; }
  .thp-faq-photo { grid-row: 1; height: 530px; }
}

@media (max-width: 560px) {
  .thp-page h1 { font-size: clamp(42px,13vw,57px); line-height: .99; letter-spacing: -2.8px; }
  .thp-page h2 { font-size: clamp(37px,11.1vw,48px); line-height: 1; letter-spacing: -2.3px; }
  .thp-page .button { width: 100%; justify-content: center; text-align: center; }
  .thp-hero { min-height: 1240px; }
  .thp-hero-panel { padding: 36px 25px; border-top-width: 8px; box-shadow: 10px 14px 0 rgba(118,87,255,.2); }
  .thp-lead { font-size: 15px; }
  .thp-hero-facts { grid-template-columns: 1fr; }
  .thp-hero-facts span { display: grid; grid-template-columns: 33px 1fr; min-height: 58px; align-items: center; padding: 11px 0; }
  .thp-hero-facts span + span { padding-left: 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .thp-hero-facts b { margin: 0; }
  .thp-safety,
  .thp-location,
  .thp-brief,
  .thp-decision,
  .thp-transport,
  .thp-faq { padding-block: 82px 95px; }
  .thp-safety-corridor,
  .thp-brief-stage,
  .thp-transport-stage { border-width: 8px; }
  .thp-safety-photo,
  .thp-location-photo,
  .thp-brief-photo,
  .thp-decision-photo,
  .thp-transport-photo,
  .thp-faq-photo { height: 410px; border-width: 8px; border-radius: 0 45px 0 0; }
  .thp-safety-rail { padding: 29px 23px; }
  .thp-safety-rail::before { left: 40px; }
  .thp-safety-rail > div { grid-template-columns: 45px 1fr; min-height: 119px; }
  .thp-safety-rail > a { margin-left: 61px; }
  .thp-location-fields div { grid-template-columns: 95px 1fr; }
  .thp-observations { min-height: 1290px; padding-block: 82px 105px; }
  .thp-observations-layout { min-height: 1090px; }
  .thp-observations-copy,
  .thp-estimate-ledger,
  .thp-contact-panel { padding: 34px 25px; }
  .thp-observation-plates article,
  .thp-message-line li { grid-template-columns: 1fr; gap: 8px; padding-block: 18px; }
  .thp-observation-plates article:nth-child(even),
  .thp-message-line li:nth-child(even) { margin-left: 0; padding-left: 0; }
  .thp-message-line { padding: 30px 24px; }
  .thp-decision-panel { grid-template-columns: 1fr; border-width: 7px; }
  .thp-decision-panel::after { left: 0; right: 0; top: 50%; bottom: auto; width: auto; height: 5px; transform: translateY(-50%); }
  .thp-decision-panel article { min-height: 220px; }
  .thp-decision-panel h3 { margin-top: 30px; }
  .thp-vehicle-links { display: grid; }
  .thp-transport-checks { padding: 26px 22px; }
  .thp-transport-checks article { min-height: 0; }
  .thp-estimate { min-height: 1260px; padding-block: 82px 105px; }
  .thp-estimate-layout { min-height: 1060px; }
  .thp-estimate-baseline { grid-template-columns: repeat(2,1fr); border-width: 7px; }
  .thp-estimate-baseline span:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.13); }
  .thp-estimate-baseline span:nth-child(2n) { border-right: 0; }
  .thp-estimate-baseline span:nth-last-child(-n+3) { border-bottom-width: 1px; }
  .thp-estimate-baseline span:nth-last-child(-n+2) { border-bottom: 5px solid var(--thp-violet); }
  .thp-faq-head { gap: 38px; }
  .thp-faq-list { border-left-width: 8px; }
  .thp-faq-list summary { padding: 21px 58px 21px 20px; font-size: 14px; }
  .thp-faq-list summary::after { right: 13px; top: 17px; width: 32px; height: 32px; }
  .thp-faq-list details p { padding: 0 20px 23px; }
  .thp-contact { min-height: 1230px; padding-block: 82px 105px; }
  .thp-contact-layout { min-height: 1040px; }
  .thp-phone { font-size: 29px; letter-spacing: -1.3px; }
}

@media (max-width: 380px) {
  .thp-page h1 { font-size: 39px; letter-spacing: -2.2px; }
  .thp-page h2 { font-size: 35px; letter-spacing: -1.9px; }
  .thp-page figure figcaption { padding: 10px 12px; border-left-width: 4px; }
  .thp-page figure figcaption strong { font-size: 11px; }
  .thp-hero { min-height: 1320px; }
  .thp-hero-panel,
  .thp-safety-rail,
  .thp-message-line,
  .thp-observations-copy,
  .thp-estimate-ledger,
  .thp-contact-panel { padding-left: 19px; padding-right: 19px; }
  .thp-safety-photo,
  .thp-location-photo,
  .thp-brief-photo,
  .thp-decision-photo,
  .thp-transport-photo,
  .thp-faq-photo { height: 350px; }
  .thp-location-fields div { grid-template-columns: 1fr; gap: 6px; }
  .thp-observations { min-height: 1340px; }
  .thp-decision-panel article { padding: 27px 20px; }
  .thp-estimate { min-height: 1330px; }
  .thp-estimate-baseline { grid-template-columns: 1fr; }
  .thp-estimate-baseline span { min-height: 55px; border-right: 0; }
  .thp-estimate-baseline span:nth-last-child(-n+2) { border-bottom-width: 1px; }
  .thp-estimate-baseline span:last-child { border-bottom: 5px solid var(--thp-violet); }
  .thp-contact { min-height: 1300px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .thp-page *,
  .thp-page *::before,
  .thp-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
