@font-face{font-family:"Young Serif";src:url("young-serif.ttf") format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Karla;src:url("karla-regular.ttf") format("truetype");font-display:swap;font-weight:400}
@font-face{font-family:Karla;src:url("karla-semibold.ttf") format("truetype");font-display:swap;font-weight:600}
@font-face{font-family:Karla;src:url("karla-bold.ttf") format("truetype");font-display:swap;font-weight:700}
:root{--pine:#285445;--pine-dark:#173c31;--coral:#d66e58;--coral-dark:#a64738;--butter:#f3db87;--cream:#fff8e8;--paper:#fffdf4;--leaf:#bfd3b5;--ink:#24352f;--muted:#586b63;--line:#8eaa93;--shadow:0 18px 45px rgba(40,84,69,.13);--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.65 Karla,Arial,sans-serif;background-image:radial-gradient(rgba(40,84,69,.055) .8px,transparent .8px);background-size:11px 11px}
img{display:block;max-width:100%;height:auto}
a{color:var(--pine-dark);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--coral-dark)}
h1,h2,h3{font-family:"Young Serif",Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.02em;margin:0 0 .75rem}
h1{font-size:clamp(2.75rem,6vw,6.2rem)}
h2{font-size:clamp(2rem,3.5vw,3.25rem)}
p{margin:0 0 1.2rem}
.skip{position:fixed;z-index:1000;left:1rem;top:-6rem;background:var(--pine);color:white;padding:.8rem 1.2rem;border-radius:0 0 12px 12px}
.skip:focus{top:0}
:focus-visible{outline:4px solid var(--coral);outline-offset:4px}
.site-head,.awning-head{max-width:1460px;margin:0 auto;padding:1rem clamp(1rem,4vw,4.5rem);display:flex;align-items:center;gap:1.4rem;border-bottom:2px solid rgba(40,84,69,.25)}
.brand,.porch-logo{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 .6rem;text-decoration:none;color:var(--pine);min-width:max-content}
.brand-mark,.porch-logo>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border:3px solid var(--pine);border-radius:50%;background:var(--butter);font-size:1.5rem}
.brand-mark i{display:block;width:22px;height:3px;margin:2px;background:var(--pine)}
.brand strong,.porch-logo b{font:400 1.45rem/1 "Young Serif",Georgia,serif}
.brand small,.porch-logo small{text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;font-weight:700}
.condition-tabs,.awning-tabs{display:flex;gap:.35rem;margin-left:auto;align-items:center}
.condition-tabs a,.awning-tabs a{padding:.6rem .86rem;text-decoration:none;border:2px solid transparent;border-radius:13px 13px 4px 4px;font-weight:700}
.condition-tabs a:hover,.condition-tabs a[aria-current="page"],.awning-tabs a:hover{background:var(--butter);border-color:var(--pine);color:var(--pine)}
.header-call,.keytag-call{background:var(--coral);color:white;text-decoration:none;padding:.72rem 1.1rem;border-radius:6px 17px 17px 6px;display:grid;line-height:1.05;box-shadow:5px 5px 0 var(--pine);transform:rotate(-1deg)}
.header-call span,.keytag-call small{text-transform:uppercase;font-size:.67rem;letter-spacing:.12em;font-weight:700}
.header-call:hover,.keytag-call:hover{color:white;transform:rotate(0) translateY(-2px)}
main{max-width:1460px;margin:0 auto;padding:1.5rem clamp(1rem,4vw,4.5rem) 5rem}
.crumbs{font-size:.85rem;display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 1.5rem;color:var(--muted)}
.crumbs a{text-decoration:none;font-weight:700}
.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;padding:clamp(1.4rem,4vw,4rem);border:3px solid var(--pine);border-radius:32px;background:var(--paper);box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:var(--butter);opacity:.65;z-index:0}
.hero>*{position:relative;z-index:1}
.eyebrow{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;color:var(--pine);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}
.eyebrow>span:first-child{padding:.4rem .65rem;border-bottom:3px solid var(--coral)}
.zip-chip{background:var(--butter);padding:.4rem .7rem;border-radius:999px;border:1px solid var(--pine)}
.hero-copy>p{font-size:1.15rem;max-width:62ch}
.call-handle{margin-top:1.8rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.handle-label{font-size:.8rem;text-transform:uppercase;font-weight:700;letter-spacing:.1em}
.call-handle a,.side-call,.coral-key{display:grid;width:max-content;background:var(--coral);color:#fff;text-decoration:none;border-radius:8px 20px 20px 8px;padding:.85rem 1.25rem;box-shadow:6px 6px 0 var(--pine);line-height:1.15}
.call-handle a:hover,.side-call:hover,.coral-key:hover{color:#fff;transform:translateY(-3px);box-shadow:8px 9px 0 var(--pine)}
.call-handle b,.coral-key span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.call-handle strong,.coral-key strong{font-size:1.22rem}
.door-figure{margin:0;background:var(--cream);border:3px solid var(--pine);border-radius:22px;padding:.65rem;transform:rotate(1deg)}
.door-figure img{border-radius:14px}
.door-figure figcaption,.porch-scene figcaption{font-size:.76rem;color:var(--muted);padding:.5rem .25rem 0}
.status-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:2.4rem 0;border:2px solid var(--pine);border-radius:18px;overflow:hidden;background:var(--butter)}
.status-rail span{padding:1rem;border-right:1px solid var(--pine);font-size:.85rem;font-weight:700}
.status-rail span:last-child{border-right:0}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2.5rem;align-items:start}
.article-stack{display:grid;gap:1.4rem}
.panel{position:relative;background:var(--paper);border:2px solid var(--pine);border-radius:var(--radius);padding:clamp(1.3rem,3vw,2.5rem);box-shadow:7px 8px 0 rgba(40,84,69,.12)}
.panel:before{content:"";position:absolute;top:-9px;left:30px;width:72px;height:18px;background:radial-gradient(circle at 9px 9px,var(--cream) 8px,transparent 9px) 0 0/18px 18px repeat-x}
.panel-ice{background:#f1f6e9}
.panel-code{font-size:.72rem;font-weight:700;color:var(--coral-dark);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.9rem}
.panel h2{font-size:clamp(1.7rem,3vw,2.65rem)}
.panel p:last-child{margin-bottom:0}
.faq,.porch-faq{border-top:1px solid var(--line);padding:.8rem 0}
.faq summary,.porch-faq summary{cursor:pointer;font-weight:700;color:var(--pine-dark)}
.faq p,.porch-faq p{padding:.8rem 0 0;margin:0}
.side-board{display:grid;gap:1rem;position:sticky;top:1rem}
.side-board section{background:var(--butter);border:2px solid var(--pine);padding:1.25rem;border-radius:18px 18px 7px 18px}
.side-board h2{font-size:1.65rem}
.side-board ol{padding-left:1.3rem;margin:0}
.side-kicker{display:block;font-size:.7rem;font-weight:700;letter-spacing:.13em;color:var(--coral-dark);margin-bottom:.6rem}
.side-call{width:100%;background:var(--pine);box-shadow:5px 6px 0 var(--coral)}
.side-call strong{font-size:1.35rem}
.routes{margin-top:3.3rem;padding-top:2rem;border-top:3px dashed var(--line)}
.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.3rem}
.route-card{background:var(--paper);border:2px solid var(--pine);border-radius:16px;text-decoration:none;padding:1rem;font-weight:700;min-height:125px;box-shadow:5px 5px 0 rgba(40,84,69,.12)}
.route-card span{display:block;color:var(--coral-dark);font-size:.68rem;letter-spacing:.13em;margin-bottom:.5rem}
footer,.porch-footer{max-width:1460px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,4.5rem) 7rem;border-top:2px solid var(--pine);display:grid;grid-template-columns:1.3fr 1fr auto;gap:2rem;background:var(--cream)}
footer>div:first-child,footer>section{max-width:56ch}
.footer-brand,.porch-footer section>a{font:400 1.8rem/1 "Young Serif",Georgia,serif;text-decoration:none}
footer nav,.porch-footer nav{display:flex;flex-wrap:wrap;align-content:start;gap:.65rem 1rem}
footer nav a{font-weight:700;font-size:.86rem}
.updated,.porch-footer>small{font-size:.7rem;letter-spacing:.12em;font-weight:700}
.mobile-call{display:none}

