:root{color-scheme:light;--navy:#303a56;--ink:#1f293d;--copper:#8a4d25;--line:#dce1e9;--paper:#fff;--wash:#f5f7fa;--slate:#5c6475}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Inter,Arial,sans-serif}
a{color:var(--navy)}
.wrap{width:min(1120px,calc(100% - 2rem));margin-inline:auto}
.site-head{border-bottom:1px solid var(--line);background:#fff}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px}
.brand{align-items:center;display:inline-flex;flex:none;text-decoration:none}
.brand img{display:block;filter:drop-shadow(0 1px 0 rgba(35,45,70,.78)) drop-shadow(0 0 1px rgba(35,45,70,.38));height:auto;width:174px}
nav{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem}
nav a{align-items:center;display:inline-flex;font-size:.73rem;font-weight:700;letter-spacing:.1em;min-height:44px;text-decoration:none}
nav a:hover,.crumbs a:hover,.socials a:hover{color:var(--copper)}
.crumbs{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;padding:1.2rem 0;font-size:.73rem;font-weight:700;letter-spacing:.05em;color:var(--slate)}
.crumbs a{text-decoration:none}
.crumbs [aria-current]{overflow-wrap:anywhere}
.hero{background:linear-gradient(115deg,#fff 5%,var(--wash) 100%);border-block:1px solid var(--line);overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px);gap:clamp(2rem,6vw,5rem);align-items:center}
.hero-copy{min-width:0;animation:profile-reveal .56s ease-out both}
.hero-copy::after{background:var(--copper);content:"";display:block;height:3px;margin-top:clamp(2rem,4vw,3rem);max-width:104px;transform-origin:left;animation:rule-reveal .54s .12s ease-out both}
.eyebrow,.label{color:var(--copper);font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1,h2{color:var(--navy);font-family:'Barlow Condensed',Arial,sans-serif;letter-spacing:.015em;line-height:.97;text-transform:uppercase}
h1{font-size:clamp(3.4rem,8vw,6.6rem);margin:.5rem 0 .75rem;overflow-wrap:anywhere}
h2{font-size:clamp(2.25rem,5vw,3.2rem);margin:.2rem 0 1.2rem}
.business{font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:600;margin:.25rem 0 1.25rem}
.bio{font-size:1rem;line-height:1.7;max-width:58ch;white-space:pre-line}
.status-review{border-left:3px solid var(--copper);color:var(--copper);font-size:.72rem;font-weight:700;letter-spacing:.13em;margin:1rem 0;padding:.45rem .8rem}
.portrait-frame{background:#fff;border:1px solid var(--line);box-shadow:15px 15px 0 #e2e7ee;overflow:hidden;padding:.75rem}
.portrait{aspect-ratio:4/5;display:block;height:auto;max-height:430px;object-fit:contain;width:100%}
.monogram{align-items:center;aspect-ratio:1/1;display:flex;justify-content:center;border:1px solid #cbd5e2;background:radial-gradient(circle at 50% 38%,#fff 0%,#e7edf4 72%);box-shadow:16px 16px 0 #dfe6ef;max-width:320px;width:100%;animation:monogram-pulse 1.25s .2s ease-out 1}
.monogram span{color:var(--navy);font:700 clamp(5rem,14vw,8.8rem)/1 'Barlow Condensed',Arial,sans-serif;letter-spacing:-.07em;padding-right:.07em}
.buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.buttons:empty{display:none}
.availability-link{align-items:center;color:var(--copper);display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.12em;min-height:44px;margin-top:.6rem;text-decoration-color:var(--copper);text-underline-offset:.25em}
.button{align-items:center;background:#fff;border:1px solid var(--navy);color:var(--navy);display:inline-flex;font-size:.74rem;font-weight:700;gap:.7rem;justify-content:center;letter-spacing:.1em;min-height:48px;padding:.7rem 1.1rem;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.button.primary{background:var(--navy);color:#fff}
.button:hover{background:var(--copper);border-color:var(--copper);color:#fff;transform:translateY(-2px)}
:is(.button,nav a,.brand,.crumbs a,.source-credit a,.socials a,.availability-link):focus-visible{outline:3px solid #d68d4d;outline-offset:3px}
.state-content{display:grid;gap:clamp(2rem,6vw,6rem);grid-template-columns:minmax(0,1.4fr) minmax(230px,.65fr);padding-block:clamp(3rem,6vw,5rem)}
.state-record{min-width:0}
.state-facts{border-top:3px solid var(--navy);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.4rem 0 0}
.state-facts>div{border-bottom:1px solid var(--line);min-width:0;padding:1.1rem 1.2rem 1.1rem 0}
dt{color:var(--copper);font-size:.69rem;font-weight:700;letter-spacing:.13em}
dd{font-size:.95rem;font-weight:600;margin:.35rem 0 0;overflow-wrap:anywhere}
.record-date{color:var(--slate);font-size:.7rem;font-weight:700;letter-spacing:.11em;margin:1.7rem 0 .45rem}
.source-credit{font-size:.77rem;margin:.1rem 0}
.source-credit a{color:var(--slate);text-decoration-color:var(--copper);text-underline-offset:.18em}
.state-aside{align-self:start;border-top:3px solid var(--copper);padding-top:1.2rem}
.state-aside p{color:var(--slate);font-size:.86rem;line-height:1.65;max-width:31ch}
.content{display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,2fr) minmax(220px,1fr);padding-block:clamp(3rem,5vw,5rem)}
.content.is-single{display:block}
.content section{margin-bottom:2.5rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.chips li{background:#fff;border:1px solid var(--line);font-size:.85rem;padding:.35rem .7rem;text-transform:capitalize}
.detail{border-top:3px solid var(--navy);padding-top:1rem}
.detail dl{margin:0}
.detail dl>div{border-bottom:1px solid var(--line);padding:.8rem 0}
.detail dd{font-weight:400;white-space:pre-line}
.socials{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:1rem}
.socials a{align-items:center;display:inline-flex;font-size:.75rem;font-weight:700;letter-spacing:.1em;min-height:44px}
.profile-payments{border-top:1px solid var(--line);display:grid;gap:clamp(1.5rem,4vw,3.5rem);grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);padding-block:clamp(2.2rem,4vw,3.6rem)}
.profile-payments h2{margin:.3rem 0 0}
.payment-options{display:grid;gap:.75rem;grid-column:2;grid-row:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));list-style:none;margin:0;padding:0}
.payment-option{--payment-accent:var(--copper);background:#fff;border:1px solid var(--line);border-left:4px solid var(--payment-accent);display:grid;gap:.35rem;min-width:0;padding:1rem 1.1rem}
.payment-option--cash-app{--payment-accent:#00d54b}
.payment-option--venmo{--payment-accent:#008cff}
.payment-option--zelle{--payment-accent:#6534d1}
.payment-option--stripe{--payment-accent:#635bff}
.payment-option-name{color:var(--navy);font-size:.83rem;font-weight:800;letter-spacing:.02em}
.payment-option-value{color:var(--ink);font-size:.91rem;font-weight:500;overflow-wrap:anywhere;user-select:all}
.payment-trademark{color:var(--slate);font-size:.69rem;grid-column:1 / -1;line-height:1.5;margin:.1rem 0 0}
.payment-caution{color:var(--slate);font-size:.78rem;grid-column:2;line-height:1.65;margin:-.15rem 0 0;max-width:68ch}
.notice{border-top:1px solid var(--line);color:var(--slate);font-size:.78rem;padding:1.35rem 0 2.2rem}
.notice p{margin:0;max-width:82ch}
.availability-section{border-top:3px solid var(--copper);margin-top:clamp(2.5rem,5vw,4.5rem);padding:clamp(1.4rem,3vw,2.2rem) 0 0;scroll-margin-top:1rem;animation:profile-reveal .32s ease-out both}
.availability-heading{align-items:end;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}
.availability-heading h2{margin:.25rem 0 0}
.availability-zone{color:var(--slate);font-size:.7rem;font-weight:700;letter-spacing:.12em;padding-bottom:.25rem}
.availability-intro{color:var(--slate);font-size:.9rem;margin:.85rem 0 1.35rem}
.availability-picker{background:var(--wash);border:1px solid var(--line);padding:clamp(1rem,2.5vw,1.6rem)}
.availability-picker-top{align-items:center;display:flex;gap:.8rem;justify-content:space-between;margin-bottom:1rem}
.availability-picker-top strong{color:var(--navy);font-size:.75rem;letter-spacing:.1em;text-align:center}
.availability-arrow{background:#fff;border:1px solid var(--line);color:var(--navy);cursor:pointer;font-size:1.8rem;height:44px;line-height:1;width:44px}
.availability-arrow:disabled{cursor:not-allowed;opacity:.4}
.availability-days{display:grid;gap:.45rem;grid-template-columns:repeat(14,minmax(64px,1fr));overflow-x:auto;padding-bottom:.55rem;scroll-snap-type:x proximity}
.availability-day{background:#fff;border:1px solid var(--line);color:var(--navy);cursor:pointer;display:grid;gap:.15rem;justify-items:center;min-height:82px;padding:.55rem .35rem;scroll-snap-align:start;transition:background .2s ease,border-color .2s ease,color .2s ease}
.availability-day:hover{border-color:var(--copper)}
.availability-day[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.availability-day span{font-size:.75rem;font-weight:700;letter-spacing:.04em}
.availability-day strong{font:700 1.45rem/1 'Barlow Condensed',Arial,sans-serif}
.availability-day small{font-size:.72rem;font-weight:700;letter-spacing:.04em}
.availability-times{min-height:5rem;padding:1.2rem 0 .5rem}
.availability-times p{color:var(--slate);font-size:.85rem;margin:.1rem 0}
.availability-times-label{color:var(--copper)!important;font-size:.69rem!important;font-weight:700;letter-spacing:.12em}
.availability-time-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}
.availability-time-chip{background:#fff;border:1px solid var(--navy);color:var(--navy);cursor:pointer;font:700 .76rem Inter,Arial,sans-serif;min-height:44px;padding:.6rem .85rem;transition:background .2s ease,color .2s ease}
.availability-time-chip:hover{background:var(--navy);color:#fff}
.availability-time-chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.availability-picker-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.45rem}
.availability-request{background:#fff;border:1px solid var(--line);border-left:4px solid var(--copper);margin-top:1rem;padding:clamp(1.2rem,3vw,2rem)}
.availability-request h3{color:var(--navy);font:800 2rem/1 'Barlow Condensed',Arial,sans-serif;margin:0 0 .5rem}
.availability-request>p{color:var(--slate);font-size:.86rem;margin:.25rem 0 1.1rem}
.availability-fields{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.availability-fields label,.availability-request label{color:var(--navy);display:grid;font-size:.69rem;font-weight:700;gap:.35rem;letter-spacing:.08em}
.availability-fields input,.availability-fields select{background:#fff;border:1px solid #8490a1;border-radius:0;color:var(--ink);font:400 .94rem Inter,Arial,sans-serif;min-height:47px;min-width:0;padding:.55rem .7rem;width:100%}
.availability-contact-note{margin:1rem 0!important}
.availability-status{color:var(--slate);font-size:.84rem;min-height:1.3em;padding:.75rem 0 0}
.availability-status.is-error{color:#922c1b}
.availability-section.is-paused .availability-days,.availability-section.is-paused .availability-times{opacity:.6;pointer-events:none}
.availability-section :is(button,input,select):focus-visible{outline:3px solid #d68d4d;outline-offset:3px}
footer{background:var(--navy);color:#fff;font-size:.73rem;padding:1.8rem 0}
footer .wrap{display:flex;flex-wrap:wrap;gap:.4rem 1.7rem}
footer a{align-items:center;color:#fff;display:inline-flex;font-weight:700;letter-spacing:.08em;min-height:44px;text-decoration:none}
footer a:hover{color:#e9bb92}
@keyframes profile-reveal{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes rule-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes monogram-pulse{0%,100%{box-shadow:16px 16px 0 #dfe6ef}48%{box-shadow:16px 16px 0 #dfe6ef,0 0 0 13px rgba(138,77,37,.08)}}
@media(max-width:760px){.site-head .wrap{align-items:center;flex-direction:column;gap:.35rem;padding:.8rem 0 .45rem}.site-head nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%}.site-head nav a{border-top:1px solid var(--line);font-size:.67rem;justify-content:center;letter-spacing:.04em;text-align:center;white-space:nowrap}.hero-grid,.state-content,.content,.profile-payments{grid-template-columns:1fr}.hero-grid{gap:2rem}.portrait-frame,.monogram{max-width:220px}.monogram span{font-size:5.5rem}.state-facts{grid-template-columns:1fr}.state-facts>div{padding-block:.75rem}.state-aside p{max-width:none}.payment-options,.payment-caution{grid-column:1;grid-row:auto}h1{font-size:clamp(3.3rem,14vw,5.5rem)}}
@media(max-width:480px){.wrap{width:min(100% - 1.5rem,1120px)}.hero{padding:2.5rem 0}.buttons .button{width:100%}.portrait-frame,.monogram{max-width:180px}.crumbs{font-size:.64rem}}
@media(max-width:650px){.availability-fields{grid-template-columns:1fr}.availability-day{min-width:64px}.availability-picker-actions .button,.availability-request>.button{width:100%}.availability-zone{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-copy::after,.monogram,.availability-section{animation:none}.button,.availability-day,.availability-time-chip{transition:none}.button:hover{transform:none}}
