/* KFO Tips visual template (see tips/STYLE.md) */
.tp-hero{position:relative;color:#fff;background:linear-gradient(120deg,rgba(11,31,58,.94) 0%,rgba(11,31,58,.78) 55%,rgba(11,31,58,.45) 100%),url(/photo-bass-deck.jpg) center/cover;padding:56px 20px 64px;overflow:hidden}
.tp-hero .tp-wrap{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 220px;gap:32px;align-items:center}
.tp-hero .crumbs,.tp-hero .crumbs a{color:#c9d6e3}
.tp-kicker{display:inline-block;background:#d4a72c;color:#0b1f3a;font:700 .8rem/1 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:4px;margin-bottom:14px}
.tp-hero h1{font:700 clamp(2rem,5vw,3.4rem)/1.05 Oswald,sans-serif;text-transform:uppercase;margin:0 0 14px;color:#fff}
.tp-hero h1 em{font-style:normal;color:#d4a72c}
.tp-slogan{font:600 1.25rem Oswald,sans-serif;color:#d4a72c;letter-spacing:.04em;margin:0 0 10px}
.tp-hero p.tp-lede{font-size:1.1rem;max-width:620px;color:#e8eef5;margin:0 0 22px}
.tp-badge{width:100%;max-width:220px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5));animation:tpbob 4s ease-in-out infinite}
@keyframes tpbob{50%{transform:translateY(-8px) rotate(-2deg)}}
.tp-btns{display:flex;flex-wrap:wrap;gap:12px}
.tp-btn{display:inline-block;font:700 1rem Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:6px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.tp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.tp-gold{background:#d4a72c;color:#0b1f3a!important}
.tp-ghost{border:2px solid #fff;color:#fff!important}
.tp-navy{background:#0b1f3a;color:#fff!important}
.tp-body{max-width:1080px;margin:0 auto;padding:40px 20px}
.tp-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;background:#0b1f3a;color:#fff;font:600 .95rem Oswald,sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:14px 20px}
.tp-strip span{white-space:nowrap}
.tp-sec{margin:44px 0}
.tp-sec h2{font:700 clamp(1.5rem,3.4vw,2.2rem)/1.15 Oswald,sans-serif;text-transform:uppercase;color:#0b1f3a;margin:0 0 6px}
.tp-sec h2 .n{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:#d4a72c;color:#0b1f3a;margin-right:10px;font-size:.8em;vertical-align:middle}
.tp-sub{color:#5a6676;font-size:1.05rem;margin:0 0 20px}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tp-tile{background:#f7f7f4;border-left:5px solid #d4a72c;border-radius:8px;padding:16px 18px}
.tp-tile b{display:block;font:600 1.1rem Oswald,sans-serif;color:#0b1f3a;margin-bottom:4px}
.tp-tile p{margin:0;color:#334;font-size:.97rem}
.tp-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(11,31,58,.14);margin:22px 0}
.tp-card.flip .tp-img{order:2}
.tp-img{position:relative;background:#f8fafc}
.tp-img img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.tp-price{position:absolute;top:16px;left:16px;background:#d4a72c;color:#0b1f3a;font:700 1.3rem Oswald,sans-serif;padding:8px 14px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.tp-tag{display:inline-block;font:600 .75rem Oswald,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#d4a72c;margin-bottom:6px}
.tp-info{padding:30px 32px;display:flex;flex-direction:column;justify-content:center}
.tp-info h3{font:700 1.8rem/1.1 Oswald,sans-serif;text-transform:uppercase;color:#0b1f3a;margin:0 0 10px}
.tp-info ul{margin:0 0 20px;padding-left:0;list-style:none}
.tp-info li{padding:4px 0 4px 26px;position:relative}
.tp-info li:before{content:"✓";position:absolute;left:0;color:#d4a72c;font-weight:700}
.tp-quote{background:#0b1f3a;color:#fff;border-radius:12px;padding:28px 32px;margin:36px 0;font:600 clamp(1.2rem,2.6vw,1.6rem)/1.3 Oswald,sans-serif;text-align:center}
.tp-quote small{display:block;margin-top:8px;font:400 .95rem Inter,sans-serif;color:#c9d6e3}
.tp-callout{background:#fff8e6;border:2px dashed #d4a72c;border-radius:12px;padding:20px 24px;margin:24px 0}
.tp-callout b{font-family:Oswald,sans-serif;color:#0b1f3a;font-size:1.15rem}
.tp-bundle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,#d4a72c,#e9c45a);color:#0b1f3a;border-radius:12px;padding:22px 26px;margin:28px 0}
.tp-bundle strong{font:700 1.4rem Oswald,sans-serif;text-transform:uppercase}
.tp-cta{background:#0b1f3a url(/photo-night-dock.jpg) center/cover;background-blend-mode:multiply;color:#fff;text-align:center;padding:60px 20px}
.tp-cta img{width:120px}
.tp-cta h2{font:700 clamp(1.8rem,4.5vw,3rem) Oswald,sans-serif;text-transform:uppercase;color:#d4a72c;margin:10px 0}
.tp-cta p{max-width:620px;margin:0 auto 22px;color:#e8eef5;font-size:1.08rem}
.tp-cta .tp-btns{justify-content:center}
.tp-icard{display:grid;grid-template-columns:300px 1fr;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(11,31,58,.14);text-decoration:none;color:inherit;transition:transform .15s}
.tp-icard:hover{transform:translateY(-4px)}
.tp-icard img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;display:block}
.tp-icard div{padding:26px 28px;display:flex;flex-direction:column;justify-content:center}
.tp-icard h3{font:700 1.6rem/1.15 Oswald,sans-serif;text-transform:uppercase;color:#0b1f3a;margin:6px 0 10px}
.tp-icard .tp-more{font:700 1rem Oswald,sans-serif;color:#d4a72c;text-transform:uppercase;letter-spacing:.06em;margin-top:8px}
@media(max-width:760px){.tp-hero .tp-wrap{grid-template-columns:1fr;text-align:center}.tp-badge{max-width:140px;margin:0 auto;grid-row:1}.tp-hero p.tp-lede{margin-left:auto;margin-right:auto}.tp-btns{justify-content:center}.tp-card,.tp-icard{grid-template-columns:1fr}.tp-card.flip .tp-img{order:0}.tp-info{padding:22px}.tp-btn{width:100%;text-align:center}}
.tp-info .tp-btn{align-self:flex-start}@media(max-width:760px){.tp-info .tp-btn{align-self:stretch}}