.porch-home{background-color:#fffaf0}
.awning-head{position:relative;background:var(--cream);border-bottom:0;padding-bottom:1.7rem}
.awning-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:radial-gradient(circle at 9px 0,var(--cream) 9px,transparent 10px) 0 0/18px 18px repeat-x;transform:translateY(17px);z-index:3}
.porch-main{padding-top:3rem}
.welcome-porch{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(1.5rem,5vw,5rem);align-items:center;min-height:650px}
.neighbor-note,.five-card-path header p,.porch-final>p{font-size:.74rem;font-weight:700;letter-spacing:.16em;color:var(--coral-dark);margin-bottom:1rem}
.porch-copy h1{font-size:clamp(3.2rem,5.8vw,5.7rem);color:var(--pine-dark)}
.porch-copy>p:not(.neighbor-note){font-size:1.2rem;max-width:58ch}
.front-step{list-style:none;padding:0;margin:1.6rem 0;display:grid;gap:.65rem}
.front-step li{display:flex;align-items:center;gap:.7rem;font-weight:700}
.front-step span{display:grid;place-items:center;width:31px;height:31px;background:var(--butter);border:2px solid var(--pine);border-radius:50%;font-size:.8rem}
.porch-scene{margin:0;position:relative;padding:1.2rem 1.2rem 2.3rem;background:white;border:2px solid var(--pine);border-radius:34px 34px 12px 34px;box-shadow:var(--shadow);transform:rotate(1deg)}
.porch-scene img{border-radius:22px}
.five-card-path{margin:4rem 0;background:var(--pine);color:white;border-radius:34px;padding:clamp(1.5rem,4vw,3.5rem);position:relative;overflow:hidden}
.five-card-path:after{content:"";position:absolute;width:320px;height:320px;border:60px solid rgba(243,219,135,.12);border-radius:50%;right:-120px;top:-140px}
.five-card-path header{max-width:700px;position:relative;z-index:1}
.five-card-path header p{color:var(--butter)}
.five-card-path ol{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;position:relative;z-index:1}
.five-card-path li{background:var(--cream);color:var(--ink);padding:1.2rem;border-radius:18px 18px 6px 18px;min-height:140px;box-shadow:5px 6px 0 var(--coral);transform:rotate(-1deg)}
.five-card-path li:nth-child(even){transform:rotate(1deg) translateY(15px)}
.five-card-path li b,.five-card-path li span{display:block}
.five-card-path li b{font:400 1.45rem/1.1 "Young Serif",Georgia,serif;margin-bottom:.65rem;color:var(--pine)}
.five-card-path li span{font-size:.88rem}
.door-choice-board{display:grid;grid-template-columns:.42fr 1.58fr;gap:2rem;align-items:start;margin:5rem 0}
.door-choice-board>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.door-choice-board small{font-size:.7rem;color:var(--coral-dark);font-weight:700;letter-spacing:.12em}
.door-choice{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;background:var(--paper);border:2px solid var(--pine);border-radius:18px;padding:1.25rem;text-decoration:none;box-shadow:6px 7px 0 rgba(40,84,69,.12)}
.door-choice small{grid-column:1/3}
.door-choice strong{font:400 1.45rem/1.1 "Young Serif",Georgia,serif}
.door-choice span{font-size:.78rem;font-weight:700;color:var(--coral-dark)}
.porch-chapters{display:grid;gap:1.6rem;max-width:1100px;margin:0 auto;position:relative}
.porch-chapters:before{content:"";position:absolute;left:66px;top:0;bottom:0;border-left:4px dashed var(--line)}
.porch-chapter{display:grid;grid-template-columns:132px 1fr;gap:1.6rem;position:relative}
.chapter-pin{display:grid;place-items:center;align-self:start;width:104px;height:76px;background:var(--butter);border:2px solid var(--pine);border-radius:50%;font-weight:700;font-size:.72rem;letter-spacing:.1em;z-index:1;transform:rotate(-3deg)}
.porch-chapter:nth-child(even) .chapter-pin{background:var(--leaf);transform:rotate(3deg)}
.chapter-copy{background:var(--paper);border:2px solid var(--pine);border-radius:22px;padding:clamp(1.3rem,3vw,2.6rem);box-shadow:7px 8px 0 rgba(40,84,69,.1)}
.chapter-copy h2{font-size:clamp(1.8rem,3vw,3rem)}
.porch-final{margin:5rem 0 1rem;text-align:center;background:var(--butter);border:3px solid var(--pine);border-radius:36px;padding:clamp(2rem,6vw,5rem);box-shadow:var(--shadow)}
.porch-final .coral-key{margin:1.4rem auto 0;text-align:left}
.porch-footer{background:var(--pine);color:white;max-width:none;padding-left:max(1rem,calc((100vw - 1460px)/2 + 4.5rem));padding-right:max(1rem,calc((100vw - 1460px)/2 + 4.5rem))}
.porch-footer a{color:white}
.porch-footer section>a{color:var(--butter)}

