/* V26.5: uncropped panoramic medal hero plus the unified article system. */

/* Homepage: use one atmospheric product scene instead of a white catalog card. */
.v27-home-hero {
  position:relative;
  min-height:720px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#123e31;
}
.v27-home-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  display:none;
}
.v27-home-hero-grid {
  position:relative;
  z-index:2;
  width:min(calc(100% - 96px),1680px);
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,40%) minmax(0,60%);
  gap:0;
  align-items:center;
}
.v27-home-hero-copy {
  max-width:620px;
  padding:56px 0 52px;
}
.v27-home-hero .v24-hero-lede { max-width:590px; }
.v27-home-hero .v24-hero-note { max-width:570px; }
.v27-home-hero-art {
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
}
.v27-home-hero-art img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
}

@media(max-width:1180px) and (min-width:821px) {
  .v27-home-hero,
  .v27-home-hero-grid { min-height:650px; }
  .v27-home-hero-grid { width:min(calc(100% - 40px),var(--max)); grid-template-columns:minmax(0,51%) minmax(0,49%); }
  .v27-home-hero-copy { padding:50px 0; }
  .v27-home-hero h1 { font-size:clamp(2.65rem,5.1vw,3.45rem); }
  .v27-home-hero-art { inset:0; }
  .v27-home-hero-art img { object-position:right center; }
  .v27-home-hero::after { display:block; background:linear-gradient(90deg,rgba(9,42,32,.78) 0%,rgba(12,47,37,.58) 46%,rgba(12,47,37,.08) 70%,rgba(12,47,37,0) 78%); }
}

