/* /3d-printing-guam (Figma C6b: desktop 183:2, mobile 184:100). Loaded after site-v3.css.
   Values are the frame's (C6b_DESKTOP_SPEC_EXTRACT.md and the 184:100 design context). */
.g3-d{display:inline}
.g3-m{display:none}

/* ───────── hero 183:33: navy, 72 / edge padding, one text column with the art placed absolutely ───────── */
.g3-hero{position:relative;overflow:hidden;color:#fff;background:var(--v3-navy)}
.g3-hero .v3-grid-bg{display:none}
.g3-hero-in{position:relative;z-index:2;padding:72px var(--v3-edge)}
.g3-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:760px}
.g3-crumb{display:flex;gap:8px;font-size:13px;line-height:normal;color:var(--v3-mute-dark)}
.g3-crumb a{color:inherit;text-decoration:none}
.g3-crumb a:hover{text-decoration:underline}
.g3-crumb i{font-style:normal}
.g3-hero h1{margin:0;max-width:760px;font-size:52px;line-height:1.06;letter-spacing:0;font-weight:700;color:#fff}
.g3-hero h1 span{color:var(--v3-rust-lite)}
.g3-hero-p{margin:0;max-width:740px;font-size:19px;line-height:1.55;color:var(--v3-mute-dark)}
.g3-actions{display:flex;flex-wrap:wrap;gap:12px}
.g3-actions .hm-btn{padding:14px 22px;border-radius:8px;font-size:16px;font-weight:600;line-height:normal;box-shadow:none}
.g3-actions .hm-btn--ghost{border:1px solid var(--v3-mute-dark);background:var(--v3-navy)}
.g3-hero .hm-checks{flex-wrap:nowrap;gap:20px;margin:0}
.g3-hero .hm-checks li{font-size:15px;font-weight:600;line-height:normal}
/* Art 183:47: 430 x 300, 94px below the hero top, at x 970 of the 1440 frame (the content edge + 858). */
.g3-hero-art{position:absolute;z-index:1;top:94px;left:calc(var(--v3-edge) + 858px);width:430px;height:300px;pointer-events:none}
.g3-hero-art::before{content:"";position:absolute;left:80px;top:0;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(37,73,100,.75) 0%,rgba(37,73,100,0) 70%)}
/* The cut-out PNG has a wide transparent margin, so it is scaled around the part until the part fills the
   frame's 330 x 240 box at (50, 30). */
.g3-hero-art img{position:absolute;z-index:1;left:50px;top:30px;width:330px;height:240px;object-fit:contain;transform:scale(1.7);filter:drop-shadow(0 24px 26px rgba(0,0,0,.55))}
.g3-hero-art .dim{position:absolute;z-index:2;padding:4px 8px;border:1px solid rgba(91,155,213,.42);border-radius:4px;background:rgba(8,18,27,.82);font:500 11px/normal var(--mono);letter-spacing:.6px;color:#9fc0db}
.g3-hero-art .g3-dim-1{left:0;top:0}
.g3-hero-art .g3-dim-2{left:210px;top:0}
.g3-hero-art .g3-dim-3{left:268px;top:252px}
@media (min-width:1101px) and (max-width:1360px){
  /* Below 1361 the art keeps 40px from the right edge and the text column stays clear of it. */
  .g3-hero-art{left:auto;right:40px}
  .g3-hero-copy{max-width:calc(100% - 470px)}
}

/* ───────── what we print 183:59 ───────── */
.g3-print{padding-block:80px}
.g3-print .v3-h2,.g3-topic .v3-h2{margin-top:16px;font-size:36px;line-height:1.12}
.g3-uses{display:grid;grid-template-columns:repeat(4,minmax(0,284px));gap:20px;margin-top:16px}
.g3-uses article{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid var(--v3-line);border-radius:14px}
.g3-uses img{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;background:var(--v3-soft)}
.g3-uses img.is-contain{object-fit:contain}
.g3-uses div{display:flex;flex-direction:column;gap:8px}
.g3-uses h3{margin:0;font-size:17px;line-height:normal;font-weight:700;color:var(--v3-ink)}
.g3-uses p{margin:0;font-size:15px;line-height:1.45;color:var(--v3-muted)}

/* ───────── topic rails 184:2 / 184:28 / 184:54 ───────── */
.g3-topic{padding-block:80px}
.g3-anchor{margin:0;font:500 12px/normal var(--mono);letter-spacing:1.68px;text-transform:uppercase;color:var(--v3-rust)}
.g3-topic .v3-lede{margin-top:16px;max-width:760px;font-size:17px;line-height:normal}
.g3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,392px));gap:20px;margin-top:16px}
.g3-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;background:#fff;border:1px solid var(--v3-line);border-radius:14px;text-decoration:none;color:var(--v3-ink);transition:box-shadow .16s,transform .16s}
.g3-card:hover{box-shadow:0 12px 24px rgba(15,32,48,.1);transform:translateY(-2px)}
.g3-card-img{display:block;height:200px;border-radius:8px;overflow:hidden;background:var(--v3-soft)}
.g3-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.g3-card-no,.g3-card-b{display:none}
.g3-card-t{font-size:17px;font-weight:700;line-height:normal}
.g3-card-foot{display:flex;flex-direction:column;gap:10px}
.g3-card-m{font-size:14px;font-weight:500;line-height:normal;color:var(--v3-muted)}
.g3-card-go{font-size:14px;font-weight:600;line-height:normal;color:var(--v3-rust)}
.g3-card-go i{font-style:normal}
.g3-cta{margin-top:32px;padding:14px 22px;border-radius:8px;font-size:16px;font-weight:600;box-shadow:none}

