:root{--black:#0b0a08;--panel:#15110e;--brown:#241a13;--cream:#ecdfca;--muted:#c4b4a0;--red:#880d11;--red-bright:#b52b2e;--gold:#c8ad87;--border:#6b5743;--western:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0907;color:var(--cream);font-family:var(--body)}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.skip{position:absolute;top:-5rem;left:1rem;z-index:50;background:#fff;color:#000;padding:.75rem}.skip:focus{top:1rem}::selection{background:#a11d1c;color:#fff}.textured{background-color:#130f0c;background-image:radial-gradient(ellipse at 22% 8%,#4c2c1b44,transparent 35%),radial-gradient(ellipse at 83% 67%,#37231755,transparent 42%),repeating-linear-gradient(27deg,#100d0b 0px,#14100d 2px,#100d0b 5px,#110e0b 11px);box-shadow:inset 0 25px 55px #0008}.site-header{background:#070706;border-bottom:1px solid #5b3e33;position:relative;z-index:20}.header-inner{max-width:1500px;min-height:78px;padding:0 clamp(1rem,3vw,3rem);margin:auto;display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.brand{display:flex;align-items:center;gap:.55rem;min-width:240px}.texas-badge{display:grid;place-items:center;width:56px;height:54px;background:linear-gradient(90deg,#0e3150 0 40%,#fff 40% 68%,#981d1d 68%);color:white;font-size:1.6rem;clip-path:polygon(17% 8%,28% 8%,28% 1%,43% 1%,43% 13%,74% 15%,78% 25%,98% 32%,85% 60%,74% 63%,76% 96%,51% 90%,40% 68%,29% 66%,20% 48%,0 47%,15% 31%);filter:drop-shadow(1px 1px 1px white)}.brand-name strong{display:block;color:#9c2222;-webkit-text-stroke:.45px #e8cbbb;text-shadow:1px 1px #000;font:900 1.32rem/.9 var(--western);letter-spacing:.045em}.brand-name small{display:block;color:#d2b89b;font-size:.52rem;font-weight:bold;letter-spacing:.29em;margin-top:.36rem}.site-header nav{display:flex;align-items:center;justify-content:center;gap:clamp(.9rem,2vw,2rem);margin-left:auto}.site-header nav a{font-size:.65rem;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:2px solid transparent;padding:2rem 0 1.8rem}.site-header nav a:hover,.site-header nav a:focus-visible{color:#fff;border-color:#a61f20}.header-call{min-width:max-content;background:#7d0d10;border:1px solid #b14e45;padding:.74rem 1.2rem;font-size:.79rem;font-weight:bold;letter-spacing:.02em}.header-call span{font-size:1.1rem;margin-right:.3rem}.header-call:hover,.primary-button:hover{background:#a52022}.menu-button{display:none}.hero{height:clamp(530px,44vw,675px);position:relative;overflow:hidden;background:#0a0807}.hero-art{position:absolute;inset:0;background:url('assets/design-derivatives/hero-original-animals-corrected-texas-flag.png') center 48%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050403 0%,#080503c9 12%,#08060433 31%,transparent 48%,#0005 100%),linear-gradient(0deg,#100c09b0,transparent 22%)}.hero-inner{position:relative;max-width:1500px;height:100%;margin:auto;padding:2.2rem clamp(1rem,3vw,3rem);display:flex;align-items:center;justify-content:space-between}.hero-copy{width:35%;align-self:center}.eyebrow{font-size:.63rem;letter-spacing:.33em;color:#d7c4a6;font-weight:bold}.hero h1{font:900 clamp(3.4rem,6.4vw,6.8rem)/.92 var(--western);letter-spacing:-.065em;margin:1rem 0 1.4rem;color:#f0e3cd;text-shadow:2px 3px 0 #1a0b08,0 4px 12px #000;text-transform:uppercase}.hero-subtitle{max-width:19rem;font-size:.72rem;line-height:1.65;letter-spacing:.33em;color:#ecdfc6}.button{display:inline-flex;align-items:center;gap:1.5rem;justify-content:space-between;padding:.9rem 1.25rem;font-size:.68rem;font-weight:bold;letter-spacing:.12em;text-transform:uppercase;border:1px solid #a85048;min-height:42px}.primary-button{background:#7f0d10}.button span{font-size:1rem}.hero-copy .button{margin-top:.5rem}.hero-location{align-self:center;text-align:right;margin-right:.4rem;margin-top:5rem;color:#f3e5cb;text-shadow:1px 2px 5px #000}.location-script{font:italic 2rem/1 var(--western);display:block;transform:rotate(-9deg)}.location-line{display:block;width:130px;height:1px;background:#d3b797;margin:1.5rem 0 1.1rem auto;transform:rotate(-11deg)}.location-small{font-size:.62rem;letter-spacing:.2em}.feature-strip{min-height:82px;display:flex;align-items:stretch;justify-content:center;background:#10100f;border-top:1px solid #7a5943;border-bottom:1px solid #7a5943}.feature-strip>div{width:20%;max-width:280px;display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem .6rem;border-right:1px solid #4b3d32}.feature-strip>div:last-child{border-right:0}.feature-strip span{font-size:2rem;color:#c6a982}.feature-strip p{font-size:.59rem;letter-spacing:.16em;line-height:1.45;font-weight:bold;color:#eee1d0;margin:0}.section-title{text-align:center;margin:0 auto 2rem}.kicker{color:#d33535;letter-spacing:.31em;font-size:.67rem;font-weight:bold;text-transform:uppercase}.section-title h2,.about-copy h2,.competition-copy h2,.faq-section h2,.contact-section h2{font:900 clamp(2.3rem,3.5vw,3.8rem)/1.05 var(--western);letter-spacing:-.025em;text-transform:uppercase;margin:.45rem 0}.title-rule{display:block;width:100px;height:2px;background:#ad171b;margin:.8rem auto 0}.services-section,.gallery-section,.pricing-section{padding:4rem clamp(1rem,2vw,2rem) 4.5rem;border-bottom:1px solid #6a4b39}.service-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;max-width:1500px;margin:auto}.service-card{border:1px solid #7e6856;background:#0c0b0a;min-width:0}.service-image{height:clamp(190px,19vw,280px);background:#2b2119;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(1.06);transition:transform .35s}.service-card:hover img{transform:scale(1.04)}.service-content{text-align:center;padding:1rem .4rem .9rem;border-top:1px solid #a48c73}.service-content h3{font-size:.82rem;letter-spacing:.13em;margin:0 0 .5rem}.service-content p{font-size:.69rem;color:#ccbca9;min-height:1.9rem;margin:.4rem 0 .8rem}.service-content a,.outline-button{display:inline-flex;gap:.8rem;justify-content:center;align-items:center;border:1px solid #a89178;min-height:30px;padding:.35rem .7rem;font-size:.58rem;letter-spacing:.1em;font-weight:bold}.service-content a:hover,.outline-button:hover{background:#8d1518;border-color:#bb4544}.service-note{text-align:center;margin:1rem 0 0;color:#aa9885;font-size:.67rem;letter-spacing:.02em}.about-section{display:grid;grid-template-columns:1fr 1.12fr;min-height:500px;background:radial-gradient(circle at 85% 40%,#35271e,#100d0a 65%);border-bottom:1px solid #634a38}.about-photo{position:relative;overflow:hidden;min-height:500px;background:#2a1d15}.about-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%;filter:brightness(.7) saturate(.75)}.about-photo span{position:absolute;bottom:1.6rem;left:2rem;background:#0c0908d9;padding:.7rem .9rem;font-size:.62rem;letter-spacing:.18em}.about-copy{align-self:center;padding:clamp(2rem,5vw,5.5rem)}.about-copy h2{font-size:clamp(2.4rem,3.7vw,4.1rem)}.about-copy>p:not(.kicker){max-width:40rem;font-size:.88rem;line-height:1.65;color:#d2c1ae}.about-values{display:flex;justify-content:space-between;gap:.6rem;margin-top:2.5rem;max-width:520px}.about-values>div{text-align:center}.about-values span{display:block;color:#d7bc99;font-size:2rem;margin-bottom:.5rem}.about-values small{font-size:.56rem;font-weight:bold;line-height:1.4;letter-spacing:.12em}.gallery-section{padding-top:4.7rem}.section-intro{color:#cdbbaa;font-size:.84rem;line-height:1.55;max-width:650px;margin:1rem auto 0}.filter-bar{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.filter{border:1px solid #7a6450;color:#e1d0b8;background:#15100d;padding:.55rem .8rem;cursor:pointer;font-size:.61rem;font-weight:bold;letter-spacing:.09em}.filter.active,.filter:hover{background:#8d181b;color:#fff;border-color:#b74843}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;max-width:1500px;margin:auto}.gallery-card{position:relative;margin:0;background:#251b15;border:1px solid #735c49;aspect-ratio:4/5}.gallery-card[hidden]{display:none}.photo-open{width:100%;height:100%;padding:0;background:none;border:0;cursor:zoom-in}.gallery-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.gallery-card figcaption{position:absolute;bottom:0;left:0;right:0;padding:1.2rem .5rem .6rem;background:linear-gradient(transparent,#000e);pointer-events:none;text-align:center;font-size:.65rem;font-weight:bold;letter-spacing:.14em}.competition-section{display:grid;grid-template-columns:1fr 1fr;background:#17120f;border-bottom:1px solid #654735}.competition-photo{height:440px;overflow:hidden}.competition-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:brightness(.8)}.competition-copy{align-self:center;padding:clamp(2rem,5vw,5rem)}.competition-copy p:not(.kicker),.faq-copy p{max-width:35rem;color:#d2c0ac;font-size:.9rem;line-height:1.7}.competition-copy .outline-button{margin-top:1.1rem;padding:.65rem 1rem}.pricing-section .price-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:850px;margin:auto}.price-open{border:4px solid #86715b;background:#ddd4c6;padding:0;aspect-ratio:4/5;cursor:zoom-in;box-shadow:0 10px 30px #0008}.price-open:hover{border-color:#ba3735}.price-open img{width:100%;height:100%;object-fit:contain}.pricing-call{text-align:center;color:#d1bca5;font-size:.82rem}.pricing-call a{text-decoration:underline;text-underline-offset:.2rem}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:4rem clamp(1rem,5vw,5rem);background:#1e1712;border-bottom:1px solid #674c3b}.faq-copy .button{margin-top:1rem}.contact-section{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem clamp(1rem,5vw,5rem);background:#0b0b0a;border-bottom:1px solid #5d4738}.contact-section h2{color:#a02122}.contact-section p:not(.kicker){font:1.3rem var(--western);margin:.6rem 0}footer{background:radial-gradient(circle at 60% 0,#231813,#080807 65%);padding:1.7rem clamp(1rem,5vw,5rem) 1rem}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1500px;margin:auto}.footer-brand strong{display:block;font:900 clamp(1.5rem,2.4vw,2.6rem)/1 var(--western);color:#a02022;-webkit-text-stroke:.4px #ead1b8}.footer-brand span{display:block;font:900 clamp(1.1rem,1.8vw,1.8rem) var(--western);margin-top:.35rem}.back-top{font-size:.65rem;letter-spacing:.17em}.footer-bottom{max-width:1500px;margin:1.5rem auto 0;border-top:1px solid #493b32;padding-top:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#9c8b79;font-size:.58rem;letter-spacing:.13em}dialog{width:min(calc(100vw - 2rem),1000px);max-height:95vh;overflow:auto;background:#0c0907;border:1px solid #9a7b64;color:#fff;padding:1rem;box-shadow:0 25px 80px #000}dialog::backdrop{background:#000d}dialog img{max-height:80vh;max-width:100%;width:auto;object-fit:contain;margin:auto}dialog p{text-align:center;font:1rem var(--western);color:#dfcab2;margin:.6rem 0 0}.dialog-close{position:absolute;top:.5rem;right:.5rem;z-index:2;width:2.3rem;height:2.3rem;background:#0b0908;color:#fff;border:1px solid #a78d75;font-size:1.5rem;cursor:pointer}
@media(max-width:1100px){.header-inner{gap:1rem}.brand{min-width:205px}.site-header nav{gap:.65rem}.site-header nav a{font-size:.58rem}.header-call{padding:.6rem .7rem}.hero-copy{width:42%}.service-content h3{font-size:.7rem}.service-content p{font-size:.62rem}.service-content a{font-size:.52rem}}
@media(max-width:800px){.header-inner{min-height:70px}.menu-button{display:flex;margin-left:auto;padding:.6rem;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer}.menu-button span{width:26px;height:2px;background:#e8d7c4;display:block}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#0a0908;border-bottom:1px solid #6a4837;padding:.5rem 1.2rem 1.2rem;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:.9rem .4rem;border-bottom:1px solid #382d25;font-size:.78rem}.header-call{display:none}.hero{height:660px}.hero-art{background-position:57% 17%;background-size:auto 580px;background-repeat:no-repeat}.hero-shade{background:linear-gradient(0deg,#050403 0%,#080604f2 32%,#08060450 63%,transparent 100%)}.hero-inner{align-items:end;padding:2rem 1.5rem}.hero-copy{width:100%;max-width:500px}.hero h1{font-size:clamp(3.6rem,9vw,5.5rem);line-height:.9}.hero h1 br:nth-child(2){display:none}.hero-location{display:none}.feature-strip{flex-wrap:wrap}.feature-strip>div{width:33.333%;min-height:70px}.feature-strip>div:nth-child(3){border-right:0}.service-cards{grid-template-columns:repeat(3,1fr)}.service-image{height:240px}.about-section{grid-template-columns:1fr}.about-photo{height:380px;min-height:0}.about-copy{padding:2.5rem 1.5rem}.gallery-grid{grid-template-columns:repeat(3,1fr)}.competition-photo{height:360px}}
@media(max-width:560px){.brand{min-width:0}.texas-badge{width:45px;height:45px}.brand-name strong{font-size:1.06rem}.brand-name small{font-size:.4rem}.hero{height:620px}.hero-art{background-size:auto 390px;background-position:55% top}.hero-inner{padding:2rem 1.1rem 2.5rem}.hero h1{font-size:clamp(3.25rem,13vw,4.4rem)}.hero-subtitle{font-size:.63rem;max-width:21rem}.feature-strip>div{width:50%;justify-content:flex-start;padding-left:1rem}.feature-strip>div:nth-child(3){border-right:1px solid #4b3d32}.feature-strip>div:nth-child(even){border-right:0}.feature-strip>div:last-child{width:100%;justify-content:center;border-top:1px solid #4b3d32}.feature-strip span{font-size:1.5rem}.feature-strip p{font-size:.52rem}.services-section,.gallery-section,.pricing-section{padding:3rem .75rem}.section-title h2{font-size:2.1rem}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.service-card:last-child{grid-column:span 2;max-width:calc(50% - .275rem);justify-self:center}.service-image{height:195px}.service-content h3{font-size:.64rem;line-height:1.3}.service-content p{font-size:.59rem}.service-content a{font-size:.5rem;padding:.35rem .3rem}.about-photo{height:310px}.about-copy h2{font-size:2.15rem}.about-copy>p:not(.kicker){font-size:.84rem}.about-values small{font-size:.47rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.competition-section{grid-template-columns:1fr}.competition-photo{height:320px}.competition-copy{padding:2.5rem 1.2rem}.competition-copy h2{font-size:2.25rem}.pricing-section .price-thumbs{gap:.35rem}.price-open{border-width:2px}.faq-section{grid-template-columns:1fr;padding:3rem 1.2rem}.contact-section{display:block;padding:2.5rem 1.2rem}.contact-section .button{margin-top:1.2rem}.footer-main{display:block}.back-top{display:block;margin-top:1.5rem}.footer-bottom{display:block}.footer-bottom span{display:block;margin:.5rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:800px){.hero h1 br:nth-child(2){display:initial}}

/* Separate page navigation */
.site-header nav a[aria-current=page]{color:#fff;border-color:#a61f20}

/* Supplied veteran-owned eagle emblem on the home hero. */
.veteran-image-mark{width:min(100%,11.75rem);margin-top:.65rem;filter:drop-shadow(0 12px 20px #000b)}
.veteran-image-mark img{display:block;width:100%;height:auto}
@media(max-width:560px){.veteran-image-mark{width:min(100%,11.75rem);margin-top:.55rem}}


/* Keep each standalone page composed at desktop and phone heights. */
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
main:has(>.hero){display:flex;flex-direction:column}
main:has(>.hero)>.hero{height:auto;min-height:clamp(530px,44vw,675px);flex:1}
main:has(>.contact-section)>.contact-section,main:has(>.faq-section)>.faq-section{min-height:calc(100vh - 260px);align-items:center}
main:has(>.contact-section)>.contact-section{background:radial-gradient(ellipse at 20% 45%,#322016,#100c09 58%,#080807)}
@media(max-width:800px){main:has(>.hero)>.hero{min-height:660px}}
@media(max-width:560px){main:has(>.hero)>.hero{min-height:620px}}

/* Full saved-work gallery */
.gallery-section .section-title h1{font:900 clamp(2.3rem,3.5vw,3.8rem)/1.05 var(--western);letter-spacing:-.025em;text-transform:uppercase;margin:.45rem 0}
.gallery-result-count{text-align:center;color:#bfa98f;font-size:.75rem;letter-spacing:.08em;margin:-.3rem 0 1.3rem}
.filter-count{opacity:.72;margin-left:.2rem}
.competition-gallery{padding:4rem clamp(1rem,2vw,2rem) 5rem}
.competition-set{max-width:1500px;margin:2rem auto 3rem}
.competition-set h3{font:900 1.3rem var(--western);color:#e6d4ba;letter-spacing:.04em;border-bottom:1px solid #785d46;padding-bottom:.7rem}
.competition-set h3 span{font:normal .7rem var(--body);color:#c3ad95;letter-spacing:.08em}
.gallery-card[data-category=bobcat] .photo-open img{object-position:center 40%;transform:scale(1.16)}
.gallery-card[data-category=bobcat] .photo-open{overflow:hidden}
@media(max-width:560px){.competition-gallery{padding:3rem .75rem}.competition-set h3{font-size:1.05rem}}

/* Mount-level gallery: large, uncropped covers and one photo set per card. */
.project-gallery,.competition-projects{padding:4rem clamp(1rem,3vw,3rem) 5rem;border-bottom:1px solid #6a4b39}
.project-gallery .section-title h1,.competition-projects .section-title h2{font:900 clamp(2.7rem,4vw,4.5rem)/1.05 var(--western);letter-spacing:-.025em;text-transform:uppercase;margin:.45rem 0}
.gallery-totals{color:#d8bea0;font-size:.78rem;font-weight:bold;letter-spacing:.16em;margin:1rem 0 0;text-transform:uppercase}
.project-filters{max-width:1450px;margin:0 auto 1.5rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem}
.project-filter{border:1px solid #806a55;background:#17120f;color:#eadcc8;padding:.75rem .9rem;font-size:.68rem;font-weight:bold;letter-spacing:.08em;cursor:pointer}
.project-filter.active,.project-filter:hover{background:#8d181b;border-color:#c84e48;color:white}
.year-browser{max-width:900px;margin:0 auto 1.25rem;padding:1rem;border:1px solid #5f4a39;background:#0b0908;text-align:center}
.year-browser>p{margin:0 0 .75rem;color:#c8ad87;font-size:.62rem;font-weight:bold;letter-spacing:.18em}
.year-filters{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}
.year-filter{min-width:105px;border:1px solid #8e745a;background:#211811;color:#eadcc8;padding:.7rem 1rem;font-size:.7rem;font-weight:bold;letter-spacing:.1em;cursor:pointer}
.year-filter.active,.year-filter:hover{background:#8d181b;border-color:#c84e48;color:#fff}
.site-header nav .studio-nav-link{color:#d7b777;border-color:#6f573d}
.project-result-count{text-align:center;color:#ccb79d;font-size:.75rem;letter-spacing:.1em;margin:0 0 1.5rem}
.project-grid{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.project-card{display:block;text-align:left;min-width:0;width:100%;padding:0;background:#0b0908;border:1px solid #806a55;color:var(--cream);cursor:pointer;transition:border-color .2s,transform .2s}
.project-card:hover,.project-card:focus-visible{border-color:#c74a42;transform:translateY(-3px)}
.project-card img{display:block;width:100%;height:430px;object-fit:contain;background:#090807}
.project-card-details{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem;border-top:1px solid #635140}
.project-card-details strong{font:900 1.1rem/1.25 var(--western);text-transform:uppercase}
.project-card-details small{font-size:.65rem;font-weight:bold;letter-spacing:.16em;color:#d1b899}
.load-projects{display:block;margin:2.4rem auto 0;padding:.85rem 1.5rem;border:1px solid #b14e45;background:#7d0d10;color:white;font-size:.7rem;font-weight:bold;letter-spacing:.12em;cursor:pointer}
.load-projects[hidden]{display:none}
.competition-projects{background-color:#15100d}
.facebook-live{padding:4rem clamp(1rem,3vw,3rem) 5rem;border-bottom:1px solid #6a4b39;text-align:center}
.facebook-live .section-title h2{font:900 clamp(2.7rem,4vw,4.5rem)/1.05 var(--western);letter-spacing:-.025em;text-transform:uppercase;margin:.45rem 0}
.facebook-follow-card{max-width:900px;margin:2rem auto 0;padding:1.4rem 1.5rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;text-align:left;border:1px solid #785d46;background:linear-gradient(135deg,#100d0b,#21160f);box-shadow:0 18px 45px #0008}
.facebook-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1877f2;color:#fff;font:900 2.7rem/1 Arial,sans-serif}
.facebook-follow-card strong{color:#eadbc4;letter-spacing:.11em;font-size:.9rem}
.facebook-follow-card p{color:#bfae9c;line-height:1.5;margin:.35rem 0 0}
.facebook-follow-button{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.75rem 1rem;border:1px solid #5f9cf0;background:#1877f2;color:#fff;font-size:.68rem;font-weight:bold;letter-spacing:.09em;white-space:nowrap}
.facebook-follow-button:hover,.facebook-follow-button:focus-visible{background:#0f5fc7}
#project-dialog{width:min(96vw,1400px);max-width:1400px;max-height:95vh;padding:0;overflow:hidden;background:#0a0807;border:1px solid #9a7b64}
.project-close{position:absolute;top:.6rem;right:.6rem;z-index:2;border:1px solid #b79b7c;background:#0a0807;color:white;width:2.5rem;height:2.5rem;font-size:1.8rem;line-height:1;cursor:pointer}
.project-dialog-head{text-align:center;padding:1.2rem 3rem .65rem}
.project-dialog-head h2{font:900 clamp(1.25rem,2vw,2rem) var(--western);text-transform:uppercase;margin:.25rem 0}
.project-dialog-head p:last-child{color:#cdb79d;font-size:.72rem;letter-spacing:.13em;margin:.35rem 0}
.project-photo-stage{height:min(74vh,950px);display:flex;align-items:center;justify-content:space-between;background:#080706;gap:.5rem;padding:.5rem}
.project-photo-stage img{display:block;width:auto;max-width:calc(100% - 6rem);height:auto;max-height:100%;margin:auto;object-fit:contain}
.project-photo-stage button{flex:0 0 2.7rem;height:4rem;border:1px solid #a78d75;background:#211710;color:#fff;font:2.5rem var(--western);cursor:pointer}
.project-photo-stage button[hidden]{visibility:hidden}
.project-dialog-foot{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1.2rem;color:#cdb9a1;font-size:.7rem;line-height:1.4}
.project-dialog-foot a{color:#fff;text-decoration:underline;text-underline-offset:.2rem;white-space:nowrap}
.project-caption{margin:.75rem 0 0;color:#f5f0e6;line-height:1.55}.project-comments{margin:.75rem 0 0;padding-left:1.25rem;color:#d9d2c4}.project-comments li+li{margin-top:.45rem}.project-dialog-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.8rem}
@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card img{height:380px}}
@media(max-width:650px){.project-gallery,.competition-projects{padding:3rem .8rem}.project-grid{grid-template-columns:1fr}.project-card img{height:auto;aspect-ratio:1/1;object-fit:contain}.project-dialog-head{padding:1rem 2.5rem .5rem}.project-photo-stage{height:68vh}.project-photo-stage img{max-width:calc(100% - 4rem)}.project-photo-stage button{flex-basis:1.8rem;font-size:1.8rem}.project-dialog-foot{display:block}.project-dialog-foot a{display:block;margin-top:.4rem}}
@media(max-width:650px){.facebook-live{padding:3rem .8rem}.facebook-live .section-title h2{font-size:2.1rem}.facebook-follow-card{grid-template-columns:auto 1fr;padding:1.2rem}.facebook-follow-button{grid-column:1/-1;justify-content:center;width:100%}}

/* Current-year price sheets are readable on the page. */
.price-sheets{max-width:1275px;margin:2rem auto 0;display:grid;gap:3.5rem}
.price-sheet{margin:0}
.price-sheet h3{font:900 1.15rem var(--western);letter-spacing:.07em;color:#e9d8c2;margin:0 0 .8rem}
.price-sheet .price-open{display:block;width:100%;height:auto;aspect-ratio:auto;margin:0;padding:0;border:3px solid #9c8065;box-shadow:0 18px 50px #000a}
.price-sheet .price-open img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:560px){.price-sheets{gap:2rem}.price-sheet h3{font-size:.9rem}}

/* Keep the two current sheets and the booking QR visible together on desktop. */
.pricing-section{padding-top:1.45rem;padding-bottom:1.3rem}
.pricing-section .section-title{margin-bottom:0}
.pricing-section .section-title h2{font-size:clamp(2rem,3vw,3rem)}
.pricing-section .section-intro{margin-top:.55rem}
.price-sheets{max-width:1750px;margin:1.1rem auto 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,.44fr);gap:.9rem;align-items:start}
.price-sheet h3{font-size:.9rem;margin:0 0 .45rem;text-align:center}
.price-sheet .price-open{width:100%;max-width:calc((100vh - 205px)*.8);margin:0 auto;border-width:2px;box-shadow:0 8px 25px #0009}
.price-sheet .price-open img{width:100%;height:auto;max-height:calc(100vh - 205px);object-fit:contain}
.booking-qr .price-open{max-width:310px}
.booking-qr .price-open img{max-height:none}
@media(max-width:1000px){.price-sheets{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-qr{grid-column:1/-1}.booking-qr .price-open{max-width:260px}.price-sheet .price-open{max-width:100%}.price-sheet .price-open img{max-height:none}}
@media(max-width:650px){.price-sheets{grid-template-columns:1fr}.booking-qr{grid-column:auto}.price-sheet .price-open{max-width:100%}}

/* Accurate Texas state silhouette for the header mark. */
.texas-badge{display:block;flex:0 0 56px;width:56px;height:54px;background:none;clip-path:none;filter:none}
.texas-badge img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:560px){.texas-badge{flex-basis:45px;width:45px;height:45px}}

/* Portrait phone and tablet layout */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:800px){
  .header-inner{padding-left:1rem;padding-right:1rem}
  .menu-button{width:48px;height:44px;flex:0 0 48px;align-items:center;justify-content:center;border:1px solid #5f4a3a;border-radius:2px}
  .hero-art{background-size:100% auto;background-position:center top}
  .hero-shade{background:linear-gradient(0deg,#050403 0%,#080604fa 36%,#080604b8 49%,transparent 72%)}
  .hero-inner{padding-top:clamp(20rem,58vw,28rem)}
  .hero-copy{width:100%;max-width:36rem}
  .hero h1{font-size:clamp(3.2rem,10vw,5rem)}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-image{height:clamp(230px,44vw,330px)}
  .project-filters,.filter-bar{max-width:100%}
  .filter,.project-filter{max-width:100%;white-space:normal}
}
@media(max-width:560px){
  .header-inner{padding-left:.75rem;padding-right:.75rem;gap:.5rem}
  .menu-button{width:46px;height:42px;flex-basis:46px}
  .hero{height:auto;min-height:650px}
  .hero-art{background-size:100% auto;background-position:center top}
  .hero-shade{background:linear-gradient(0deg,#050403 0%,#080604fc 43%,#080604ba 58%,transparent 78%)}
  .hero-inner{padding:14rem 1rem 2.2rem;align-items:flex-end}
  .hero h1{font-size:clamp(2.8rem,13vw,3.75rem);line-height:.91;letter-spacing:-.055em;margin:.8rem 0 1rem}
  .hero-subtitle{font-size:.66rem;line-height:1.55;letter-spacing:.24em}
  .service-cards{grid-template-columns:1fr;gap:.8rem}
  .service-card:last-child{grid-column:auto;max-width:none;justify-self:stretch}
  .service-image{height:min(78vw,310px)}
  .service-content{padding:1rem .75rem}
  .service-content h3{font-size:.78rem}
  .service-content p{font-size:.68rem;min-height:0}
  .service-content a{font-size:.58rem;padding:.45rem .7rem}
  .section-title h2,.competition-copy h2,.faq-section h2,.contact-section h2{overflow-wrap:anywhere}
  .filter,.project-filter{font-size:.58rem;line-height:1.25;padding:.6rem .68rem}
  main:has(>.faq-section)>.faq-section,main:has(>.contact-section)>.contact-section{min-height:auto;align-items:start}
  .faq-section{gap:1.25rem}
}
@media(max-width:360px){
  .brand-name strong{font-size:.94rem}
  .brand-name small{font-size:.36rem;letter-spacing:.22em}
  .texas-badge{flex-basis:41px;width:41px;height:41px}
  .hero{min-height:620px}
  .hero-inner{padding-top:12.25rem}
  .hero h1{font-size:2.75rem}
  .project-gallery,.competition-projects{padding-left:.55rem;padding-right:.55rem}
}

/* Owner and online booking details */
.contact-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,360px);gap:clamp(2rem,6vw,6rem)}
.contact-details .owner-name{font:900 clamp(1.5rem,2.4vw,2.25rem)/1.05 var(--western);color:#e8d6be;margin:.9rem 0 .25rem}
.contact-details .contact-location{font:1.1rem var(--western);margin:.35rem 0 1.25rem}
.contact-booking{text-align:center;border:1px solid #705845;background:#120e0be8;padding:1.2rem}
.contact-booking h3{font:900 1.35rem var(--western);letter-spacing:.08em;margin:0 0 .8rem}
.contact-qr{display:block;max-width:250px;margin:0 auto;background:#fff;border:3px solid #9c8065}
.contact-qr img{width:100%;height:auto}
.contact-booking p,.booking-link{font-size:.72rem;line-height:1.5;color:#ccb99f;margin:.75rem 0 .3rem}
.booking-url,.booking-link a{color:#fff;text-decoration:underline;text-underline-offset:.18rem;overflow-wrap:anywhere}
.booking-link{text-align:center}
@media(max-width:800px){.contact-page{grid-template-columns:1fr}.contact-booking{width:min(100%,380px);margin:0 auto}}
@media(max-width:560px){.contact-booking{margin-top:1.75rem;padding:1rem}.contact-qr{max-width:230px}.booking-url{font-size:.72rem}}
