:root{--ivory:#fbf7ef;--paper:#f7f0e4;--ink:#161b1e;--rust:#9b4629;--orange:#d76e12;--blue:#0a3b5c;--line:#dfd5c7;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:#e9e1d6;color:var(--ink);font-family:var(--sans)}
a{color:inherit}
img{max-width:100%}
.page{width:min(100%,1200px);margin:auto;background:var(--ivory);overflow:hidden;box-shadow:0 20px 60px #31201120}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
.eyebrow{font:700 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rust)}
.eyebrow.dark{color:var(--ink)}
.hero{position:relative;background:radial-gradient(ellipse at 50% 35%,#fffdfa 10%,#fbf6ec 70%,#f6ebdc 100%);isolation:isolate}
.hero::before{content:"";position:absolute;inset:31% 0 0;background:url('assets/images/texas-ranch-sunset-banner.webp') center bottom/cover no-repeat;opacity:.13;mask-image:linear-gradient(transparent,#000 85%);z-index:-1}
.topbar{min-height:116px;padding:14px clamp(25px,4vw,55px);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px}
.top-eyebrow{margin:12px 0 0;font:700 10px/1.65 var(--sans);letter-spacing:.19em;text-transform:uppercase;max-width:255px}
.parent-logo{display:block;width:460px;max-width:100%;justify-self:center;margin-bottom:-34px}
.parent-logo img{width:100%;height:170px;object-fit:contain;display:block}
.top-actions{justify-self:end;display:flex;align-items:flex-start;gap:20px;margin-top:12px}
.desktop-nav{display:flex;gap:21px;margin-top:7px}
.desktop-nav a,.menu-toggle nav a{font:700 10px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.055em;text-decoration:none}
.desktop-nav a:hover,.menu-toggle nav a:hover,.footer nav a:hover{color:var(--orange)}
.menu-toggle{position:relative;z-index:20}
.menu-toggle summary{list-style:none;cursor:pointer;display:grid;gap:5px;width:28px;padding:1px;min-height:24px}
.menu-toggle summary::-webkit-details-marker{display:none}
.menu-toggle summary span{height:2px;width:25px;background:#1e3340;display:block}
.menu-toggle nav{position:absolute;right:0;top:30px;min-width:190px;background:#fffaf2;border:1px solid var(--line);box-shadow:0 12px 30px #24170c2c;padding:13px;display:grid;gap:0}
.menu-toggle nav a{padding:10px 8px;border-bottom:1px solid #eee2d3}
.menu-toggle nav a:last-child{border-bottom:0}
.hero-copy{text-align:center;padding:1px 22px 24px}
.hero h1{font-size:clamp(60px,8.2vw,98px);line-height:.97;margin:0 auto 7px;white-space:nowrap}
.rust{color:var(--rust)}.blue{color:var(--blue)}
.tiny-rule{height:2px;width:42px;background:var(--orange);margin:0 auto 7px}
.hero-line{font:500 clamp(38px,4.7vw,62px)/1.02 var(--serif);letter-spacing:-.045em;margin:0 0 9px}
.hero-sub{font:400 clamp(18px,2.1vw,24px)/1.26 var(--serif);margin:0 auto;max-width:850px}
.three-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.visual-card{min-width:0;display:flex;flex-direction:column}
.visual-card+.visual-card{border-left:1px solid var(--line)}
.scene{position:relative;aspect-ratio:941 / 1672;overflow:hidden;background:#573522}
.scene img{display:block;width:100%;height:100%;object-fit:cover}
.scene::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(to bottom,transparent 0%,rgba(251,247,240,.08) 32%,rgba(251,247,240,.48) 63%,#fbf7f0 100%);pointer-events:none}
.visual-card:nth-child(1) .scene img{object-position:48% 52%}
.visual-card:nth-child(2) .scene img{object-position:50% 54%}
.visual-card:nth-child(3) .scene img{object-position:51% 55%}
.product-info{background:#fbf7f0;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:190px;padding:0 clamp(14px,1.8vw,24px) 20px;flex:1}
.product-logo{height:110px;width:90%;object-fit:contain;display:block;margin:0 auto 3px}
.product-kind{font:700 11px/1.35 var(--sans);color:var(--orange);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.product-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:10px 25px;border-radius:3px;background:var(--rust);color:#fff;font:700 12px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;transition:background .18s ease,transform .18s ease;white-space:nowrap}
.product-button:hover{background:#76351e;transform:translateY(-1px)}
.product-info .product-button{width:min(100%,300px);margin-top:auto}
.blue-button{background:#315e78}.blue-button:hover{background:#17435e}
.website-feature{display:grid;grid-template-columns:55% 45%;align-items:stretch;background:#f0dfc9;height:clamp(270px,34vw,405px)}
.website-art{min-width:0;overflow:hidden;min-height:0}
.website-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.website-copy{padding:10px clamp(25px,3.5vw,50px) 10px 15px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.website-copy .eyebrow{margin-bottom:6px}
.website-copy h2{font-size:clamp(35px,3.2vw,48px);line-height:.87;margin:0 0 6px}
.website-copy>p:not(.eyebrow){font:400 clamp(17px,1.5vw,20px)/1.04 var(--serif);margin:0 0 7px}
.website-copy .outline-button{min-height:34px;padding:7px 16px;font-size:10px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:9px 20px;border:1px solid var(--rust);border-radius:3px;color:var(--rust);font:700 11px/1.25 var(--sans);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;background:#fffcf766}
.outline-button:hover{background:#ead7c3}
.bundle-overview{padding:24px clamp(28px,4vw,55px) 23px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#fffefc,#f8f2e8 75%)}
.bundle-overview h2{font-size:clamp(38px,4.5vw,58px);line-height:1.05;margin:0 0 11px}
.bundle-overview .tiny-rule{margin-bottom:14px}
.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;text-align:left;margin-bottom:12px}
.benefit{min-height:75px;display:flex;align-items:center;gap:8px;padding:5px 10px;border-right:1px solid var(--line)}
.benefit:first-child{padding-left:0}.benefit:last-child{border:0;padding-right:0}
.benefit svg{width:39px;height:39px;flex:0 0 auto;fill:none;stroke:#ed7812;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.benefit p{font:400 17px/1.05 var(--serif);margin:0}
.benefit strong{font-weight:600}
.summary-button{min-width:280px}
.story-intro,.detail,.pricing,.pitch,.contact{scroll-margin-top:10px}
.story-intro{padding:94px clamp(28px,7vw,100px) 85px;text-align:center;background:#e9dfd0}
.story-intro .eyebrow{margin-bottom:20px}
.story-intro h2{font-size:clamp(52px,6.5vw,84px);line-height:.9;margin-bottom:22px}
.story-intro>p:not(.eyebrow){font:400 clamp(22px,2.7vw,31px)/1.25 var(--serif);max-width:790px;margin:0 auto 37px}
.story-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bdac98;border-bottom:1px solid #bdac98;text-align:left}
.story-links a{display:grid;gap:10px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:700 11px var(--sans);padding:22px;border-right:1px solid #bdac98}
.story-links a:last-child{border:0}
.story-links span{font:500 27px var(--serif);letter-spacing:-.02em;text-transform:none;color:var(--rust)}
.detail{padding:84px clamp(28px,7vw,100px) 85px;background:#faf6ee;border-top:1px solid var(--line)}
.detail.alternate{background:#f0e8dc}
.detail-heading{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:20px;border-bottom:1px solid #d9cbbc;padding-bottom:23px;margin-bottom:32px}
.detail-heading .eyebrow{grid-column:1/-1;margin-bottom:12px}
.detail-heading h2{font-size:clamp(70px,9vw,115px);line-height:.8;margin:0}
.detail-logo{width:380px;max-width:100%;max-height:150px;object-fit:contain;object-position:right center}
.detail-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:55px;align-items:start}
.detail-intro>div>p{font:400 22px/1.33 var(--serif);margin-bottom:18px}
.detail-intro .statement{font-size:clamp(27px,3.1vw,38px);line-height:1.11}
.detail-intro em{font-style:italic}
.text-link{font:700 12px var(--sans);letter-spacing:.05em;color:var(--rust);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.price-card{border-top:2px solid var(--rust);padding:17px 0 21px}
.price-card .eyebrow{margin-bottom:12px}
.price-card>strong{display:block;font:500 48px/1 var(--serif);letter-spacing:-.04em;margin-bottom:7px}
.price-card small{font:500 14px/1.3 var(--sans);letter-spacing:0}
.price-card p:not(.eyebrow){font:400 18px/1.3 var(--serif);margin:0 0 15px}
.price-card span{font:700 11px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.blue-card{border-color:var(--blue)}
.detail-body{margin-top:48px;border-top:1px solid #d9cbbc;padding-top:35px}
.detail-body h3{font-size:clamp(35px,4vw,52px);line-height:1;margin:0 0 25px}
.detail-body h3:not(:first-child){margin-top:55px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.service-grid span{border:1px solid #d9cbbc;background:#fffdf9;padding:13px 15px;font:500 13px/1.4 var(--sans)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:40px 0 0}
.stats div{border-top:1px solid #cbb9a7;padding-top:14px}
.stats strong{display:block;font:500 31px var(--serif)}
.stats span{display:block;font:500 12px/1.4 var(--sans);color:#5c5650}
.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.feature-list p{padding:14px 0;border-bottom:1px solid #d5c7b7;font:400 18px/1.28 var(--serif);margin:0}
.feature-list p::before{content:'↗';color:var(--orange);padding-right:9px}
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.journey-grid div{padding:19px;background:#fffaf3;border:1px solid #d8c9b9}
.journey-grid b{font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--rust)}
.journey-grid p{font:400 18px/1.25 var(--serif);margin:11px 0 0}
.listing-sample{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d6c7b6;border-bottom:1px solid #d6c7b6;padding:20px 0;font:400 22px var(--serif)}
.listing-sample strong{color:var(--rust);white-space:nowrap;font-weight:600}
.small-copy{font:400 17px var(--serif);margin:13px 0 0}
.pricing{padding:80px clamp(28px,7vw,100px);background:#eadcca}
.pricing>.eyebrow{text-align:center}
.pricing h2{text-align:center;font-size:clamp(52px,6vw,77px);line-height:.95;margin:0 0 10px}
.pricing-lead{text-align:center;font:400 25px/1.25 var(--serif);margin:0 auto 37px;max-width:720px}
.pricing-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.pricing-table{background:#fffaf2;border:1px solid #d6c5af;padding:25px 30px}
.pricing-table>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dfd3c4;padding:13px 0;font:500 15px var(--sans)}
.pricing-table>div strong{font-weight:700}
.pricing-table .total{align-items:center;border-bottom:2px solid var(--rust);font-weight:700;font-size:20px}
.pricing-table .total strong{font:500 47px var(--serif)}
.pricing-table .total small{font-size:25px}
.pricing-table p{color:var(--rust);font:700 15px var(--sans);margin:20px 0 0}
.pricing-perks h3{font-size:45px;line-height:1;margin:0 0 18px}
.pricing-perks ul{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;list-style:none;padding:0;margin:0 0 20px}
.pricing-perks li{border-bottom:1px solid #cdbba8;padding:10px 0;font:500 14px var(--sans)}
.pricing-perks li::before{content:'✓';color:var(--orange);padding-right:9px}
.pricing-perks>p{font:400 21px/1.3 var(--serif)}
.pitch{padding:80px clamp(28px,7vw,100px);background:#f8f3eb}
.pitch h2{text-align:center;font-size:clamp(48px,5.5vw,70px);line-height:1;margin:0 0 32px}
.pitch>.eyebrow{text-align:center}
.pitch-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.pitch-grid article{border-top:2px solid var(--rust);padding-top:15px}
.pitch-grid b{font:700 11px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--rust)}
.pitch-grid p{font:400 18px/1.22 var(--serif);margin:14px 0 0}
.contact{text-align:center;background:#f1e7d8;padding:78px 25px 83px}
.contact h2{font-size:clamp(55px,6.5vw,83px);line-height:.9;max-width:850px;margin:0 auto 17px}
.contact>p:not(.eyebrow){font:400 25px var(--serif);margin:0 0 25px}
.contact-actions,.contact-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.contact-links{margin-top:25px;gap:24px}
.contact-links a{font:700 12px var(--sans);color:var(--rust)}
.landscape-banner{position:relative;height:330px;color:#fff;display:flex;align-items:end;justify-content:center;text-align:center;overflow:hidden;background:#7a472b}
.landscape-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.landscape-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#1c1b18a8)}
.landscape-banner>div{position:relative;z-index:1;padding:30px 15px 44px}
.landscape-banner h2{font-size:clamp(40px,5.5vw,70px);line-height:.9;margin:0 0 12px}
.landscape-banner p{font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.22em;margin:0}
.footer{background:#352c27;color:#f8f4ef;display:grid;grid-template-columns:240px 1fr;gap:0 48px;padding:27px clamp(28px,5vw,65px) 31px;align-items:center}
.footer-logo{grid-row:1/3;display:block;border-right:1px solid #8e8074;padding-right:27px}
.footer-logo img{width:192px;max-width:100%;height:80px;object-fit:contain;display:block}
.footer nav{display:flex;justify-content:space-between;gap:14px;max-width:520px}
.footer nav a{text-decoration:none;text-transform:uppercase;font:700 11px var(--sans);letter-spacing:.06em}
.footer p{font:700 11px var(--sans);text-transform:uppercase;letter-spacing:.17em;margin:18px 0 0}
.footer p span{padding:0 14px}
.footer small{grid-column:2;font:400 11px/1.6 var(--sans);color:#cabdb0;margin-top:12px}
.mobile-bottom-nav{display:none}
@media(max-width:1100px){.desktop-nav{gap:12px}.top-eyebrow{max-width:195px}.pitch-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
  body{background:var(--ivory);padding-bottom:calc(57px + env(safe-area-inset-bottom))}
  .page{box-shadow:none}
  .topbar{min-height:105px;grid-template-columns:1fr auto;gap:5px 12px;padding:10px 18px 0}
  .top-eyebrow{grid-column:1;margin:6px 0 0;font-size:8px;max-width:230px;line-height:1.5}
  .parent-logo{grid-column:1/-1;grid-row:2;justify-self:center;width:min(300px,78vw);margin-top:-6px;margin-bottom:-34px}
  .parent-logo img{height:auto;aspect-ratio:279/251}
  .top-actions{grid-column:2;grid-row:1;margin-top:4px}
  .desktop-nav{display:none}
  .hero-copy{padding:5px 17px 28px}
  .hero h1{font-size:clamp(47px,12.2vw,75px);line-height:.88;white-space:normal;margin:8px auto 10px}
  .hero h1 span{display:inline}
  .hero-line{font-size:clamp(34px,8.3vw,47px);line-height:.96}
  .hero-sub{font-size:19px;line-height:1.15}
  .desktop-break{display:none}
  .three-products{display:block}
  .visual-card+.visual-card{border-left:0}
  .scene{aspect-ratio:941 / 1672}
  .scene img{object-position:center center!important}
  .product-info{min-height:190px;padding:0 25px 26px;border-bottom:1px solid var(--line)}
  .product-logo{height:84px;max-width:310px}
  .product-kind{font-size:12px;margin:0 0 8px}
  .product-info .product-button{margin-top:auto}
  .website-feature{grid-template-columns:1fr;height:auto}
  .website-art{min-height:0;aspect-ratio:1.78}
  .website-copy{padding:30px 25px 37px}
  .website-copy h2{font-size:49px}
  .website-copy>p:not(.eyebrow){font-size:23px}
  .bundle-overview{padding:42px 23px 43px}
  .bundle-overview h2{font-size:48px}
  .benefits{grid-template-columns:1fr 1fr;gap:15px 0}
  .benefit{min-height:115px;padding:8px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .benefit:nth-child(even){border-right:0}
  .benefit p{font-size:19px}
  .story-intro,.detail,.pricing,.pitch{padding:61px 24px}
  .story-intro h2{font-size:62px}
  .story-intro>p:not(.eyebrow){font-size:26px}
  .story-links{grid-template-columns:1fr}
  .story-links a{border-right:0;border-bottom:1px solid #bdac98;padding:14px 5px}
  .story-links a:last-child{border-bottom:0}
  .detail-heading{grid-template-columns:1fr}
  .detail-heading h2{font-size:84px}
  .detail-logo{width:min(340px,100%);max-height:130px;margin-top:12px;object-position:left center}
  .detail-intro{grid-template-columns:1fr;gap:25px}
  .detail-intro .statement{font-size:33px}
  .detail-intro>div>p{font-size:22px}
  .service-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .feature-list{grid-template-columns:1fr}
  .journey-grid{grid-template-columns:1fr 1fr}
  .pricing-layout{grid-template-columns:1fr}
  .pricing h2{font-size:58px}
  .pitch-grid{grid-template-columns:1fr 1fr}
  .contact{padding:66px 24px}
  .contact h2{font-size:64px}
  .landscape-banner{height:270px}
  .footer{grid-template-columns:1fr;padding:32px 25px 100px;gap:15px;text-align:center}
  .footer-logo{grid-row:auto;justify-self:center;border:0;padding:0}
  .footer nav{flex-wrap:wrap;justify-content:center}
  .footer p{margin:0}
  .footer small{grid-column:1;margin-top:0}
  .mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:space-around;align-items:center;min-height:57px;padding:9px 5px calc(9px + env(safe-area-inset-bottom));background:#352c27;color:#fff;box-shadow:0 -4px 16px #1e150d40}
  .mobile-bottom-nav a{flex:1;text-align:center;text-decoration:none;text-transform:uppercase;font:700 10px var(--sans);letter-spacing:.04em}
}
@media(max-width:390px){.hero h1{font-size:46px}.hero-line{font-size:35px}.product-description{font-size:21px}.journey-grid,.pitch-grid,.service-grid{grid-template-columns:1fr}.pricing-perks ul{grid-template-columns:1fr}.benefit svg{width:41px;height:41px}.benefit p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-button{transition:none}}
/* Product sections carry their own color: Reach and Remember rust, Run blue */
.detail{--accent:var(--rust)}
#run{--accent:var(--blue)}
.detail-heading h2{color:var(--accent)}
.detail .eyebrow,.detail .text-link,.detail .statement em,.detail .price-card>strong,.listing-sample strong{color:var(--accent)}
.detail .price-card{border-top-color:var(--accent)}
.detail .service-grid span{border-left:3px solid var(--accent)}
.detail .stats div{border-top:2px solid var(--accent)}
.detail .stats strong{color:var(--accent)}
.detail .feature-list p::before{color:var(--accent)}
.detail .journey-grid div{border-top:3px solid var(--accent)}
.detail .journey-grid b{color:var(--accent)}
.contact h2{margin-bottom:32px}
/* My Local Obits sample listing, matches the live listing card */
.mlo-listing{display:flex;justify-content:space-between;gap:18px;max-width:520px;padding:18px 18px 18px 22px;background:#f7f7f5;border:1px solid #e3e1dc;border-radius:6px;color:#3a3d40}
.mlo-lines{display:grid;gap:3px;min-width:0}
.mlo-lines a{font:400 16px/1.4 var(--sans);color:#4a4d50;text-decoration:none}
.mlo-lines a:hover{text-decoration:underline}
.mlo-lines .nm{font:400 clamp(22px,6.4vw,28px)/1.15 Georgia,'Times New Roman',serif;color:#3a3d40;display:flex;align-items:center;gap:8px;white-space:nowrap}
.mlo-lines .flag{flex:none}
.mlo-lines .nm b{font-weight:700}
.mlo-lines .flag{width:22px;height:12px;border-radius:2px}
.mlo-lines .dt{font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#6b6e71;margin:6px 0 4px}
.mlo-icons{display:flex;flex-direction:column;justify-content:space-between;align-items:center;flex:none}
.mlo-icons a,.mlo-share{display:grid;place-items:center;width:34px;height:34px;border:0;background:none;padding:0;cursor:pointer;color:#f0a830}
.mlo-icons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mlo-share.copied{color:var(--rust)}
