:root {
    --navy: #0b1f3a;
    --gold: #f4b400;
    --ink: #102033;
    --muted: #667085;
    --white: #ffffff;
    --soft: #f8fafc;
    --line: rgba(11, 31, 58, .12);
    --shadow: 0 22px 70px rgba(11, 31, 58, .14);
    --radius: 28px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--ink); background:var(--white); overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.page-loader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; align-content:center; gap:16px; background:var(--navy); color:var(--white); transition:opacity .45s ease, visibility .45s ease; }
.page-loader.hidden { opacity:0; visibility:hidden; }
.loader-mark { width:76px; height:76px; border:3px dashed var(--gold); border-radius:50%; display:grid; place-items:center; font-weight:900; animation:spin 1.5s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.site-header { position:sticky; top:0; z-index:1000; min-height:78px; padding:14px 5vw; display:flex; align-items:center; justify-content:space-between; gap:22px; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); transition:box-shadow .25s ease, min-height .25s ease; }
.site-header.scrolled { min-height:68px; box-shadow:0 14px 35px rgba(11,31,58,.08); }
.brand { display:inline-flex; align-items:center; gap:12px; min-width:max-content; }
.brand-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-weight:900; box-shadow:8px 8px 0 rgba(244,180,0,.22); }
.brand-copy strong { display:block; color:var(--navy); font-size:1.05rem; line-height:1; }
.brand-copy small { color:var(--muted); font-size:.76rem; font-weight:800; }
.main-nav { display:flex; align-items:center; gap:8px; }
.main-nav > a, .drop-trigger { border:0; background:transparent; cursor:pointer; font:inherit; color:var(--navy); font-weight:800; padding:12px 10px; border-radius:999px; transition:background .2s ease, color .2s ease; }
.main-nav > a:hover, .main-nav > a.active, .drop-trigger:hover, .nav-dropdown.active .drop-trigger { background:rgba(244,180,0,.18); }
.nav-cta { background:var(--gold)!important; color:var(--navy)!important; padding-inline:17px!important; box-shadow:0 12px 28px rgba(244,180,0,.24); }
.nav-dropdown { position:relative; }
.drop-trigger span { font-size:.8rem; }
.drop-menu { position:absolute; top:calc(100% + 12px); left:0; min-width:245px; padding:10px; border-radius:18px; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.nav-dropdown:hover .drop-menu, .nav-dropdown.open .drop-menu { opacity:1; visibility:visible; transform:translateY(0); }
.drop-menu a { display:block; padding:12px 14px; border-radius:12px; color:var(--navy); font-weight:800; }
.drop-menu a:hover { background:rgba(244,180,0,.18); }
.nav-toggle { display:none; width:46px; height:46px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--navy); margin:5px auto; transition:.2s ease; }
.nav-toggle.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.active span:nth-child(2){ opacity:0; }
.nav-toggle.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.section-pad { padding:92px 6vw; }
.section-soft, .section-line, .section-dots, .section-waves, .section-grid { position:relative; overflow:hidden; }
.section-soft { background:linear-gradient(180deg, rgba(244,180,0,.06), rgba(11,31,58,.025)); }
.section-line { background:var(--white); }
.section-dots { background:rgba(11,31,58,.025); }
.section-waves { background:rgba(244,180,0,.045); }
.section-grid { background:rgba(11,31,58,.035); }
.section-line::before, .section-dots::before, .section-waves::before, .section-grid::before, .hero::before, .page-hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5; }
.section-line::before { background:repeating-linear-gradient(135deg, transparent 0 58px, rgba(11,31,58,.028) 59px 60px); opacity:.5; }
.section-dots::before { background-image:radial-gradient(circle, rgba(244,180,0,.12) 1px, transparent 1.6px); background-size:58px 58px; opacity:.5; }
.section-grid::before { background-image:linear-gradient(90deg, rgba(11,31,58,.024) 1px, transparent 1px), linear-gradient(rgba(244,180,0,.045) 1px, transparent 1px); background-size:82px 82px; opacity:.5; }
.section-waves::before { background:radial-gradient(70% 60% at 10% 20%, rgba(244,180,0,.07), transparent 60%), radial-gradient(65% 50% at 90% 70%, rgba(11,31,58,.04), transparent 60%); opacity:.5; }
.section-pad > *, .hero > *, .page-hero > * { position:relative; z-index:1; }
.hero { min-height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); align-items:center; gap:48px; background:linear-gradient(135deg, rgba(11,31,58,.04), rgba(244,180,0,.09)); position:relative; overflow:hidden; }
.hero::before { background:radial-gradient(circle at 82% 12%, rgba(244,180,0,.18), transparent 26%), radial-gradient(circle at 8% 88%, rgba(11,31,58,.09), transparent 28%); }
.page-hero { padding:92px 6vw 72px; position:relative; overflow:hidden; background:linear-gradient(135deg, rgba(11,31,58,.05), rgba(244,180,0,.08)); }
.page-hero::before { background:repeating-linear-gradient(135deg, transparent 0 34px, rgba(244,180,0,.12) 35px 36px); }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--navy); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.eyebrow span { width:32px; height:3px; background:var(--gold); border-radius:999px; }
h1,h2,h3 { color:var(--navy); letter-spacing:-.045em; margin:0; }
h1 { font-size:clamp(1.8rem,6vw,4.8rem); line-height:.95; max-width:980px; }
h2 { font-size:clamp(2rem,4vw,3.25rem); line-height:1.04; }
h3 { font-size:1.35rem; }
p { line-height:1.7; }
.hero-text, .lead, .section-heading p:not(.eyebrow), .service-card p, .price-card p, .content-card p, .faq-list p { color:var(--muted); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:28px 0; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:0 24px; border-radius:999px; font-weight:900; transition:transform .2s ease, box-shadow .2s ease; border:2px solid transparent; cursor:pointer; }
.btn-primary { background:var(--gold); color:var(--navy); box-shadow:0 18px 35px rgba(244,180,0,.28); }
.btn-secondary { background:var(--white); color:var(--navy); border-color:var(--line); }
.btn:hover { transform:translateY(-3px); }
.trust-strip { display:flex; gap:10px; flex-wrap:wrap; }
.trust-strip span { padding:10px 13px; border-radius:999px; background:var(--white); color:var(--navy); font-weight:900; border:1px solid var(--line); box-shadow:0 10px 24px rgba(11,31,58,.06); }
.hero-art { position:relative; min-height:520px; display:grid; place-items:center; }
.stitch-frame { width:min(430px,88vw); aspect-ratio:1; border-radius:44px; background:var(--white); border:2px solid rgba(11,31,58,.12); box-shadow:var(--shadow); position:relative; display:grid; place-items:center; overflow:hidden; }
.stitch-frame::before { content:""; position:absolute; inset:18px; border:2px dashed rgba(11,31,58,.18); border-radius:34px; }
.thread-circle { width:64%; aspect-ratio:1; border-radius:50%; border:14px solid var(--gold); box-shadow:inset 0 0 0 12px rgba(11,31,58,.08); animation:pulse 3s ease-in-out infinite; }
.monogram { position:absolute; color:var(--navy); font-size:clamp(3rem,8vw,5.6rem); font-weight:900; letter-spacing:-.11em; }
.stitch-lines { position:absolute; bottom:46px; display:grid; gap:8px; width:60%; }
.stitch-lines i { height:5px; border-radius:999px; background:linear-gradient(90deg,var(--navy),var(--gold)); transform-origin:left; animation:grow 2.8s ease-in-out infinite; }
.stitch-lines i:nth-child(even){ animation-delay:.35s; }
@keyframes grow { 50% { transform:scaleX(.45); opacity:.65; } }
@keyframes pulse { 50% { transform:scale(1.05); } }
.floating-tag { position:absolute; padding:14px 18px; border-radius:18px; background:var(--navy); color:var(--gold); font-weight:900; box-shadow:var(--shadow); animation:float 3s ease-in-out infinite; }
.tag-one { top:74px; left:8%; }
.tag-two { right:3%; bottom:76px; animation-delay:.7s; }
@keyframes float { 50% { transform:translateY(-13px); } }
.stats-bar { margin:-46px 6vw 0; position:relative; z-index:5; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:18px; border-radius:var(--radius); background:var(--navy); box-shadow:var(--shadow); }
.stats-bar article { text-align:center; padding:22px 14px; border-radius:22px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.stats-bar strong { display:block; color:var(--gold); font-size:clamp(2rem,4vw,3.1rem); line-height:1; }
.stats-bar span { color:var(--white); font-weight:800; }
.section-heading { max-width:860px; margin:0 auto 48px; text-align:center; }
.section-heading .eyebrow { justify-content:center; }
.service-grid, .pricing-grid, .gallery-grid, .feature-grid, .contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-card, .price-card, .gallery-card, .faq-list details, .content-card, .contact-card, .legal-card { background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 18px 42px rgba(11,31,58,.07); }
.service-card, .price-card, .content-card, .contact-card, .legal-card { padding:32px; }
.service-card { position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.service-card::before { content:""; position:absolute; inset:0 0 auto; height:7px; background:linear-gradient(90deg,var(--navy),var(--gold)); }
.service-card:hover, .price-card:hover, .gallery-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.service-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:20px; background:rgba(244,180,0,.18); font-size:2rem; margin-bottom:22px; }
ul { padding-left:19px; margin-bottom:0; color:var(--ink); font-weight:800; line-height:1.9; }
.gallery-card { overflow:hidden; margin:0; transition:.25s ease; }
.gallery-thumb { aspect-ratio:4/3; width:100%; display:grid; place-items:center; position:relative; background:var(--navy); overflow:hidden; }
.gallery-thumb::before { content:""; position:absolute; inset:0; background-size:42px 42px; opacity:.5; }
.gallery-thumb span { position:relative; z-index:2; padding:14px 18px; border-radius:16px; background:var(--gold); color:var(--navy); font-weight:900; text-align:center; }
.embroidery-pattern::before { background-image:radial-gradient(circle, var(--gold) 1.6px, transparent 2px); }
.vector-pattern::before { background-image:linear-gradient(45deg, transparent 47%, var(--gold) 48%, var(--gold) 52%, transparent 53%); }
.patch-pattern::before { background-image:linear-gradient(90deg, var(--gold) 1px, transparent 1px), linear-gradient(var(--gold) 1px, transparent 1px); }
.gallery-card figcaption { padding:18px; font-weight:900; color:var(--navy); }
.split-section { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:50px; }
.fabric-board { min-height:430px; border-radius:42px; background-color:var(--white); background-image:linear-gradient(90deg, rgba(11,31,58,.08) 1px, transparent 1px), linear-gradient(rgba(244,180,0,.12) 1px, transparent 1px); background-size:36px 36px; box-shadow:var(--shadow); position:relative; overflow:hidden; border:1px solid var(--line); }
.fabric-board span { position:absolute; border-radius:50%; background:var(--gold); box-shadow:0 0 0 12px rgba(244,180,0,.12); }
.fabric-board span:nth-child(1){ width:110px;height:110px;left:18%;top:18%;}
.fabric-board span:nth-child(2){ width:70px;height:70px;right:18%;top:30%;background:var(--navy);}
.fabric-board span:nth-child(3){ width:145px;height:145px;left:34%;bottom:18%;}
.fabric-board span:nth-child(4){ width:42px;height:42px;right:15%;bottom:16%;background:var(--navy);}
.scan-line { position:absolute; inset:0; height:110px; background:linear-gradient(180deg, transparent, rgba(244,180,0,.20), transparent); animation:scan 4.5s ease-in-out infinite; }
@keyframes scan { from { transform:translateY(-120px); } to { transform:translateY(500px); } }
.check-list p { margin:12px 0; padding:15px 17px; border-radius:17px; background:rgba(244,180,0,.12); font-weight:900; color:var(--navy); }
.price-card { transition:.25s ease; }
.price-card.featured { border:2px solid var(--gold); transform:translateY(-8px); }
.price-card strong { display:block; color:var(--navy); font-size:2rem; margin:18px 0; }
.price-card a { display:inline-flex; padding:13px 17px; border-radius:999px; background:var(--navy); color:var(--gold); font-weight:900; }
.marquee { overflow:hidden; border-block:1px solid var(--line); background:var(--white); }
.marquee-track { display:flex; gap:16px; width:max-content; padding:22px 0; animation:marquee 24s linear infinite; }
.marquee span { min-width:82px; text-align:center; padding:12px 16px; border-radius:16px; background:var(--navy); color:var(--gold); font-weight:900; box-shadow:0 10px 24px rgba(11,31,58,.12); }
@keyframes marquee { to { transform:translateX(-50%); } }
.faq-list { max-width:880px; margin:0 auto; display:grid; gap:14px; }
.faq-list details { padding:20px 22px; }
.faq-list summary { cursor:pointer; color:var(--navy); font-weight:900; font-size:1.05rem; }
.quote-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:34px; padding:42px; border-radius:38px; color:var(--white); background:var(--navy); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.quote-card::before { content:""; position:absolute; inset:0; opacity:.5; background:radial-gradient(circle at top right, rgba(244,180,0,.28), transparent 35%), linear-gradient(135deg, transparent 0 70%, rgba(244,180,0,.12) 70%); }
.quote-card > * { position:relative; z-index:1; }
.quote-card h2, .quote-card .eyebrow { color:var(--white); }
.quote-card p { color:rgba(255,255,255,.82); }
.quote-form { display:grid; gap:14px; }
.quote-form label { display:grid; gap:7px; font-weight:900; color:var(--white); }
.quote-form input, .quote-form select, .quote-form textarea { width:100%; border:1px solid rgba(255,255,255,.22); border-radius:16px; padding:15px 16px; font:inherit; outline:none; color:var(--navy); background:var(--white); }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { box-shadow:0 0 0 4px rgba(244,180,0,.34); }
.input-help, .form-note { color:rgba(255,255,255,.76); font-weight:700; }
.form-alert { min-height:24px; margin:0; font-weight:900; color:var(--gold)!important; }
.form-alert.error { color:#ffd7d7!important; }
.policy-wrap { max-width:980px; margin:0 auto; display:grid; gap:22px; }
.site-footer { position:relative; padding:70px 6vw 24px; background:var(--navy); color:var(--white); overflow:hidden; }
.footer-pattern { position:absolute; inset:0; opacity:.08; background-image:radial-gradient(circle, var(--gold) 1.5px, transparent 2px); background-size:40px 40px; }
.footer-grid { position:relative; display:grid; grid-template-columns:1.35fr .75fr .75fr .75fr; gap:34px; }
.site-footer h3 { color:var(--white); margin-bottom:16px; }
.site-footer p { color:rgba(255,255,255,.72); }
.footer-grid a:not(.brand) { display:block; color:rgba(255,255,255,.78); margin:11px 0; font-weight:800; }
.footer-grid a:not(.brand):hover { color:var(--gold); }
.footer-brand { margin-bottom:18px; }
.footer-brand .brand-icon { background:var(--gold); color:var(--navy); box-shadow:8px 8px 0 rgba(255,255,255,.10); }
.footer-brand strong { color:var(--white); }
.footer-brand small { color:rgba(255,255,255,.68); }
.footer-bottom { position:relative; margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:16px; color:rgba(255,255,255,.72); }
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:.12s; }
.delay-2 { transition-delay:.24s; }
@media (max-width:1100px) { .nav-toggle{display:block;} .main-nav{position:fixed; inset:78px 14px auto 14px; display:grid; gap:6px; padding:16px; border-radius:24px; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); transform:translateY(-12px) scale(.98); opacity:0; visibility:hidden; max-height:calc(100vh - 96px); overflow:auto;} .main-nav.open{opacity:1; visibility:visible; transform:translateY(0) scale(1);} .main-nav > a, .drop-trigger{width:100%; text-align:left; border-radius:14px; padding:14px;} .nav-cta{text-align:center!important;} .drop-menu{position:static; min-width:0; box-shadow:none; border:0; padding:0 0 0 12px; background:transparent; opacity:1; visibility:visible; transform:none; display:none;} .nav-dropdown.open .drop-menu{display:block;} .nav-dropdown:hover .drop-menu{transform:none;} }
@media (max-width:920px) { .section-pad{padding:70px 5vw;} .hero{grid-template-columns:1fr; min-height:auto; padding-top:60px;} .hero-art{min-height:420px;} .stats-bar{grid-template-columns:repeat(2,1fr); margin-top:0;} .service-grid,.gallery-grid,.pricing-grid,.feature-grid,.contact-grid,.split-section,.quote-card,.footer-grid{grid-template-columns:1fr;} .price-card.featured{transform:none;} .footer-grid{gap:22px;} }
@media (max-width:560px) { .site-header{padding-inline:16px; min-height:70px;} .brand-icon{width:42px; height:42px; border-radius:14px;} .brand-copy small{display:none;} .main-nav{inset:70px 10px auto 10px;} .section-pad,.page-hero{padding:54px 18px;} h1{font-size:clamp(2.15rem,13vw,3.45rem);} h2{font-size:clamp(1.75rem,9vw,2.45rem);} .hero-actions .btn{width:100%;} .trust-strip span{width:100%; text-align:center;} .hero-art{min-height:330px;} .floating-tag{position:static; margin:8px; justify-self:center;} .stitch-frame{border-radius:30px;} .stats-bar{grid-template-columns:1fr; padding:12px;} .service-card,.price-card,.quote-card,.content-card,.contact-card,.legal-card{padding:24px; border-radius:22px;} .gallery-grid{gap:16px;} .fabric-board{min-height:300px; border-radius:28px;} .footer-bottom{flex-direction:column;} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{animation-duration:.001ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.001ms!important;} }

