/* WordTrail only: existing application pages keep their shared styles. */
.wt-page { --wt-ink:#143e37; --wt-muted:#4e6760; --wt-line:#dce7df; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif; color:var(--wt-ink); background:#f3f5ee; background-image:none; }
.wt-page *, .wt-page *::before, .wt-page *::after { box-sizing:border-box; }
.wt-page a:focus-visible, .wt-page summary:focus-visible { outline:3px solid #b88322; outline-offset:5px; }
.wt-page a { color:inherit; }
.wt-page .wt-skip { position:absolute; left:16px; top:8px; z-index:9; padding:12px; background:#fff; transform:translateY(-160%); }
.wt-page .wt-skip:focus { transform:none; }
.wt-page .wt-hero { padding:28px 24px 105px; position:relative; color:#f9fbef; text-align:left; border:0; box-shadow:none; backdrop-filter:none; background:radial-gradient(ellipse at 90% 60%,#275c4a 0,transparent 60%),#103b36; }
.wt-wrap { max-width:1120px; margin:auto; }
.wt-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:56px; }
.wt-back { font-size:.87rem; font-weight:650; }
.wt-languages { display:flex; flex-wrap:wrap; gap:4px; }
.wt-languages a { padding:8px 13px; border-radius:100px; font-size:.81rem; color:#d4e7db; min-height:40px; }
.wt-languages a[aria-current] { color:#163f37; background:#e2edc9; font-weight:750; }
.wt-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr); gap:84px; align-items:center; }
.wt-brand { display:flex; align-items:center; gap:17px; }
.wt-brand img { border-radius:19px; flex-shrink:0; }
.wt-page .wt-eyebrow { color:#53765f; margin:0 0 15px; font-size:.7rem; letter-spacing:.15em; font-weight:750; }
.wt-page .wt-brand .wt-eyebrow { color:#c5d7bc; margin-bottom:3px; font-size:.61rem; }
.wt-page .wt-hero h1 { margin:0; font-size:2.25rem; letter-spacing:-.04em; font-weight:600; color:inherit; text-shadow:none; }
.wt-page .wt-headline { color:#f9fbef; font-size:clamp(2.2rem,4.7vw,3.8rem); font-weight:650; letter-spacing:-.05em; line-height:1.35; margin:36px 0 24px; }
.wt-page .wt-lead { max-width:550px; margin:0; line-height:1.95; font-size:1.04rem; color:#d1e0d5; }
.wt-pills { display:flex; flex-wrap:wrap; padding:0; gap:9px; list-style:none; margin:27px 0 30px; }
.wt-pills li { border:1px solid #658475; padding:6px 11px; border-radius:30px; font-size:.72rem; color:#e6efdb; }
.wt-actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.wt-page .wt-primary { display:inline-block; border-radius:12px; padding:15px 22px; background:#e0eeb8; color:#193f35; font-weight:750; text-decoration:none; }
.wt-primary span { display:inline-block; margin-left:20px; }
.wt-page .wt-primary:hover { background:#f0f8d8; color:#193f35; }
.wt-release { color:#d2dfca; font-size:.8rem; }
.wt-page .wt-store-link { display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:12px 16px; border:1px solid #86a58f; border-radius:12px; color:#edf6da; font-size:.82rem; font-weight:750; text-decoration:none; transition:background-color .2s,color .2s,border-color .2s; }
.wt-page .wt-store-link:hover { background:#e0eeb8; border-color:#e0eeb8; color:#193f35; }
.wt-section-links { display:flex; gap:22px; flex-wrap:wrap; font-size:.78rem; margin-top:28px; color:#d1e0d5; }
.wt-section-links a { text-underline-offset:5px; text-decoration:underline; }
.wt-phone { margin:0 auto; width:min(100%,278px); }
.wt-phone img { display:block; width:100%; height:auto; border-radius:36px; border:6px solid #648877; box-shadow:0 28px 70px #06261c66; }
.wt-phone figcaption { font-size:.69rem; color:#d1e0d5; text-align:center; margin-top:16px; }
.wt-page .wt-main { position:relative; max-width:1120px; width:calc(100% - 32px); margin:-46px auto 45px; padding:0; background:transparent; border-radius:0; box-shadow:none; backdrop-filter:none; }
.wt-section { background:#fffefa; border:1px solid var(--wt-line); border-radius:26px; padding:48px; margin-bottom:22px; scroll-margin-top:20px; }
.wt-page .wt-section h2 { border:0; margin:0 0 20px; padding:0; color:var(--wt-ink); font-size:clamp(1.65rem,3.1vw,2.65rem); line-height:1.4; letter-spacing:-.04em; }
.wt-muted, .wt-caption { color:var(--wt-muted); }
.wt-muted { font-size:.86rem; }
.wt-gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-top:30px; }
.wt-gallery figure { margin:0; min-width:0; }
.wt-gallery img { width:100%; height:auto; display:block; border-radius:14px; box-shadow:0 8px 18px #173e3812; }
.wt-gallery figcaption { padding:12px 0 0; font-size:.73rem; line-height:1.6; }
.wt-gallery a { display:block; border-radius:14px; }
.wt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; margin:30px 0 0; padding:0; }
.wt-grid li { padding:24px; border-radius:16px; background:#f0f4e9; }
.wt-grid li:last-child:nth-child(3n+1) { grid-column:1/-1; }
.wt-number { display:block; color:#557749; font-size:.73rem; font-weight:750; letter-spacing:.1em; margin-bottom:15px; }
.wt-grid p { margin:0; font-size:.94rem; line-height:1.85; }
.wt-page .wt-local { background:#e6eddd; }
.wt-local-lead { max-width:850px; font-size:1.12rem; line-height:1.95; }
.wt-models { border-top:1px solid #c4d1b9; padding-top:22px; font-size:.86rem; font-weight:700; line-height:1.9; }
.wt-caption { font-size:.8rem; line-height:1.85; }
.wt-contact { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; padding:26px 0 36px; border-bottom:1px solid var(--wt-line); }
.wt-contact h3 { margin:0 0 12px; }
.wt-contact p { color:var(--wt-muted); font-size:.92rem; margin:0; line-height:1.9; }
.wt-contact a { text-align:left; }
.wt-contact small { display:block; margin-top:8px; font-size:.71rem; font-weight:500; }
.wt-faq-title { margin:38px 0 24px; }
.wt-page details { margin:10px 0; background:transparent; border:1px solid var(--wt-line); box-shadow:none; }
.wt-page summary { color:var(--wt-ink); padding:18px 48px 18px 20px; font-size:.94rem; }
.wt-page .answer { line-height:1.9; padding:0 20px 20px; color:var(--wt-muted); font-size:.9rem; }
.wt-policy p { color:var(--wt-muted); line-height:1.95; font-size:.9rem; }
.wt-policy h3 { font-size:1rem; margin:30px 0 8px; }
.wt-policy a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.wt-policy-links { display:flex; flex-wrap:wrap; gap:25px; padding:0; list-style:none; font-size:.88rem; }
.wt-page .wt-footer { background:#103b36; color:#e5ecdc; padding:34px 24px; margin:0; font-size:.9rem; }
.wt-footer p { color:#baccbd; font-size:.7rem; }
@media(max-width:900px) {
 .wt-hero-grid { gap:35px; grid-template-columns:minmax(0,1fr) 225px; }
 .wt-brand img { width:62px; height:62px; border-radius:16px; }
 .wt-page .wt-hero h1 { font-size:1.95rem; }
 .wt-section { padding:34px; }
 .wt-gallery { overflow-x:auto; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:210px; padding:5px 5px 20px; scroll-snap-type:x proximity; }
 .wt-gallery figure { scroll-snap-align:start; }
 .wt-contact { grid-template-columns:1fr; }
 .wt-contact a { justify-self:start; }
}
@media(max-width:640px) {
 .wt-page .wt-hero { padding:22px 22px 84px; }
 .wt-nav { flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:38px; }
 .wt-languages { margin-left:-9px; gap:1px; }
 .wt-languages a { padding:8px 10px; font-size:.76rem; }
 .wt-hero-grid { grid-template-columns:1fr; gap:34px; }
 .wt-page .wt-headline { font-size:clamp(1.9rem,8.6vw,3rem); margin-top:32px; }
 .wt-page .wt-lead { font-size:.95rem; }
 .wt-brand img { width:66px; height:66px; }
 .wt-phone { width:230px; }
 .wt-phone img { border-radius:30px; }
 .wt-section-links { gap:17px; }
 .wt-page .wt-main { width:calc(100% - 24px); margin-top:-40px; }
 .wt-section { padding:28px 22px; border-radius:21px; margin-bottom:14px; }
 .wt-grid { grid-template-columns:1fr; gap:12px; }
 .wt-grid li { padding:20px; }
 .wt-number { margin-bottom:10px; }
 .wt-gallery { grid-auto-columns:min(70vw,260px); }
 .wt-policy p { font-size:.87rem; }
 .wt-local-lead { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) { .wt-page * { transition:none; scroll-behavior:auto; } }
