@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');

:root{--navy:#011b36;--navy-soft:#092741;--surface:#06213c;--gold:#cda160;--gold-light:#e7c691;--gold-dark:#cda160;--paper:#f4efe7;--ink:#f4efe7;--muted:#bac5ce;--line:#cda16038;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:#fff;color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold-light);outline-offset:5px}svg{display:inline-block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;padding:10px 20px;background:var(--gold);color:var(--navy);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--navy);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:16px;flex:none}.brand-icon{width:36px;height:36px;color:var(--gold-dark);transform:rotate(-12deg);stroke-width:1.1}.brand-name{display:block;font-family:Georgia,serif;font-size:23px;letter-spacing:1.5px;line-height:1.25}.brand-subtitle{display:block;font-size:10px;letter-spacing:4px;margin-top:5px}nav{display:flex;gap:36px;align-items:center;font-size:14px;font-weight:500}nav>a:not(.nav-visit){padding:10px 0}nav>a:hover{color:var(--gold-dark)}.nav-visit{border:1px solid #172d3b40;padding:10px 19px;display:flex;gap:20px;align-items:center}.nav-visit .icon{width:18px;height:18px}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:655px;background:var(--navy);color:var(--paper)}.hero-copy{padding:70px 50px 38px max(56px,calc((100vw - 1200px)/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;line-height:1.5;color:var(--gold-dark)}.hero .eyebrow{color:var(--gold);display:flex;align-items:center;gap:13px}.eyebrow>span{width:29px;height:1px;background:var(--gold)}h1{font-family:var(--serif);font-size:clamp(64px,6.5vw,100px);line-height:.99;letter-spacing:-1.7px;margin:28px 0 27px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-2px;font-size:.84em}h1 em{color:var(--gold)}.hero-description{color:var(--muted);line-height:1.8;font-size:16px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 23px;font-size:14px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button .icon{width:19px;height:19px}.button-gold{background:var(--gold);color:var(--navy)}.button-gold:hover{background:var(--gold-light)}.text-link{font-size:14px;display:inline-flex;gap:10px;align-items:center;white-space:nowrap}.text-link .icon{width:18px;height:18px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-note{display:flex;gap:12px;align-items:center;margin-top:43px;padding-top:23px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);max-width:470px}.hero-note .icon{width:18px;height:18px;color:var(--gold)}.hero-note strong{font-weight:500;color:var(--paper)}.hero-visual{position:relative;overflow:hidden;min-height:655px;background:var(--surface)}.hero-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#011b36c4,transparent 50%)}.photo-caption{position:absolute;left:42px;bottom:36px;right:30px;display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:2.5px;color:var(--gold-light);line-height:2}.caption-line{width:1px;height:44px;background:var(--gold)}.photo-caption strong{font:italic 28px Georgia,serif;letter-spacing:-.6px;color:var(--paper)}.service-strip{background:var(--surface);border-block:1px solid var(--line)}.service-strip-inner{display:flex;justify-content:space-around;align-items:center;padding-block:26px;gap:24px}.service-strip span{display:flex;gap:13px;align-items:center;font-size:14px}.service-strip .icon{width:21px;height:21px;color:var(--gold-dark)}
.prices-section{padding-block:94px 64px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px}h2{font-family:var(--serif);font-size:58px;line-height:1.04;letter-spacing:-.8px;margin-top:15px}h2 em{font-size:.87em;color:var(--gold)}.section-intro{max-width:415px;padding-bottom:3px;line-height:1.7}.section-intro>p:first-child{font-size:16px}.price-note{font-size:14px;color:var(--muted);margin-top:16px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:52px;row-gap:48px}.price-category{border-top:1px solid var(--gold);padding-top:19px}.category-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.category-heading h3{color:var(--gold);font-family:var(--serif);font-size:31px;line-height:1.2}.category-heading>span{font-size:12px;letter-spacing:1px;color:var(--gold-dark)}dl{margin:0}dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.price-category dl>div{font-size:14px;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.55}.price-category dl>div:last-child{border-bottom:0}.price-category dt{max-width:75%}.price-category dd{color:var(--gold-light);white-space:nowrap;font-size:17px;font-weight:550;font-variant-numeric:tabular-nums;margin:0}.price-category dd small{font-size:11px;font-weight:400;color:var(--muted);padding-right:3px}.price-category dd.on-request{font-size:13px;font-weight:400}.price-list-footer{border-top:1px solid var(--line);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;color:var(--muted)}.price-list-footer a{display:flex;align-items:center;gap:8px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}.price-list-footer .icon{width:18px;height:18px}
.express-section{background:var(--surface);color:var(--paper);border-block:1px solid var(--line)}.express-inner{display:flex;align-items:center;gap:54px;padding-block:58px}.express-symbol{width:150px;height:150px;border:1px solid var(--gold);border-radius:50%;flex:none;position:relative;display:flex;justify-content:center;align-items:center}.express-symbol>.icon{position:absolute;top:-13px;width:25px;height:25px;background:var(--surface);box-shadow:0 0 0 10px var(--surface);color:var(--gold)}.express-symbol>span{font:66px var(--serif);text-align:center;color:var(--gold);line-height:1}.express-symbol>span>span{display:block;font:11px var(--sans);letter-spacing:3px;margin-top:10px}.express-copy{flex:1}.express-copy .eyebrow{color:var(--gold)}.express-copy h2{font-size:45px}.express-copy h2 em{color:var(--gold);font-size:.9em}.express-copy>p:last-child{font-size:14px;color:var(--muted);max-width:440px;margin-top:20px;line-height:1.75}.button-outline{border:1px solid var(--gold);color:var(--gold);white-space:nowrap}.button-outline:hover{background:var(--gold);color:var(--navy)}
.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:90px 55px}.visit-copy>p:not(.eyebrow){color:var(--muted);max-width:390px;margin-top:26px}.location-line{display:flex;gap:13px;align-items:flex-start;margin-top:30px;font-size:14px;color:var(--muted);line-height:1.8}.location-line .icon{color:var(--gold-dark);margin-top:4px;width:21px;height:21px}.location-line strong{color:var(--ink);font-weight:550}.button-navy{background:var(--gold);color:var(--navy);margin-top:25px}.button-navy:hover{background:var(--gold-light)}.hours-card{background:var(--surface);border:1px solid var(--gold);padding:35px 43px;text-align:center;align-self:center;position:relative}.hours-card:before{content:'';position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}.hours-heading>.icon{color:var(--gold-dark);width:25px;height:25px}.hours-heading h3{color:var(--gold);font-family:var(--serif);font-size:43px;margin-top:8px;line-height:1.2}.hours-heading p{color:var(--muted);font-size:14px;margin-top:8px}.hours{margin-top:24px;text-align:left}.hours>div{padding:14px 0;border-top:1px solid var(--line);font-size:14px;gap:12px}.hours dd{color:var(--gold-light);margin:0;font-weight:550;white-space:nowrap}.hours-bottom{border-top:1px solid var(--line);margin-top:0;padding-top:24px;display:flex;gap:12px;align-items:center;justify-content:center}.hours-bottom .icon{color:var(--gold-dark);width:30px;height:30px}.hours-bottom p{font:19px var(--serif);line-height:1.3;text-align:left}.hours-bottom em{font:italic 16px Georgia,serif;color:var(--gold-dark)}.map-section{margin-bottom:75px;position:relative}.map-section iframe{display:block;width:100%;height:300px;border:1px solid var(--gold);background:#f6f4ef;color-scheme:light}.map-section>a{position:absolute;bottom:20px;left:20px;background:var(--navy);color:var(--gold);border:1px solid var(--gold);padding:12px 18px;box-shadow:0 3px 12px #00000015;display:flex;align-items:center;gap:16px;font-size:14px}.map-section>a .icon{width:19px;height:19px}.site-footer{background:var(--navy);color:var(--paper);padding-block:36px;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .brand-icon{color:var(--gold)}.site-footer .brand-name{font-size:20px}.site-footer .brand-subtitle{font-size:9px}.site-footer p{font:italic 22px Georgia,serif;color:var(--gold)}.site-footer .footer-inner>span{font-size:12px;color:var(--muted)}
/* A light hero panel creates a clear transition below the navy header. */
.hero-copy{--muted:#586674;--line:#ddd4c4;background:#fcfbf8;color:var(--navy)}
.hero-copy .eyebrow,.hero-copy h1 em,.hero-copy .hero-note .icon{color:#87632f}
.hero-copy .hero-note strong{color:var(--navy)}
.hero-copy a:focus-visible{outline-color:#87632f}
/* White content sections balance the navy brand panels. */
.prices-section,.visit-section,.service-strip{--ink:#011b36;--muted:#586674;--line:#e3ddd2;--gold:#8b6632;--gold-light:#735125;--gold-dark:#87632f;color:var(--ink)}
.service-strip{background:#f6f4ef}
.prices-section,.visit-section{background:#fff}
.category-heading h3,.price-category dd{color:var(--navy)}
.price-category{border-top-color:#cda160}
.visit-section .button-navy{background:var(--navy);color:#fff}
.visit-section .button-navy:hover{background:var(--navy-soft)}
.hours-card{--ink:#f4efe7;--muted:#bac5ce;--line:#cda16038;--gold:#cda160;--gold-light:#e7c691;--gold-dark:#cda160;color:var(--paper)}
:is(.prices-section,.visit-section,.map-section) a:focus-visible{outline-color:#87632f}

/* Shop-sign branding: original sewing-machine emblem, navy and gold. */
::selection{background:var(--gold);color:var(--navy)}
.price-list-footer a:hover{color:var(--gold-light)}
.map-section>a:hover{background:var(--gold);color:var(--navy)}
.site-header{background:#011b36;color:#cda160;border-bottom:1px solid #cda160}
.site-header::after{content:'';position:absolute;inset:8px 12px;border:1px solid #cda16099;border-radius:8px;pointer-events:none}
.site-header .brand{color:#cda160}
.site-header nav>a:hover{color:#fff3dd}
.site-header .nav-visit{border-color:#cda160}
.site-header .nav-visit:hover{background:#cda160;color:#011b36}
.site-header a:focus-visible{outline-color:#f0cb89}
.brand-machine{display:block;width:48px;height:32px;flex:none;background-image:url('assets/price-list.jpeg');background-size:711.111111% auto;background-position:50% 2.361111%;background-repeat:no-repeat}
.site-footer{background:#011b36}
.site-footer .brand{color:#cda160}
@media(max-width:580px){.brand-machine{width:33px;height:22px}.site-header::after{inset:6px 8px;border-radius:5px}}
@media(min-width:1600px){.hero-copy{padding-block:85px}.hero{min-height:730px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-copy{padding-left:32px;padding-right:30px}.hero-actions{gap:20px;flex-wrap:wrap}.hero,.hero-visual{min-height:650px}h1{font-size:76px}.price-grid{column-gap:30px}.price-category dt{max-width:70%}.category-heading h3{font-size:28px}.express-inner{gap:32px}.express-symbol{width:120px;height:120px}.express-copy h2{font-size:39px}.visit-section{gap:55px}.hours-card{padding:33px 28px}.price-category dd small{display:block;line-height:1;font-size:10px}.price-category dd{text-align:right}}
@media(max-width:800px){html{scroll-padding-top:100px}.header-inner{min-height:88px}.brand-name{font-size:19px}.brand-subtitle{font-size:9px;letter-spacing:3px}.brand{gap:11px}.brand-icon{width:29px;height:29px}nav{gap:24px}nav>a:nth-child(2){display:none}.hero-copy{padding:55px 32px 30px}.hero,.hero-visual{min-height:595px}h1{font-size:66px}.hero-description{font-size:15px}.hero-note{font-size:12px;margin-top:32px;align-items:flex-start}.hero-note .icon{margin-top:2px}.hero-actions{margin-top:25px;gap:20px}.photo-caption{left:25px;bottom:28px}.photo-caption strong{font-size:23px}.service-strip-inner{gap:20px;justify-content:space-between}.service-strip span{font-size:12px;gap:8px}.service-strip .icon{width:18px;height:18px}.prices-section{padding-top:65px}.section-heading{gap:40px}h2{font-size:49px}.section-intro{max-width:280px}.section-intro>p:first-child{font-size:14px}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px;row-gap:38px}.price-category dt{max-width:75%}.price-category dd small{display:inline;font-size:11px}.express-inner{flex-wrap:wrap;gap:30px}.express-copy h2{font-size:42px}.express-inner>.button{margin-left:150px}.express-copy{min-width:300px}.visit-section{gap:32px;padding-block:65px 40px}.visit-copy>p:not(.eyebrow){font-size:14px}.hours-card{padding:30px 24px}.hours>div{flex-direction:column;gap:4px;text-align:center;align-items:center}.hours-heading h3{font-size:38px}.hours-heading p{font-size:13px}.site-footer .footer-inner>span{display:none}.price-list-footer{align-items:flex-start}.desktop-break{display:none}}
@media(max-width:580px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:12px}.brand-name{font-size:16px;letter-spacing:1px}.brand-subtitle{font-size:8px;letter-spacing:2.4px}.brand-icon{width:25px;height:25px}.brand{gap:9px}nav{gap:16px;font-size:13px}.nav-visit{padding:7px 10px;gap:4px}.nav-visit .icon{width:15px;height:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:46px 25px 28px}.hero .eyebrow{font-size:11px}h1{font-size:76px;margin:23px 0}.hero-description{font-size:16px;max-width:330px}.hero-actions{gap:25px;margin-top:27px}.button{padding:15px 19px;gap:16px;font-size:13px}.text-link{font-size:13px}.hero-note{margin-top:31px;font-size:11px;padding-top:19px}.hero-visual{min-height:320px;max-height:400px}.hero-visual>img{object-position:center 48%}.photo-caption{bottom:23px;left:25px}.service-strip-inner{flex-direction:column;align-items:flex-start;padding-block:20px;gap:10px;width:max-content;max-width:calc(100% - 40px)}.service-strip span{font-size:13px;gap:13px}.prices-section{padding-top:55px;padding-bottom:40px}.section-heading{display:block;margin-bottom:34px}h2{font-size:49px}.section-intro{max-width:100%;margin-top:23px}.section-intro>p:first-child{font-size:15px}.price-note{font-size:13px;margin-top:12px}.price-grid{grid-template-columns:1fr;row-gap:30px}.category-heading{margin-bottom:10px}.category-heading h3{font-size:31px}.price-category dl>div{padding:11px 0;font-size:15px}.price-category dd{font-size:18px}.price-category dt{max-width:76%}.price-list-footer{display:block;margin-top:30px;font-size:12px}.price-list-footer>a{margin-top:16px;font-size:13px}.express-inner{padding-block:45px;gap:28px;align-items:flex-start}.express-symbol{width:82px;height:82px;margin-top:6px}.express-symbol>span{font-size:38px}.express-symbol>span>span{font-size:8px;letter-spacing:2px;margin-top:5px}.express-symbol>.icon{width:19px;height:19px;top:-10px;box-shadow:0 0 0 6px var(--surface)}.express-copy{min-width:0;flex:1}.express-copy .eyebrow{font-size:10px;letter-spacing:1.6px}.express-copy h2{font-size:32px;line-height:1.12;letter-spacing:-.6px}.express-copy h2 em{letter-spacing:-1px;font-size:.86em}.express-copy>p:last-child{font-size:13px;margin-top:16px}.express-inner>.button{margin-left:110px;margin-top:-6px}.visit-section{grid-template-columns:1fr;padding-top:55px;gap:35px}.visit-copy>p:not(.eyebrow){font-size:15px;max-width:360px}.hours-card{padding:34px 30px}.hours>div{flex-direction:row;justify-content:space-between;gap:15px}.hours-heading h3{font-size:42px}.hours-heading p{font-size:14px}.map-section{margin-bottom:45px}.map-section iframe{height:270px}.map-section>a{left:12px;bottom:12px;font-size:12px;padding:10px 13px}.footer-inner{flex-direction:column;gap:23px;align-items:center}.site-footer{padding-block:32px}.site-footer p{font-size:20px}}
@media(max-width:580px){h1{font-size:clamp(2.7rem,15.5vw,4.5rem)}}
@media(max-width:360px){.header-inner{flex-wrap:wrap;justify-content:center;padding-block:13px;gap:10px}.hero-copy{padding-inline:20px}.express-inner{flex-direction:column}.express-inner>.button{margin-left:0}.hours>div{flex-direction:column;align-items:center}.price-category dt{min-width:0}.price-category dd{font-size:16px}h2{font-size:42px}.price-list-footer a{align-items:flex-start}.map-section>a{font-size:11px;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