/* Image-enhanced update */
.hero-with-image { background:linear-gradient(135deg, rgba(11,31,58,.96), rgba(11,31,58,.80)), url('assets/images/hero-bg2.webp') center/cover no-repeat; color:var(--white); }
.hero-with-image h1, .hero-with-image .eyebrow, .hero-with-image .hero-text { color:var(--white); }
.hero-with-image .eyebrow span { background:var(--gold); }
.hero-with-image::before { background:radial-gradient(circle at 85% 15%, rgba(244,180,0,.16), transparent 30%); opacity:.5; }
.hero-image, .rounded-photo { width:100%; border-radius:34px; box-shadow:var(--shadow); border:1px solid rgba(255,255,255,.24); object-fit:cover; }
.hero-image { aspect-ratio:4/3; }
.rounded-photo { aspect-ratio:4/3; }
.compact-photo { margin-bottom:22px; }
.service-photo { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:22px; margin-bottom:22px; border:1px solid var(--line); }
.gallery-thumb { aspect-ratio:4/3; background:var(--navy); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease, filter .35s ease; }
.gallery-card:hover .gallery-thumb img { transform:scale(1.06); filter:saturate(1.05); }
.gallery-thumb::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,31,58,.05), rgba(11,31,58,.58)); z-index:1; }
.gallery-thumb span { position:absolute; left:14px; right:14px; bottom:14px; z-index:2; }
.service-detail-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; }
.image-page-hero { background:linear-gradient(135deg, rgba(11,31,58,.92), rgba(11,31,58,.72)), url('assets/images/hero-bg.jpg') center/cover no-repeat; }
.image-page-hero h1, .image-page-hero .lead, .image-page-hero .eyebrow { color:var(--white); }
.image-page-hero::before { background:repeating-linear-gradient(135deg, transparent 0 76px, rgba(244,180,0,.08) 77px 78px); opacity:.5; }
.light-form label { color:var(--navy); }
.light-form input, .light-form textarea, .light-form select { border:1px solid var(--line); background:var(--white); color:var(--navy); }
.contact-card a { color:var(--navy); font-weight:900; }
.small-note { font-size:.92rem; color:var(--muted); }
@media (max-width:920px) { .service-detail-layout { grid-template-columns:1fr; } .hero-with-image { padding-top:70px; } }
@media (max-width:560px) { .hero-image, .rounded-photo { border-radius:24px; } .service-photo { border-radius:18px; } .gallery-thumb span { left:10px; right:10px; bottom:10px; padding:10px 12px; } }
.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand-logo {
    display: block;
    width: 190px !important;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    .brand-logo {
        width: 150px;
    }
}

@media (max-width: 480px) {
    .brand-logo {
        width: 130px;
    }
}