
:root{
  --ink:#24383a;
  --deep:#173f43;
  --deep2:#12363a;
  --sage:#728873;
  --sage2:#5e745f;
  --cream:#fbf5eb;
  --sand:#f3e5d3;
  --gold:#c99b48;
  --clay:#a66349;
  --muted:#667575;
  --white:#fff;
  --line:#e4d8c7;
  --shadow:0 18px 48px rgba(24,55,58,.14);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}
a{color:inherit}
img,svg{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 34px));margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:100;background:white;padding:10px}
.site-header{position:sticky;top:0;z-index:70;background:rgba(251,245,235,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(89,95,82,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:-.01em}
.brand img{width:70px}
.brand small{display:block;font-size:.73rem;color:var(--clay);font-weight:700;letter-spacing:.04em}
.menu{display:flex;align-items:center;gap:20px}
.menu a{text-decoration:none;font-size:.93rem;font-weight:750}
.menu .cta{padding:11px 15px;background:var(--deep);color:#fff;border-radius:11px}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:10px}

.hero{position:relative;min-height:620px;color:#fff;overflow:hidden;background:var(--deep2)}
.hero-bg{position:absolute;inset:0;background:url('/assets/hero-southwest.svg') center 46%/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,48,50,.94) 0%,rgba(22,55,56,.82) 42%,rgba(24,55,55,.25) 72%,rgba(18,48,50,.14) 100%)}
.hero .container{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:52px;min-height:620px;padding:70px 0 0}
.hero-copy{padding-bottom:70px}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:900;color:#f1d5a2}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;margin:0 0 15px}
h1{font-size:clamp(3rem,6.6vw,5.7rem);letter-spacing:-.035em;max-width:850px}
h2{font-size:clamp(2.1rem,4vw,3.35rem);letter-spacing:-.025em}
h3{font-size:1.36rem}
.hero p{font-size:1.14rem;max-width:740px;color:#f5eee5}
.hero strong{color:#fff}
.gold{color:#e6c26e}
.hero-card{align-self:end;justify-self:end;width:min(450px,100%);background:rgba(248,240,227,.95);color:var(--ink);border-radius:26px 26px 0 0;padding:20px 20px 0;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.45)}
.hero-card img{max-height:430px;margin:auto;border-radius:18px 18px 0 0}
.hero-card .caption{padding:16px 10px 20px}
.hero-card .caption strong{color:var(--deep);display:block;font-size:1.1rem}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;padding:13px 18px;min-height:49px;border-radius:11px;border:1px solid transparent}
.btn-primary{background:var(--clay);color:#fff}
.btn-secondary{background:#fff;color:var(--deep)}
.btn-outline{border-color:var(--deep);color:var(--deep)}
.trust{background:var(--deep);color:#fff}
.trust .container{display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{text-align:center;padding:18px 10px;font-size:.93rem;font-weight:800;border-right:1px solid rgba(255,255,255,.16)}

section{padding:75px 0}
.section-head{text-align:center;max-width:820px;margin:0 auto 38px}
.section-head p{color:var(--muted);font-size:1.07rem}
.soft{background:linear-gradient(180deg,#f1e6d8,#f8f0e4)}
.white{background:#fff}
.grid-2,.grid-3,.grid-4{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 10px 28px rgba(24,55,58,.055)}
.icon-disc{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e8efe6;color:var(--deep);font-weight:900;margin:0 auto 14px;font-size:1.2rem}
.reason{text-align:center;padding:8px 14px}
.reason p{color:var(--muted);margin-bottom:0}
.service-card{overflow:hidden;padding:0}
.service-art{height:145px;background:linear-gradient(135deg,#6b7f6d,#d7b583);position:relative}
.service-art:after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.65)}
.service-card .body{padding:20px}
.kicker{color:var(--clay);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.steps{counter-reset:step}
.step{position:relative;padding-left:62px}
.step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--clay);color:#fff;font-weight:900}
.about-wrap{display:grid;grid-template-columns:.7fr 1.3fr .7fr;gap:26px;align-items:center}
.photo-frame{background:#fff;border:1px solid var(--line);padding:10px;border-radius:18px;box-shadow:var(--shadow)}
.about-note{background:#efe7d9;border-radius:18px;padding:25px;border:1px solid var(--line)}
.about-note .star{font-size:2rem;color:var(--gold)}
.reputation{background:linear-gradient(180deg,#efe4d5,#f6eddf)}
.reputation .grid-3{align-items:stretch}
.quote{position:relative}
.quote:before{content:"“";font-family:Georgia,serif;font-size:3.8rem;color:var(--gold);line-height:.6;display:block;margin-bottom:12px}
.area-faq{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.area-panel{background:var(--deep);color:#fff;border-radius:22px;padding:30px;min-height:100%}
.area-panel p{color:#e9f0eb}
.faq details{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px 18px;margin:10px 0}
.faq summary{font-weight:850;cursor:pointer}
.notice{background:#fff4df;border-left:5px solid var(--gold);padding:17px 20px;border-radius:12px}
.cta-band{position:relative;overflow:hidden;color:#fff;background:linear-gradient(110deg,#8a5b45,#496556)}
.cta-band:after{content:"";position:absolute;right:-80px;bottom:-120px;width:520px;height:320px;border:4px solid rgba(246,217,164,.25);border-radius:50% 50% 0 0;transform:rotate(-8deg)}
.cta-band .container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-band p{color:#fff3e5}
.site-footer{background:#17383b;color:#eaf1ef;padding:55px 0 92px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.site-footer a{color:#fff}
.subhero{background:linear-gradient(135deg,#294f50,#6e7f69);color:#fff;padding:62px 0}
.subhero h1{font-size:clamp(2.5rem,5vw,4.4rem)}
.prose{max-width:860px}.prose h2{margin-top:40px}.prose li{margin:7px 0}
.form{display:grid;gap:14px}.form label{font-weight:800}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #bac7c3;border-radius:10px;font:inherit;background:#fff}.form textarea{min-height:130px}.hp{position:absolute;left:-9999px}.form-note{font-size:.93rem;color:var(--muted)}
.mobile-bar{display:none}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#e5eee5;color:var(--deep);font-size:.84rem;font-weight:900}
.service-list{columns:2;column-gap:30px}
.service-list li{break-inside:avoid}
@media(max-width:920px){
 .menu{display:none;position:absolute;left:0;right:0;top:78px;background:var(--cream);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
 .menu.open{display:flex}.menu-toggle{display:block}
 .hero .container{grid-template-columns:1fr;min-height:auto;padding-top:55px}
 .hero-card{justify-self:center;width:min(410px,100%)}
 .trust .container{grid-template-columns:1fr 1fr}
 .grid-4,.grid-3,.grid-2,.about-wrap,.area-faq,.footer-grid{grid-template-columns:1fr}
 .about-wrap{max-width:760px;margin:auto}
 .cta-band .container{display:block}
}
@media(max-width:650px){
 h1{font-size:3rem}
 .trust .container{grid-template-columns:1fr}
 .trust div{border-bottom:1px solid rgba(255,255,255,.14)}
 body{padding-bottom:64px}
 .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80;box-shadow:0 -8px 26px rgba(0,0,0,.16)}
 .mobile-bar a{text-align:center;padding:14px 8px;text-decoration:none;font-weight:900}
 .mobile-bar a:first-child{background:#fff;color:var(--deep)}
 .mobile-bar a:last-child{background:var(--deep);color:#fff}
 .service-list{columns:1}
}

/* V4 - restore rich Southwest visual language */
.hero{min-height:670px}
.hero .container{min-height:670px}
.hero:before{
  background:
    linear-gradient(90deg,rgba(14,42,44,.96) 0%,rgba(19,49,50,.86) 39%,rgba(29,53,50,.38) 66%,rgba(20,40,38,.14) 100%),
    linear-gradient(0deg,rgba(20,46,46,.45),transparent 40%);
}
.hero-copy{padding-bottom:82px}
.hero-card{background:linear-gradient(180deg,rgba(255,250,241,.98),rgba(243,226,205,.97));box-shadow:0 28px 70px rgba(10,30,32,.30)}
.hero-card img{background:linear-gradient(135deg,#f0e2d0,#d8c1a6)}

.landscape-section{position:relative;overflow:hidden}
.landscape-section:before{
  content:"";position:absolute;inset:0;
  background:url('/assets/section-mountains.svg') center bottom/cover no-repeat;
  opacity:.42;pointer-events:none;
}
.landscape-section>.container{position:relative;z-index:2}

.why-section{position:relative;overflow:hidden;background:#fbf5eb}
.why-section:before{
  content:"";position:absolute;left:-45px;bottom:-38px;width:280px;height:380px;
  background:url('/assets/yucca-corner.svg') center/contain no-repeat;opacity:.28;transform:scaleX(-1);
}
.why-section:after{
  content:"";position:absolute;right:-50px;bottom:-45px;width:315px;height:430px;
  background:url('/assets/yucca-corner.svg') center/contain no-repeat;opacity:.55;
}
.why-section>.container{position:relative;z-index:2}

.services-visual{background:linear-gradient(180deg,#ead9c4,#f6eadb 60%,#e8d5c1)}
.service-card{box-shadow:0 15px 38px rgba(57,54,45,.13);border-color:rgba(153,113,81,.25)}
.service-art{height:165px;background:
  linear-gradient(180deg,rgba(38,71,66,.05),rgba(38,71,66,.30)),
  url('/assets/section-mountains.svg') center 46%/cover no-repeat;
}
.service-card:nth-child(2) .service-art{filter:saturate(.82) sepia(.08)}
.service-card:nth-child(3) .service-art{background:
  linear-gradient(180deg,rgba(166,99,73,.16),rgba(92,77,60,.28)),
  url('/assets/section-mountains.svg') center 58%/cover no-repeat}
.service-card:nth-child(4) .service-art{background:
  linear-gradient(180deg,rgba(64,92,78,.08),rgba(55,72,63,.28)),
  url('/assets/section-mountains.svg') center 35%/cover no-repeat}

.process-band{position:relative;background:linear-gradient(180deg,rgba(248,242,233,.96),rgba(240,230,215,.92));overflow:hidden}
.process-band:before{
 content:"";position:absolute;inset:auto 0 0;height:58%;
 background:url('/assets/section-mountains.svg') center bottom/cover no-repeat;opacity:.48
}
.process-band>.container{position:relative;z-index:2}

.about-rich{background:linear-gradient(90deg,#fbf5eb,#efe1cd)}
.about-rich .photo-frame{transform:rotate(-1deg)}
.about-note{background:linear-gradient(180deg,#f4e7d4,#e9d7c0);position:relative;overflow:hidden}
.about-note:after{content:"";position:absolute;right:-50px;bottom:-85px;width:170px;height:235px;background:url('/assets/yucca-corner.svg') center/contain no-repeat;opacity:.22}

.reputation{position:relative;overflow:hidden}
.reputation:before{content:"";position:absolute;left:0;right:0;bottom:0;height:64%;background:url('/assets/section-mountains.svg') center bottom/cover no-repeat;opacity:.28}
.reputation>.container{position:relative;z-index:2}

.area-panel{
  background:
    linear-gradient(rgba(15,48,47,.76),rgba(15,48,47,.88)),
    url('/assets/el-paso-city.svg') center/cover no-repeat;
  box-shadow:0 18px 46px rgba(18,48,47,.20)
}
.cta-band{
  min-height:275px;display:flex;align-items:center;
  background:
    linear-gradient(90deg,rgba(118,68,47,.92),rgba(41,79,72,.72)),
    url('/assets/hero-southwest.svg') center 61%/cover no-repeat;
}
.cta-band:after{display:none}

.desert-rule{height:8px;background:linear-gradient(90deg,#c18a55,#d3b16d,#728873,#c18a55)}

/* V5: photographic version modeled much more literally on the original concept */
.hero-bg{
  background-image:url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200');
  background-position:center 52%;
  background-size:cover;
}
.hero{
  min-height:650px;
  box-shadow:inset 0 -12px 30px rgba(0,0,0,.08);
}
.hero:before{
  background:
    linear-gradient(90deg,rgba(15,46,49,.90) 0%,rgba(18,52,54,.78) 37%,rgba(28,52,50,.30) 65%,rgba(23,39,37,.08) 100%),
    linear-gradient(0deg,rgba(19,47,47,.40),transparent 45%);
}
.hero .container{min-height:650px}
.hero-copy{max-width:690px}
.hero-card{
  width:420px;
  background:transparent;
  box-shadow:none;
  border:none;
  padding:0;
}
.hero-card img{
  background:rgba(245,235,221,.93);
  border:8px solid rgba(249,241,230,.82);
  box-shadow:0 22px 55px rgba(0,0,0,.24);
  border-radius:28px 28px 0 0;
}
.hero-card .caption{
  background:rgba(250,243,233,.95);
  border-radius:0 0 17px 17px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.why-section{
  background:
    linear-gradient(rgba(251,246,238,.90),rgba(251,246,238,.90)),
    url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200') center 66%/cover no-repeat;
}
.why-section:before{opacity:.17}
.why-section:after{opacity:.68}

.services-visual{
  background:linear-gradient(180deg,#ead8c4,#f6ead9);
}
.service-art{filter:none!important}
.service-card:nth-child(1) .service-art{
  background:url('https://images.pexels.com/photos/6628701/pexels-photo-6628701.jpeg?auto=compress&dpr=1&w=1400') center 48%/cover no-repeat;
}
.service-card:nth-child(2) .service-art{
  background:url('https://images.pexels.com/photos/4599392/pexels-photo-4599392.jpeg?auto=compress&dpr=1&w=1400') center 42%/cover no-repeat;
}
.service-card:nth-child(3) .service-art{
  background:url('https://images.pexels.com/photos/19666196/pexels-photo-19666196/free-photo-of-pregnant-woman-relaxing-in-a-massage-parlour.jpeg?auto=compress&dpr=1&w=1400') center 45%/cover no-repeat;
}
.service-card:nth-child(4) .service-art{
  background:url('https://images.pexels.com/photos/4085451/pexels-photo-4085451.jpeg?auto=compress&dpr=1&w=1400') center 46%/cover no-repeat;
}

.process-band{
  background:
    linear-gradient(rgba(249,244,235,.89),rgba(249,244,235,.89)),
    url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200') center 68%/cover no-repeat;
}
.process-band:before{display:none}

.about-rich{
  background:
    linear-gradient(90deg,rgba(251,246,238,.94),rgba(240,226,207,.94)),
    url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200') center 62%/cover no-repeat;
}
.about-note{
  background:rgba(243,230,211,.95);
}

.reputation{
  background:
    linear-gradient(rgba(242,232,217,.92),rgba(242,232,217,.92)),
    url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200') center 70%/cover no-repeat;
}
.reputation:before{display:none}

.area-panel{
  background:
    linear-gradient(rgba(12,48,48,.62),rgba(12,48,48,.82)),
    url('https://images.unsplash.com/photo-1650687034903-d0278e2cd5b8?auto=format&fit=crop&fm=jpg&q=82&w=1800') center/cover no-repeat;
}
.cta-band{
  min-height:300px;
  background:
    linear-gradient(90deg,rgba(138,77,49,.83),rgba(28,71,66,.60)),
    url('https://images.unsplash.com/photo-1596761872582-356abfc3a107?auto=format&fit=crop&fm=jpg&q=85&w=2200') center 56%/cover no-repeat;
}
.site-footer{
  background:
    linear-gradient(rgba(18,53,55,.95),rgba(18,53,55,.98)),
    url('https://images.unsplash.com/photo-1650687034903-d0278e2cd5b8?auto=format&fit=crop&fm=jpg&q=82&w=1800') center/cover no-repeat;
}
@media(max-width:920px){
  .hero-card{width:min(390px,100%)}
}

.builder-credit{text-align:center;padding:18px 12px 0;font-size:.8rem;color:#b9c7c5;border-top:1px solid rgba(255,255,255,.12);margin-top:24px}.builder-credit strong{color:#fff}
