/* ========== CSS VARIABLES ================== */
:root{ --cream:#FFFFFF;--warm:#F6F7F8;--beige:#EFF1F3;--beige-2:#E2E6EA;--line:#E2E6EA;--gold:#BF8B64;--gold-d:#9C6A43;--gold-l:#D8AE8C;--gold-soft:#F5ECE4;--ink:#2C2723;--body:#5D5449;--muted:#8C8275;--radius:14px;--radius-s:8px;--shadow:0 12px 34px rgba(96,74,48,.09);--shadow-s:0 4px 14px rgba(96,74,48,.07);--serif:'Optima','Palatino Linotype','Book Antiqua',Georgia,'Songti SC',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;--wrap:1240px;--hdr:117px;}

/* ========== RESET & BASE STYLES ========== */
*{ margin:0;padding:0;box-sizing:border-box}
html{ scroll-behavior:smooth}
body{ background:var(--cream);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;}
img{ max-width:100%;display:block}
a{ color:inherit;text-decoration:none}
button{ font-family:inherit}

/* ============   LAYOUT & TYPOGRAPHY=================== */
.wrap{ max-width:var(--wrap);margin:0 auto;padding:0 28px}
section{ position:relative}
svg.i{ width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;}
h1,h2,h3,h4{ font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.18}
h1{ font-size:clamp(34px,4.6vw,60px);letter-spacing:-.01em}
h2{ font-size:clamp(27px,3vw,40px)}
h3{ font-size:20px}
.lead{ font-size:17px;color:var(--body)}
.sec-head{ text-align:center;max-width:760px;margin:0 auto 52px}
.sec-head p{ margin-top:16px;color:var(--muted)}
.sec-head .lead{ font-size:17px;color:var(--muted);margin-top:16px}
.pad{ padding:92px 0;    background: var(--cream);}
.pad-s{ padding:66px 0}
.bg-warm{ background:var(--warm)}
.bg-beige{ background:var(--beige)}

/* =========== BUTTONS =================== */
.btn{ display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 30px;border-radius:40px;border:1px solid transparent;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.28s ease;white-space:nowrap;}
.btn-gold{ background:var(--gold);color:#fff}
.btn-gold:hover{ background:var(--gold-d);transform:translateY(-2px);box-shadow:0 10px 24px rgba(138,104,67,.28)}
.btn-line{ border-color:var(--gold);color:var(--gold);background:transparent}
.btn-line:hover{ background:var(--gold);color:#fff}
.btn-sm{ padding:11px 22px;font-size:11.5px}
.btn.btn-manual{ background:transparent;border-color:transparent;color:var(--gold);padding:9px 18px;font-size:10.5px;letter-spacing:.12em;gap:7px}
.btn.btn-manual:hover{ background:transparent;border-color:transparent;color:var(--gold-d);transform:none;box-shadow:none}
.link-more{ display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.link-more:hover{ gap:14px;transition:.25s}

/* ===========  IMAGE SLOTS (INSERTABLE) ============ */
.img-slot{ position:relative;overflow:hidden;background:linear-gradient(135deg,var(--beige) 0%,var(--warm) 100%);border:1px dashed var(--beige-2);cursor:pointer;}
.img-slot.has-img{ border-color:transparent;cursor:pointer;background:transparent}
.img-slot.has-img::after{ display:none}
.img-slot img.uploaded{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
.img-slot:hover{ border-color:var(--gold-l)}

/* ================== HEADER ========================= */
.topbar{ background:var(--gold);color:#fff;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;position:relative;overflow:hidden;height:38px;}
.topbar-track{ position:relative;width:100%;height:100%}
.topbar-slide{ position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;opacity:0;transition:opacity .7s ease;white-space:nowrap;}
.topbar-slide.active{ opacity:1;z-index:1}
.site-header{ position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.hd-in{ display:flex;align-items:center;gap:34px;height:78px;justify-content: space-between;}
.logo{ font-family:var(--serif);font-size:26px;letter-spacing:.30em;color:var(--ink);font-weight:600}
.logo small{ display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.34em;color:var(--gold);margin-top:-2px}
.nav{ display:flex;align-items:center;gap:30px;margin-left:auto}
.nav > li{ list-style:none;position:relative}
.nav > li > a{ display:flex;align-items:center;gap:6px;height:78px;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);}
.nav > li > a:hover{ color:var(--gold)}
.nav a.is-current{ color:var(--gold)}
.nav > li > a::after{ content:'';position:absolute;left:0;right:0;bottom:26px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.28s;}
.nav > li:hover > a::after{ transform:scaleX(1)}
.caret{ display:inline-flex;align-items:center;margin-left:5px;color:var(--gold);transition:transform .25s}
.caret svg{ display:block;width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nav > li:hover .caret{ transform:rotate(180deg)}
.dropdown{ position:absolute;top:74px;left:-22px;min-width:210px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;}
.nav > li:hover .dropdown{ opacity:1;visibility:visible;transform:translateY(0)}
.dropdown li{ list-style:none}
.dropdown a{ display:block;padding:10px 24px;font-size:13px;letter-spacing:.05em;color:var(--body);}
.dropdown a:hover{ background:var(--gold-soft);color:var(--gold-d)}
.dropdown a.is-current{ color:var(--gold-d);font-weight:700}
.hd-tools{ display:flex;align-items:center;gap:16px}
.icon-btn{ width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;font-family:"Segoe UI Symbol","Apple Symbols","Noto Sans Symbols",system-ui,sans-serif;}
.icon-btn:hover{ border-color:var(--gold);color:var(--gold)}
.burger{ display:none}

/* ===========  HERO CAROUSEL ================ */
.hero{ position:relative;height:clamp(560px,74vh,760px);overflow:hidden;background:var(--warm)}
.hero.ac-hero{ height:clamp(440px,58vh,640px)}
.slides{ position:absolute;inset:0}
.slide{ position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .9s ease;}
.slide.active{ opacity:1;pointer-events:auto}
.slide::before{ content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(100deg, rgba(253,251,247,.97) 0%, rgba(253,251,247,.88) 34%, rgba(250,245,237,.55) 62%, rgba(248,243,235,.18) 100%);}
.ac-hero .slide::before{ background:linear-gradient(100deg, rgba(253,251,247,.96) 0%, rgba(253,251,247,.82) 38%, rgba(250,245,237,.42) 66%, rgba(248,243,235,.10) 100%);}
.slide-bg{ position:absolute;inset:0;z-index:1;border:none;pointer-events:auto;background:repeating-linear-gradient(135deg,var(--warm) 0 22px,var(--beige) 22px 44px)}
.slide-bg::after{ align-items:flex-end;justify-content:flex-end;padding:34px 40px;color:#C0B29B;font-size:13px;}
.slide .slide-bg img.uploaded{ z-index:0}
.slide-bg.has-img{ background:none}
.slide.has-img::before{ display:none}
.slide-inner{ position:relative;z-index:3;height:100%;display:flex;align-items:center;pointer-events:none}
.slide-content{ position:relative;z-index:3;max-width:600px;pointer-events:auto}
.ac-hero .slide-content{ max-width:560px}
.hero .slide-inner .wrap{ display:flex;justify-content:flex-start;padding-left:max(28px,6vw)}
.slide-content h1{ margin-bottom:20px}
.ac-hero h1{ font-size:clamp(40px,5.4vw,68px);letter-spacing:-.01em}
.slide-content p{ font-size:17.5px;max-width:520px;margin-bottom:32px;color:var(--body)}
.hero-cta{ display:flex;flex-wrap:wrap;gap:14px}

.hero-arrows{ position:absolute;inset:0;z-index:5;pointer-events:none}
.hero-arrows button{ pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(253,251,247,.85);color:var(--gold);font-size:20px;cursor:pointer;}
.hero-arrows button:hover{ background:var(--gold);color:#fff;border-color:var(--gold)}
.hero-arrows .prev{ left:22px}
.hero-arrows .next{ right:22px}
.hero-dots{ position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:10px;}
.hero-dots button{ width:36px;height:3px;border:none;background:var(--beige-2);cursor:pointer;border-radius:2px;padding:0;}
.hero-dots button.active{ background:var(--gold)}

/* =========  SCENARIO GRID (INDEX PAGE) ================= */
.scen-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.scen{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 20px;text-align:center;transition:.3s;}
.scen:hover{ transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-l)}
.scen .ic{ width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;}
.scen b{ display:block;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}
.scen span{ font-size:13px;color:var(--muted)}

/* =========  SERVICE GRID (INDEX PAGE) ================ */
.svc{ background:var(--gold);color:#fff;padding:54px 0}
.svc-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.svc-item{ display:flex;gap:18px;align-items:flex-start}
.svc-item .ic{ flex:0 0 52px;height:52px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:22px;}
.svc-item h3{ color:#fff;font-size:18px;margin-bottom:4px}
.svc-item p{ font-size:14px;color:rgba(255,255,255,.82);line-height:1.6}

/* =========  PRODUCT GRID (INDEX PAGE) ================= */
.prod-grid{ display:grid;grid-template-columns:repeat(2,1fr);gap:46px;max-width:1000px;margin:0 auto}
.prod-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.32s;}
.prod-card:hover{ transform:translateY(-6px);box-shadow:var(--shadow)}
.prod-media{ aspect-ratio:3/4;width:50%;max-width:300px;margin:24px auto 0}
.prod-body{ padding:30px 30px 34px;text-align:center}
.prod-body .tag{ display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:var(--gold-soft);padding:5px 12px;border-radius:20px;margin-bottom:14px;}
.prod-body h3{ font-size:23px;margin-bottom:10px}
.prod-body p{ font-size:14.5px;color:var(--muted);margin-bottom:22px;min-height:66px}

/* =========  FORM (INDEX PAGE) ================= */
.ct-grid{ display:grid;grid-template-columns:.65fr 1.35fr;gap:54px;align-items:start}
.ct-info{ padding:10px 0 0 0;color:var(--body)}
.ct-info h2{ font-family:var(--serif);font-size:clamp(28px,3vw,38px);color:var(--ink);margin-bottom:34px}
.ct-info h2::after{ content:'';display:block;width:56px;height:2px;background:var(--gold);margin-top:14px}
.ct-row{ display:flex;gap:18px;padding:28px 0;border-top:1.5px dashed var(--beige-2)}
.ct-row .ic{ flex:0 0 54px;height:54px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);background:rgba(191,139,100,.08);display:flex;align-items:center;justify-content:center;font-size:22px}
.ct-row b{ display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:5px}
.ct-row p{ font-size:15px;color:var(--body);line-height:1.55}
.ct-row strong{ color:var(--gold);font-weight:700}
.ct-form{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:36px 34px;box-shadow:var(--shadow-s)}
.ct-form .fgrid{ margin-bottom:0}
.ct-form .field{ margin-bottom:22px}
.ct-form .field label{ text-transform:none;letter-spacing:.01em;font-size:13px}
.ct-form .field label span{ font-weight:400;color:var(--muted);margin-left:3px}
.ct-form input::placeholder,.ct-form textarea::placeholder{ font-size:13px;letter-spacing:.01em;color:var(--muted)}
.ct-form select:required:invalid{ color:var(--muted)}
.ct-form .field label .req{ color:#C25A45;font-weight:600;margin-left:2px}
.ct-form input:required:user-invalid,.ct-form select:required:user-invalid{ border-color:#C25A45;box-shadow:0 0 0 3px rgba(194,90,69,.12)}
.ct-form select option{ color:var(--ink)}
.ct-form .field select{ appearance:none;-webkit-appearance:none;cursor:pointer;background-color:var(--warm);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239C6A43' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.ct-form .field select:focus{ background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239C6A43' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.ct-form .btn-gold{ width:100%;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);margin-top:4px}
.ct-privacy{ font-size:12px;color:var(--muted);text-align:center;margin-top:18px}
.field{ position:relative}
.attach-zone{ position:relative;border:1.5px dashed var(--beige-2);border-radius:var(--radius-s);background:var(--warm);transition:.25s}
.attach-zone:hover{ border-color:var(--gold-l);background:#fff}
.attach-zone input[type="file"]{ position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
.attach-inner{ display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px 20px;text-align:center}
.attach-inner .ic{ width:32px;height:32px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:16px;display:flex;align-items:center;justify-content:center}
.attach-inner span{ font-size:13.5px;color:var(--ink)}
.attach-inner small{ font-size:11px;color:var(--muted);display:block}
.fgrid{ display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{ display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{ font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);font-weight:700}
.field input,.field select,.field textarea{ border:1px solid var(--line);background:var(--warm);border-radius:var(--radius-s);padding:13px 15px;font-size:14.5px;color:var(--ink);font-family:var(--sans);transition:.25s;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{ outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(138,104,67,.1)}
.field textarea{ resize:vertical;min-height:130px}
.field small{ font-size:12px;color:var(--muted)}
.form-ok{ display:none;margin-top:18px;padding:14px 18px;border-radius:var(--radius-s);background:var(--gold-soft);color:var(--gold-d);font-size:14px}
.form-ok.show{ display:block}
.site-footer{ background:var(--beige);border-top:1px solid var(--line);padding-top:66px}
.ft-grid{ display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:48px}
.ft-brand .logo{ margin-bottom:16px}
.ft-brand p{ font-size:14px;color:var(--muted);max-width:300px}
.ft-col h4{ font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
.ft-col ul{ list-style:none;display:grid;gap:11px}
.ft-col a{ font-size:14px;color:var(--muted)}
.ft-col a:hover{ color:var(--gold)}
.ft-bottom{ border-top:1px solid var(--beige-2);padding:22px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}
.ft-bottom nav{ display:flex;gap:22px}
.page-banner{ background:var(--gold);color:#fff;padding:62px 0 56px;text-align:center}
.page-banner h1{ color:#fff;margin-bottom:12px}
.page-banner p{ color:rgba(255,255,255,.86);max-width:640px;margin:0 auto}
.crumb{ font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:14px}
.crumb a:hover{ color:#fff}
.reg-grid{ display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:start}
.aside-card{ background:var(--warm);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;margin-bottom:24px}
.aside-card h3{ font-size:19px;margin-bottom:14px}
.aside-card ul{ list-style:none;display:grid;gap:10px;font-size:14px}
.aside-card li{ display:flex;gap:9px}
.aside-card li i{ color:var(--gold);font-style:normal;font-weight:700}
.serial-media{ aspect-ratio:4/3;border-radius:var(--radius-s);margin-bottom:14px}
.tier{ display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:44px}
.tier-item{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;text-align:center}
.tier-item b{ display:block;font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1.1}
.tier-item span{ font-size:13px;color:var(--muted)}

/* ========  WARRANTY SECTION =============== */
.war{ position:relative;overflow:hidden;background:var(--warm)}
.war-bg{ position:absolute;inset:0;z-index:0;border:none;background:transparent}
.war-bg.img-slot::after{ display:none}
.war-bg.has-img{ background:none}
.war .wrap{ position:relative;z-index:2}
.war-grid{ display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.war-left{ position:relative;z-index:2}
.war.has-img .war-left{ background:rgba(255,255,255,.92);backdrop-filter:blur(3px);border-radius:var(--radius);padding:38px 40px;box-shadow:var(--shadow-s)}
.war-badge{ display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;padding:8px 18px;border-radius:30px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:20px;}
.war-left h2{ margin-bottom:16px}
.war-left > p{ margin-bottom:26px}
.war-cover{ display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-bottom:30px;list-style:none;}
.war-cover li{ display:flex;gap:10px;font-size:14.5px;color:var(--body)}
.war-cover li i{ color:var(--gold);font-style:normal;font-weight:700}
.war-stats{ display:flex;gap:34px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.war-stats div b{ display:block;font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1}
.war-stats div span{ font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.war-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:36px 34px;box-shadow:var(--shadow-s);}
.war-card h3{ margin-bottom:22px;font-size:21px}
.steps{ list-style:none;counter-reset:s}
.steps li{ position:relative;padding-left:56px;padding-bottom:26px;counter-increment:s;}
.steps li:not(:last-child)::after{ content:'';position:absolute;left:17px;top:38px;bottom:6px;width:1px;background:var(--line);}
.steps li::before{ content:counter(s);position:absolute;left:0;top:0;width:35px;height:35px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:var(--serif);}
.steps b{ display:block;color:var(--ink);font-size:15.5px;margin-bottom:3px}
.steps span{ font-size:14px;color:var(--muted)}
.war-note{ margin-top:8px;padding:16px 18px;background:var(--gold-soft);border-radius:var(--radius-s);font-size:13px;color:var(--gold-d);line-height:1.6;}

.war-hero{ position:relative;min-height:clamp(480px,72vh,760px);display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--beige) 0%,var(--warm) 100%)}
.war-hero::before{ content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,35,30,0) 42%,rgba(40,35,30,.30) 100%);pointer-events:none}
.war-hero .war-bg{ position:absolute;inset:0;z-index:0;border:none;background:transparent}
.war-hero .war-bg.img-slot::after{ display:none}
.war-hero .war-bg.has-img{ background:none}
.war-hero .wrap{ position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:0 max(28px,6vw)}
.war-hero-in{ max-width:720px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:var(--radius);padding:34px 38px;box-shadow:var(--shadow-s)}
.war-hero-in h1{ font-size:clamp(32px,5vw,48px);line-height:1.05;margin-bottom:14px}
.war-hero-in p{ color:var(--ink);font-size:15.5px;line-height:1.7}
.wgrid{ display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.wleft .tag{ display:inline-block;background:var(--gold-soft);color:var(--gold-d);padding:6px 15px;border-radius:20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.wleft h2{ margin-bottom:14px}
.wleft .lead{ margin-bottom:26px}
.wleft ul{ list-style:none;display:grid;gap:10px;margin-bottom:26px}
.wleft ul li{ display:flex;gap:10px;font-size:14.5px}
.wleft ul li i{ color:var(--gold);font-style:normal;font-weight:700}
.wright{ aspect-ratio:1/1;border-radius:var(--radius)}
.wleft h1{ font-size:40px;line-height:1.12;margin-bottom:16px}
.wnums{ display:flex;gap:34px;margin-bottom:24px}
.wnums b{ display:block;font-size:34px;color:var(--gold-d);line-height:1}
.wnums span{ font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:6px;display:block}
.wlist{ list-style:none;display:grid;gap:10px;margin:0;padding:0}
.wlist li{ padding-left:26px;position:relative;color:var(--ink);font-size:14.5px;line-height:1.5}
.wlist li::before{ content:"\2713";position:absolute;left:0;color:var(--gold);font-weight:700}
.wform-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:34px 36px;box-shadow:var(--shadow-s)}
.wform-card h3{ font-size:21px;margin-bottom:6px}
.wform-sub{ color:var(--muted);font-size:13.5px;margin-bottom:22px}
.wform .wfield{ margin-bottom:16px}
.wform label{ display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.wform input,.wform select,.wform textarea{ width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:#fff;color:var(--ink);font-family:inherit}
.wform input:focus,.wform select:focus,.wform textarea:focus{ border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(191,139,100,.14)}
.wform textarea{ resize:vertical;min-height:96px}
.wform input::placeholder,.wform textarea::placeholder{ color:var(--muted);font-size:13px}
.wform select:required:invalid{ color:var(--muted)}
.wform label .req{ color:#C25A45}
.wsubmit{ width:100%;margin-top:6px;padding:14px;border:none;cursor:pointer;font-size:15px}
.wprivacy{ font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}
.wsteps{ display:flex;align-items:center;justify-content:center;margin-top:30px;flex-wrap:wrap}
.wstep{ flex:1 1 0;min-width:240px;display:flex;align-items:center;gap:16px;padding:28px 0}
.wstep-icon{ flex-shrink:0;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--gold-l);display:flex;align-items:center;justify-content:center;background:transparent}
.wstep-icon svg{ width:24px;height:24px;stroke:var(--gold-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wstep-body{ flex:1}
.wstep-meta{ display:flex;align-items:center;gap:8px;margin-bottom:6px}
.wstep-num{ display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;font-size:10px;font-weight:700}
.wstep-label{ font-size:11px;font-weight:700;color:var(--gold-d);text-transform:uppercase;letter-spacing:.5px}
.wstep b{ display:block;font-size:16px;margin-bottom:4px;color:var(--ink)}
.wstep p{ color:var(--muted);font-size:14px;line-height:1.7}
.wstep-arrow{ flex-shrink:0;display:flex;align-items:center;padding:0 14px}
.wstep-arrow svg{ width:26px;height:26px;stroke:var(--gold-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.waddons{ display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.waddon{ display:flex;gap:18px;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
.waddon .ic{ width:40px;height:40px;color:var(--gold);flex:0 0 auto}
.waddon h3{ font-size:17px;color:var(--ink);margin-bottom:8px}
.waddon p{ font-size:14px;color:var(--muted);line-height:1.7}
.wfaq-layout{ display:grid;grid-template-columns:1.2fr 1fr;gap:42px;margin-top:28px;align-items:stretch}
.wfaq{ display:grid;gap:14px}
.wfaq-item{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.wfaq-q{ display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;color:var(--gold-d);padding:20px 24px;user-select:none}
.wfaq-q .faq-ic{ flex:0 0 auto;width:18px;height:18px;transition:transform .3s ease;stroke:var(--gold-d);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wfaq-item.open .faq-ic{ transform:rotate(45deg)}
.wfaq-a{ color:var(--muted);line-height:1.75;font-size:14.5px;margin:0;padding:0 24px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}
.wfaq-item.open .wfaq-a{ padding:0 24px 22px;max-height:400px}
.wfaq-media{ position:relative;display:flex;flex-direction:column}
.wfaq-media .img-slot{ flex:1;border-radius:var(--radius);width:100%;min-height:240px}
#whow{ display:flex;align-items:center;padding-top:48px;padding-bottom:48px}
#whow > .wrap{ width:100%}
#whow .sec-head{ margin-bottom:0}
#whow .wsteps{ margin-top:0}

/* ========  BRAND STORY (INDEX + ABOUT PAGE)============== */
.story-grid{ display:grid;grid-template-columns:.95fr 1.05fr;gap:66px;align-items:center}
.story-media{ aspect-ratio:4/3;border-radius:var(--radius)}
.story-text h2{ margin:14px 0 20px}
.story-text p{ margin-bottom:16px}
.story-sign{ margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--serif);font-size:17px;color:var(--ink);}
.story-sign span{ display:block;font-family:var(--sans);font-size:12.5px;color:var(--muted);letter-spacing:.08em}

/* ========  ACCESSORIES / PARTS (INDEX PAGE)============= */
.parts{ background:var(--gold);color:var(--ink)}
.parts .sec-head h2{ color:var(--ink)}
.parts .sec-head p{ color:rgba(44,39,35,.72)}

.acc-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.acc-card{ position:relative;display:block;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;transition:.32s;}
.acc-card:hover{ transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.38)}
.acc-card::after{ content:'';position:absolute;left:0;right:0;bottom:0;height:45%;z-index:2;pointer-events:none;background:linear-gradient(to top, rgba(20,22,24,.82) 0%, rgba(20,22,24,.42) 55%, transparent 100%);border-radius:0 0 var(--radius) var(--radius);}
.acc-card .acc-media{ position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#2a2d31 0%,#1c1f23 100%);border:1px dashed rgba(255,255,255,.12);}
.acc-card .acc-media.has-img{ background:transparent;border-color:transparent}
.acc-card .acc-media::after{ color:rgba(255,255,255,.45);font-size:12px;align-items:flex-start;padding-top:24px}
.acc-label{ position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:#fff;color:var(--gold-d);padding:12px 22px;border-radius:30px;font-size:13px;font-weight:700;letter-spacing:.02em;text-align:center;white-space:nowrap;max-width:90%;z-index:3;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.35);border:1px solid rgba(0,0,0,.06);}
.acc-card:hover .acc-label{ transform:translateX(-50%) translateY(-2px)}

/* =======  ACCESSORIES PAGE (UNIQUE STYLES) ============== */
.ac-hero{ height:clamp(440px,58vh,640px);position:relative;overflow:hidden;background:var(--warm)}
.ac-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.ac-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.28s ease;}
.ac-card:hover{ box-shadow:var(--shadow-s);transform:translateY(-4px);border-color:var(--gold-l)}
.ac-thumb{ aspect-ratio:4/3;border-radius:0;min-height:170px}
.ac-body{ padding:24px 26px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.ac-body h3{ font-size:19px;color:var(--ink)}
.ac-body p{ font-size:14px;color:var(--muted);line-height:1.7;flex:1}
.ac-body .btn{ align-self:flex-start;margin-top:4px}
.ac-body .btn svg{ width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reliable-wrap{ background:var(--gold-soft);border-radius:var(--radius);padding:54px 60px}
.reliable-grid{ display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.reliable-text h2{ font-size:clamp(26px,2.8vw,36px);margin-bottom:16px}
.reliable-text p{ color:var(--body);line-height:1.8}
.reliable-media{ aspect-ratio:4/3;border-radius:var(--radius-s)}
.order-wrap{ background:var(--warm);border-radius:var(--radius);padding:54px 60px}
.order-grid{ display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.order-text h2{ font-size:clamp(26px,2.8vw,36px);margin-bottom:16px}
.order-text p{ color:var(--body);line-height:1.8}
.order-media{ aspect-ratio:4/3;border-radius:var(--radius-s)}
.ac-cta{ text-align:center}
.ac-cta h2{ font-size:30px;margin-bottom:14px}
.ac-cta p{ color:var(--muted);margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}
.ac-cta .btn{ margin:0 8px}

/* ========== ACCESSORY REQUEST MODAL============== */
.acc-modal{ position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(44,39,35,.55);opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s;}
.acc-modal.open{ opacity:1;visibility:visible}
.acc-modal-box{ background:var(--cream);border-radius:var(--radius);width:min(580px,100%);max-height:none;overflow:visible;box-shadow:0 24px 60px rgba(44,39,35,.22);position:relative;}
.acc-modal-close{ position:absolute;top:16px;right:16px;width:34px;height:34px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.acc-modal-close:hover{ color:var(--gold-d);background:var(--warm)}
.acc-modal-body{ padding:22px}
.acc-modal-body h2{ font-family:var(--serif);font-size:21px;text-align:center;margin-bottom:4px;color:var(--ink)}
.acc-modal-sub{ text-align:center;color:var(--muted);font-size:13px;margin-bottom:12px}
.acc-selected{ display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;background:var(--warm);border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 14px;margin-bottom:14px;}
.acc-selected img{ width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:var(--beige);display:block}
.acc-selected .label{ font-size:12px;color:var(--muted)}
.acc-selected .gift{ font-size:15px;font-weight:700;color:var(--ink)}
.acc-selected .check{ width:28px;height:28px;border-radius:50%;background:var(--gold-soft);color:var(--gold-d);display:flex;align-items:center;justify-content:center}
.acc-form{ display:grid;gap:11px}
.acc-row{ display:grid;grid-template-columns:1fr 1fr;gap:18px}
.acc-field{ display:flex;flex-direction:column;gap:4px}
.acc-field.full{ grid-column:1 / -1}
.acc-field label{ font-size:12.5px;font-weight:700;color:var(--ink)}
.acc-field label .req{ color:var(--gold)}
.acc-field input,.acc-field textarea{ width:100%;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-family:inherit;font-size:14px;}
.acc-field textarea{ resize:vertical;min-height:42px}
.acc-field input:focus,.acc-field textarea:focus{ outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(191,139,100,.12)}
.acc-field input::placeholder,.acc-field textarea::placeholder{ color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.acc-upload{ border:1.5px dashed var(--beige-2);border-radius:var(--radius-s);background:var(--warm);padding:10px;text-align:center;position:relative;cursor:pointer;transition:.25s;}
.acc-upload:hover{ border-color:var(--gold-l);background:#fff}
.acc-upload input[type="file"]{ position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.acc-upload .clip{ font-size:24px;color:var(--gold);margin-bottom:5px;display:flex;justify-content:center}
.acc-upload .txt{ font-size:13.5px;color:var(--ink);font-weight:600}
.acc-upload .sub{ font-size:12px;color:var(--muted);margin-top:3px}
.acc-note{ display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);margin:2px 0}
.acc-actions{ display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.acc-actions .btn{ width:100%;margin:0}
.acc-success{ display:none;text-align:center;padding:20px 10px}
.acc-success.show{ display:block}
.acc-success h3{ font-family:var(--serif);font-size:22px;margin-bottom:10px;color:var(--ink)}
.acc-success p{ color:var(--muted);font-size:14px}

/* ============   REVIEWS (INDEX PAGE)================= */
.rev-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rev-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;transition:.3s;}
.rev-card:hover{ transform:translateY(-5px);box-shadow:var(--shadow)}
.rev-top{ display:flex;align-items:center;gap:14px;margin-bottom:18px}
.rev-avatar{ flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#c0c0c0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.rev-avatar svg{ width:100%;height:100%;display:block}
.rev-top b{ display:block;font-size:15.5px;color:var(--ink);font-family:var(--serif)}
.rev-top span{ font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.stars{ color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:8px}
.rev-title{ font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:12px;line-height:1.4;font-family:var(--serif)}
.rev-card q{ display:block;font-family:var(--serif);font-size:17px;color:var(--ink);line-height:1.6;quotes:'\201C' '\201D';flex:1;}
.rev-prod{ margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);}
.rev-prod b{ display:block;color:var(--gold-d);font-size:13.5px;font-family:var(--sans)}


/* ================ PRODUCT PAGE ================ */
.crumb{ display:inline-block;margin-bottom:18px;color:var(--gold-d);font-weight:600;font-size:13px;letter-spacing:.03em}
.crumb:hover{ text-decoration:underline}
.pintro-grid{ display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:start}
.p-gallery{ display:flex;flex-direction:column;gap:18px;position:sticky;top:100px;align-self:start}
.p-main-img{ aspect-ratio:1/1;border-radius:var(--radius);position:relative;overflow:hidden;background:var(--warm)}
.p-main-img:empty::after{ content:"Click a thumbnail below to preview";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:12.5px;letter-spacing:.06em;color:#B6A891;pointer-events:none}
.p-main-img img{ position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.p-thumbs{ display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.p-thumbs .img-slot{ aspect-ratio:1/1;border-radius:var(--radius-s);transition:border-color .2s,box-shadow .2s,border-style .2s;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--beige) 0%,var(--warm) 100%);border:1px dashed var(--beige-2);cursor:pointer}
.p-thumbs .img-slot.has-img{ border-style:solid;border-color:transparent;background:transparent}
.p-thumbs .img-slot.active{ border-style:solid;border-color:var(--gold);box-shadow:0 0 0 2px rgba(191,139,100,.22)}
.p-thumbs .img-slot img{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pintro-text .tag{ display:inline-block;background:var(--gold-soft);color:var(--gold-d);padding:6px 15px;border-radius:20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.pintro-text h1{ font-size:40px;line-height:1.08;margin-bottom:12px}
.pintro-text .lead{ font-size:16px;color:var(--body);line-height:1.65;margin-bottom:14px}
.pintro-text p{ color:var(--muted);line-height:1.75;margin-bottom:14px}
.p-stars{ color:#F5A623;font-size:18px;letter-spacing:2px;margin-bottom:14px}
.p-opt{ margin:22px 0 18px}
.p-opt-head{ font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.p-sizes{ display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.p-size{ display:flex;text-decoration:none;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .22s,box-shadow .22s,background .22s,transform .22s}
.p-size b{ font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}
.p-size i{ font-style:normal;font-size:10.5px;color:var(--muted);letter-spacing:.01em;white-space:nowrap}
.p-size:hover{ border-color:var(--gold-l);box-shadow:0 6px 16px rgba(138,104,67,.10);transform:translateY(-1px)}
.p-size.active{ border-color:var(--gold);background:rgba(191,139,100,.07);box-shadow:inset 0 0 0 1px var(--gold)}
.p-size.active b{ color:var(--gold-d)}
.p-colors{ display:flex;gap:10px;flex-wrap:wrap}
.p-color{ display:inline-flex;align-items:center;gap:9px;padding:9px 16px;background:#fff;border:1px solid var(--line);border-radius:30px;cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--ink);transition:border-color .22s,box-shadow .22s,color .22s}
.p-color .dot{ width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.p-color:hover{ border-color:var(--gold-l)}
.p-color.active{ border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-d);font-weight:600}
.p-cta-row{ display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 0}
.p-cta-row .btn{ flex:1 1 0;min-width:150px;padding:13px 16px;font-size:11.5px;letter-spacing:.12em}
.pspec-mini{ margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.pspec-mini h3{ font-size:14px;color:var(--gold-d);margin-bottom:10px;text-transform:uppercase;letter-spacing:.12em}
.pspec-mini .pspec-row{ display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid var(--beige-2);font-size:13.5px}
.pspec-mini .pspec-row:first-of-type{ border-top:none}
.pspec-mini .pspec-row span{ color:var(--muted);flex:0 0 auto}
.pspec-mini .pspec-row b{ color:var(--ink);text-align:right;font-weight:600}
.pspec-grid{ display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.pspec-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
.pspec-card h3{ font-size:16px;color:var(--gold-d);margin-bottom:14px}
.pspec-row{ display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid var(--beige-2);font-size:14px}
.pspec-row:first-of-type{ border-top:none}
.pspec-row span{ color:var(--muted);flex:0 0 auto}
.pspec-row b{ color:var(--ink);text-align:right;font-weight:600}
.pdetail{ display:grid;gap:22px;margin-top:28px}
.pdetail .img-slot{ aspect-ratio:1400/600;border-radius:var(--radius);width:100%;max-width:1100px;margin:0 auto;position:relative;overflow:hidden;background:transparent}
.pdetail .img-slot img{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* =========== FOOTER =============== */
.site-footer{ background:var(--beige);border-top:1px solid var(--line);padding-top:66px}
.ft-grid{ display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:48px}
.ft-brand .logo{ margin-bottom:16px}
.ft-brand p{ font-size:14px;color:var(--muted);max-width:300px}
.ft-col h4{ font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
.ft-col ul{ list-style:none;display:grid;gap:11px}
.ft-col a{ font-size:14px;color:var(--muted)}
.ft-col a:hover{ color:var(--gold)}
.ft-bottom{ border-top:1px solid var(--beige-2);padding:22px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);}
.ft-bottom nav{ display:flex;gap:22px}

/* ======= INDEX PAGE ANIMATIONS ====================== */
html.has-js .reveal{ opacity:0;translate:0 24px;transition:opacity .85s cubic-bezier(.22,.61,.36,1),translate .85s cubic-bezier(.22,.61,.36,1);will-change:opacity,translate}
html.has-js .reveal.in{ opacity:1;translate:none}
html.has-js .reveal[data-d="1"]{ transition-delay:.10s}
html.has-js .reveal[data-d="2"]{ transition-delay:.20s}
html.has-js .reveal[data-d="3"]{ transition-delay:.30s}
html.has-js .reveal[data-d="4"]{ transition-delay:.40s}
html.has-js .hero .slide.active .slide-content>*{ opacity:0;animation:heroIn 1.05s forwards cubic-bezier(.22,.61,.36,1)}
html.has-js .hero .slide.active .slide-content>h1{ animation-delay:.18s}
html.has-js .hero .slide.active .slide-content>p{ animation-delay:.36s}
html.has-js .hero .slide.active .slide-content>.hero-cta{ animation-delay:.54s}
@keyframes heroIn{ to{opacity:1}}
html.has-js .hero-sync{ opacity:0;animation:heroIn 1.05s forwards cubic-bezier(.22,.61,.36,1);animation-delay:.18s}
.site-header{ transition:box-shadow .3s ease}
.site-header.scrolled{ box-shadow:0 6px 24px rgba(60,53,44,.12)}
.prod-media.hover-ok>.hover-img{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;opacity:0;transition:opacity .45s ease;pointer-events:none}
@media (hover:hover) and (pointer:fine){ .prod-media.hover-ok:hover>.hover-img, .hover-swap-host:hover .prod-media.hover-ok>.hover-img{ opacity:1}}



/* =========  REDUCED MOTION  ================ */
@media (prefers-reduced-motion: reduce){ html.has-js .reveal,html.has-js .reveal.in{ opacity:1!important;translate:none!important;transition:none!important} html.has-js .hero .slide.active .slide-content>*{ animation:none!important;opacity:1!important} html.has-js .hero-sync{ animation:none!important;opacity:1!important} .site-header{ transition:none} .prod-media.hover-ok>.hover-img{ transition:none}}

/* ABOUT PAGE */
.bs-hero{ position:relative;min-height:calc(100vh - var(--hdr,117px));display:flex;align-items:center;justify-content:center;text-align:center}
.bs-hero-img{ position:fixed;top:var(--hdr,117px);left:0;width:100%;height:calc(100vh - var(--hdr,117px));overflow:visible;z-index:-1;background:linear-gradient(135deg,#2a2622 0%,#3c352c 100%)}
.bs-hero-img img{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){ .bs-hero-img{ position:absolute;height:100%}}
.bs-hero-overlay{ position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s;background:linear-gradient(180deg,rgba(18,15,12,.30) 0%,rgba(18,15,12,.58) 100%)}
.bs-hero-img.has-img~.bs-hero-overlay{ opacity:1}
.bs-hero-inner{ position:relative;z-index:3;color:#fff;max-width:760px;margin:0 auto;text-align:center}
.bs-title{ font-family:var(--serif);font-size:clamp(54px,9vw,104px);line-height:.94;letter-spacing:.02em;color:#fff;margin:0 0 18px;text-shadow:0 2px 24px rgba(0,0,0,.28)}
.bs-hero .lead{ font-size:19px;color:rgba(255,255,255,.9);max-width:480px;margin:0 auto;line-height:1.7;text-shadow:0 1px 14px rgba(0,0,0,.28)}
.bs-scroll{ position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.22em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.bs-scroll svg{ width:14px;height:14px;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{ 0%,100%{ transform:translateY(0)} 50%{ transform:translateY(5px)}}
.bs-values{ display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.bs-value{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:34px 24px 30px;position:relative;overflow:hidden}
.bs-value::before{ content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold)}
.bs-value .ic{ width:46px;height:46px;color:var(--gold);margin:0 0 18px;display:block}
.bs-value h3{ font-size:18px;color:var(--ink);margin-bottom:10px}
.bs-value p{ font-size:14px;color:var(--muted);line-height:1.7}
.bs-split{ display:grid;grid-template-columns:minmax(0,620px) minmax(0,440px);gap:48px;align-items:center;justify-content:center;position:relative}
.bs-split .bs-side{ aspect-ratio:4/5;border-radius:var(--radius);order:2;width:100%;max-width:440px;justify-self:end;background:linear-gradient(135deg,var(--beige) 0%,var(--warm) 100%);overflow:hidden}
.bs-split.rev .bs-side{ order:0}
.bs-split .bs-text{ position:relative;z-index:1}
@media(max-width:1150px){ .bs-split{ grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:36px}}
.bs-split h2{ font-size:clamp(26px,3vw,34px);line-height:1.22;margin-bottom:18px;max-width:15em}
.bs-split p{ color:var(--muted);line-height:1.85;margin-bottom:16px}
.bs-axis{ position:relative;max-width:880px;margin:44px auto 0}
.bs-axis::before{ content:"";position:absolute;left:50%;top:6px;bottom:6px;width:2px;background:var(--gold);transform:translateX(-50%)}
.bs-node{ position:relative;width:50%;padding:16px 44px;box-sizing:border-box}
.bs-node:nth-child(odd){ left:0;text-align:right}
.bs-node:nth-child(even){ left:50%;text-align:left}
.bs-node b{ display:block;color:var(--gold-d);font-family:var(--serif);font-size:26px;line-height:1;margin-bottom:8px}
.bs-node span{ font-size:14px;color:var(--muted);line-height:1.75;display:inline-block;max-width:32ch}
.bs-dot{ position:absolute;top:22px;width:15px;height:15px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-sizing:border-box}
.bs-node:nth-child(odd) .bs-dot{ right:-7.5px}
.bs-node:nth-child(even) .bs-dot{ left:-7.5px}
.bs-cta{ text-align:center}
.bs-cta h2{ color:var(--ink);font-size:30px;margin-bottom:14px}
.bs-cta p{ color:var(--muted);margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}
.bs-cta .btn{ margin:0 8px}
html.has-js .reveal{ opacity:0;translate:0 24px;transition:opacity .85s cubic-bezier(.22,.61,.36,1),translate .85s cubic-bezier(.22,.61,.36,1);will-change:opacity,translate}
html.has-js .reveal.in{ opacity:1;translate:none}
html.has-js .reveal[data-d="1"]{ transition-delay:.10s}
html.has-js .reveal[data-d="2"]{ transition-delay:.20s}
html.has-js .reveal[data-d="3"]{ transition-delay:.30s}
html.has-js .reveal[data-d="4"]{ transition-delay:.40s}
html.has-js .bs-hero .bs-title{ opacity:0;animation:storyHeroIn 1.05s .15s forwards cubic-bezier(.22,.61,.36,1)}
html.has-js .bs-hero .lead{ opacity:0;animation:storyHeroIn 1.05s .35s forwards cubic-bezier(.22,.61,.36,1)}
@keyframes storyHeroIn{ to{ opacity:1}}
@media(prefers-reduced-motion:reduce){ html.has-js .reveal,html.has-js .reveal.in{ opacity:1 !important;translate:none !important;transition:none !important} html.has-js .bs-hero .bs-title,html.has-js .bs-hero .lead{ animation:none !important;opacity:1 !important}}


/* ========  CONTACT PAGE =============== */
.ct-hero .slide-content{ max-width:560px}
.ct-hero h1{ font-size:clamp(40px,5.4vw,68px);letter-spacing:-.01em}
.ct-hero .slide-content p{ font-size:17.5px;max-width:520px;color:var(--body)}
.ct-hero .slide-inner{ align-items:center}
.ct-hero .slide-inner .wrap{ width:100%;max-width:none;margin:0;padding-left:11vw;padding-right:28px}
.ct-hero .slide-content{ transform:translateY(-15px)}
#conract-form .ct-info{ display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ct-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:.3s}
.ct-card:hover{ border-color:var(--gold-l);box-shadow:var(--shadow);transform:translateY(-3px)}
.ct-ic{ width:48px;height:48px;border-radius:12px;background:var(--gold-soft);color:var(--gold-d);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.ct-ic svg{ width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ct-card h3{ font-size:16px;margin-bottom:8px}
.ct-card p,.ct-card a{ font-size:14px;color:var(--body);line-height:1.7}
.ct-card a:hover{ color:var(--gold)}
.ct-card .sub{ color:var(--muted);font-size:12.5px;margin-top:4px}
.ct-grid{ display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center}
.ct-intro h2{ margin-bottom:16px}
.ct-intro p{ color:var(--muted);margin-bottom:22px}
.ct-points{ list-style:none;display:grid;gap:14px}
.ct-points li{ display:flex;gap:12px;font-size:14.5px;align-items:flex-start}
.ct-points svg{ width:20px;height:20px;flex:0 0 20px;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.ct-email{ margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.ct-email .label{ font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
.ct-email a{ display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:600;transition:.25s}
.ct-email a:hover{ color:var(--gold-d)}
.ct-email svg{ width:22px;height:22px;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ct-form{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:34px}
#contact-form .ct-row{ display:grid;grid-template-columns:1fr 1fr;gap:16px;border: none;}
.ct-field{ display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.ct-field.full{ grid-column:1/-1}
.ct-field label{ font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--ink);text-transform:uppercase}
.ct-field .req{ color:#C25A45;font-weight:600}
.ct-field input,.ct-field select,.ct-field textarea{ width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-family:inherit;font-size:14px;transition:.2s}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{ border-color:var(--gold);outline:none;box-shadow:0 0 0 3px var(--gold-soft)}
.ct-field textarea{ resize:vertical;min-height:130px}
.ct-submit{ width:100%;margin-top:4px}
.ct-ok{ display:none;margin-top:16px;padding:14px 18px;border-radius:10px;background:var(--gold-soft);color:var(--gold-d);font-size:14px;border:1px solid var(--gold-l)}
.ct-ok.show{ display:block}
.ct-cta{ text-align:center}
.ct-cta h2{ color:var(--ink);font-size:30px;margin-bottom:14px}
.ct-cta p{ color:var(--muted);margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}
@media(max-width:980px){ .ct-info{ grid-template-columns:repeat(2,1fr)} .ct-grid{ grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){ .ct-info{ grid-template-columns:1fr} .ct-row{ grid-template-columns:1fr} .ct-form{ padding:26px 20px} .ct-hero .slide-inner{ align-items:center} .ct-hero .slide-inner .wrap{ padding-left:18px;padding-right:18px} .ct-hero .slide-content{ margin-top:0}}

/* =========  VIDEO PAGE ================= */
.vid-hero{ height:clamp(420px,52vh,580px);position:relative;overflow:hidden;background:var(--warm)}
.vid-hero .slide::before{ background:linear-gradient(100deg,rgba(253,251,247,.96) 0%,rgba(253,251,247,.82) 38%,rgba(250,245,237,.42) 66%,rgba(248,243,235,.10) 100%)}
.vid-hero .slide-inner .wrap{ justify-content:center;text-align:center;padding-left:28px}
.vid-hero .slide-content{ max-width:680px;margin:0 auto}
.vid-hero h1{ font-size:clamp(36px,4.8vw,60px);letter-spacing:-.01em}
.vid-hero p{ font-size:17.5px;color:var(--body)}
.vid-card{ background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.28s ease}
.vid-card:hover{ box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--gold-l)}
.vid-thumb{ position:relative;aspect-ratio:16/9;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 0 0}
.vid-ph{ display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;text-align:center}
.vid-ph-title{ font-family:var(--serif);font-size:15.5px;font-weight:600;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vid-ph-ic{ display:block;width:56px;height:56px;flex:0 0 56px;color:#1B1B1D}
.vid-ph-ic svg{ width:100%;height:100%;display:block}
.vid-ph-label{ font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1B1B1D;line-height:1}
.vmodel{ margin-top:50px}
.vmodel:first-of-type{ margin-top:6px}
.vmodel-head{ display:flex;align-items:center;gap:24px;background:linear-gradient(100deg,var(--gold-soft) 0%,#fff 62%);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);padding:18px 26px;margin-bottom:26px}
.vmodel-photo{ flex:0 0 118px;width:118px;height:118px;border-radius:14px;overflow:hidden}
.vmodel-photo img{ position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.vmodel-meta{ display:flex;flex-direction:column;gap:7px}
.vmodel-tag{ font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.vm-name{ font-family:var(--serif);font-size:25px;line-height:1.1;color:var(--ink);font-weight:600}
.vm-link{ font-size:13.5px;font-weight:600;color:var(--gold-d);display:inline-flex;align-items:center;gap:6px;width:fit-content}
.vm-link:hover{ color:var(--gold);gap:10px;transition:.25s}
.vm-link .i{ width:15px;height:15px}
.vmodel-actions{ display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:2px}
.vmodel-actions .btn{ border-radius:30px}
.vmodel-dl{ margin-left:auto}
.btn-xs{ padding:8px 16px;font-size:10px;letter-spacing:.12em}
.btn-xs svg{ width:13px;height:13px}
.vmodel-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.vid-cta{ text-align:center}
.vid-cta h2{ font-size:30px;margin-bottom:14px}
.vid-cta p{ color:var(--muted);margin-bottom:24px;max-width:560px;margin-left:auto;margin-right:auto}
.vid-cta .btn{ margin:0 8px}
.vmodel-cta{ margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vmodel-cta .vmodel-dl{ margin-left:0}
.vid-toggle{ display:none;align-items:center;gap:8px;cursor:pointer;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:8px 17px;border-radius:30px;border:1px solid var(--gold);background:var(--gold);color:#fff;transition:.28s ease;white-space:nowrap}
.has-js .vid-toggle{ display:inline-flex}
.vid-toggle:hover{ background:var(--gold-d);border-color:var(--gold-d);box-shadow:0 8px 20px rgba(138,104,67,.24)}
.vid-toggle svg{ width:13px;height:13px;flex:0 0 13px}
.vid-toggle .vt-play{ fill:currentColor;stroke:none}
.vid-toggle .vt-chev{ stroke:currentColor;fill:none;stroke-width:1.9;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.vid-toggle .vt-off{ display:none}
.vmodel.open .vid-toggle .vt-on{ display:none}
.vmodel.open .vid-toggle .vt-off{ display:inline}
.vmodel.open .vid-toggle{ background:var(--gold-soft);border-color:transparent;color:var(--gold-d);box-shadow:none}
.vmodel.open .vid-toggle:hover{ background:#EFE1D5}
.vmodel.open .vid-toggle .vt-chev{ transform:rotate(180deg)}
.vmodel-head{ transition:margin-bottom .45s cubic-bezier(.22,.61,.36,1)}
.has-js .vmodel:not(.open) .vmodel-head{ margin-bottom:0}
.has-js .vmodel:not(.open) .vmodel-grid{ display:none}
.has-js .vmodel.open .vmodel-grid > .vid-card{ animation:vcardIn .55s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--i,0) * 55ms)}
@keyframes vcardIn{ from{ opacity:0;translate:0 20px} to{ opacity:1;translate:none}}
@media(prefers-reduced-motion:reduce){ .has-js .vmodel.open .vmodel-grid > .vid-card{ animation:none} .vid-toggle .vt-chev,.vmodel-head{ transition:none}}
@media(max-width:860px){ .vmodel-head{ flex-direction:column;align-items:flex-start;gap:16px} .vmodel-photo{ flex:0 0 140px;width:100%;height:170px} .vmodel-grid{ grid-template-columns:repeat(2,1fr)} .vmodel-head .vmodel-dl{ margin-left:0} .vmodel-cta{ margin-left:0;width:100%} .vid-toggle{ flex:1 1 auto;justify-content:center}}
@media(max-width:560px){ .vmodel-grid{ grid-template-columns:1fr} .vmodel-grid > .vid-card:first-child{ grid-column:span 1} .vmodel-cta .vid-toggle,.vmodel-cta .vmodel-dl{ width:100%}}

/******* WARRANTY  *******/
.war-hero{position:relative;min-height:clamp(480px,72vh,760px);display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--beige) 0%,var(--warm) 100%)}
.war-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(40,35,30,0) 42%,rgba(40,35,30,.30) 100%);pointer-events:none}
.war-hero .war-bg{position:absolute;inset:0;z-index:0;border:none;background:transparent}
.war-hero .war-bg.img-slot::after{display:none}
.war-hero .war-bg.has-img{background:none}
.war-hero .wrap{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:0 max(28px,6vw)}
.war-hero-in{max-width:720px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:var(--radius);padding:34px 38px;box-shadow:var(--shadow-s)}
.war-hero-in h1{font-size:clamp(32px,5vw,48px);line-height:1.05;margin-bottom:14px}
.war-hero-in p{color:var(--ink);font-size:15.5px;line-height:1.7}
.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.wleft .tag{display:inline-block;background:var(--gold-soft);color:var(--gold-d);padding:6px 15px;border-radius:20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.wleft h1{font-size:40px;line-height:1.12;margin-bottom:16px}
.wleft .lead{color:var(--muted);line-height:1.8;margin-bottom:22px}
.wnums{display:flex;gap:34px;margin-bottom:24px}
.wnums b{display:block;font-size:34px;color:var(--gold-d);line-height:1}
.wnums span{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:6px;display:block}
.wlist{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.wlist li{padding-left:26px;position:relative;color:var(--ink);font-size:14.5px;line-height:1.5}
.wlist li::before{content:"\2713";position:absolute;left:0;color:var(--gold);font-weight:700}
.wform-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:34px 36px;box-shadow:var(--shadow-s)}
.wform-card h3{font-size:21px;margin-bottom:6px}
.wform-sub{color:var(--muted);font-size:13.5px;margin-bottom:22px}
.wform .wfield{margin-bottom:16px}
.wform label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.wform input,.wform select,.wform textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:#fff;color:var(--ink);font-family:inherit}
.wform input:focus,.wform select:focus,.wform textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(191,139,100,.14)}
.wform textarea{resize:vertical;min-height:96px}
.wform input::placeholder,.wform textarea::placeholder{color:var(--muted);font-size:13px}
.wform select:required:invalid{color:var(--muted)}
.wform label .req{color:#C25A45}
.wsubmit{width:100%;margin-top:6px;padding:14px;border:none;cursor:pointer;font-size:15px}
.wprivacy{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.6}
.wsteps{display:flex;align-items:center;justify-content:center;margin-top:30px;flex-wrap:wrap}
.wstep{flex:1 1 0;min-width:240px;display:flex;align-items:center;gap:16px;padding:28px 0}
.wstep-icon{flex-shrink:0;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--gold-l);display:flex;align-items:center;justify-content:center;background:transparent}
.wstep-icon svg{width:24px;height:24px;stroke:var(--gold-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wstep-body{flex:1}
.wstep-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.wstep-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;font-size:10px;font-weight:700}
.wstep-label{font-size:11px;font-weight:700;color:var(--gold-d);text-transform:uppercase;letter-spacing:.5px}
.wstep b{display:block;font-size:16px;margin-bottom:4px;color:var(--ink)}
.wstep p{color:var(--muted);font-size:14px;line-height:1.7}
.wstep-arrow{flex-shrink:0;display:flex;align-items:center;padding:0 14px}
.wstep-arrow svg{width:26px;height:26px;stroke:var(--gold-d);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.waddons{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.waddon{display:flex;gap:18px;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
.waddon .ic{width:40px;height:40px;color:var(--gold);flex:0 0 auto}
.waddon h3{font-size:17px;color:var(--ink);margin-bottom:8px}
.waddon p{font-size:14px;color:var(--muted);line-height:1.7}
.wfaq-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;margin-top:28px;align-items:stretch}
.wfaq{display:grid;gap:14px}
.wfaq-item{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.wfaq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;color:var(--gold-d);padding:20px 24px;user-select:none}
.wfaq-q .faq-ic{flex:0 0 auto;width:18px;height:18px;transition:transform .3s ease;stroke:var(--gold-d);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wfaq-item.open .faq-ic{transform:rotate(45deg)}
.wfaq-a{color:var(--muted);line-height:1.75;font-size:14.5px;margin:0;padding:0 24px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}
.wfaq-item.open .wfaq-a{padding:0 24px 22px;max-height:400px}
.wfaq-media{position:relative;display:flex;flex-direction:column}
.wfaq-media .img-slot{flex:1;border-radius:var(--radius);width:100%;min-height:240px}
@media(max-width:860px){
.wgrid{grid-template-columns:1fr;gap:34px}
.wnums{gap:24px}
.wsteps{flex-direction:column;align-items:stretch}
.wstep{width:100%;min-width:0;justify-content:center;padding:20px 0}
.wstep-arrow{transform:rotate(90deg);padding:6px 0;justify-content:center}
.wstep-arrow svg{width:22px;height:22px}
.wleft h1{font-size:32px}
.waddons{grid-template-columns:1fr}
.wfaq-layout{grid-template-columns:1fr;gap:30px}
.wfaq-media{position:static}
}

#whow{display:flex;align-items:center;padding-top:48px;padding-bottom:48px}
#whow > .wrap{width:100%}
#whow .sec-head{margin-bottom:0}
#whow .wsteps{margin-top:0}


/* 上传文件样式 */
#drop-zone {border: 1px dashed #ccc;border-radius: 8px;padding: 10px 20px;text-align: center;cursor: pointer;transition: all 0.3s ease;position: relative; flex-direction: row;gap: 10px;text-align: left;background: #f7fbff; justify-content: flex-start;}
#drop-zone.drag-over {border-color: #f7f7f7; background-color: #ecf5ff;}
#drop-zone.disabled {opacity: 0.6;cursor: not-allowed;background-color: #f9f9f9;}
#drop-zone .fa-paperclip:before{content: "\F0C6"; font-size: 30px;}
.hint-text { color: #666; margin-top: 10px; }

/* 隐藏原生 input */
#file-input { display: none; }
/* 预览区域样式 */
#preview-list {display: flex;flex-wrap: wrap; gap: 10px;margin-top: 20px;}
.preview-item { position: relative; width: 100px;height: 100px; border-radius: 4px;overflow: hidden;border: 1px solid #eee;}
.preview-item img { width: 100%; height: 100%;object-fit: cover;}
/* 删除按钮 */
.delete-btn {position: absolute;top: 2px;right: 2px; background: rgba(0, 0, 0, 0.6);color: white;border: none; border-radius: 50%; width: 20px;height: 20px;cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 12px;}
.delete-btn:hover { background: rgba(255, 0, 0, 0.8); }

/* 错误提示 */
#error-msg { color: red; font-size: 14px; margin-top: 10px; display: none; }
/*# sourceMappingURL=main.15bbcd2f.css.map*/
form input.error, form textarea.error, form select.error{
    border-color: red;
}




.loading{width: 100%;height: 100%;
   display:none;position: fixed;top: 50%;left: 50%; z-index: 10000; transform: translate(-50%, -50%);background:#7c737342}
   .loader-inner{position: absolute;top: 50%;left: 50%; z-index: 999; transform: translate(-50%, -50%);}
 .ball-pulse>div { background-color: #fff; width: 15px;height: 15px; border-radius: 100%; margin: 2px;-webkit-animation-fill-mode: both;animation-fill-mode: both; display: inline-block;
 }
 .ball-clip-rotate>div {
   background-color: #fff;border-radius: 100%;margin: 2px;-webkit-animation-fill-mode: both; animation-fill-mode: both;border: 5px solid #fff; border-bottom-color: transparent; height: 40px;
   width: 40px;background: transparent !important; display: inline-block; -webkit-animation: rotate 0.75s 0s linear infinite;animation: rotate 0.75s 0s linear infinite;}
 
 @keyframes rotate {
   0% {-webkit-transform: rotate(0deg) scale(1); transform: rotate(0deg) scale(1);}
 
   50% {-webkit-transform: rotate(180deg) scale(0.6);transform: rotate(180deg) scale(0.6);}
   100% {-webkit-transform: rotate(360deg) scale(1);transform: rotate(360deg) scale(1);}}

/* =========== RESPONSIVE: TABLET & DESKTOP ================== */
   @media (max-width:1080px){ .nav{ display:none} .burger{ display:flex} .site-header.nav-open .nav{ display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:8px 28px 18px;box-shadow:var(--shadow);} .site-header.nav-open .nav > li > a{ height:48px} .site-header.nav-open .nav > li > a::after{ display:none} .site-header.nav-open .dropdown{ position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;padding:0 0 10px 16px;min-width:0;} .site-header.nav-open .dropdown a{ padding:8px 0} .scen-grid{ grid-template-columns:repeat(2,1fr)} .svc-grid,.acc-grid,.rev-grid{ grid-template-columns:repeat(2,1fr)} .war-grid,.story-grid,.ct-grid{ grid-template-columns:1fr;gap:38px} .prod-grid{ grid-template-columns:1fr;max-width:460px} .ft-grid{ grid-template-columns:1fr 1fr;gap:32px} .hero-arrows button{ display:none}}
   @media(max-width:980px){ .reliable-grid,.order-grid{ grid-template-columns:1fr;gap:34px} .reliable-wrap,.order-wrap{ padding:38px 34px} .ac-grid{ grid-template-columns:1fr 1fr} .values-grid{ grid-template-columns:repeat(2,1fr)} .team-grid{ grid-template-columns:repeat(3,1fr)}}
   @media(max-width:860px){ .pintro-grid{ grid-template-columns:1fr;gap:30px} .p-gallery{ position:static} .p-thumbs{ gap:8px} .pspec-grid{ grid-template-columns:1fr} .wgrid{ grid-template-columns:1fr;gap:34px} .wnums{ gap:24px} .wsteps{ flex-direction:column;align-items:stretch} .wstep{ width:100%;min-width:0;justify-content:center;padding:20px 0} .wstep-arrow{ transform:rotate(90deg);padding:6px 0;justify-content:center} .wstep-arrow svg{ width:22px;height:22px} .wleft h1{ font-size:32px} .waddons{ grid-template-columns:1fr} .wfaq-layout{ grid-template-columns:1fr;gap:30px} .wfaq-media{ position:static} .timeline-item{ grid-template-columns:100px 1fr;gap:24px} .timeline-year b{ font-size:26px} .bs-hero{ min-height:100vh} .bs-title{ font-size:48px} .bs-hero .lead{ font-size:16px} .bs-scroll{ display:none} .bs-split{ grid-template-columns:1fr;gap:28px} .bs-split .bs-side{ order:0 !important;max-width:none;justify-self:stretch} .bs-values{ grid-template-columns:1fr 1fr} .bs-axis::before{ left:7px} .bs-node{ width:100%;left:0 !important;text-align:left !important;padding:16px 0 16px 38px} .bs-node:nth-child(odd) .bs-dot,.bs-node:nth-child(even) .bs-dot{ left:0;right:auto}}
   @media (max-width:640px){.hidden-xs{display:none} .wrap{ padding:0 10px} .pad{ padding:64px 0} .fgrid,.war-cover,.acc-row,.acc-grid,.vgrid,.ft-grid{ grid-template-columns:1fr} .scen-grid{ grid-template-columns:1fr 1fr} .war-stats{ gap:20px}.reliable-wrap,.order-wrap{ padding:28px 22px} .acc-selected{ grid-template-columns:60px 1fr auto} .acc-modal-body{ padding:18px 16px} .values-grid{ grid-template-columns:1fr} .team-grid{ grid-template-columns:repeat(2,1fr)} .timeline-item{ grid-template-columns:1fr;gap:12px} .timeline-year{ text-align:left} .ac-body{padding: 24px 10px 30px;}}