/* Ami Support — customer care, warranty, and complaint flow. */
.cs-page {
  --cs-navy:#082f49; --cs-navy-deep:#062437; --cs-blue:#0b6289; --cs-blue-soft:#e3f4f7;
  --cs-yellow:#f5c842; --cs-yellow-soft:#fff1b7; --cs-white:#fffefa; --cs-ink:#123346;
  --cs-muted:#506976; --cs-line:rgba(8,47,73,.17); --cs-paper:#f7fbfa; --cs-radius:.9rem;
  --cs-shadow:0 1rem 2.5rem rgba(8,47,73,.09); overflow:clip; background:var(--cs-paper); color:var(--cs-ink);
}
.cs-page,.cs-page * { min-width:0; }
.cs-page :is(h1,h2,h3,h4) { color:var(--cs-navy); }
.cs-page :is(p,li) { overflow-wrap:anywhere; font-size:.95rem; line-height:1.68; }
.cs-page .section { padding-block:clamp(4.5rem,9vw,8.5rem); }
.cs-page :is(#garansi,#qc,#alur-layanan,#sebelum-pulang,#pengaduan,#cs-faq) { scroll-margin-top:5rem; }
.cs-page [hidden] { display:none!important; }

/* Hero, actions, contact card, and section navigation. */
.cs-hero-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr); align-items:center; gap:clamp(2.5rem,8vw,8rem); }
.cs-hero-layout > div:first-child .breadcrumb { width:auto; margin:0 0 1.35rem; color:var(--cs-muted); }
.cs-hero :is(.eyebrow,.section-heading .eyebrow) { color:var(--cs-blue); }
.cs-hero h1 { max-width:10ch; font-size:clamp(3rem,6.6vw,6rem); letter-spacing:-.06em; line-height:.96; }
.cs-hero-layout > div:first-child > p { max-width:35rem; margin-top:1.45rem; color:var(--cs-muted); font-size:clamp(1rem,1.35vw,1.1rem); }
.cs-hero-actions,.cs-admin-links { display:flex; flex-wrap:wrap; gap:.65rem; }
.cs-hero-actions { margin-top:1.9rem; }
.cs-page .btn { min-height:2.75rem; text-decoration:none; }
.cs-page .btn-primary { background:var(--cs-navy); color:var(--cs-white); }
.cs-page .btn-primary:hover,.cs-page .btn-primary:focus-visible { background:var(--cs-navy-deep); color:var(--cs-white); }
.cs-page .btn-secondary { background:var(--cs-yellow); color:var(--cs-navy-deep); }
.cs-page .btn-secondary:hover,.cs-page .btn-secondary:focus-visible { background:#ffe18a; color:var(--cs-navy-deep); }
.cs-page .btn-outline { border-color:var(--cs-navy); color:var(--cs-navy); }
.cs-page .btn-outline:hover,.cs-page .btn-outline:focus-visible { border-color:var(--cs-navy); background:var(--cs-navy); color:var(--cs-white); }
.cs-contact-card { padding:clamp(1.45rem,3.3vw,2.5rem); border-top:.3rem solid var(--cs-yellow); border-radius:var(--cs-radius); background:var(--cs-navy); box-shadow:var(--cs-shadow); color:var(--cs-white); }
.cs-contact-card :is(h2,h3) { max-width:13ch; margin-top:.55rem; color:var(--cs-white); font-size:clamp(1.8rem,3.6vw,2.8rem); }
.cs-contact-card .eyebrow,.cs-contact-card .cs-contact-note { color:var(--cs-yellow); }
.cs-contact-card > p:not(.cs-contact-note) { margin-top:.9rem; color:rgba(255,254,250,.78); }
.cs-contact-card .cs-admin-links { margin-top:1.45rem; }
.cs-contact-card .cs-admin-links .btn:first-child { background:var(--cs-yellow); color:var(--cs-navy-deep); }
.cs-contact-card .cs-admin-links .btn:last-child { border-color:rgba(255,254,250,.65); color:var(--cs-white); }
.cs-contact-card .cs-admin-links .btn:last-child:hover,.cs-contact-card .cs-admin-links .btn:last-child:focus-visible { border-color:var(--cs-yellow); background:var(--cs-yellow); color:var(--cs-navy-deep); }
.cs-contact-note { margin-top:1.15rem; padding-top:1rem; border-top:1px solid rgba(255,254,250,.2); font-size:.875rem!important; }
.cs-jumpnav { position:sticky; z-index:11; top:0; border-block:1px solid var(--cs-line); background:rgba(247,251,250,.94); box-shadow:0 .35rem 1.25rem rgba(8,47,73,.07); backdrop-filter:blur(14px); }
.cs-jumpnav .container { display:flex; flex-wrap:wrap; align-items:stretch; }
.cs-jumpnav a { display:inline-flex; align-items:center; min-height:3.15rem; padding:.7rem clamp(.7rem,1.8vw,1.3rem); color:var(--cs-muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; line-height:1.25; text-transform:uppercase; }
.cs-jumpnav a:hover,.cs-jumpnav a:focus-visible { background:var(--cs-yellow-soft); color:var(--cs-navy); }
.cs-priority-strip { padding-block:clamp(1.5rem,3vw,2.2rem); background:var(--cs-yellow); color:var(--cs-navy-deep); }
.cs-priority-strip .container { display:flex; flex-wrap:wrap; gap:1rem; }
.cs-priority-strip strong { flex:1 1 10rem; display:block; padding-top:.5rem; border-top:1px solid rgba(6,36,55,.32); font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:500; line-height:1.18; }

/* Shared section heading and warranty policy. */
.cs-page .section-heading { align-items:start; margin-bottom:clamp(2.25rem,5vw,4rem); }
.cs-page .section-heading h2 { max-width:12ch; font-size:clamp(2.4rem,5vw,4.8rem); letter-spacing:-.06em; }
.cs-page .section-heading p { max-width:38rem; margin-top:.8rem; color:var(--cs-muted); }
.cs-warranty { background:var(--cs-paper); }
.cs-warranty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; }
.cs-warranty-card { display:flex; flex-direction:column; min-height:19rem; padding:clamp(1.25rem,2.7vw,2rem); border:1px solid var(--cs-line); border-top:.3rem solid var(--cs-yellow); border-radius:var(--cs-radius); background:var(--cs-white); box-shadow:0 .3rem 1rem rgba(8,47,73,.04); }
.cs-warranty-card:nth-child(2) { border-top-color:var(--cs-blue); }
.cs-warranty-card:nth-child(3) { border-top-color:var(--cs-navy); }
.cs-warranty-top { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.cs-warranty-top svg { width:1.5rem; height:1.5rem; flex:0 0 auto; color:var(--cs-blue); stroke:currentColor; stroke-width:1.7; fill:none; }
.cs-warranty-top .eyebrow { color:var(--cs-blue); text-align:right; }
.cs-warranty-value { margin-top:1.5rem; color:var(--cs-navy); font-family:var(--serif); font-size:clamp(2.4rem,4.8vw,4.4rem); letter-spacing:-.075em; line-height:.92; }
.cs-warranty-card h3 { margin-top:.85rem; font-size:clamp(1.35rem,2.2vw,1.75rem); }
.cs-warranty-card > p:not(.cs-card-note) { margin-top:.55rem; color:var(--cs-muted); }
.cs-card-note { margin-top:auto; padding-top:1.1rem; color:var(--cs-muted); font-size:.875rem!important; }
.cs-policy-callout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1.5rem 2rem; margin-top:1rem; padding:clamp(1.35rem,3vw,2rem); border-left:.3rem solid var(--cs-yellow); background:var(--cs-yellow-soft); }
.cs-policy-callout h3 { font-size:clamp(1.35rem,2.4vw,1.9rem); }
.cs-policy-callout p { max-width:44rem; margin-top:.45rem; color:#40545d; }

/* Quality control, safety, and operating flow. */
.cs-quality { background:#eaf5f6; }
.cs-qc-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(19rem,.95fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; }
.cs-quality-copy > h3,.cs-complaint-copy > h3 { font-size:clamp(1.8rem,3.5vw,2.8rem); }
.cs-quality-copy > p,.cs-complaint-copy > p { max-width:39rem; margin-top:.9rem; color:var(--cs-muted); }
.cs-rights-badge { display:inline-flex; margin-top:1.2rem; padding:.65rem .8rem; border:1px solid rgba(11,98,137,.24); background:var(--cs-white); color:var(--cs-blue); font-size:.78rem!important; font-weight:800; letter-spacing:.05em; }
.cs-stop-flow,.cs-complaint-flow,.cs-process-list { display:grid; gap:0; list-style:none; }
.cs-stop-flow { margin-top:1.65rem; }
.cs-stop-flow > li,.cs-complaint-flow > li,.cs-process-list > li { display:grid; grid-template-columns:2.7rem minmax(0,1fr); gap:.85rem; padding-block:1rem; border-top:1px solid var(--cs-line); }
.cs-step-num { color:var(--cs-blue); font-family:var(--serif); font-size:1.45rem!important; font-style:italic; line-height:1.1!important; }
.cs-stop-flow h4,.cs-complaint-flow h4 { font-size:1.18rem; }
.cs-stop-flow p,.cs-complaint-flow p { margin-top:.25rem; color:var(--cs-muted); }
.cs-quality-reasons,.cs-safety-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.cs-safety-grid { margin-top:clamp(2.5rem,5vw,4rem); gap:.9rem; }
.cs-reason-card,.cs-safety-card,.cs-check-card { padding:1.25rem; border:1px solid var(--cs-line); border-radius:.65rem; background:var(--cs-white); }
.cs-reason-card h4,.cs-check-card h3 { font-size:1.28rem; }
.cs-reason-card p,.cs-safety-card p,.cs-check-card p { margin-top:.5rem; color:var(--cs-muted); }
.cs-safety-card { border-top:.3rem solid var(--cs-blue); }
.cs-safety-card h3 { font-size:1.5rem; }
.cs-safety-card ul,.cs-check-card ul { display:grid; gap:.45rem; margin-top:1rem; }
.cs-safety-card li,.cs-check-card li { position:relative; padding-left:1rem; color:var(--cs-muted); }
.cs-safety-card li::before,.cs-check-card li::before { position:absolute; top:.72em; left:0; width:.35rem; height:.35rem; border-radius:50%; background:var(--cs-yellow); content:''; }
.cs-process { background:var(--cs-navy); color:var(--cs-white); }
.cs-process :is(h2,h3) { color:var(--cs-white); }
.cs-process .section-heading .eyebrow { color:var(--cs-yellow); }
.cs-process .section-heading p,.cs-process-list p { color:rgba(255,254,250,.76); }
.cs-process-list { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:2rem; row-gap:1.2rem; }
.cs-process-list > li { border-color:rgba(255,254,250,.24); }
.cs-process-list .cs-step-num { color:var(--cs-yellow); }
.cs-process-list h3 { font-size:1.3rem; }

/* Before-departure checklist. */
.cs-checkout { background:var(--cs-paper); }
.cs-checklist { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.cs-check-card { min-height:15rem; border-top:.3rem solid var(--cs-yellow); }
.cs-check-card:nth-child(2n) { border-top-color:var(--cs-blue); }
.cs-check-card > svg { width:1.5rem; height:1.5rem; color:var(--cs-blue); stroke:currentColor; stroke-width:1.7; fill:none; }
.cs-check-card h3 { margin-top:1rem; }
.cs-checkout-reminder { margin-top:1rem; padding:1.2rem 1.35rem; border:1px solid rgba(245,200,66,.8); background:var(--cs-yellow-soft); }
.cs-checkout-reminder h3 { font-size:1.35rem; }
.cs-checkout-reminder p { margin-top:.4rem; color:#40545d; }

/* Complaint explanation and form. */
.cs-complaints { background:#eaf5f6; }
.cs-complaint-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(20rem,1.18fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; }
.cs-complaint-flow { margin-top:1.4rem; }
.cs-time-note,.cs-evidence-note,.cs-privacy-note,.cs-form-footnote { color:var(--cs-muted); font-size:.875rem!important; }
.cs-time-note { margin-top:1rem; padding:.9rem 1rem; border-left:.25rem solid var(--cs-yellow); background:var(--cs-yellow-soft); }
.cs-complaint-copy .cs-admin-links { margin-top:1.25rem; }
.cs-complaint-form { padding:clamp(1.3rem,3vw,2.25rem); border:1px solid var(--cs-line); border-top:.3rem solid var(--cs-navy); border-radius:var(--cs-radius); background:var(--cs-white); box-shadow:var(--cs-shadow); }
.cs-complaint-form h3 { font-size:clamp(1.7rem,3vw,2.35rem); }
.cs-form-note { margin-top:.55rem; color:var(--cs-muted); }
.cs-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.cs-field { display:grid; align-content:start; gap:.45rem; }
.cs-field.full,.cs-field:has(textarea) { grid-column:1/-1; }
.cs-field > span { color:var(--cs-navy); font-size:.875rem; font-weight:800; }
.cs-field :is(input,select,textarea) { width:100%; min-height:2.9rem; padding:.7rem .8rem; border:1px solid rgba(8,47,73,.27); border-radius:.35rem; background:var(--cs-white); color:var(--cs-ink); font-size:1rem; line-height:1.4; }
.cs-field textarea { min-height:9rem; resize:vertical; }
.cs-field :is(input,select,textarea):focus-visible { border-color:var(--cs-blue); outline:3px solid rgba(245,200,66,.65); outline-offset:2px; box-shadow:0 0 0 3px rgba(11,98,137,.12); }
.cs-evidence-note,.cs-privacy-note { margin-top:1rem; }
.cs-form-error { margin-top:1rem; padding:.75rem .85rem; border-left:.25rem solid #b82160; background:#ffedf4; color:#74123f; }
.cs-complaint-form > .btn { width:100%; margin-top:1.2rem; }
.cs-complaint-form .btn[disabled] { cursor:not-allowed; opacity:.55; transform:none; }
.cs-form-result { margin-top:1rem; padding:1rem; border:1px solid rgba(11,98,137,.25); background:var(--cs-blue-soft); }
.cs-form-result .btn { margin-top:.85rem; }
.cs-form-footnote { margin-top:1rem; text-align:center; }
.cs-complaint-form noscript { display:block; margin-top:1rem; color:#74123f; font-size:.875rem; }

/* FAQ uses a direct summary selector for the open state. */
.cs-faq { background:var(--cs-paper); }
.cs-faq .faq-list { max-width:52rem; margin-inline:auto; border-top-color:var(--cs-line); }
.cs-faq details.faq-item { border-bottom:1px solid var(--cs-line); }
.cs-faq details.faq-item > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:2.75rem; padding-block:1.25rem; cursor:pointer; color:var(--cs-navy); list-style:none; }
.cs-faq details.faq-item > summary::-webkit-details-marker { display:none; }
.cs-faq details.faq-item > summary::after { flex:0 0 auto; color:var(--cs-blue); content:'+'; font-size:1.5rem; line-height:1; }
.cs-faq details.faq-item[open] > summary::after { transform:rotate(45deg); }
.cs-faq details.faq-item > summary p { color:inherit; font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.25; }
.cs-faq details.faq-item > p { max-width:45rem; padding:0 2rem 1.35rem 0; color:var(--cs-muted); }

@media (max-width:980px) {
  .cs-hero-layout,.cs-qc-layout,.cs-complaint-layout { grid-template-columns:1fr; }
  .cs-hero h1 { max-width:13ch; }
  .cs-checklist,.cs-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .cs-page .section { padding-block:clamp(4rem,14vw,6rem); }
  .cs-jumpnav .container { gap:0; }
  .cs-jumpnav a { flex:1 1 50%; min-height:2.85rem; padding-inline:.65rem; font-size:.64rem; }
  .cs-priority-strip .container,.cs-warranty-grid,.cs-safety-grid { grid-template-columns:1fr; }
  .cs-priority-strip .container { gap:.85rem; }
  .cs-priority-strip strong { padding-top:.7rem; }
  .cs-policy-callout { grid-template-columns:1fr; }
  .cs-process-list { grid-template-columns:1fr; }
  .cs-warranty-card { min-height:0; }
}
@media (max-width:480px) {
  .cs-hero-actions,.cs-contact-card .cs-admin-links,.cs-policy-callout .cs-admin-links,.cs-complaint-copy .cs-admin-links { align-items:stretch; flex-direction:column; }
  .cs-hero-actions .btn,.cs-contact-card .cs-admin-links .btn,.cs-policy-callout .cs-admin-links .btn,.cs-complaint-copy .cs-admin-links .btn { width:100%; }
  .cs-field-grid,.cs-checklist,.cs-quality-reasons { grid-template-columns:1fr; }
  .cs-field.full,.cs-field:has(textarea) { grid-column:auto; }
  .cs-faq details.faq-item > summary { padding-block:1.1rem; }
  .cs-faq details.faq-item > p { padding-right:0; }
}
@media (prefers-reduced-motion:reduce) {
  .cs-page *,.cs-page *::before,.cs-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* Penyelarasan markup kartu kebijakan dan FAQ. */
.cs-policy-callout { grid-template-columns: 1fr; }
.cs-page .btn { white-space: normal; }
.cs-faq details.faq-item > summary { font: 500 clamp(1.15rem,2vw,1.5rem)/1.35 var(--serif); }
