:root{--bg:#171512;--panel:#24201b;--panel-light:#31291f;--gold:#d3ac70;--gold-deep:#bd8950;--text:#f8f0e2;--muted:#c5b6a2;--line:#574838;--ink:#1b150f;--paper:#f6efe1}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
a:focus-visible,summary:focus-visible{outline:3px solid #f5c98a;outline-offset:5px}
.wrap{width:min(1140px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:12px;z-index:100;background:var(--gold);color:var(--ink);font-weight:800;padding:9px 15px}
.skip-link:focus{top:9px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(23,21,18,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{display:flex;align-items:center;gap:20px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-image{padding:6px 0}.brand-logo{display:block;width:clamp(210px,26vw,330px);height:auto;max-width:100%;filter:drop-shadow(0 8px 16px #0005)}.brand span{min-width:0}.brand strong{display:block;font-size:1.02rem;line-height:1.15;letter-spacing:.09em;font-weight:900;white-space:nowrap}.brand-llc{color:var(--gold)}.brand small{display:block;color:var(--gold);font-size:.62rem;letter-spacing:.18em;font-weight:700;margin-top:7px;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto}.desktop-nav a{font-size:.88rem;color:#e5d9c8;white-space:nowrap}.desktop-nav a:hover,.footer-grid a:hover,.footer-bottom a:hover{color:var(--gold)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 19px;border-radius:5px;font-weight:800;line-height:1.25;text-align:center;transition:background .18s ease,transform .18s ease,border-color .18s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.header-book{background:var(--gold);color:var(--ink);font-size:.82rem;white-space:nowrap}.button-primary{background:var(--gold);color:var(--ink);box-shadow:0 10px 28px #0002}.button-primary:hover,.header-book:hover{background:#ebc48b}.button-outline{border:1px solid #ac9069;color:var(--text);background:#181512b8}.button-outline:hover{background:#34281e}.mobile-menu{display:none}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 15%,#54402a 0,transparent 48%),linear-gradient(110deg,#2b231c,#171512 74%)}.hero:before{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:repeating-linear-gradient(120deg,transparent 0,transparent 46px,#a98b5c 47px,transparent 48px)}
.hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:40px;padding:90px 0}.hero-content{position:relative;z-index:1}
.eyebrow{font-size:.77rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);line-height:1.5}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);vertical-align:middle;margin-right:5px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-stretch:condensed;font-weight:900;letter-spacing:.012em;line-height:1.04}h1{font-size:clamp(4.25rem,7.6vw,7.75rem);margin:24px 0 22px;max-width:780px}h1 em{font-style:normal;color:var(--gold)}.hero-content>p{font-size:1.14rem;color:#e7dac9;max-width:620px;line-height:1.72}.hero-content>p strong{color:var(--text)}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.trust-points{display:flex;flex-wrap:wrap;column-gap:23px;row-gap:8px;margin-top:42px;font-size:.9rem;color:#dcc5a5}.trust-points span:before{content:"✓";margin-right:8px;font-weight:900;color:var(--gold)}
.hero-art{display:grid;place-items:center;position:relative;min-height:350px}.hero-art-card{width:min(100%,440px);padding:20px 20px 52px;border:1px solid #b8986a;border-radius:18px;background:linear-gradient(180deg,#f4ecdf,#eadfce);box-shadow:0 26px 48px #0006,0 0 0 8px #8f6b3618;transform:rotate(-4deg)}.hero-art-card img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 12px 24px #00000022}.hero-art-card span{position:absolute;left:50%;bottom:29px;transform:translateX(-50%) rotate(4deg);letter-spacing:.22em;font-size:.75rem;font-weight:900;color:#5f4526;white-space:nowrap}.art-tag{position:absolute;bottom:4px;right:-9px;background:var(--gold);color:var(--ink);padding:8px 20px;font-weight:900;font-size:.74rem;letter-spacing:.14em;transform:rotate(-5deg);box-shadow:0 10px 25px #0008}
.section{padding:92px 0;scroll-margin-top:70px}.section-lead{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-top:12px}.section-lead p{max-width:420px;color:var(--muted);margin:0}.section h2{font-size:clamp(2.9rem,5vw,4.9rem);margin:8px 0 20px}.section h2 span{color:var(--gold)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}.service-card{padding:34px 30px;background:var(--panel);border:1px solid var(--line);border-radius:7px;min-height:260px}.service-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid #846642;border-radius:4px;background:#302820;font-size:2rem;color:var(--gold);margin-bottom:26px;font-weight:bold}.service-card h3{font-size:1.17rem;margin:0 0 12px;line-height:1.3}.service-card p{color:var(--muted);margin:0}.services-note{color:var(--muted);font-size:.95rem;margin:28px 0 0}.services-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.process-section{background:#2d261e;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:37px}.steps article{border-top:1px solid #6d573c;padding-top:23px}.step-number{color:var(--gold);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:3.2rem;line-height:1}.steps h3{font-size:1.22rem;margin:17px 0 9px}.steps p{color:var(--muted);margin:0}
.booking-section{background:radial-gradient(ellipse at 6% 20%,#32271c 0,transparent 45%)}.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.booking-grid h2{max-width:500px}.booking-copy{color:var(--muted);max-width:470px;font-size:1.08rem}.contact-prompt{padding-top:22px;border-top:1px solid var(--line);margin-top:28px;color:var(--muted)}.contact-prompt a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;font-weight:800}.booking-card{background:var(--paper);color:var(--ink);padding:38px;border-radius:10px;box-shadow:0 25px 50px #0005}.booking-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-label{color:#795026;letter-spacing:.11em;font-weight:900;font-size:.73rem}.cost-tag{font-weight:900;color:#50371d;background:#ead9c0;border-radius:5px;padding:6px 11px}.booking-card h3{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.18;margin:20px 0 11px}.booking-card>p{color:#514537}.booking-checks{padding:0;list-style:none;margin:25px 0}.booking-checks li{padding:9px 0;color:#443728;font-weight:650;border-bottom:1px solid #dfd3c3}.booking-checks li:before{content:'✓';color:#895924;margin-right:13px;font-weight:900}.button-full{display:flex;width:100%;font-size:1rem}.booking-card .booking-disclosure{font-size:.8rem;line-height:1.6;color:#6b5c4d;margin:15px 0 0}
.social-section{background:#231e19;border-top:1px solid var(--line)}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}.social-card{display:flex;align-items:center;gap:22px;border:1px solid #69513a;border-radius:7px;background:#30261e;padding:28px;min-height:130px;transition:border-color .18s,transform .18s}.social-card:hover{border-color:var(--gold);transform:translateY(-2px)}.social-badge{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:13px;background:#1e1a16;color:var(--gold);font-weight:900}.social-badge.facebook{font:900 2.5rem Arial,sans-serif;padding-top:5px}.social-badge svg{width:34px;height:34px}.social-card strong{font-size:1.2rem;display:block}.social-card small{display:block;color:var(--muted);font-size:.9rem}.social-arrow{margin-left:auto;color:var(--gold);font-size:1.55rem}
.site-footer{border-top:1px solid var(--line);background:#161411;padding-top:58px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .6fr;gap:40px;padding-bottom:45px}.footer-brand{font-weight:900;letter-spacing:.09em;color:var(--text);font-size:1.13rem}.footer-brand-logo{display:inline-block;max-width:260px}.footer-brand-logo img{display:block;width:100%;height:auto;border-radius:10px;background:#f4ecdf;padding:10px;box-shadow:0 10px 24px #0003}.footer-grid p{margin:12px 0 0}.footer-grid h2{font-size:.77rem;letter-spacing:.14em;color:var(--gold);margin:0 0 14px;font-family:inherit}.footer-grid>div>a:not(.footer-brand):not(.footer-brand-logo){display:block;margin:10px 0;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);padding:20px 0 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.87rem}.footer-bottom a{text-decoration:underline;text-decoration-color:#6d5840;text-underline-offset:4px}
.narrow{max-width:780px}.interior-heading{font-size:clamp(3.6rem,8vw,5rem);color:var(--gold);margin:18px 0 30px}.narrow h2{font:800 1.4rem/1.4 system-ui,sans-serif;color:var(--gold);letter-spacing:0;margin-top:34px}.narrow p{color:var(--muted);line-height:1.8}.narrow p a:not(.button){text-decoration:underline;text-underline-offset:3px}.narrow p .button{color:var(--ink);margin-top:20px}
@media(max-width:1150px){.desktop-nav{gap:13px}.desktop-nav a{font-size:.82rem}.header-inner{gap:14px}.header-book{font-size:.77rem;padding:12px 13px}.brand-logo{width:clamp(190px,24vw,280px)}}
@media(max-width:960px){.desktop-nav{display:none}.header-book{margin-left:auto}.mobile-menu{display:block;position:relative;order:3}.mobile-menu summary{list-style:none;border:1px solid #786043;border-radius:4px;padding:9px 13px;font-size:.84rem;font-weight:850;color:var(--text);cursor:pointer;white-space:nowrap}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{padding-left:8px}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 12px);background:#2a221b;border:1px solid var(--line);border-radius:7px;min-width:220px;box-shadow:0 20px 30px #0008;padding:10px}.mobile-menu nav a{display:block;padding:12px 14px;border-radius:4px}.mobile-menu nav a:hover{background:#433525}.hero-grid{grid-template-columns:1fr .6fr;gap:14px}.hero-art-card{width:min(100%,330px)}.hero-art{min-height:300px}.booking-grid{gap:32px}}
@media(max-width:740px){.wrap{width:min(100% - 36px,1140px)}.header-inner{min-height:75px}.brand-logo{width:190px}.header-book{font-size:.75rem;padding:11px}.hero-grid{min-height:auto;padding:65px 0 75px;display:block}.hero-content>p{font-size:1.04rem}.hero-art{display:none}.hero h1{font-size:clamp(3.85rem,11vw,6rem)}.section{padding:68px 0}.section-lead{display:block}.section-lead p{max-width:650px}.service-grid,.steps,.booking-grid,.social-grid,.footer-grid{grid-template-columns:1fr}.service-grid,.steps{gap:16px}.service-card{min-height:0;padding:27px}.service-icon{margin-bottom:18px}.booking-card{padding:29px}.footer-grid{gap:24px}.steps article{padding-top:22px}.steps h3{margin-top:10px}}
@media(max-width:480px){.header-inner{gap:9px}.brand{gap:5px}.brand-logo{width:155px}.header-book{display:none}.mobile-menu{margin-left:auto}.hero h1{font-size:clamp(3.42rem,15vw,4.8rem)}.hero-actions .button{width:100%}.hero-actions{gap:11px}.trust-points{margin-top:31px;gap:8px 16px}.section h2{font-size:clamp(2.7rem,12vw,3.8rem)}.booking-card{padding:24px}.social-card{padding:20px;gap:14px}.social-badge{width:52px;height:52px;flex-basis:52px}.footer-bottom{display:block}.footer-bottom>span{display:block;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Official Lost Longhorn die-cut brand treatment: no badge, card, or image backdrop. */
.header-inner{min-height:112px}
.brand.brand-image{display:flex;flex:none;align-items:center;padding:3px 0}
.brand.brand-image img.brand-logo{display:block;width:165px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}
.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:26px;min-height:610px}
.hero-art{min-height:390px;display:flex;align-items:center;justify-content:center;overflow:visible}
.hero-art .hero-logo{width:min(100%,520px);height:auto;max-height:520px;object-fit:contain;filter:drop-shadow(0 16px 25px rgba(0,0,0,.28))}
.footer-brand-logo{display:inline-block;max-width:235px}
.footer-brand-logo img{display:block;width:100%;height:auto;padding:0;background:none;border-radius:0;box-shadow:none}
@media(max-width:1100px){
  .brand.brand-image img.brand-logo{width:142px}
  .desktop-nav{gap:14px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
}
@media(max-width:960px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.85fr)}
  .hero-art{min-height:290px}
}
@media(max-width:740px){
  .header-inner{min-height:94px}
  .brand.brand-image img.brand-logo{width:130px}
  .hero-grid{padding:53px 0 52px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .hero-art{display:flex;min-height:0;margin:15px auto 0;width:min(100%,390px)}
  .hero-art .hero-logo{width:100%;max-height:none}
}
@media(max-width:480px){
  .header-inner{min-height:78px}
  .brand.brand-image img.brand-logo{width:112px}
  .hero-art{width:min(100%,330px)}
}
