.texti-reservation-hero { min-height:640px; display:flex; align-items:center; background:var(--mineral); padding:80px 0 72px; }
.texti-reservation-hero .alignwide,.texti-section .alignwide { width:min(var(--shell),calc(100% - 64px)); margin-inline:auto; }
.texti-reservation-hero__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:40px; }
.texti-eyebrow { margin:0 0 16px; color:var(--blue); font-size:14px; font-weight:800; letter-spacing:.12em; }
.texti-reservation-hero h1 { margin:0 0 24px; font-size:clamp(42px,4.5vw,68px); line-height:1.3; letter-spacing:-.04em; }
.texti-reservation-hero__lead { max-width:620px; margin:0 0 28px; font-size:18px; }
.texti-button { display:inline-flex; min-height:52px; align-items:center; justify-content:space-between; gap:28px; padding:12px 24px; background:var(--yellow); color:var(--graphite); font-weight:800; text-decoration:none; }
.texti-button span { font-size:22px; }
.texti-reservation-hero__visual { min-height:480px; display:flex; align-items:center; justify-content:flex-end; }
.texti-reservation-hero__visual img { display:block; width:100%; max-height:560px; object-fit:contain; object-position:right center; }
.texti-section { padding:120px 0; background:var(--mineral); }
.texti-section h2 { margin:0 0 38px; font-size:clamp(30px,3vw,44px); line-height:1.35; letter-spacing:-.03em; }
.texti-problem-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #bdcacc; border-left:1px solid #bdcacc; }
.texti-problem-grid p { margin:0; padding:30px 34px 30px 58px; border-right:1px solid #bdcacc; border-bottom:1px solid #bdcacc; font-size:18px; position:relative; }
.texti-problem-grid p::before { content:'×'; position:absolute; left:25px; color:var(--blue); font-size:25px; font-weight:700; }
.texti-section--sage { background:var(--silver); }
.texti-reservation-solution { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:70px; }
.texti-reservation-solution p:not(.texti-eyebrow) { font-size:18px; }
.texti-reservation-flow,.texti-growth-line { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:34px 24px; border:1px solid #a9babc; background:#fff; font-weight:800; }
.texti-reservation-flow span { text-align:center; }
.texti-reservation-flow b,.texti-growth-line b { color:var(--yellow); font-size:28px; }
.texti-section--pricing { padding-top:82px; padding-bottom:82px; }
.texti-price-panel { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #aab9bb; background:#fff; }
.texti-price-panel div { min-height:160px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; padding:22px; border-right:1px solid #bdcacc; text-align:center; }
.texti-price-panel div:last-child { border-right:0; }
.texti-price-panel small { font-size:15px; font-weight:700; }
.texti-price-panel strong { font-size:46px; line-height:1.1; }
.texti-price-panel em { font-size:14px; font-style:normal; }
.texti-price-included { margin:18px 0 0; padding:14px 20px; background:var(--silver); font-size:17px; font-weight:700; text-align:center; }
.texti-note { margin:18px 0 0; font-size:15px; }
.texti-included-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.texti-included-grid article { padding:8px 34px; border-right:1px solid #bdcacc; }
.texti-included-grid article:first-child { padding-left:0; }.texti-included-grid article:last-child { border-right:0; }
.texti-included-grid h3 { margin:0 0 14px; font-size:24px; }.texti-included-grid ul { margin:0; padding-left:20px; }.texti-included-grid li { margin:8px 0; }
.texti-section--navy { background:var(--blue); color:var(--ink); }.texti-section--navy .texti-eyebrow { color:var(--yellow); }.texti-section--navy h2 { color:var(--ink); }.texti-section--navy>div>p:not(.texti-eyebrow) { font-size:18px; }.texti-growth-line { margin:38px 0; background:transparent; border-color:#6d919b; color:var(--ink); }.texti-growth-line b { color:var(--yellow); }
.texti-process { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin:0; padding:0; list-style:none; counter-reset:step; }.texti-process li { counter-increment:step; min-height:150px; padding:48px 18px 18px; border:1px solid #c1cdce; background:#fff; text-align:center; position:relative; font-weight:700; }.texti-process li::before { content:counter(step); position:absolute; top:-18px; left:50%; transform:translateX(-50%); width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:var(--ink); }
.texti-section--cta { padding:72px 0; background:var(--petrol); color:var(--ink); }.texti-cta { display:flex; align-items:center; justify-content:space-between; gap:36px; }.texti-cta h2 { margin:0 0 10px; color:var(--ink); }.texti-cta p { margin:0; font-size:17px; }.texti-button--gold { background:var(--yellow); }
@media (max-width:800px) { .texti-reservation-hero { min-height:0; padding:64px 0 56px; }.texti-reservation-hero__inner,.texti-reservation-solution { grid-template-columns:1fr; gap:30px; }.texti-reservation-hero h1 { font-size:clamp(38px,10vw,48px); }.texti-reservation-hero__lead { font-size:16px; }.texti-reservation-hero__visual { min-height:280px; }.texti-reservation-hero__visual img { max-height:340px; }.texti-section { padding:76px 0; }.texti-problem-grid,.texti-included-grid,.texti-price-panel { grid-template-columns:1fr; }.texti-problem-grid p { padding:22px 20px 22px 48px; }.texti-price-panel div { min-height:120px; border-right:0; border-bottom:1px solid #bdcacc; }.texti-price-panel div:last-child { border-bottom:0; }.texti-included-grid article,.texti-included-grid article:first-child { padding:22px 0; border-right:0; border-bottom:1px solid #bdcacc; }.texti-included-grid article:last-child { border-bottom:0; }.texti-reservation-flow,.texti-growth-line { flex-direction:column; gap:14px; }.texti-process { grid-template-columns:1fr; gap:24px; }.texti-process li { min-height:90px; padding:30px 18px 16px; }.texti-cta { align-items:flex-start; flex-direction:column; } }
