/* Shared live hours: identical component on Home, About, Projects, Contact and Legal. */
body .hours-status{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:7px 14px;border:1px solid #d2bea05c;border-radius:999px;background:#201e19b8;color:#eae5d9;font:500 10px/1.6 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(6px)}
body .hours-dot{display:block;position:relative;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#aaa;transition:background .25s,box-shadow .25s}
body [data-business-hours][data-state="open"] .hours-dot{background:#4ade80;box-shadow:0 0 10px #4ade8073}
body [data-business-hours][data-state="closed"] .hours-dot{background:#ef4444;box-shadow:0 0 10px #ef444473}
body .hours-dot:after{content:'';position:absolute;inset:-4px;border:1px solid currentColor;border-radius:50%;opacity:0;animation:hours-pulse 2s ease-out infinite}
body [data-state="open"] .hours-dot{color:#4ade80}body [data-state="closed"] .hours-dot{color:#ef4444}
body .hours-inline{margin-top:8px;font-size:9px;letter-spacing:.06em}
.hero-content>.hours-status{margin-bottom:24px}
@keyframes hours-pulse{0%{transform:scale(.7);opacity:.6}100%{transform:scale(1.6);opacity:0}}
/* Override source-site gold !important rules with the new site's champagne/ivory palette.
   Preserve original hover lift, transitions, active states, links and click handlers. */
body[data-page] .original-content :is(.btn,.btn.solid,.btn.blue,.seg button,.chips2 button,.chk label,.copy,.pswitch a,.new){background:#201e19b8!important;color:#eae5d9!important;border:1px solid #d2bea080!important;box-shadow:none!important;filter:none!important;transition:background .35s,color .35s,border-color .35s,transform .4s,box-shadow .35s!important}
body[data-page] .original-content :is(.btn,.btn.solid,.btn.blue,.seg button,.chips2 button,.chk label,.copy,.pswitch a,.new):is(:hover,:focus-visible){background:linear-gradient(135deg,#eae5d9,#d2bea0)!important;color:#201e19!important;border-color:#d2bea0!important;box-shadow:0 14px 34px -12px #d2bea052!important;transform:translateY(-2px)}
body[data-page] .original-content :is(.seg button[aria-pressed="true"],.pswitch a.on,.chk input:checked+label):not(:hover){background:#d2bea026!important;border-color:#d2bea0!important;color:#eae5d9!important;box-shadow:inset 0 0 0 1px #d2bea073!important}
body[data-page] .original-content :is(.btn,.btn.solid,.btn.blue,.seg button,.chips2 button,.copy,.pswitch a,.new):active{transform:translateY(0) scale(.98)}
body[data-page] .original-content .pswitch{background:#201e19eb!important}
body[data-page] .original-content :is(.btn,.btn.solid,.btn.blue,.copy,.pswitch a):focus-visible{outline:2px solid #eae5d9;outline-offset:4px}
body[data-page] .original-content :is(button:disabled,.btn[aria-disabled="true"]){opacity:.5!important;cursor:not-allowed;transform:none!important;box-shadow:none!important;background:#201e19b8!important;color:#b3afa4!important;border-color:#d2bea04d!important}
@media(max-width:700px){body .hours-status{font-size:9px;letter-spacing:.06em;padding:6px 10px;gap:8px}.hero-content>.hours-status{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){body .hours-dot:after{animation:none}body[data-page] .original-content :is(.btn,.btn.solid,.btn.blue,.seg button,.chips2 button,.chk label,.copy,.pswitch a,.new){transition:none!important;transform:none!important}}
.motion-paused .hours-dot:after{animation-play-state:paused}

body[data-page] .original-content{--gold-grad:linear-gradient(135deg,#eae5d9,#d2bea0);--tint1:#d2bea014;--tint2:#d2bea014;--tint3:#d2bea017;--tint4:#d2bea014;--tint5:#d2bea017;--tint6:#d2bea017}
body[data-page] .original-content .aitem:is(:hover,:focus-visible,.on){color:#eae5d9;border-color:#d2bea0;background:#d2bea01a}
body[data-page] .original-content .ltoc a:is(:hover,:focus-visible,.on){color:#eae5d9;background:#d2bea010}
body[data-page] .original-content .ltoc a.on{box-shadow:inset 2px 0 0 #d2bea0}
body[data-page] .original-content :is(.ptags li,.ptags li:first-child){border-color:#d2bea080!important;color:#eae5d9!important;background:#201e19b8!important}
body[data-page] .original-content .ptags li:hover{background:var(--gold-grad)!important;color:#201e19!important;box-shadow:0 14px 34px -12px #d2bea052!important}
body[data-page] .original-content fieldset[disabled] .btn,
body[data-page] .original-content fieldset[disabled] .btn:is(:hover,:focus-visible,:active,:disabled){opacity:.5!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;background:#201e19b8!important;color:#b3afa4!important;border-color:#d2bea04d!important}

/* Home: live status below the navigation; editorial kicker just underneath. */
body[data-page="home"] .hero-hours{position:absolute;top:125px;left:60px;right:60px;z-index:1}
body[data-page="home"] .hero-topline{top:178px}
@media(min-width:1600px){body[data-page="home"] .hero-hours{left:calc((100vw - 1480px)/2);right:calc((100vw - 1480px)/2)}}
@media(max-width:1000px){body[data-page="home"] .hero-hours{left:35px;right:35px}}
@media(max-width:700px){body[data-page="home"] .hero-hours{top:103px;left:22px;right:22px}body[data-page="home"] .hero-topline{top:151px}}

body[data-page="contact"] .request-review{margin:0 24px 24px;padding:24px;border:1px solid #d2bea055;background:#29271f}
body[data-page="contact"] .request-review h2{font-size:26px;margin:0 0 12px}
body[data-page="contact"] .request-review p{font-size:12px;color:#b3afa4}
body[data-page="contact"] .request-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 'DM Sans',sans-serif;color:#eae5d9;padding:16px 0}
body[data-page="contact"] .choice input:checked+label{border-color:#d2bea0!important;background:#d2bea024!important}
body[data-page="contact"] .choice label:is(:hover,:focus-within){border-color:#d2bea0!important;background:#d2bea012!important}
body[data-page="contact"] .choice input:focus-visible+label,body[data-page="contact"] .chk input:focus-visible+label{outline:2px solid #eae5d9;outline-offset:3px}
/* All hero status badges share the Home baseline and gutters. */
body[data-page] .original-content .chero>.hours-status{position:absolute;top:125px;left:60px;margin:0}
body[data-page] .original-content .chero{padding-top:190px!important}
body .menu-toggle{display:flex!important;flex-direction:column;align-items:flex-end;justify-content:center;flex:0 0 42px;width:42px;height:42px;gap:5px;padding:10px;border:0;background:transparent}
body .menu-toggle span{display:block;height:1.8px;background:#eae5d9;border-radius:2px;transition:width .45s,transform .45s,opacity .3s}
body .menu-toggle span:nth-child(1){width:21px}body .menu-toggle span:nth-child(2){width:14px}body .menu-toggle span:nth-child(3){width:8px}
body .menu-toggle:hover span,body .menu-toggle:focus-visible span{width:21px;background:#d2bea0}
body .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}body .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}body .menu-toggle[aria-expanded="true"] span:nth-child(3){width:21px;transform:translateY(-6.8px) rotate(-45deg)}
.drawer-open{overflow:hidden}.site-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;border-left:1px solid #d2bea055;background:#201e19;color:#eae5d9;overflow:auto;box-shadow:-25px 0 100px #0006}
.site-drawer[open]{display:flex;flex-direction:column;animation:drawer-in .35s ease-out}.site-drawer::backdrop{background:#111a;backdrop-filter:blur(5px)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:25px 30px;border-bottom:1px solid #d2bea033}.drawer-tabs{display:flex;gap:4px}.drawer-tabs button,.drawer-close{background:transparent;color:#eae5d9;border:1px solid #d2bea055;padding:12px 20px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.drawer-tabs button[aria-selected="true"]{background:#d2bea0;color:#201e19}.drawer-close{font-size:26px;border:0;padding:0 10px}.drawer-status{margin:20px 30px 0;align-self:flex-start}.drawer-links{display:grid;margin-top:20px}.drawer-links>a,.drawer-links>button{display:flex;align-items:center;gap:20px;padding:24px 30px;border:0;border-bottom:1px solid #d2bea024;background:none;color:#eae5d9;text-align:left;transition:background .3s,padding .3s}.drawer-links small{color:#d2bea0;font-size:10px}.drawer-links span{flex:1}.drawer-links b{display:block;font-size:20px;font-weight:400}.drawer-links em{display:block;font-size:11px;font-style:normal;color:#b3afa4}.drawer-links i{font-style:normal}.drawer-links>a:hover,.drawer-links>button:hover,.drawer-links [aria-current="page"]{background:#d2bea012;padding-left:36px}.drawer-jumps{padding:25px 30px}.drawer-jumps>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#b3afa4}.drawer-jumps>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.drawer-jumps a{border:1px solid #d2bea055;padding:6px 12px;border-radius:30px;font-size:11px}.drawer-jumps a:hover{background:#d2bea0;color:#201e19}.drawer-footer{margin-top:auto;padding:25px 30px;border-top:1px solid #d2bea033;display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#d2bea0}.ai-intro,.ai-connection-note{margin:25px 30px}.ai-intro h3{font-size:38px;line-height:1.12}.ai-intro h3 em{font-family:'Italiana',serif;color:#d2bea0}.ai-intro p,.ai-connection-note p{font-size:13px;color:#b3afa4}.ai-connection-note{border:1px solid #d2bea044;padding:22px}.ai-connection-note strong{font-weight:500;font-size:14px}.ai-disclaimer{font-size:11px;color:#b3afa4;padding:0 30px}.ai-launcher{position:fixed;right:25px;bottom:25px;z-index:45;background:#d2bea0;color:#201e19;border:1px solid #eae5d9;border-radius:40px;padding:13px 20px;font-size:12px;box-shadow:0 8px 30px #0003;transition:transform .3s,background .3s}.ai-launcher:hover{background:#eae5d9;transform:translateY(-3px)}
.ai-section{border-top:1px solid #d2bea033}.ai-section-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.ai-section h2{font-size:clamp(40px,4.3vw,66px)}.ai-section h2 em{color:#d2bea0}.ai-section p{color:#b3afa4;font-size:13px;max-width:480px}.ai-section .text-link{display:flex;margin-top:20px}.ai-features{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ai-features article{border:1px solid #d2bea033;padding:25px;transition:border-color .3s,transform .3s}.ai-features article:hover{border-color:#d2bea0;transform:translateY(-4px)}.ai-features article>span{font-size:8px;letter-spacing:.1em;color:#d2bea0}.ai-features h3{font-size:25px;margin:20px 0 12px}.ai-features p{font-size:12px;margin-bottom:0}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(min-width:1600px){body[data-page] .original-content .chero>.hours-status{left:calc((100vw - 1480px)/2)}}
@media(max-width:1100px){body .nav-links{display:none!important}.ai-section-grid{gap:35px}}
@media(max-width:1000px){body[data-page] .original-content .chero>.hours-status{left:35px}}
@media(max-width:700px){body[data-page] .original-content .chero>.hours-status{top:103px;left:22px}body[data-page] .original-content .chero{padding-top:162px!important}.drawer-head{padding:20px}.drawer-status{margin-left:20px;margin-right:20px}.drawer-links>a,.drawer-links>button{padding:20px}.drawer-jumps,.drawer-footer{padding:20px}.ai-intro,.ai-connection-note{margin:20px}.ai-section-grid{grid-template-columns:1fr}.ai-features{gap:10px}.ai-features article{padding:18px}.ai-launcher{right:18px;bottom:20px;padding:11px 15px}}
@media(prefers-reduced-motion:reduce){.site-drawer[open]{animation:none}.menu-toggle span,.drawer-links>a,.drawer-links>button,.ai-launcher,.ai-features article{transition:none!important}}

/* Drawer hours align with the two tabs, as on the original website. */
body .drawer-head{gap:12px;padding:24px}
body .drawer-head .drawer-status{margin:0 0 0 auto;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;align-self:center;font-size:8px;letter-spacing:.04em;white-space:nowrap;gap:7px}
body .drawer-head .drawer-tabs{flex-shrink:0}
body .drawer-head .drawer-tabs button{padding:11px 15px}
body .drawer-head .drawer-close{padding:0 0 0 8px;flex-shrink:0}
@media(max-width:500px){body .drawer-head{gap:8px;padding:20px 16px}body .drawer-head .drawer-tabs button{font-size:9px;padding:10px 11px}body .drawer-head .drawer-status [data-hours-text]{font-size:0}body .drawer-head .drawer-status [data-hours-text]:after{font-size:9px;content:'Hours'}body .drawer-head .drawer-status[data-state="closed"] [data-hours-text]:after{content:'Closed'}body .drawer-head .drawer-status[data-state="open"] [data-hours-text]:after{content:'Open'}}

/* Audit: keep in-page navigation below the actual fixed header. */
html{scroll-padding-top:125px}
body .original-content{overflow:visible}
body .original-content .pswitch,body .original-content .ltoc{top:117px}
@media(max-width:700px){html{scroll-padding-top:103px}body .original-content .pswitch{top:95px}}

.skip-link{position:fixed;left:16px;top:12px;z-index:100;background:#eae5d9;color:#201e19;padding:12px 20px;transform:translateY(-180%)}.skip-link:focus{transform:none}

body .original-content .info{top:117px}
@media(max-width:700px){body .original-content .info{top:95px}}
/* Requested 10% enlargement, scoped to drawer status only. */
body .drawer-head .drawer-status{font-size:8.8px;gap:7.7px}
body .drawer-head .drawer-status .hours-dot{width:8.8px;height:8.8px;flex-basis:8.8px}
@media(max-width:500px){body .drawer-head .drawer-status [data-hours-text]:after{font-size:9.9px}}
/* Mobile Home: align the two caption lines with the live-status text. */
@media(max-width:700px){body[data-page="home"] .hero-topline{left:49px;right:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px}body[data-page="home"] .hero-topline>span{display:block;text-align:left}}
/* Mobile caption type: 7px × 1.10, preserving the shared left alignment. */
@media(max-width:700px){body[data-page="home"] .hero-topline{font-size:7.7px}}
/* Lift only the mobile hero's supporting copy and circular Explore link. */
@media(max-width:700px){body[data-page="home"] .hero-bottom{position:relative;top:-24px}}
/* Improve readability of both image-footer captions on desktop and phone. */
body[data-page="home"] .hero-caption{font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.045em;color:#eae5d9;text-shadow:0 1px 4px #000b;gap:24px}
@media(max-width:700px){body[data-page="home"] .hero-caption{font-size:10.5px;flex-direction:column;align-items:flex-start;gap:5px;bottom:30px}body[data-page="home"] .hero-caption span:last-child{display:block}}

/* Unified, shorter phone status on every page and in each shared component. */
@media(max-width:700px){
 body[data-page] [data-business-hours]{font-size:8.5px!important;line-height:1.6;letter-spacing:.04em!important;gap:6px!important;padding:5px 9px}
 body[data-page] [data-business-hours] .hours-dot{width:7px!important;height:7px!important;flex:0 0 7px!important}
 body[data-page] [data-business-hours] [data-hours-text]{font-size:inherit!important}
 body[data-page] [data-business-hours] [data-hours-text]:after{content:none!important}
 body[data-page] .drawer-head .drawer-status{padding:0}
 body[data-page="home"] .hero-topline{left:45px}
}
body[data-page="home"] .hero-caption{justify-content:flex-end}
@media(max-width:700px){body[data-page="home"] .hero-caption{align-items:flex-start}}
/* Give the mobile hero group additional clearance above the floating AI control. */
@media(max-width:700px){body[data-page="home"] .hero-content{bottom:150px}}
/* Requested additional 7% mobile type increase. */
@media(max-width:700px){body[data-page="home"] .hero-topline{font-size:8.239px}body .brand{font-size:10.7px}}

.nav-contact span svg{display:block;width:16px;height:16px}

.inline-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em}.drawer-links i .inline-arrow{display:block;width:18px;height:18px}

/* Contact: request draft first, supporting contact information below it. */
body[data-page="contact"] .cgrid{grid-template-columns:minmax(0,1fr);max-width:1100px}
body[data-page="contact"] .cgrid>.info{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body[data-page="contact"] .cgrid>.info>.next{grid-column:1/-1}
@media(max-width:700px){body[data-page="contact"] .cgrid>.info{grid-template-columns:1fr}}

/* Keep Projects tabs within very narrow phone screens while preserving 44px tap targets. */
@media(max-width:360px){body[data-page="projects"] .pswitch{width:calc(100% - 32px);max-width:calc(100% - 32px);gap:4px;padding:4px}body[data-page="projects"] .pswitch a{flex:1;min-width:0;justify-content:center;padding:0 8px;gap:5px;font-size:10px;letter-spacing:.08em}}
