/* Page-scoped e-commerce service. Shared Y2K navigation and footer are retained. */
.ecommerce-page { --ec-paper:#f5f1e8; --ec-ink:#173d3e; --ec-muted:#53625c; --ec-line:#d5d7cc; --ec-soft:#e9e9dd; background:var(--ec-paper); }
.ecommerce-page main :is(article,figure,div) { min-width:0; }
.ecommerce-page main h1 { font-size:clamp(48px,4.8vw,72px); line-height:1.04; margin:0 0 27px; }
.ecommerce-page main :is(h1,h2) em { color:#96713b; font-weight:400; }
.ecommerce-page main h2 { font-size:clamp(40px,4.1vw,62px); line-height:1.05; margin:0; }
.ecommerce-page main h3 { font-size:30px; line-height:1.13; margin:0 0 13px; }
.ecommerce-page main section[id] { scroll-margin-top:100px; }
.ec-hero { padding:119px 0 64px; }
.ec-breadcrumb { margin-bottom:34px; color:var(--ec-muted); font-size:10px; }
.ec-breadcrumb ol { display:flex; flex-wrap:wrap; gap:7px 12px; list-style:none; }
.ec-breadcrumb li+li::before { content:'/'; margin-right:12px; color:#8b9386; }
.ec-breadcrumb a:hover { text-decoration:underline; }
.ec-hero-grid { display:grid; grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); gap:60px; align-items:center; }
.ecommerce-page main .ec-lead { max-width:490px; margin-bottom:19px; color:var(--ec-ink); font-size:17px; line-height:1.75; }
.ecommerce-page main .ec-hero-copy { max-width:480px; margin-bottom:28px; color:var(--ec-muted); font-size:14px; }
.ec-actions { display:flex; flex-wrap:wrap; gap:15px 25px; align-items:center; }
.ecommerce-page main .ec-hero-note { max-width:430px; margin-top:21px; color:var(--ec-muted); font-size:11px; }
.ec-hero-photo { margin:0; }
.ec-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; background:#e7dfd1; }
.ec-hero-photo figcaption { margin-top:13px; color:var(--ec-muted); font-size:10px; letter-spacing:.035em; }
.ec-principles { border-block:1px solid var(--ec-line); }
.ec-principles ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; padding-block:19px; list-style:none; color:var(--ec-muted); font-size:10px; font-weight:700; letter-spacing:.035em; }
.ec-principles li { display:flex; align-items:center; gap:11px; }
.ec-principles li::before { content:''; flex:0 0 5px; width:5px; height:5px; border-radius:50%; background:#8f7345; }
.ec-section { padding-block:clamp(70px,7.8vw,108px); }
.ec-section--soft { background:var(--ec-soft); }
.ec-section-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:70px; align-items:end; margin-bottom:42px; }
.ec-section-head > p { color:var(--ec-muted); font-size:14px !important; }
.ec-function-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.ec-function-grid article { padding-top:24px; border-top:1px solid var(--ec-line); }
.ec-number { display:block; margin-bottom:22px; color:#756143; font-size:10px; line-height:1.7; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.ecommerce-page main .ec-function-grid p { color:var(--ec-muted); font-size:13px; }
.ec-method-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:100px; align-items:start; }
.ec-method-layout h2 { margin-bottom:26px !important; }
.ecommerce-page main .ec-muted { color:var(--ec-muted); font-size:14px; }
.ec-method-layout .web-text-link, .ec-seo-layout .web-text-link { margin-top:23px; }
.ec-steps { list-style:none; }
.ec-steps li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:22px; padding-block:24px; border-top:1px solid #bac5b8; }
.ec-steps li:first-child { padding-top:0; border-top:0; }
.ec-steps li:last-child { padding-bottom:0; }
.ec-steps li > span { color:#876e42; font:400 28px/1.3 'Cormorant Garamond',Georgia,serif; }
.ec-steps h3 { font-size:29px !important; }
.ecommerce-page main .ec-steps p { color:var(--ec-muted); font-size:13px; }
.ec-brief-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.ec-brief-grid article { padding:25px 22px 27px; border:1px solid var(--ec-line); background:#fcfaf5; }
.ec-brief-grid h3 { font-size:28px !important; }
.ec-brief-grid ul { padding-left:16px; color:var(--ec-muted); font-size:12px; line-height:1.85; }
.ec-brief-grid li+li { margin-top:9px; }
.ecommerce-page main .ec-inline-note { margin-top:25px; color:var(--ec-muted); font-size:12px; }
.ec-costs { background:#183e3d; color:#f6f0e5; }
.ec-costs .web-kicker, .ecommerce-page main .ec-costs h2 em { color:#dec79c; }
.ec-costs .ec-section-head > p { color:#d7e0d5; }
.ec-quote-box { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:65px; margin-bottom:50px; padding:36px; border:1px solid #9ea78b; background:#f6f0e5; color:var(--ec-ink); }
.ec-quote-label { margin-bottom:18px !important; color:#795a2b; font-size:12px !important; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.ec-quote-box h3 { font-size:38px !important; margin-bottom:20px !important; }
.ecommerce-page main .ec-quote-box p:not(.ec-quote-label) { color:var(--ec-muted); font-size:13px; }
.ec-quote-box .web-button { margin-top:24px; background:#193d3e; border-color:#193d3e; color:#fff8ed; }
.ec-quote-box .web-button:hover { background:#2b5553; }
.ec-quote-box :focus-visible { outline-color:#193d3e; }
.ec-quote-list-title { margin-bottom:16px !important; font-weight:700; color:var(--ec-ink) !important; }
.ec-quote-box ul { padding-left:18px; font-size:13px; line-height:1.8; }
.ec-quote-box li+li { margin-top:10px; }
.ecommerce-page main .ec-quote-note { margin-top:23px; font-size:11px !important; }
.ec-cost-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.ec-cost-grid article { padding-top:26px; border-top:1px solid #6e8b7e; }
.ec-cost-grid .ec-number { color:#dec79c; }
.ecommerce-page main .ec-cost-grid p { color:#d7e0d5; font-size:13px; }
.ec-scope-note { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:45px; margin-top:40px; padding-top:28px; border-top:1px solid #6e8b7e; }
.ec-scope-note > strong { font-size:14px; line-height:1.8; font-weight:600; color:#f3dfbd; }
.ecommerce-page main .ec-scope-note p { color:#d7e0d5; font-size:11px; }
.ec-scope-note a { color:#f4e5c8; text-decoration:underline; }
.ec-costs :focus-visible { outline-color:#f4e5c8; }
.ec-seo-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px; }
.ec-seo-layout h2 { margin-bottom:25px !important; }
.ec-seo-list article { padding-block:24px; border-top:1px solid var(--ec-line); }
.ec-seo-list article:last-child { padding-bottom:0; }
.ec-seo-list h3 { font-size:29px !important; }
.ecommerce-page main .ec-seo-list p { color:var(--ec-muted); font-size:13px; }
.ec-demo { background:#e6dfd1; }
.ec-demo-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:90px; align-items:center; }
.ec-demo-layout h2 { margin-bottom:25px !important; }
.ec-demo-layout > div > p:not(.web-kicker) { max-width:470px; color:var(--ec-muted); }
.ec-demo-layout .web-button { margin-top:24px; background:#193d3e; border-color:#193d3e; color:#fff8ed; }
.ec-demo-layout .web-button:hover { background:#2b5553; }
.ecommerce-page main .ec-demo-note { margin-top:22px; font-size:11px; line-height:1.8; }
.ec-demo-card { display:block; padding:28px; border:1px solid #bdbeac; background:#f9f6ec; box-shadow:0 20px 50px #193d3e0a; transition:transform .2s,border-color .2s; }
.ec-demo-card:hover { transform:translateY(-3px); border-color:#607969; }
.ec-demo-card-top, .ec-demo-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; }
.ec-demo-card-top { padding-bottom:20px; border-bottom:1px solid #d5d7c7; color:var(--ec-muted); }
.ec-demo-card-top > span { font-size:24px; }
.ec-demo-card ol { padding-block:14px; list-style:none; }
.ec-demo-card li { display:flex; gap:20px; align-items:center; padding-block:22px; border-bottom:1px solid #d5d7c7; }
.ec-demo-card li span { color:#8f774e; font-size:10px; }
.ec-demo-card li strong { font:400 30px/1.15 'Cormorant Garamond',Georgia,serif; }
.ec-demo-card-bottom { padding-top:14px; font-weight:700; }
.ec-demo-card-bottom > span { font-size:22px; }
.ec-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:100px; }
.ec-faq-list details { border-top:1px solid var(--ec-line); }
.ec-faq-list details:last-child { border-bottom:1px solid var(--ec-line); }
.ec-faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:23px; padding-block:22px; cursor:pointer; list-style:none; font-size:14px; font-weight:600; line-height:1.7; }
.ec-faq-list summary::-webkit-details-marker { display:none; }
.ec-faq-list summary::after { content:'+'; flex:0 0 auto; color:#8f774e; font-size:24px; font-weight:400; }
.ec-faq-list details[open] summary::after { content:'−'; }
.ecommerce-page main .ec-faq-list details > p { padding:0 25px 24px 0; color:var(--ec-muted); font-size:13px; }
.ec-next { background:#e2e8de; }
.ec-next-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:90px; align-items:center; }
.ec-next h2 { margin-bottom:25px !important; }
.ec-next-layout > div:first-child > p:not(.web-kicker) { max-width:560px; color:var(--ec-muted); }
.ecommerce-page main .ec-area-note { margin-top:23px; font-size:11px; }
.ec-next-actions .web-button { width:100%; }
.ecommerce-page main .ec-next-actions > p { margin-top:16px; color:var(--ec-muted); font-size:11px; }
.ec-next-actions .web-text-link { margin-top:22px; font-size:11px; }
@media (max-width:1100px) {
  .ec-hero-grid { gap:36px; }
  .ecommerce-page main h1 { font-size:clamp(47px,5.2vw,65px); }
  .ec-section-head { gap:45px; }
  .ec-brief-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ec-method-layout, .ec-seo-layout, .ec-faq-layout { gap:60px; }
  .ec-quote-box { gap:40px; padding:30px; }
  .ec-demo-layout, .ec-next-layout { gap:55px; }
}
@media (max-width:800px) {
  .ec-hero { padding:113px 0 43px; }
  .ec-breadcrumb { margin-bottom:27px; }
  .ec-hero-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  .ecommerce-page main h1 { font-size:clamp(45px,8vw,65px); }
  .ec-hero-photo { max-width:650px; }
  .ec-principles ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 22px; }
  .ec-function-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ec-section-head { grid-template-columns:minmax(0,1fr); gap:25px; margin-bottom:34px; }
  .ec-section-head > p { max-width:610px; }
  .ec-method-layout, .ec-seo-layout, .ec-faq-layout, .ec-demo-layout, .ec-next-layout { grid-template-columns:minmax(0,1fr); gap:35px; }
  .ec-quote-box { grid-template-columns:minmax(0,1fr); gap:30px; }
  .ec-method-layout > div:first-child, .ec-seo-layout > div:first-child { max-width:580px; }
  .ec-cost-grid { gap:25px; }
  .ec-demo-card { max-width:600px; }
  .ec-next-actions { max-width:560px; }
}
@media (max-width:560px) {
  .ecommerce-page .web-shell { width:calc(100% - 40px); }
  .ec-section { padding-block:58px; }
  .ecommerce-page main h1 { font-size:clamp(39px,10.8vw,54px); }
  .ecommerce-page main h2 { font-size:clamp(36px,9vw,48px); }
  .ecommerce-page main .ec-lead { font-size:16px; }
  .ec-actions { align-items:flex-start; gap:13px 20px; }
  .ec-principles ul { grid-template-columns:minmax(0,1fr); padding-block:20px; gap:12px; }
  .ec-function-grid, .ec-brief-grid, .ec-cost-grid, .ec-scope-note { grid-template-columns:minmax(0,1fr); gap:29px; }
  .ec-function-grid article { padding-top:21px; }
  .ec-number { margin-bottom:17px; }
  .ec-brief-grid article { padding:23px; }
  .ec-scope-note { gap:15px; margin-top:32px; }
  .ec-quote-box { padding:24px; margin-bottom:38px; }
  .ec-steps li { grid-template-columns:27px minmax(0,1fr); gap:16px; }
  .ec-demo-card { padding:24px; }
  .ec-demo-card li { gap:17px; }
  .ec-demo-card li strong { font-size:28px; }
  .ec-faq-list summary { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .ecommerce-page *, .ecommerce-page *::before, .ecommerce-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
.ec-word{white-space:nowrap}