@media(max-width:820px) {
  .v27-home-hero {
    display:flex;
    min-height:0;
    flex-direction:column;
  }
  .v27-home-hero::after { display:none; }
  .v27-home-hero-grid {
    order:1;
    min-height:0;
    grid-template-columns:1fr;
  }
  .v27-home-hero-copy {
    width:100%;
    max-width:680px;
    padding:44px 0 40px;
  }
  .v27-home-hero-art {
    position:relative;
    inset:auto;
    order:2;
    width:100%;
    aspect-ratio:16 / 10;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .v27-home-hero-art img { object-position:right center; }
}

@media(max-width:560px) {
  .v27-home-hero-copy { padding:36px 0 34px; }
  .v27-home-hero h1 { font-size:clamp(2.25rem,11vw,2.8rem); }
  .v27-home-hero .v24-hero-lede { font-size:1rem; }
  .v27-home-hero-art { aspect-ratio:4 / 3; }
  .v27-home-hero-art img { object-position:right center; }
}
body > .whatsapp-float { position:fixed; right:24px; bottom:24px; z-index:65; }

.unified-article-hero {
  padding:56px 0 44px;
  background:var(--ivory,#f7f0e4);
  border-bottom:1px solid var(--line,rgba(37,35,30,.14));
}
.unified-article-hero > .container { display:block; }
.unified-article-hero .eyebrow { display:block; margin:0 0 14px; font-size:12px; line-height:1.6; }
.unified-article-hero h1 {
  max-width:1000px;
  margin:0 0 18px;
  font-size:clamp(2rem,3.8vw,3.5rem);
  line-height:1.13;
  letter-spacing:-.035em;
  overflow-wrap:break-word;
}
.unified-hero-description { max-width:880px; margin:0 0 17px; color:var(--muted,#66645e); font-size:17px; line-height:1.7; }
.unified-article .article-meta { display:flex; flex-wrap:wrap; gap:5px 20px; margin:0 0 24px; color:var(--muted,#66645e); font-size:14px; line-height:1.7; }
.unified-article .article-meta time { white-space:nowrap; }
.unified-article .quick-answer {
  max-width:940px;
  margin:0;
  padding:20px 24px;
  border:1px solid var(--line,rgba(37,35,30,.14));
  border-left:4px solid var(--gold,#b78a43);
  border-radius:0 14px 14px 0;
  background:#fff;
  box-shadow:0 10px 30px rgba(42,31,18,.06);
}
.unified-article .quick-answer strong { display:block; margin:0 0 5px; color:var(--green,#24463a); }
.unified-article .quick-answer p { max-width:none; margin:0; color:#4f504c; font-size:16px; line-height:1.72; }

.unified-buyer-tools { margin-top:22px; }
.unified-article-main { padding-top:34px; }
.unified-article-figure { margin:0 0 38px; }
.unified-article-figure img { display:block; width:100%; height:auto; border-radius:20px; }
.unified-article-figure figcaption { margin-top:9px; color:var(--muted,#66645e); font-size:13px; line-height:1.55; }
.unified-article-shell { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:52px; align-items:start; }
.unified-article-content { max-width:780px; min-width:0; color:#4f504c; font-size:17px; line-height:1.8; }
.unified-article-content > p:first-child { margin-top:0; }
.unified-article-content p { margin:0 0 18px; }
.unified-article-content li { margin-bottom:8px; }
.unified-article-content > h2,
.unified-article-content > section > h2,
.unified-article-content > .unified-extra-block h2 {
  margin:50px 0 18px;
  color:var(--ink,#1e201e);
  font-size:clamp(1.75rem,3vw,2.35rem);
  line-height:1.25;
  scroll-margin-top:110px;
}
.unified-article-content > section { margin-top:46px; scroll-margin-top:110px; }
.unified-article-content > section > h2:first-child { margin-top:0; }
.unified-article-content .section,
.unified-article-content .section-sm { padding:0; }
.unified-article-content a { color:var(--green,#24463a); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.unified-article-content .btn { text-decoration:none; }
.unified-article-content .callout,
.unified-article-content .v26-example { margin:24px 0; padding:21px 23px; border-radius:14px; background:#f5f1e8; }
.unified-article-content .callout { border-left:4px solid var(--gold,#b78a43); }
.unified-article-content .callout p:last-child,
.unified-article-content .v26-example p:last-child { margin-bottom:0; }
.unified-article-content .table-wrap { max-width:100%; margin:24px 0; overflow-x:auto; border:1px solid #dcded8; border-radius:12px; }
.unified-article-content table { width:100%; margin:0; border-collapse:collapse; font-size:15px; }
.unified-article-content caption { padding:15px 16px; background:#edf1ea; color:#2d3d36; text-align:left; font-weight:700; }
.unified-article-content th,
.unified-article-content td { padding:13px 15px; border-bottom:1px solid #dcded8; vertical-align:top; text-align:left; }
.unified-article-content th { background:#f6f7f3; color:#2b342f; }
.unified-article-content figure { max-width:100%; margin:28px 0; }
.unified-article-content figure img { width:100%; height:auto; border-radius:16px; }
.unified-article-content figure figcaption { margin-top:8px; color:var(--muted,#66645e); font-size:13px; }

.unified-extra-block { margin-top:46px; padding-top:36px; border-top:1px solid var(--line,rgba(37,35,30,.14)); }
.unified-extra-block > .section-head { margin-bottom:20px; }
.unified-extra-block > .section-head > div { max-width:none; }
.unified-extra-block > .section-head h2 { margin-top:0; }
.unified-buyer-answers { padding:26px; border:1px solid #dfd6c5; border-radius:18px; background:#f8f3e9; }
.unified-buyer-answers .eyebrow { margin-bottom:10px; }
.unified-buyer-answers .article-question-grid { grid-template-columns:1fr; gap:12px; }
.unified-buyer-answers .article-question-grid article { padding:18px; box-shadow:none; }
.unified-buyer-answers .article-intent-links { grid-template-columns:1fr; }

.unified-toc { position:sticky; top:110px; padding-left:20px; border-left:2px solid var(--gold,#b78a43); }
.unified-toc h2 { margin:0 0 16px; color:var(--green,#24463a); font:700 19px/1.3 Georgia,"Times New Roman",serif; }
.unified-toc ol { margin:0; padding-left:19px; color:var(--muted,#66645e); font-size:14px; line-height:1.55; }
.unified-toc li { margin-bottom:12px; padding-left:3px; }
.unified-toc a:hover { color:var(--green,#24463a); }
.unified-order-note { margin-top:24px; padding-top:20px; border-top:1px solid var(--line,rgba(37,35,30,.14)); font-size:14px; line-height:1.65; }
.unified-order-note h3 { margin:0 0 8px; color:var(--green,#24463a); font-size:16px; }
.unified-order-note p { margin:0 0 10px; color:var(--muted,#66645e); }

.unified-author-box { display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:start; padding:24px; border:1px solid #dce1da; border-radius:16px; background:#fff; }
.unified-author-mark { display:grid; width:52px; height:52px; place-items:center; border-radius:50%; background:var(--green,#24463a); color:#fff; font-size:15px; font-weight:900; letter-spacing:.04em; }
.unified-author-box .eyebrow { margin-bottom:4px; }
.unified-author-box h3 { margin:0 0 6px; color:var(--ink,#1e201e); font-size:20px; }
.unified-author-box p { margin-bottom:8px; font-size:15px; }
.unified-related { padding-top:36px; border-top:1px solid var(--line,rgba(37,35,30,.14)); }
.unified-related > h2 { margin-top:0 !important; }
.unified-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.unified-related-grid a { display:flex; min-height:112px; flex-direction:column; gap:6px; padding:19px; border:1px solid #dcded8; border-radius:14px; background:#fff; text-decoration:none; }
.unified-related-grid a:hover { border-color:var(--gold,#b78a43); transform:translateY(-1px); }
.unified-related-grid strong { color:var(--green,#24463a); }
.unified-related-grid span { color:var(--muted,#66645e); font-size:14px; font-weight:400; line-height:1.6; }
.unified-article-cta { padding:29px; border-radius:18px; background:#173f32; color:#fff; }
.unified-article-content .unified-article-cta h2 { max-width:17ch; margin:0 0 13px; color:#fff; }
.unified-article-content .unified-article-cta > p:not(.eyebrow) { color:#f7f1e7; }
.unified-article-cta .eyebrow { color:#e2bc78; }
.unified-article-cta .btn-primary { background:#d2a04b; color:#102f26; }
.unified-article-cta .btn-outline { border-color:#f0dfbe; color:#fff; }
.unified-article-cta .actions { margin-top:20px; }

/* Shared V26 guide index and enquiry styles retained. */
.v26-guide-jump { display:flex; flex-wrap:wrap; gap:12px; padding-top:24px; }
.v26-guide-jump a { padding:12px 18px; border:1px solid #d8dfd6; border-radius:999px; font-weight:600; }
.v26-guide-jump span { margin-left:6px; color:#6b746d; }
.v26-guide-group { scroll-margin-top:95px; }
.v26-blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v26-blog-grid .card { display:flex; flex-direction:column; }
.v26-blog-grid .card-media { display:block; aspect-ratio:1672/941; }
.v26-blog-grid .card-media img { width:100%; height:100%; object-fit:cover; }
.v26-blog-grid .card-body { display:flex; flex:1; flex-direction:column; }
.v26-blog-grid .card-body > .text-link { margin-top:auto; }
.v26-blog-grid .card h3 { font-size:21px; line-height:1.35; }
.v26-guide-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.v26-guide-card { padding:25px; border:1px solid #dce2d8; border-radius:16px; background:#fff; }
.v26-guide-card h3 { font-size:23px; line-height:1.3; }
.v26-guide-card p:not(.eyebrow) { color:#586363; font-size:15px; }
.v26-prefill-note { padding:12px 14px; border-left:3px solid #8b9d75; border-radius:4px; background:#f0f4ed; }

@media(max-width:1000px) {
  .v26-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .unified-article-shell { grid-template-columns:minmax(0,1fr) 230px; gap:30px; }
}
@media(max-width:820px) {
  .unified-article-shell { display:flex; flex-direction:column; }
  .unified-article-content { max-width:none; width:100%; }
  .unified-toc { position:static; order:-1; width:100%; padding:20px; border:1px solid #dce2df; border-radius:12px; }
  .unified-toc ol { columns:2; column-gap:24px; }
  .unified-toc li { break-inside:avoid; }
  .unified-order-note { display:none; }
}
@media(max-width:640px) {
  .unified-article-hero { padding:32px 0; }
  .unified-article-hero h1 { font-size:clamp(2rem,10vw,2.7rem); }
  .unified-hero-description { font-size:16px; }
  .unified-article .article-meta { display:grid; gap:2px; font-size:13px; }
  .unified-article .quick-answer { padding:17px; }
  .unified-article-main { padding-top:26px; }
  .unified-article-figure { margin-bottom:26px; }
  .unified-article-content { font-size:16px; }
  .unified-toc ol { columns:1; }
  .unified-article-content > section,
  .unified-extra-block { margin-top:36px; }
  .unified-buyer-answers { padding:18px; }
  .unified-article-content th,
  .unified-article-content td { padding:11px; font-size:14px; }
  .unified-related-grid { grid-template-columns:1fr; }
  .unified-author-box { grid-template-columns:42px 1fr; padding:19px; }
  .unified-author-mark { width:42px; height:42px; font-size:13px; }
  .unified-article-cta { padding:22px; }
  .unified-article-cta .actions { display:grid; }
  .v26-blog-grid { grid-template-columns:1fr; }
  body > .whatsapp-float { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
}
@media print {
  .unified-buyer-tools,.unified-toc,.unified-article-cta { display:none !important; }
  .unified-article-hero { padding:20px 0; background:#fff; }
  .unified-article-shell { display:block; }
  .unified-article-content { max-width:none; }
}


/* V26.6: compact, progressive quote-request flow inspired by leading medal RFQ forms. */
.quote-wizard { margin:0 0 20px; }
.quote-step-indicators { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:10px; margin:0; padding:0; }
.quote-step-indicators li { display:flex; align-items:center; gap:9px; min-width:0; color:#73786f; font-size:.875rem; font-weight:700; }
.quote-step-indicators li > span:first-child { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:1px solid #d8ddd5; border-radius:50%; background:#fff; color:#667067; font-size:.75rem; }
.quote-step-indicators li.is-current { color:#173f32; }
.quote-step-indicators li.is-current > span:first-child { border-color:#173f32; background:#173f32; color:#fff; }
.quote-step-indicators li.is-complete > span:first-child { border-color:#b78a43; background:#f4ebd7; color:#173f32; }
.quote-progress-track { height:4px; margin:11px 0 8px; overflow:hidden; border-radius:999px; background:#e6e9e3; }
.quote-progress-track > span { display:block; width:33.333%; height:100%; border-radius:inherit; background:#b78a43; transition:width .2s ease; }
.quote-step-caption { margin:0; color:#687168; font-size:.8rem; }
.quote-step[hidden] { display:none !important; }
.quote-step { padding:22px; border:1px solid #e1e4de; border-radius:15px; background:#fff; }
.quote-step-heading { margin-bottom:18px; }
.quote-step-heading .eyebrow { margin:0 0 6px; color:#73502a; font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.quote-step-heading h3 { margin:0 0 6px; color:#173f32; font-size:1.4rem; line-height:1.25; }
.quote-step-heading .field-help { margin:0; line-height:1.55; }
.quote-step .form-grid { gap:15px 18px; }
.quote-step .field-help { line-height:1.5; }
.quote-step-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:22px; padding-top:18px; border-top:1px solid #e8ebe6; }
.quote-step-hint { max-width:255px; color:#687168; font-size:.82rem; line-height:1.5; }
.optional-label { color:#72786f; font-size:.82em; font-weight:500; }
.quote-step .quote-optional-details { margin-top:15px; }
.quote-step .quote-actions { margin-top:18px; }
.quote-response-note { margin:16px 0 8px; padding:12px 14px; border-left:3px solid #b78a43; background:#f7f4ec; color:#414a44; font-size:.9rem; line-height:1.55; }
.quote-alternate-contact { margin:14px 0 0; color:#687168; font-size:.86rem; }
.quote-alternate-contact a { color:#24463a; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:560px) {
  .quote-step { padding:17px; }
  .quote-step-indicators { gap:5px; }
  .quote-step-indicators li { gap:6px; font-size:.78rem; }
  .quote-step-indicators li > span:first-child { width:26px; height:26px; flex-basis:26px; }
  .quote-step-actions { align-items:stretch; flex-direction:column; }
  .quote-step-actions .btn { width:100%; }
  .quote-step-hint { max-width:none; }
}
@media(prefers-reduced-motion:reduce) { .quote-progress-track > span { transition:none; } }


/* V26.7: more visible home page WhatsApp quote action; retain the existing breathe pulse. */
.whatsapp-widget {
  width: 226px;
  height: 64px;
}
.whatsapp-float--prominent {
  width: 100%;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 6px 16px 6px 9px;
  border: 2px solid rgba(255,255,255,.96);
  border-radius: 999px;
  background: linear-gradient(135deg, #22c55e 0%, #087f4e 100%);
  box-shadow: 0 13px 30px rgba(4,55,34,.34), inset 0 1px 0 rgba(255,255,255,.28);
}
body > .whatsapp-float--prominent {
  right: 24px;
  bottom: 24px;
  width: 226px;
  height: 64px;
}
.whatsapp-float-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(255,255,255,.16);
}
.whatsapp-float--prominent .whatsapp-float-icon svg {
  width: 25px;
  height: 25px;
  fill: currentColor;
}
.whatsapp-float-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  color: #fff;
  line-height: 1.12;
  text-align: left;
}
.whatsapp-float-copy strong {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
}
.whatsapp-float-copy small {
  font-size: 10.5px;
  font-weight: 600;
  opacity: .94;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .whatsapp-widget {
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    width: min(210px, calc(100vw - 28px));
    height: 58px;
  }
  body > .whatsapp-float--prominent {
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    width: min(210px, calc(100vw - 28px));
    height: 58px;
  }
  .whatsapp-float--prominent {
    height: 58px;
    gap: 9px;
    padding: 5px 12px 5px 8px;
  }
  .whatsapp-float-icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }
  .whatsapp-float--prominent .whatsapp-float-icon svg {
    width: 23px;
    height: 23px;
  }
  .whatsapp-float-copy strong {
    font-size: 12.5px;
  }
  .whatsapp-float-copy small {
    font-size: 10px;
  }
}
