*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-paper);color:var(--c-ink);font-family:var(--f-body);font-weight:var(--f-weight-body);font-size:1.0625rem;line-height:var(--lh-body);overflow-x:hidden;text-wrap:pretty}img{max-width:100%;height:auto;display:block}a{color:var(--c-accent);text-decoration-thickness:var(--s-hair);text-underline-offset:3px}a:hover{color:var(--c-accent2)}:focus-visible{outline:var(--s-rule)solid var(--c-focus);outline-offset:3px}h1,h2,h3,h4{font-family:var(--f-head);font-weight:var(--f-weight-head);line-height:var(--lh-tight);margin:0;letter-spacing:-.01em}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}.wrap{width:100%;max-width:var(--s-container);margin-inline:auto;padding-inline:var(--s-gutter)}.col{max-width:var(--m-base)}.region{padding-block:var(--s-section);border-top:var(--s-hair)solid var(--c-line)}@media(min-width:1200px){.region .wrap:has(>.label){display:grid;grid-template-columns:8rem minmax(0,1fr);column-gap:var(--s-4)}.region .wrap:has(>.label)>*{grid-column:2}.region .wrap:has(>.label)>.label{grid-column:1;grid-row:1;text-align:right;margin:0}}.region--alt{background:var(--c-surface)}.region:first-of-type{border-top:0}.label{font-family:var(--f-head);font-style:italic;font-size:1.0625rem;color:var(--c-muted);margin:0 0 var(--s-2)}.label span{color:var(--c-accent)}.h-region{font-size:clamp(1.5rem,4.5vw,2.125rem);margin-bottom:var(--s-3)}.lede{color:var(--c-muted);max-width:var(--m-base);margin-bottom:var(--s-4)}.rule{border:0;border-top:var(--s-rule)solid var(--c-ink);margin:0}.rule--hair{border-top:var(--s-hair)solid var(--c-line)}.site-head{position:sticky;top:0;z-index:20;background:var(--c-paper);border-bottom:var(--s-hair)solid var(--c-line)}.site-head__bar{display:flex;align-items:center;gap:var(--s-3);min-height:var(--s-tap);padding-block:var(--s-2)}.brand{font-family:var(--f-head);font-weight:var(--f-weight-head);font-size:1rem;letter-spacing:-.01em;color:var(--c-ink);text-decoration:none;margin-right:auto}.brand em{color:var(--c-accent);font-style:normal}.site-nav{display:none}.site-nav ul{display:flex;gap:var(--s-4);list-style:none;margin:0;padding:0;font-size:.9375rem}.site-nav a{color:var(--c-ink);text-decoration:none;padding-block:var(--s-2)}.site-nav a:hover{color:var(--c-accent);text-decoration:underline}.head-tel{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--s-tap);padding-inline:var(--s-3);border:var(--s-rule)solid var(--c-ink);border-radius:var(--r-base);font-weight:600;font-size:.9375rem;color:var(--c-ink);text-decoration:none;white-space:nowrap}.head-tel:hover{background:var(--c-ink);color:var(--c-paper)}@media(min-width:768px){.site-nav{display:block}}.hero{padding-block:var(--s-5)var(--s-4)}.hero__eyebrow{font-family:var(--f-head);font-style:italic;font-size:1.0625rem;color:var(--c-accent);margin:0 0 var(--s-2)}.hero h1{font-weight:var(--f-weight-display);font-size:clamp(2.125rem,8vw,4.25rem);max-width:22ch;margin-bottom:var(--s-3);text-wrap:balance}.hero h1 em{font-style:normal;color:var(--c-accent)}.hero__sub{font-size:1.0625rem;color:var(--c-muted);max-width:44ch;margin-bottom:var(--s-3)}@media(min-width:640px){.hero__sub{font-size:1.125rem;max-width:52ch;margin-bottom:var(--s-4)}}.actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-3)}@media(min-width:640px){.actions{margin-bottom:var(--s-4)}}.btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--s-2);min-height:var(--s-tap);padding:var(--s-2)var(--s-4);border:var(--s-rule)solid var(--c-accent);border-radius:var(--r-base);font-family:var(--f-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer}.btn--primary{background:var(--c-accent);color:var(--c-accent-ink);border-color:var(--c-accent)}.btn--primary:hover{background:var(--c-accent2);border-color:var(--c-accent2);color:var(--c-accent-ink)}.btn--tel{background:0 0;color:var(--c-ink);border-color:var(--c-ink)}.btn--tel:hover{background:var(--c-ink);color:var(--c-paper)}.btn--tel .num{font-family:var(--f-head);font-size:1.0625rem}.badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)var(--s-3);list-style:none;margin:0;padding:var(--s-3)0 0;border-top:var(--s-hair)solid var(--c-line);font-size:.8125rem;color:var(--c-muted)}.badges li{display:flex;align-items:center;gap:var(--s-2)}@media(min-width:640px){.badges{display:flex;flex-wrap:wrap;gap:var(--s-2)var(--s-4)}}.badges li::before{content:"";width:var(--s-2);height:var(--s-2);background:var(--c-accent);border-radius:var(--r-base);flex:none}.hero__peek{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-2);border-top:var(--s-rule)solid var(--c-ink);font-family:var(--f-head);font-style:italic;font-size:1rem;color:var(--c-muted)}.hero__peek a{color:var(--c-ink);text-decoration:none}.hero__peek a:hover{color:var(--c-accent)}@media(min-width:640px){.hero__peek{margin-top:var(--s-4);padding-top:var(--s-3)}}.hero__grid{display:flex;flex-direction:column}.hero__aside{order:3;margin:0;font-size:.9375rem}.hero__peek{order:2}.hero__aside dt{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--s-1)}.hero__aside dd{margin:0 0 var(--s-3)}.hero__aside dd:last-child{margin-bottom:0}@media(min-width:1024px){.hero{padding-block:var(--s-6)var(--s-5)}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr)20rem;column-gap:var(--s-6);align-items:start}.hero__grid>div:first-child{grid-column:1;grid-row:1}.hero__aside{grid-column:2;grid-row:1/span 2;border-left:var(--s-rule)solid var(--c-ink);padding-left:var(--s-4)}.hero__peek{grid-column:1;grid-row:2}}.prose{max-width:var(--m-base)}.prose p+p{margin-top:var(--s-3)}.prose>p:first-of-type::first-line{font-variant-caps:small-caps;letter-spacing:.02em}.highlights{list-style:none;margin:var(--s-5)0 0;padding:0;display:grid;gap:var(--s-4)}.highlights li{padding-top:var(--s-3);border-top:var(--s-rule)solid var(--c-ink)}.highlights h3{font-size:1.0625rem;margin-bottom:var(--s-2)}.highlights p{color:var(--c-muted);font-size:.9375rem}@media(min-width:768px){.highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}}.services{list-style:none;margin:0;padding:0;counter-reset:svc}.services li{counter-increment:svc;padding-block:var(--s-4);border-top:var(--s-hair)solid var(--c-line)}.services li:first-child{border-top:var(--s-rule)solid var(--c-ink)}.services h3{font-size:1.1875rem;margin-bottom:var(--s-2);display:flex;gap:var(--s-3);align-items:baseline}.services h3::before{content:counter(svc,decimal-leading-zero);font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.08em;color:var(--c-accent);flex:none}.services p{color:var(--c-muted);max-width:var(--m-base)}@media(min-width:900px){.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}.services li:nth-child(2){border-top:var(--s-rule)solid var(--c-ink)}}.areas{font-family:var(--f-head);font-size:clamp(1.0625rem,2.6vw,1.375rem);line-height:1.5;margin:0 0 var(--s-4)}.areas a{display:inline-flex;align-items:center;min-height:var(--s-tap);color:var(--c-ink);text-decoration:none;border-bottom:var(--s-hair)solid var(--c-line)}@media(min-width:768px){.areas a{display:inline;min-height:0}}.areas a:hover{color:var(--c-accent);border-bottom-color:var(--c-accent)}.areas .sep{color:var(--c-accent);padding-inline:var(--s-1)}.note{font-size:.875rem;color:var(--c-muted);max-width:var(--m-base)}.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;border:var(--s-hair)solid var(--c-line);border-radius:var(--r-base)}table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.9375rem}caption{text-align:left;font-size:.8125rem;color:var(--c-muted);padding:var(--s-3)}th,td{text-align:left;padding:var(--s-3);border-top:var(--s-hair)solid var(--c-line);vertical-align:top}thead th{border-top:0;border-bottom:var(--s-rule)solid var(--c-ink);font-family:var(--f-body);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted)}.tier{font-family:var(--f-head);font-size:1.0625rem}.tier small{display:block;font-family:var(--f-body);font-size:.75rem;color:var(--c-muted);font-weight:400;letter-spacing:.04em}.price{font-family:var(--f-head);font-size:1.25rem;white-space:nowrap}.price span{font-family:var(--f-body);font-size:.75rem;color:var(--c-muted)}.is-featured{background:var(--c-surface);box-shadow:inset var(--s-rule)0 0 var(--c-accent)}.region--alt .is-featured{background:var(--c-paper)}.feat{list-style:none;margin:0;padding:0;font-size:.875rem}.feat li{padding-left:var(--s-3);position:relative}.feat li::before{content:"";position:absolute;left:0;top:.7em;width:var(--s-2);height:var(--s-hair);background:var(--c-accent)}.faq{margin:0;max-width:var(--m-base)}.faq div{padding-block:var(--s-4);border-top:var(--s-hair)solid var(--c-line)}.faq div:first-child{border-top:var(--s-rule)solid var(--c-ink)}.faq dt{font-family:var(--f-head);font-weight:var(--f-weight-head);font-size:1.0625rem;margin-bottom:var(--s-2)}.faq dd{margin:0;color:var(--c-muted)}.roll{display:grid;gap:var(--s-5)}.recent{border-top:var(--s-rule)solid var(--c-ink);padding-top:var(--s-3)}.recent h3{font-family:var(--f-head);font-style:italic;font-size:1.0625rem;color:var(--c-muted);margin-bottom:var(--s-3)}.recent ol{margin:0;padding:0;list-style:none;counter-reset:rp;font-size:.9375rem}.recent li{counter-increment:rp;padding-block:var(--s-2);border-top:var(--s-hair)solid var(--c-line);display:flex;gap:var(--s-3)}.recent li:first-child{border-top:0}.recent .jump{flex:none;display:flex;align-items:center;justify-content:flex-start;min-width:var(--s-3);min-height:var(--s-tap);color:var(--c-accent);font-size:.75rem;font-weight:600;text-decoration:none}.recent .jump::before{content:counter(rp)}.recent .jump:hover{color:var(--c-ink);text-decoration:underline}.recent__title{color:var(--c-ink);text-decoration:none;min-height:var(--s-tap);display:flex;align-items:center}.recent__title:hover{color:var(--c-accent);text-decoration:underline}.post{border-top:var(--s-rule)solid var(--c-ink);padding-top:var(--s-4);scroll-margin-top:var(--s-6)}.post__meta{display:flex;flex-wrap:wrap;gap:var(--s-2)var(--s-3);align-items:baseline;font-family:var(--f-head);font-style:italic;font-size:.9375rem;color:var(--c-muted);margin-bottom:var(--s-3)}.post__meta .n{color:var(--c-accent);font-weight:600}.post h3{font-size:clamp(1.375rem,4.2vw,1.875rem);margin-bottom:var(--s-3);max-width:34ch}.post h3 a{color:var(--c-ink);text-decoration:none}.post h3 a:hover{color:var(--c-accent)}.post__fig{margin:0 0 var(--s-4)}.post__fig img{width:100%;background:var(--c-surface);border-radius:var(--r-base)}.post__fig figcaption{font-size:.8125rem;color:var(--c-muted);padding-top:var(--s-2)}.post__body{max-width:var(--m-base)}.post__body h4{font-size:1.0625rem;margin:var(--s-4)0 var(--s-3);padding-top:var(--s-3);border-top:var(--s-hair)solid var(--c-line)}.post__body ul{margin:0 0 var(--s-3);padding-left:var(--s-4)}.post__body li{margin-bottom:var(--s-2)}.post__body blockquote{margin:var(--s-4)0;padding-left:var(--s-4);border-left:var(--s-rule)solid var(--c-accent);font-family:var(--f-head);font-size:1.0625rem;line-height:1.5}.post__more{display:inline-flex;align-items:center;min-height:var(--s-tap);margin-top:var(--s-3);font-size:.9375rem;font-weight:600}@media(min-width:1024px){.roll{grid-template-columns:minmax(0,1fr)16rem;column-gap:var(--s-6);align-items:start}.roll__main{grid-column:1;display:grid;gap:var(--s-5);min-width:0}.roll__rail{grid-column:2;grid-row:1;position:sticky;top:var(--s-6)}}.cta{background:var(--c-accent);color:var(--c-accent-ink);border-top:0}.cta h2{font-size:clamp(1.625rem,5vw,2.5rem);max-width:26ch;margin-bottom:var(--s-3)}.cta p{max-width:52ch;margin-bottom:var(--s-4);opacity:.92}.cta .btn{background:var(--c-accent-ink);color:var(--c-accent);border-color:var(--c-accent-ink)}.cta .btn:hover{background:0 0;color:var(--c-accent-ink)}.cta .btn--tel{background:0 0;color:var(--c-accent-ink);border-color:var(--c-accent-ink)}.cta .btn--tel:hover{background:var(--c-accent-ink);color:var(--c-accent)}.cta a:focus-visible{outline-color:var(--c-accent-ink)}.site-foot{border-top:var(--s-rule)solid var(--c-ink);padding-block:var(--s-5);font-size:.9375rem}.site-foot__tag{font-family:var(--f-head);font-size:1.125rem;max-width:34ch;margin-bottom:var(--s-5)}.foot-cols{display:grid;gap:var(--s-4)}.foot-cols h2{font-family:var(--f-body);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--s-3)}.foot-cols ul{list-style:none;margin:0;padding:0}.foot-cols li a{color:var(--c-ink);text-decoration:none;display:flex;align-items:center;min-height:var(--s-tap)}.foot-cols li a:hover{color:var(--c-accent);text-decoration:underline}.nap{font-style:normal;color:var(--c-muted)}.nap a{display:inline-flex;align-items:center;min-height:var(--s-tap);color:var(--c-ink)}.copyright{margin-top:var(--s-5);padding-top:var(--s-3);border-top:var(--s-hair)solid var(--c-line);color:var(--c-muted);font-size:.8125rem}@media(min-width:768px){.foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}}.page-head{padding-block:var(--s-5)var(--s-4);border-bottom:var(--s-rule)solid var(--c-ink)}.page-head h1{font-size:clamp(1.875rem,6vw,3rem);max-width:26ch;margin-bottom:var(--s-3)}.page-head p{color:var(--c-muted);max-width:var(--m-base)}.article{padding-block:var(--s-5)}.article .prose h2{font-size:clamp(1.25rem,3.6vw,1.625rem);margin:var(--s-5)0 var(--s-3);padding-top:var(--s-3);border-top:var(--s-rule)solid var(--c-ink)}.article .prose h3{font-size:1.0625rem;margin:var(--s-4)0 var(--s-2)}.article .prose ul,.article .prose ol{margin:0 0 var(--s-3);padding-left:var(--s-4)}.article .prose li{margin-bottom:var(--s-2)}.article .prose .scroller{margin-bottom:var(--s-4)}.inline-cta{margin-top:var(--s-5);padding:var(--s-4);border:var(--s-rule)solid var(--c-ink);border-radius:var(--r-base);background:var(--c-surface)}.inline-cta h2{font-size:1.25rem;margin-bottom:var(--s-2);border:0;padding:0}.inline-cta p{color:var(--c-muted);margin-bottom:var(--s-3)}.crumbs{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);padding-top:var(--s-4)}.crumbs a{color:var(--c-muted);text-decoration:none}.crumbs a:hover{color:var(--c-accent)}