@media (max-width:1050px){.condition-tabs,.awning-tabs{display:none}.hero{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr}.side-board{position:static;grid-template-columns:repeat(2,1fr)}.side-board .side-call{grid-column:1/3}.route-grid{grid-template-columns:repeat(2,1fr)}.welcome-porch{grid-template-columns:1fr;min-height:auto}.porch-scene{max-width:850px}.five-card-path ol{grid-template-columns:repeat(3,1fr)}.door-choice-board{grid-template-columns:1fr}footer,.porch-footer{grid-template-columns:1fr 1fr}.updated,.porch-footer>small{grid-column:1/3}}
@media (max-width:680px){body{font-size:17px;padding-bottom:72px;overflow-x:hidden}.site-head,.awning-head{padding:.8rem 1rem}.brand-mark,.porch-logo>span{width:42px;height:42px}.brand strong,.porch-logo b{font-size:1.18rem}.brand small,.porch-logo small{font-size:.61rem}.header-call,.keytag-call{display:none}main,.porch-main{padding:1.25rem 1rem 3rem}.hero{padding:1.2rem;border-width:2px;border-radius:24px}.hero-copy h1{font-size:clamp(2.55rem,13vw,4rem)}.call-handle{display:block}.handle-label{display:block;margin-bottom:.65rem}.call-handle a{width:100%}.door-figure{transform:none}.status-rail{grid-template-columns:1fr 1fr}.status-rail span{border-bottom:1px solid var(--pine)}.content-grid{display:block}.article-stack{gap:1rem}.panel{padding:1.25rem}.side-board{display:grid;grid-template-columns:1fr;margin-top:1.5rem}.side-board .side-call{grid-column:auto}.route-grid{grid-template-columns:1fr}.route-card{min-height:auto}footer,.porch-footer{grid-template-columns:1fr;padding:2rem 1rem 1.5rem}.updated,.porch-footer>small{grid-column:auto}.mobile-call{display:block;position:fixed;z-index:900;left:0;right:0;bottom:0;background:var(--pine);padding:.6rem max(.75rem,env(safe-area-inset-left)) calc(.6rem + env(safe-area-inset-bottom))}.mobile-call a{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--coral);color:white;text-decoration:none;padding:.65rem 1rem;border-radius:12px;font-weight:700}.mobile-call span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.mobile-call strong{font-size:1.05rem}.porch-main{padding-top:2rem}.porch-copy h1{font-size:clamp(3rem,15vw,4.7rem)}.porch-scene{padding:.65rem .65rem 1.5rem;border-radius:24px;transform:none}.five-card-path{margin:3rem 0;padding:1.25rem;border-radius:24px}.five-card-path ol{grid-template-columns:1fr}.five-card-path li,.five-card-path li:nth-child(even){min-height:auto;transform:none}.door-choice-board{margin:3rem 0}.door-choice-board>div:last-child{grid-template-columns:1fr}.porch-chapters:before{left:25px}.porch-chapter{grid-template-columns:52px 1fr;gap:.65rem}.chapter-pin{width:50px;height:50px;font-size:.56rem}.chapter-copy{padding:1.1rem}.porch-final{margin-top:3rem;padding:1.5rem}.porch-final .coral-key{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.header-call,.keytag-call,.porch-scene,.five-card-path li,.chapter-pin{transform:none!important}}
