:root{--paper:#faf9f6;--paper-dim:#f1efe9;--ink:#17170f;--ink-soft:#55554b;--ink-dim:#6b6b60;--rule:#17170f;--hairline:#d9d6cc;--stamp:#1b7a4e;--stamp-tint:#e4efe7;--warn:#a05c1e;--warn-tint:#f4e8d8;--wa:#10804a;--error:#a03323;--font-display:"Bricolage Grotesque", "Arial Black", sans-serif;--font-body:"Newsreader", Georgia, "Times New Roman", serif;--step-0:1.1rem;--step-1:1.3rem;--step-2:clamp(1.5rem, 2.6vw, 1.9rem);--step-3:clamp(1.9rem, 4vw, 2.8rem);--step-4:clamp(2.4rem, 6.5vw, 4.6rem);--space-2:1rem;--space-3:1.75rem;--space-4:3rem;--space-5:clamp(2.75rem, 6vw, 4.5rem);--maxw:74rem;--maxw-text:44rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.62}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-2);text-wrap:balance;font-weight:800;line-height:.98}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:1.1rem;line-height:1.2}p{margin:0 0 var(--space-2);max-width:var(--maxw-text)}.lede{font-size:var(--step-1);color:var(--ink-soft);line-height:1.5}.small{color:var(--ink-soft);font-size:.92rem}a{color:var(--stamp);text-underline-offset:3px;text-decoration-thickness:1px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.section{padding:var(--space-5) 0}.section--tight{padding:var(--space-4) 0}.section--raise{background:var(--paper-dim);border-top:2px solid var(--rule)}.rule-top{border-top:3px solid var(--rule);padding-top:var(--space-3)}.tag,.chip{font-family:var(--font-display);border:1.5px solid var(--ink);color:var(--ink);background:var(--paper);white-space:nowrap;align-items:center;gap:.4em;padding:.22rem .55rem;font-size:.8rem;font-weight:650;display:inline-flex}.tag--verified,.chip--verified{border-color:var(--stamp);color:var(--stamp);background:var(--stamp-tint)}.tag--warn,.chip--warn{border-color:var(--warn);color:var(--warn);background:var(--warn-tint)}.tag .dot,.chip .dot{display:none}.eyebrow{font-family:var(--font-display);color:var(--stamp);margin-bottom:var(--space-2);font-size:.85rem;font-weight:650;display:block}.stamp{font-family:var(--font-display);color:var(--stamp);border:2px solid var(--stamp);background:var(--paper);padding:.3rem .7rem;font-size:.82rem;font-weight:750;display:inline-block;transform:rotate(-2deg)}.btn{font-family:var(--font-display);border:2px solid var(--ink);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.5rem;max-width:100%;padding:.9rem 1.5rem;font-size:1rem;font-weight:700;line-height:1;text-decoration:none;transition:background .13s,color .13s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:#33332b;border-color:#33332b}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:var(--paper)}.btn--wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn--wa:hover{background:#0e7040;border-color:#0e7040}.btn svg{flex:none}.card .btn{width:100%;padding-inline:1rem}a.btn.btn--primary,a.btn.btn--primary:hover{color:var(--paper)}a.btn.btn--ghost{color:var(--ink)}a.btn.btn--ghost:hover{color:var(--paper)}a.btn.btn--wa,a.btn.btn--wa:hover{color:#fff}.nav-links a.btn:hover,.sitefooter a.btn:hover,.actionbar a:hover{text-decoration:none}.card{border:1px solid var(--hairline);border-top:3px solid var(--rule);padding:var(--space-3);background:#fff}.factgrid{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.factgrid>div{border-top:3px solid var(--rule);padding-top:.6rem}.factgrid .k{font-family:var(--font-display);color:var(--ink-dim);margin-bottom:.15rem;font-size:.82rem;font-weight:600;display:block}.factgrid .v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.ticker{flex-wrap:wrap;gap:clamp(1.5rem,4vw,3rem);display:flex}.ticker .tick b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;display:block}.ticker .tick span{color:var(--ink-soft);font-size:.9rem}.ratewrap{border:1px solid var(--hairline);border-top:4px solid var(--rule);background:#fff}.ratehead{border-bottom:2px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:1rem 1.25rem .8rem;display:flex}.ratehead .title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.25rem;font-weight:800}table.rates{border-collapse:collapse;width:100%;font-family:var(--font-display)}table.rates th{color:var(--ink-dim);text-align:right;border-bottom:1px solid var(--hairline);padding:.7rem 1.25rem;font-size:.78rem;font-weight:650}table.rates th:first-child{text-align:left}table.rates td{border-bottom:1px solid var(--hairline);vertical-align:middle;text-align:right;font-variant-numeric:tabular-nums;padding:1rem 1.25rem}table.rates td:first-child{text-align:left}table.rates tr:last-child td{border-bottom:none}table.rates tbody tr:hover{background:var(--paper)}table.rates .unit{white-space:nowrap;font-size:1.05rem;font-weight:700}table.rates .unit small{font-family:var(--font-body);color:var(--ink-dim);white-space:normal;font-size:.88rem;font-weight:400;display:block}table.rates .money{letter-spacing:-.02em;white-space:nowrap;font-size:1.3rem;font-weight:800}table.rates .money small{color:var(--ink-dim);font-size:.75rem;font-weight:500;display:block}table.rates .money.hot{font-size:1.45rem}table.rates .rowact{text-align:right}table.rates .rowact a{font-family:var(--font-display);color:var(--stamp);border:1.5px solid var(--stamp);white-space:nowrap;padding:.5rem .8rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}table.rates .rowact a:hover{background:var(--stamp);color:#fff}table.rates tr.featured{background:var(--stamp-tint)}table.rates tr.featured:hover{background:#d9e9dd}table.rates tr.soldout{opacity:.4}table.rates tr.soldout .money{text-decoration:line-through 1.5px}table.rates .flag{color:var(--stamp);border:1.5px solid var(--stamp);vertical-align:middle;margin-left:.5rem;padding:.06rem .4rem;font-size:.72rem;font-weight:700;display:inline-block}table.rates .flag--out{color:var(--ink-dim);border-color:var(--ink-dim)}.ratefoot{border-top:2px solid var(--rule);color:var(--ink-soft);padding:.9rem 1.25rem;font-size:.95rem}.ratefoot p{max-width:none;margin:.2rem 0}@media (width<=700px){table.rates,table.rates thead,table.rates tbody,table.rates tr,table.rates td{display:block}table.rates thead{display:none}table.rates tr{border-bottom:1px solid var(--hairline);padding:1rem 1.1rem}table.rates tr.featured{outline:2px solid var(--stamp);outline-offset:-2px}table.rates td{text-align:left;border:none;padding:.14rem 0}table.rates td.money:before{content:attr(data-label);min-width:8rem;color:var(--ink-dim);font-size:.8rem;font-weight:600;display:inline-block}table.rates .money{font-size:1.15rem}table.rates .money.hot{font-size:1.3rem}table.rates .money small{margin-left:.4rem;display:inline}table.rates .rowact{padding-top:.55rem}}.tablewrap{border:1px solid var(--hairline);border-top:3px solid var(--rule);background:#fff;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-family:var(--font-display)}table.data th{color:var(--ink-dim);text-align:left;border-bottom:1px solid var(--hairline);padding:.65rem 1rem;font-size:.78rem;font-weight:650}table.data td{border-bottom:1px solid var(--hairline);padding:.65rem 1rem}table.data tr:last-child td{border-bottom:none}table.data .num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}table.data .unitcell{font-weight:650}.field{margin-bottom:var(--space-2)}.field label{font-family:var(--font-display);margin-bottom:.35rem;font-size:.95rem;font-weight:650;display:block}.field .hint{color:var(--ink-dim);margin-top:.3rem;font-size:.9rem}.field input,.field select,.field textarea{width:100%;font:inherit;font-family:var(--font-display);color:var(--ink);border:1.5px solid var(--ink);background:#fff;border-radius:0;padding:.8rem .9rem;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--stamp)}.field .error{color:#a03323;margin-top:.3rem;font-size:.88rem;font-weight:600;display:none}.field.invalid input,.field.invalid select{border-color:#a03323}.field.invalid .error{display:block}.choices{flex-wrap:wrap;gap:.45rem;display:flex}.choices input{opacity:0;pointer-events:none;clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.choices label{font-family:var(--font-display);border:1.5px solid var(--ink);cursor:pointer;min-height:44px;color:var(--ink);background:#fff;align-items:center;margin:0;padding:.7rem 1rem;font-size:.92rem;font-weight:600;display:inline-flex}.choices input:checked+label{background:var(--ink);color:var(--paper)}.choices input:focus-visible+label{outline:2px solid var(--stamp);outline-offset:2px}.consent{color:var(--ink-soft);align-items:flex-start;gap:.6rem;font-size:.92rem;display:flex}.consent input{width:1.1rem;height:1.1rem;accent-color:var(--stamp);flex:none;margin-top:.25rem}.progress{font-family:var(--font-display);color:var(--ink-dim);margin-bottom:var(--space-3);align-items:center;gap:.75rem;font-size:.85rem;font-weight:600;display:flex}.progress .bar{background:var(--hairline);flex:1;height:3px;overflow:hidden}.progress .bar span{background:var(--stamp);height:100%;transition:width .3s;display:block}details.faq{border-bottom:1px solid var(--hairline)}details.faq summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:1.1rem;font-weight:700;list-style:none;display:flex}details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:"+";color:var(--stamp);flex:none;font-size:1.4rem;font-weight:400}details.faq[open] summary:after{content:"–"}details.faq .a{color:var(--ink-soft);max-width:var(--maxw-text);padding:0 0 1.2rem}.siteheader{z-index:50;backdrop-filter:blur(8px);border-bottom:2px solid var(--rule);background:#faf9f6f0;position:sticky;top:0}.siteheader .bar{justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.brand{color:var(--ink);align-items:baseline;gap:.7rem;text-decoration:none;display:flex}.brand .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-weight:800;line-height:1;display:block}.brand .role{font-family:var(--font-display);color:var(--ink-dim);font-size:.8rem;font-weight:500;display:block}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-links a{color:var(--ink);font-family:var(--font-display);font-size:.95rem;font-weight:600;text-decoration:none}.nav-links a:hover{text-underline-offset:4px;text-decoration:underline}.nav-links a[aria-current=page]{color:var(--stamp)}.nav-links .btn{padding:.55rem 1.1rem;font-size:.9rem}.menu-toggle{border:2px solid var(--ink);font-family:var(--font-display);cursor:pointer;color:var(--ink);background:0 0;padding:.45rem .9rem;font-size:.9rem;font-weight:700;display:none}@media (width<=940px){.menu-toggle{display:block}.nav-links{background:var(--paper);border-bottom:2px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:.25rem 1.25rem 1.25rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-links a{border-bottom:1px solid var(--hairline);padding:.9rem 0}.nav-links a:last-of-type{border-bottom:none}.nav-links .btn{justify-content:center;margin-top:.75rem}}.actionbar{z-index:60;background:var(--paper);border-top:2px solid var(--rule);padding:.5rem max(.75rem, env(safe-area-inset-left)) max(.5rem, env(safe-area-inset-bottom));gap:.5rem;display:none;position:fixed;bottom:0;left:0;right:0}.actionbar a{font-family:var(--font-display);border:2px solid var(--ink);flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.8rem .5rem;font-size:.95rem;font-weight:700;text-decoration:none;display:flex}.actionbar .ab-call{color:var(--ink)}.actionbar .ab-wa{background:var(--wa);border-color:var(--wa);color:#fff}.actionbar .ab-book{background:var(--ink);color:var(--paper)}@media (width<=940px){.actionbar{display:flex}body{padding-bottom:4.3rem}}.sitefooter{background:var(--paper);color:var(--ink-soft);border-top:4px double var(--rule);padding:var(--space-4) 0 var(--space-3);font-size:.98rem}.sitefooter h4{color:var(--ink);margin-bottom:.7rem;font-size:1rem}.sitefooter a{color:var(--ink-soft);text-decoration:none}.sitefooter a:hover{color:var(--ink);text-decoration:underline}.sitefooter .cols{gap:var(--space-3);padding-bottom:var(--space-3);grid-template-columns:2fr 1fr 1fr 1.5fr;display:grid}.sitefooter .legal{border-top:1px solid var(--hairline);padding-top:var(--space-3);color:var(--ink-dim);font-size:.88rem}.sitefooter .legal p{max-width:none}.sitefooter ul{margin:0;padding:0;list-style:none}.sitefooter li{margin-bottom:.5rem}@media (width<=940px){.sitefooter .cols{grid-template-columns:1fr 1fr}}@media (width<=520px){.sitefooter .cols{grid-template-columns:1fr}}.hero-img{border-bottom:3px solid var(--rule);align-items:flex-end;min-height:clamp(26rem,68svh,42rem);display:flex;position:relative;overflow:hidden}.hero-img>.media,.hero-img>.media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-img:after{content:"";background:linear-gradient(#0c0c0814 35%,#0c0c0873 62%,#0c0c08e0 100%);position:absolute;inset:0}.hero-img .content{z-index:1;width:100%;padding:var(--space-4) 0 var(--space-3);color:#faf9f6;position:relative}.hero-img h1,.hero-img .lede{color:#faf9f6;text-shadow:0 1px 12px #0009}.hero-img .lede{max-width:34rem}.hero-img .ctas{margin:var(--space-3) 0;flex-wrap:wrap;gap:.7rem;display:flex}.hero-img .ctas .btn--ghost{color:#faf9f6;border-color:#faf9f6}.hero-img .ctas .btn--ghost:hover{color:var(--ink);background:#faf9f6}.hero-img .ctas .btn--primary{color:var(--ink);background:#faf9f6;border-color:#faf9f6}.hero-img .imgnote{z-index:1;position:absolute;top:.9rem;right:.9rem}.trustline{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=700px){.hero-img .ctas .btn,.frontpage .ctas .btn{flex:auto}}.pagehead,.hero{padding:var(--space-4) 0 var(--space-3)}.frontpage{padding:var(--space-4) 0 0}.frontpage .dateline{font-family:var(--font-display);color:var(--ink-dim);border-bottom:1px solid var(--rule);margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.frontpage h1{max-width:18ch}.frontpage .figure{margin:var(--space-3) 0 0;position:relative}.frontpage .figure img{object-fit:cover;border:1px solid var(--hairline);width:100%;max-height:34rem}.figcap{font-family:var(--font-display);color:var(--ink-dim);border-bottom:2px solid var(--rule);justify-content:space-between;gap:1rem;padding:.45rem .1rem .5rem;font-size:.85rem;font-weight:550;display:flex}.overlap-up{z-index:2;margin-top:0;position:relative}.imgstrip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:.7rem;padding:0 clamp(1rem,4vw,2.5rem) .75rem;display:flex;overflow-x:auto}.imgstrip::-webkit-scrollbar{height:6px}.imgstrip::-webkit-scrollbar-thumb{background:var(--hairline)}.imgstrip figure{scroll-snap-align:center;flex:none;width:min(78vw,24rem);margin:0}.imgstrip figure img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--hairline);width:100%}.imgstrip figcaption{font-family:var(--font-display);color:var(--ink-soft);border-bottom:2px solid var(--rule);padding:.4rem .05rem .45rem;font-size:.85rem;font-weight:550}.projcards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));display:grid}.grid2>*,.projcards>*{min-width:0}@media (width>=940px){.projcards--vary{grid-template-columns:1.35fr 1fr}}.projcard{color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.projcard .media{aspect-ratio:16/10;border:1px solid var(--hairline);position:relative;overflow:hidden}.projcard .media img{object-fit:cover;width:100%;height:100%}.projcard .media .chip{position:absolute;top:.7rem;left:.7rem}.projcard .body{border-bottom:3px solid var(--rule);flex-direction:column;flex:1;gap:.35rem;padding:.9rem 0 1rem;display:flex}.projcard:hover .body{border-bottom-color:var(--stamp)}.projcard h3{margin:0;font-size:1.5rem}.projcard .meta{font-family:var(--font-display);color:var(--ink-dim);font-size:.88rem;font-weight:550}.projcard .price{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.projcard .price .amt{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:800}.projcard .price .from{font-family:var(--font-display);color:var(--ink-dim);font-size:.85rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem .8rem;display:grid}.gallery figure{margin:0}.gallery figure img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--hairline);width:100%}.gallery figcaption{font-family:var(--font-display);color:var(--ink-soft);border-bottom:2px solid var(--rule);padding:.35rem .05rem .4rem;font-size:.82rem;font-weight:550}.gallery .wide{grid-column:span 2}@media (width<=560px){.gallery .wide{grid-column:span 1}}.split{gap:var(--space-4);grid-template-columns:1.05fr 1fr;align-items:center;display:grid}.split .media{position:relative}.split .media img{object-fit:cover;border:1px solid var(--hairline);width:100%;height:100%}.split .media .chip,.split .media .tag{position:absolute;top:.7rem;left:.7rem}@media (width<=940px){.split{grid-template-columns:1fr}}.steps{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.steps .step{border-top:3px solid var(--rule);padding-top:.85rem}.steps .step h4{margin-bottom:.25rem}.steps .step p{color:var(--ink-soft);margin:0;font-size:1rem}.grid2{gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=940px){.grid2{grid-template-columns:1fr}}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.checklist{max-width:var(--maxw-text);margin:0;padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--hairline);padding:.4rem 0 .4rem 1.5rem;position:relative}.checklist li:last-child{border-bottom:none}.checklist li:before{content:"";background:var(--stamp);width:.7rem;height:2px;position:absolute;top:1.05rem;left:0}
