/* Fall porch page extends the shared Transitions site stylesheet. */
.fp-page{--fp-rust:#a94f27;--fp-rust-deep:#783b23;--fp-orange:#dc842c;--fp-oat:#f1e6d3;--cream:#faf4e8;--cream-2:#f1e3cf;--ink:#2e211a;--muted:#69584d;--green-deep:#3d261e;--green-anchor:#8b4427;--green-cta:#b65b29;--green-cta-hover:#93401f;--green-bright:#f2ae59;--green-soft:#f5dfc6;--gold:#efa748;--gold-deep:#df8e35;--shadow-card:0 26px 64px -14px rgba(80,40,21,.2),0 8px 22px -10px rgba(80,40,21,.13);--shadow-soft:0 12px 34px -12px rgba(80,40,21,.15)}
html{scroll-padding-top:76px}
.fp-page #nav:has(.nav-burger.open){z-index:206}
.fp-page .svc-hero{min-height:min(740px,88vh);align-items:center}
.fp-hero-bg{background-image:url('/assets/fall-porch/home.webp');background-position:center 46%;transform:scale(1.015)}
.fp-hero-ov{background:linear-gradient(90deg,rgba(44,25,19,.94) 0%,rgba(64,34,22,.82) 37%,rgba(82,44,22,.38) 72%,rgba(72,36,18,.18) 100%),linear-gradient(0deg,rgba(45,24,17,.48),transparent 50%)}
.fp-page .svc-hero .wrap{width:100%;padding-top:156px;padding-bottom:90px}
.fp-page .crumb{margin-bottom:28px}
.fp-script{font-family:'Dancing Script',cursive!important;font-size:clamp(1.65rem,3vw,2.8rem)!important;line-height:1.1;color:#ffcf6f!important;max-width:none!important;margin-bottom:12px!important}
.fp-page .svc-hero h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.04;max-width:17ch;margin-bottom:22px}
.fp-page .svc-hero h1 span{color:#f8bb65}
.fp-page .svc-hero p:not(.fp-script):not(.fp-concept-note){max-width:56ch;line-height:1.64}
.fp-hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.fp-hero-actions .btn{padding:15px 27px}
.fp-page .svc-hero .fp-concept-note{font-size:.75rem;color:rgba(255,255,255,.77);margin:23px 0 0;max-width:52ch}
.fp-intro{background:var(--cream)}
.fp-intro .prose h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.12;margin:15px 0 20px}
.fp-intro .prose p{max-width:61ch}
.fp-aside{border-top:6px solid var(--fp-rust);position:sticky}
.fp-aside-mark{display:inline-block;color:var(--fp-rust-deep);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:18px}
.fp-aside h3{font-size:1.45rem}
.fp-aside-price{border-top:1px solid #e5e0d8;padding-top:16px;color:var(--muted)!important;margin-top:16px}
.fp-aside-price strong{display:block;color:var(--fp-rust-deep);font-size:2rem;line-height:1.15;margin-top:5px}
.fp-looks{background:linear-gradient(150deg,#fffaf0,#faf4e8 62%,#f3e6cf)}
.fp-looks .sec-head{max-width:740px}
.fp-looks .tag{background:#fae5d2;color:var(--fp-rust-deep)}
.fp-looks .sec-title{color:#2e211a}
.fp-looks .sec-sub{color:#69584d}
.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.package-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e1d7;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s}
.package-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.package-card.featured{border:2px solid var(--fp-rust);box-shadow:0 18px 44px rgba(101,54,25,.14)}
.package-image{aspect-ratio:16/9;position:relative;overflow:hidden;background:#d9b986}
.package-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.package-card:hover .package-image img{transform:scale(1.025)}
.package-image span{position:absolute;bottom:17px;left:18px;background:var(--fp-rust-deep);color:#fff;border-radius:50px;padding:8px 13px;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800}
.package-content{padding:28px 30px 30px;display:flex;flex:1;flex-direction:column}
.package-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:11px}
.package-title h3{font-size:1.45rem;line-height:1.14;font-weight:800}
.package-title p{color:var(--muted);font-size:.78rem;white-space:nowrap}
.package-title strong{color:var(--fp-rust-deep);font-size:1.55rem}
.package-description{color:var(--muted);line-height:1.6;font-size:.94rem;margin-bottom:24px}
.included-label{color:var(--fp-rust-deep);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:10px}
.included{list-style:none;margin:0 0 23px;padding:0;color:#4d3e34;font-size:.88rem;line-height:1.6}
.included li{padding:4px 0 4px 21px;position:relative}
.included li:before{content:'✓';color:var(--fp-rust);position:absolute;left:0;font-weight:800}
.card-link{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #eadbcb;padding-top:16px;margin-top:auto;font-size:.89rem;font-weight:800;color:var(--fp-rust-deep);text-decoration:none}
.card-link:hover{text-decoration:underline;text-underline-offset:4px}
.package-note{max-width:940px;color:var(--muted);font-size:.81rem;line-height:1.65;margin-top:24px}
.fp-season-strip{background:linear-gradient(108deg,#703b25,#ad5429 54%,#cb7430);color:#fff;padding:65px 0}
.fp-season-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.fp-season-kicker{display:block;color:#ffe0a7;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:11px}
.fp-season-strip h2{font-family:'Archivo Black',sans-serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;max-width:750px;line-height:1.12;margin-bottom:10px}
.fp-season-strip p{color:#ffe9d8;max-width:680px;line-height:1.65}
.fp-season-strip .btn{flex:none;white-space:nowrap}
.fp-process{background:linear-gradient(125deg,#3c251d,#643620)}
.fp-process .tag{background:rgba(239,167,72,.18);color:#ffd99f}
.fp-process .step-no{background:var(--gold)}
.fp-request{background:radial-gradient(circle at 100% 0,rgba(239,167,72,.17),transparent 35%),linear-gradient(120deg,#4b2b21,#8c4725);color:#fff}
.fp-request-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7%;align-items:start}
.request-copy{padding-top:30px}
.request-copy .tag{background:rgba(239,167,72,.18);color:#ffd99f}
.request-copy h2{font-family:'Archivo Black',sans-serif;font-size:clamp(2.1rem,3.8vw,3.2rem);font-weight:400;line-height:1.1;margin:15px 0 22px}
.request-copy>p{color:rgba(255,255,255,.82);line-height:1.7;max-width:510px}
.request-points{display:flex;flex-direction:column;gap:16px;margin:32px 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.27)}
.request-points span:before{content:'✓';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#2e211a;margin-right:10px;font-size:.8rem;font-weight:800}
.request-contact{color:rgba(255,255,255,.82)}
.request-contact a{color:#ffd99f;font-weight:800;text-underline-offset:3px}
.form-wrap{background:#fff;color:var(--ink);padding:36px 38px;border-radius:20px;box-shadow:var(--shadow-card)}
.form-wrap h3{font-size:1.48rem;font-weight:800;margin-bottom:4px}
.form-intro{color:var(--muted);font-size:.9rem;margin-bottom:25px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-wrap label{display:block;font-size:.8rem;font-weight:700;margin-bottom:15px}
.form-wrap small{font-size:.71rem;color:var(--muted);font-weight:400}
.form-wrap input,.form-wrap select,.form-wrap textarea{display:block;width:100%;border:1px solid #cbd5cc;border-radius:9px;background:#fff;color:var(--ink);margin-top:7px;padding:12px 13px;min-height:47px;font:inherit}
.form-wrap textarea{min-height:98px;resize:vertical}
.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus{outline:3px solid rgba(169,79,39,.22);border-color:var(--fp-rust)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin:5px 0 17px}
.fp-submit{width:100%;justify-content:center;font:800 .94rem 'Plus Jakarta Sans',sans-serif}
.fp-submit:disabled{opacity:.65;cursor:wait}
.form-privacy{font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:12px}
.form-privacy a{color:var(--fp-rust-deep)}
.form-wrap .ef-banner{padding:13px 15px;border-radius:10px;margin-bottom:17px;font-size:.87rem}
.form-wrap .ef-ok{background:#fbefd9;color:#633b25;border:1px solid #dfbd8b}
.form-wrap .ef-err{background:#fff0e9;color:#893f25;border:1px solid #e5b49d}
.fp-faq{background:var(--cream-2)}
.fp-faq .faq-list{max-width:850px}
.fp-related{background:var(--cream-2);padding-top:0}
.fp-final{background:linear-gradient(135deg,#42271e,#894324 55%,#bd6329)}
.fp-final::before{background:rgba(255,187,93,.12)}
.fp-final::after{background:rgba(255,208,143,.1)}
.fp-page .btn-primary{box-shadow:0 10px 26px rgba(140,67,32,.24)}
.fp-page .btn-primary:hover{box-shadow:0 14px 32px rgba(140,67,32,.32)}
.fp-page .nav-cta{box-shadow:0 6px 18px rgba(140,67,32,.28)}
.fp-page .mobile-cta{box-shadow:0 -1px 16px rgba(80,40,21,.12)}
.fp-page .form-wrap input,.fp-page .form-wrap select,.fp-page .form-wrap textarea{border-color:#cdbbac}
.fp-page .form-wrap input:focus,.fp-page .form-wrap select:focus,.fp-page .form-wrap textarea:focus{border-color:var(--fp-rust)}
.fp-final .cta-inner{position:relative;z-index:2}
.fp-page .foot-logo img{height:56px;width:auto}
@media(max-width:980px){.fp-request-grid{grid-template-columns:1fr;gap:32px}.request-copy{padding-top:0}}
@media(max-width:860px){.fp-page .svc-hero{min-height:670px}.fp-hero-bg{background-position:62% center}.fp-hero-ov{background:linear-gradient(90deg,rgba(44,25,19,.92),rgba(64,34,22,.76) 65%,rgba(72,37,19,.47))}.fp-season-inner{align-items:flex-start;flex-direction:column;gap:24px}.fp-aside{position:static}}
@media(max-width:720px){.fp-page{padding-bottom:70px}.fp-page .mobile-cta{display:flex!important}.fp-page .mobile-cta a{font-size:.79rem;padding:12px 5px;white-space:nowrap}.fp-page .svc-hero{min-height:700px}.fp-page .svc-hero .wrap{padding-top:135px;padding-bottom:72px}.fp-page .svc-hero h1{font-size:clamp(2.1rem,8.7vw,3.2rem);max-width:18ch}.fp-page .svc-hero p:not(.fp-script):not(.fp-concept-note){font-size:.98rem}.fp-script{font-size:1.7rem!important}.package-grid{grid-template-columns:1fr}.package-image{height:62vw;min-height:230px;max-height:360px}.package-content{padding:25px 23px}.fp-season-strip{padding:55px 0}.fp-season-strip .btn{white-space:normal}.form-wrap{padding:27px 21px}.form-row{grid-template-columns:1fr;gap:0}.fp-related{padding-top:0}}
@media(max-width:430px){.fp-page .svc-hero{min-height:730px}.fp-page .svc-hero h1{font-size:2.1rem}.fp-hero-actions{align-items:stretch;flex-direction:column;max-width:280px}.fp-hero-actions .btn{justify-content:center}.package-title{flex-direction:column;align-items:flex-start;gap:5px}.fp-page .mobile-cta{gap:6px}.fp-page .mobile-cta a{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.package-card,.package-image img{transition:none}}