/* ───────── inside the shop 183:79 ───────── */
.g3-shop-band{padding-block:72px 80px}
.g3-shop-band .v3-eyebrow{letter-spacing:.96px}
.g3-shop-band .v3-h2{margin-top:16px;font-size:32px;line-height:normal}
.g3-shop-band .v3-lede{margin-top:16px;max-width:760px;font-size:17px;line-height:normal}
.g3-shop{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;height:460px;margin-top:16px}
.g3-shop img{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px}
.g3-shop>div{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-height:0}
.g3-shop>div img{min-height:0}

/* ───────── FAQ 183:143: a plain list at desktop; the accordion is the phone's (184:225) ───────── */
.g3-faq{padding-block:80px}
.g3-faq-list{display:none}
.g3-faq-plain{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.g3-faq-item{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid var(--v3-line)}
.g3-faq .v3-eyebrow{line-height:16px}
.g3-faq-item h3{margin:0;max-width:1000px;font-size:18px;line-height:22px;font-weight:700;color:var(--v3-ink)}
.g3-faq-item p{margin:0;max-width:1000px;font-size:16px;line-height:1.5;color:var(--v3-muted)}
.g3-faq-list details{border-bottom:1px solid var(--v3-line)}
.g3-faq-list summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.g3-faq-list summary::-webkit-details-marker{display:none}
.g3-faq-list summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:400;color:var(--v3-rust)}
.g3-faq-list details[open] summary::after{content:"\2212"}
/* Related 183:160: soft band 48 / 64, kicker 12 blue, Materials link 16/600 rust. */
.g3-also{padding-block:48px 64px}
.g3-also .v3-eyebrow{margin:0;font:500 12px/normal var(--mono);letter-spacing:1.68px;color:var(--v3-blue)}
.g3-also-link{display:inline-block;margin-top:16px;font-size:16px;font-weight:600;line-height:normal;color:var(--v3-rust);text-decoration:none}

@media (max-width:1100px){
  /* The art drops under the text column (no room beside it). */
  .g3-hero-art{position:relative;top:auto;left:auto;right:auto;margin:32px auto 0}
  .g3-hero .hm-checks{flex-wrap:wrap;gap:12px 20px}
  .g3-uses{grid-template-columns:repeat(2,minmax(0,284px))}
  .g3-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3-shop{grid-template-columns:minmax(0,2fr) minmax(0,1fr);height:360px}
}

