.truppty-page-main { max-width: none; width: 100%; margin: 0; padding: 0 0 110px; }
.truppty-page-main .sec-1-about,
.truppty-page-main .sec-1-contact { padding-top: 62px !important; }
.truppty-page-hero { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr); align-items:center; gap:clamp(32px,6vw,100px); max-width:1220px; min-height:560px; margin:0 auto; padding:clamp(70px,10vw,125px) 40px; }
.truppty-page-hero__copy { max-width:650px; }
.truppty-page-hero h1 { max-width:680px; margin:0 0 24px; font-family:var(--at-ff-heading, Georgia, serif); font-size:clamp(48px,6.2vw,88px); font-weight:500; letter-spacing:-.06em; line-height:.95; color:#18364c; }
.truppty-page-hero h1 em { color:#cfa3a3; font-style:italic; }
.truppty-page-hero .legal-lead { max-width:590px; margin-bottom:32px; font-size:clamp(18px,1.5vw,22px); }
.truppty-page-hero__media { overflow:hidden; border-radius:34px; background:#f5eee8; aspect-ratio:4/4.7; box-shadow:0 24px 65px rgba(24,54,76,.13); }
.truppty-page-hero__media img { width:100%; height:100%; object-fit:cover; }
.truppty-page-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 28px; border-radius:999px; background:#18364c; color:#fff; font-weight:700; text-decoration:none; transition:transform .2s ease, background .2s ease; }
.truppty-page-button:hover,.truppty-page-button:focus-visible { color:#fff; background:#0d2739; transform:translateY(-2px); }
.truppty-story-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,8vw,130px); max-width:1220px; margin:0 auto; padding:100px 40px; border-top:1px solid #e8e2de; }
.truppty-story-grid h2,.truppty-coverage-intro h2 { max-width:560px; margin:0; color:#18364c; font-family:var(--at-ff-heading, Georgia, serif); font-size:clamp(38px,4.3vw,64px); font-weight:500; letter-spacing:-.055em; line-height:.98; }
.truppty-story-grid p { margin:0 0 18px; color:#4d4b49; font-size:18px; line-height:1.7; }
.truppty-values { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1220px; margin:0 auto; padding:0 40px 100px; }
.truppty-value-card { min-height:210px; padding:30px; border-radius:24px; background:#f5eee8; }
.truppty-value-card span { display:block; margin-bottom:45px; color:#cfa3a3; font-weight:700; letter-spacing:.12em; }
.truppty-value-card h3 { margin:0 0 10px; color:#18364c; font-size:23px; letter-spacing:-.03em; }
.truppty-value-card p { margin:0; color:#575451; line-height:1.6; }
.truppty-cta { max-width:1220px; margin:0 auto; padding:78px 40px; border-radius:28px; background:#18364c; color:#fff; text-align:center; }
.truppty-cta h2 { margin:0 auto 18px; max-width:700px; font-family:var(--at-ff-heading, Georgia, serif); font-size:clamp(36px,4vw,58px); font-weight:500; letter-spacing:-.05em; line-height:1; }
.truppty-cta p { max-width:600px; margin:0 auto 28px; color:#dbe4e9; font-size:18px; line-height:1.6; }
.truppty-cta .truppty-page-button { background:#cfa3a3; color:#18364c; }
.truppty-contact-layout { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,7vw,110px); max-width:1220px; margin:0 auto; padding:85px 40px 110px; border-top:1px solid #e8e2de; }
.truppty-contact-details h2,.truppty-contact-form h2 { margin:0 0 16px; color:#18364c; font-family:var(--at-ff-heading, Georgia, serif); font-size:clamp(34px,4vw,54px); font-weight:500; letter-spacing:-.05em; line-height:1; }
.truppty-contact-details>p { color:#4d4b49; font-size:17px; line-height:1.65; }
.truppty-contact-item { margin-top:28px; }
.truppty-contact-item small { display:block; margin-bottom:6px; color:#cfa3a3; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.truppty-contact-item a { color:#18364c; font-size:18px; font-weight:700; text-decoration:none; }
.truppty-contact-form { padding:36px; border-radius:28px; background:#f5eee8; }
.truppty-contact-form h2 { font-size:36px; }
.truppty-contact-form .form-label { color:#18364c; font-weight:700; }
.truppty-contact-form .form-control { min-height:52px; border:1px solid #d9ccc6; border-radius:12px; background:#fff; }
.truppty-contact-form textarea.form-control { min-height:145px; resize:vertical; }
.truppty-contact-form .truppty-page-button { border:0; }
.truppty-coverage-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,7vw,110px); max-width:1220px; margin:0 auto; padding:95px 40px 58px; }
.truppty-coverage-intro p { margin:0; color:#4d4b49; font-size:18px; line-height:1.7; }
.truppty-map-wrap { max-width:1220px; margin:0 auto; padding:0 40px 110px; }
.truppty-coverage-map { position:relative; min-height:520px; overflow:hidden; border-radius:32px; background:linear-gradient(145deg,#e7f3f5,#c8e0e6); box-shadow:0 25px 70px rgba(24,54,76,.12); }
.truppty-coverage-map::before { content:""; position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px); background-size:48px 48px; transform:perspective(600px) rotateX(55deg) scale(1.5); transform-origin:center bottom; }
.truppty-map-label { position:absolute; left:32px; top:28px; z-index:2; padding:10px 16px; border-radius:999px; background:rgba(255,255,255,.82); color:#18364c; font-weight:700; }
.truppty-coverage-point { position:absolute; left:var(--x); top:var(--y); z-index:2; width:18px; height:18px; border:4px solid #fff; border-radius:50%; background:#cfa3a3; box-shadow:0 0 0 7px rgba(207,163,163,.25); }
.truppty-coverage-point::after { content:attr(data-city); position:absolute; left:18px; top:-7px; min-width:max-content; padding:6px 10px; border-radius:8px; background:#18364c; color:#fff; font-size:13px; font-weight:700; white-space:nowrap; }
.truppty-coverage-note { margin-top:20px; color:#686563; font-size:14px; }
@media (max-width:800px) { .truppty-page-hero,.truppty-story-grid,.truppty-contact-layout,.truppty-coverage-intro { grid-template-columns:1fr; padding-left:22px; padding-right:22px; } .truppty-page-hero__media { max-width:560px; } .truppty-values { grid-template-columns:1fr; padding-left:22px; padding-right:22px; } .truppty-map-wrap { padding-left:22px; padding-right:22px; } .truppty-coverage-map { min-height:420px; } .truppty-coverage-point::after { font-size:11px; } .truppty-cta { margin:0 22px; padding-left:22px; padding-right:22px; } }
