/* SimpleDeeds storefront hero — from the design handoff (styles.css), scoped
   under .sf so it can sit at the top of the homepage without restyling the
   sections below it, and so the homepage's own styles don't leak in.

   Hero photo: assets/hero-home.jpg (desktop) and assets/hero-home-mobile.jpg
   (phones), supplied by SimpleDeeds. It fades in through a mask, so there is
   no edge where it starts. */
.sf{--pine: #063329;
  --pine-dark: #031b16;
  --green: #087b59;
  --green-bright: #15a77b;
  --mint: #9ce3c8;
  --ink: #18251f;
  --muted: #5c6963;
  --line: #d9e1dc;
  --surface: #fff;
  --tint: #edf6f1;
  --hero-image: url("/assets/hero-home.jpg");
  font-family: "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;}
.sf *{box-sizing:border-box}
.sf{color:var(--ink);font-size:16px;line-height:normal}
.sf button,.sf input{font:inherit}
.sf a{color:inherit;text-decoration:none}
.sf .container{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.sf .site-shell{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:linear-gradient(115deg,#031812 3%,#053126 63%,#0b4d38 100%);color:#fff}
.sf .site-shell::before{content:"";position:absolute;z-index:-2;inset:26% 0 0;background-image:linear-gradient(rgba(3,27,21,.18),rgba(3,27,21,.18)),var(--hero-image);background-size:cover;background-position:left bottom;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.25) 22%,rgba(0,0,0,.65) 42%,rgba(0,0,0,.92) 62%,#000 78%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.25) 22%,rgba(0,0,0,.65) 42%,rgba(0,0,0,.92) 62%,#000 78%)}
.sf .site-shell::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,21,17,.46),transparent 76%);pointer-events:none}
.sf .site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:27px 22px}
.sf .brand{display:inline-flex;align-items:center;gap:11px;font-size:25px;font-weight:800;letter-spacing:-.9px}
.sf .brand-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:10px;background:linear-gradient(135deg,#1ba983,#087653);color:#fff;font-size:25px;box-shadow:0 5px 20px #001b1555}
.sf .nav-links{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:600}
.sf .nav-links a:hover{color:var(--mint)}
.sf .cart-link{font-size:23px}
.sf .hero-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(430px,.9fr);gap:clamp(40px,6vw,96px);align-items:start;padding-block:35px 75px}
.sf .hero-copy{padding-top:93px}
.sf .eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:13px;font-weight:700;color:var(--mint);margin:0 0 22px}
.sf h1{font-size:clamp(51px,4.45vw,76px);line-height:1.105;letter-spacing:-.047em;margin:0 0 28px;font-weight:800}
.sf .benefit-list{padding:0;margin:0 0 34px;list-style:none;display:grid;gap:15px;font-size:17px}
.sf .benefit-list li{display:flex;align-items:center;gap:13px;line-height:1.36}
.sf .check{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#15ab7b;color:white;font-size:19px;font-weight:900}
.sf .hero-cta{display:flex;justify-content:space-between;align-items:center;width:min(395px,100%);padding:18px 24px;border:1px solid #62d1af;border-radius:11px;background:linear-gradient(160deg,#15a77b,#04734e);box-shadow:0 14px 36px #001e1870;font-size:21px;font-weight:800}
.sf .hero-cta:hover,.sf .checkout-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sf .order-card{background:var(--surface);color:var(--ink);border-radius:21px;padding:27px 26px 23px;box-shadow:0 24px 70px #00150e65}
.sf .step-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}
.sf .step-heading h2{font-size:20px;letter-spacing:-.03em;margin:0;font-weight:800}
.sf .step-number{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:50%;background:linear-gradient(135deg,#11956d,#02523d);color:#fff;font-weight:800;font-size:17px}
.sf .deed-fieldset{border:0;padding:0;margin:0;display:grid;gap:7px}
.sf .deed-option{display:grid;grid-template-columns:23px 29px minmax(0,1fr);gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;min-height:67px;cursor:pointer;background:white;transition:background .15s,border-color .15s,box-shadow .15s}
.sf .deed-option:hover{border-color:#86bda8}
.sf .deed-option.is-selected{border-color:var(--green);background:var(--tint);box-shadow:inset 0 0 0 .5px var(--green)}
.sf .deed-option input{appearance:none;-webkit-appearance:none;display:block;width:20px;height:20px;margin:0;border:2px solid #c9d3ce;border-radius:50%;background:#fff;cursor:pointer}
.sf .deed-option input:checked{border:2px solid var(--green);box-shadow:inset 0 0 0 4px #fff;background:var(--green)}
.sf .deed-option:focus-within{outline:2px solid #53b99c;outline-offset:2px}
.sf .deed-icon{font-size:25px;font-weight:700;text-align:center;line-height:1}
.sf .deed-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:800;line-height:1.2}
.sf .deed-detail{display:block;color:var(--muted);font-size:12px;line-height:1.36;margin-top:3px}
.sf .popular{font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:4px 7px;border-radius:20px;background:#c9ecdc;color:#076746;white-space:nowrap}
.sf .more-label{margin:8px 0 2px;font-size:12px;font-weight:800;color:#38594b;border-top:1px solid var(--line);padding-top:13px}
.sf .deed-option.compact{min-height:49px;padding-block:7px}
.sf .deed-option.compact .deed-detail{font-size:11px}
.sf .card-divider{height:1px;background:var(--line);margin:20px 0}
.sf .price-control{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0 14px}
.sf .field-question{font-weight:750;font-size:13px;margin:0}
.sf .segmented{display:flex;gap:3px;padding:3px;border:1px solid var(--line);background:#f5f7f5;border-radius:999px;white-space:nowrap}
.sf .occupancy-button{border:0;border-radius:999px;padding:8px 15px;background:transparent;color:#495a50;font-size:12px;font-weight:800;cursor:pointer}
.sf .occupancy-button.selected{background:var(--green);color:#fff;box-shadow:0 2px 8px #003d282e}
.sf .property-label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}
.sf .optional{font-size:11px;font-weight:500;color:#77847d}
.sf .address-input{width:100%;border:1px solid var(--line);border-radius:9px;padding:13px 15px;font-size:14px;outline:none;color:var(--ink)}
.sf .address-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #10a67722}
.sf .checkout-button{display:flex;justify-content:center;align-items:center;gap:11px;width:100%;margin-top:13px;padding:15px;border:0;border-radius:9px;color:white;background:linear-gradient(165deg,#07926b,#006448);font-size:17px;font-weight:800;cursor:pointer;transition:transform .15s,filter .15s}
.sf .checkout-note{text-align:center;color:#536258;font-size:11px;margin:12px 0 0}
.sf .checkout-disclaimer{text-align:center;color:#7e8b83;font-size:10px;line-height:1.4;margin:7px 0 0}
.sf .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.sf .hero-layout{gap:28px;grid-template-columns:minmax(0,1fr) minmax(400px,.95fr)}
.sf h1{font-size:clamp(44px,5.5vw,65px)}
.sf .hero-copy{padding-top:65px}
.sf .nav-links{gap:17px}}
@media(max-width:800px){.sf .container{width:min(570px,calc(100% - 32px))}
.sf .site-header{padding-block:18px}
.sf .brand{font-size:23px}
.sf .nav-links a:not(.cart-link){display:none}
.sf .hero-layout{display:flex;flex-direction:column;gap:28px;padding-top:25px;padding-bottom:45px}
.sf .hero-copy{padding-top:20px}
.sf .site-shell::before{inset:0 0 auto 0;height:720px;background-image:linear-gradient(rgba(3,27,21,.30),rgba(3,27,21,.30)),url("/assets/hero-home-mobile.jpg");background-position:82% bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 35%,#000 70%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 35%,#000 70%,#000 86%,transparent 100%)}
.sf h1{font-size:clamp(43px,9vw,60px)}
.sf .benefit-list{font-size:15px;gap:11px}
.sf .hero-cta{width:100%;justify-content:center;gap:20px}
.sf .order-card{width:100%}}
@media(max-width:430px){.sf .order-card{padding:20px 14px}
.sf .deed-option{grid-template-columns:20px 23px minmax(0,1fr);gap:8px;padding-inline:9px}
.sf .deed-icon{font-size:22px}
.sf .price-control{align-items:stretch;flex-direction:column}
.sf .segmented{width:100%}
.sf .occupancy-button{flex:1}
.sf .deed-title{font-size:13px}
.sf .deed-detail{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sf *,.sf *::before,.sf *::after{transition:none!important}}
.sf .address-wrap{position:relative}
.sf .address-suggestions{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:20;margin:0;padding:5px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 16px 40px #00150e33}
.sf .address-suggestions li{padding:9px 11px;border-radius:7px;font-size:14px;cursor:pointer}
.sf .address-suggestions li small{display:block;color:var(--muted);font-size:12px}
.sf .address-suggestions li[aria-selected="true"],.sf .address-suggestions li:hover{background:var(--tint)}
.sf .address-suggestions .powered{font-size:10px;color:#7e8b83;text-align:right;cursor:default;background:none!important}
.sf .address-status{font-size:12px;margin-top:7px;border-radius:8px;padding:8px 11px}
.sf .address-status:empty{display:none}
.sf .address-status.found{background:var(--tint);color:#076746;font-weight:700}
.sf .address-status.out{background:#fbede6;color:#7a3418}
.sf .checkout-error{color:#b5532a;font-size:12px;text-align:center;margin:9px 0 0}
.sf .checkout-error:empty{display:none}
.sf .checkout-button[disabled]{opacity:.75;cursor:progress;transform:none}

/* Guards against the homepage's global styles */
.sf h1,.sf h2,.sf p{font-family:inherit}
.sf .eyebrow,.sf .brand{font-family:inherit}
.sf .nav-links a{color:inherit;font-size:inherit;font-weight:inherit;text-decoration:none}
.sf .nav-links{display:flex}
.sf .hero-cta{margin:0;flex-wrap:nowrap}