/* ───────── phone (C6b mobile 184:100) ───────── */
@media (max-width:700px){
  .g3-d{display:none}
  .g3-m{display:inline}
  .g3-hero-in{display:flex;flex-direction:column;gap:14px;padding:22px 20px 26px}
  .g3-hero-copy{display:contents}
  .g3-crumb{order:-3;font:500 11px/normal var(--mono);letter-spacing:.88px;text-transform:uppercase;color:var(--v3-rust-lite)}
  .g3-hero h1{order:-2;font-size:30px;line-height:1.1}
  .g3-hero-art{order:-1;width:100%;height:190px;margin:0;border-radius:14px;overflow:hidden}
  .g3-hero-art::before{left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%)}
  .g3-hero-art img{left:0;top:0;width:100%;height:100%;transform:scale(1.7)}
  .g3-hero-art .dim{display:none}
  .g3-hero-p{order:0;font-size:15px;line-height:1.45}
  .g3-actions{order:1;width:100%}
  .g3-actions .hm-btn{width:100%;justify-content:center;padding:15px 16px;border-radius:12px;font-weight:700}
  .g3-actions .hm-btn--ghost{display:none}
  .g3-hero .hm-checks{order:2;flex-wrap:wrap;gap:8px}
  .g3-hero .hm-checks li{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:400}
  .g3-hero .hm-checks svg{display:none}

  .g3-print,.g3-topic,.g3-shop-band{padding:26px 0 26px 20px}
  .g3-shop-band{padding-right:20px}
  .g3-print .v3-eyebrow,.g3-anchor,.g3-shop-band .v3-eyebrow{font-size:11px;letter-spacing:1.1px}
  .g3-print .v3-h2,.g3-topic .v3-h2,.g3-shop-band .v3-h2{margin-top:12px;font-size:21px;line-height:1.2;letter-spacing:0}
  .g3-topic .v3-lede{margin-top:12px;font-size:14px;line-height:1.5}
  .g3-uses{display:flex;gap:12px;margin-top:12px;overflow-x:auto;padding-right:20px;scrollbar-width:none}
  .g3-uses::-webkit-scrollbar{display:none}
  .g3-uses article{flex:0 0 230px;gap:0;padding:0;overflow:hidden}
  .g3-uses img{height:140px;border-radius:0}
  .g3-uses div{gap:4px;padding:12px 14px 14px}
  .g3-uses h3{font-size:15px;font-weight:600}
  .g3-uses p{font-size:13px;line-height:normal}

  /* Replacement and marine rails are navy; reverse engineering is light (184:263 / 184:338 / 184:402). */
  #replacement-parts,#marine-boat-parts{background:var(--v3-navy)}
  #reverse-engineering{background:var(--v3-surface)}
  .g3-anchor{color:var(--v3-rust-lite)}
  #replacement-parts .v3-h2,#marine-boat-parts .v3-h2{color:#fff}
  .g3-cards{display:flex;gap:12px;margin-top:12px;overflow-x:auto;padding-right:20px;scrollbar-width:none}
  .g3-cards::-webkit-scrollbar{display:none}
  .g3-card{flex:0 0 274px;height:231px;gap:4px;padding:0 13px 12px;overflow:hidden;justify-content:flex-end;color:#fff;background:var(--v3-ink);border:.7px solid #fff;border-radius:10px}
  .g3-card:hover{transform:none}
  .g3-card-img{position:absolute;inset:0;height:auto;border-radius:0}
  .g3-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:98px;background:linear-gradient(180deg,rgba(10,20,31,0) 0%,rgba(10,20,31,.8) 35%,rgba(10,20,31,.96) 100%)}
  .g3-card-no{display:block;position:absolute;right:13px;top:10px;z-index:2;font:500 8.4px/normal var(--mono);color:#fff}
  .g3-card-t,.g3-card-b,.g3-card-foot{position:relative;z-index:2}
  .g3-card-t{font:500 9.1px/normal var(--mono);letter-spacing:.73px;text-transform:uppercase}
  .g3-card-b{display:block;font-size:9.8px;line-height:normal;opacity:.85}
  .g3-card-foot{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
  .g3-card-m{padding:2.8px 5.6px;border-radius:2.8px;background:var(--v3-rust-lite);font:500 7.7px/normal var(--mono);letter-spacing:.46px;text-transform:uppercase;color:var(--v3-navy)}
  .g3-card-go{font-size:9.1px;color:var(--v3-rust-lite)}
  .g3-cta{display:flex;justify-content:center;width:calc(100% - 20px);margin-top:16px;padding:15px 16px;border-radius:12px;font-weight:700}

  .g3-shop-band{background:#fff}
  .g3-shop-band .v3-lede{display:none}
  .g3-shop{display:flex;flex-direction:column;gap:12px;height:auto;margin-top:12px}
  .g3-shop .main{height:220px}
  .g3-shop>div{display:flex;gap:10px}
  .g3-shop>div img{flex:1 1 0;min-width:0;height:130px;border-radius:12px}

  .g3-faq{padding:26px 20px}
  .g3-faq .v3-eyebrow{font-size:11px;line-height:normal;letter-spacing:1.1px}
  .g3-faq-plain{display:none}
  .g3-faq-list{display:block;margin-top:10px}
  .g3-faq-list summary{padding:14px 0;font-size:15px;font-weight:600;line-height:normal;color:var(--v3-ink)}
  .g3-faq-list details[open] summary{padding-bottom:8px}
  .g3-faq-a{padding:0 0 14px;font-size:14px;line-height:1.5;color:var(--v3-muted)}
  /* Related 184:249: white, 6 top, gap 10, muted kicker, Materials as a chip. */
  .g3-also{padding:6px 20px 26px;background:#fff}
  .g3-also .v3-eyebrow{font-size:11px;letter-spacing:1.1px;color:var(--v3-muted)}
  .g3-also-link{margin-top:10px;padding:9px 12px;border:1px solid var(--v3-line);border-radius:999px;font-size:13px;font-weight:600;color:var(--v3-navy)}
}
