/* Atlantic Ridge Construction — visual hierarchy body CSS
   Bloom Outer Wrap/header/footer/contact styling intentionally excluded. */

.arc-page {
  --arc-navy: #183448;
  --arc-navy-deep: #102b3d;
  --arc-teal: #2f6f73;
  --arc-teal-soft: #e8f1f0;
  --arc-slate: #252f34;
  --arc-stone: #f2efe8;
  --arc-stone-soft: #faf8f4;
  --arc-white: #ffffff;
  --arc-muted: #5f6b70;
  --arc-border: #d9dfdc;
  --arc-amber: #d49a37;
  --arc-shadow: 0 14px 34px rgba(24, 52, 72, .09);
  --arc-radius: 14px;
  --arc-container: 1180px;
  --arc-space: clamp(3.6rem, 6vw, 6.25rem);
  color: var(--arc-slate);
  font-family: Inter, Manrope, Arial, Helvetica, sans-serif;
  line-height: 1.65;
  background: var(--arc-stone-soft);
}
.arc-page *, .arc-page *::before, .arc-page *::after { box-sizing: border-box; }
.arc-page img { display:block; width:100%; max-width:100%; }
.arc-page a { color:var(--arc-teal); }
.arc-page .arc-container { width:min(100% - 2rem, var(--arc-container)); margin-inline:auto; }
.arc-page .arc-section { padding:var(--arc-space) 0; }
.arc-page .arc-white { background:var(--arc-white); }
.arc-page .arc-stone { background:var(--arc-stone-soft); }
.arc-page .arc-navy-wash { background:linear-gradient(135deg, #17394d 0%, var(--arc-navy) 55%, #214d5e 100%); color:var(--arc-white); }
.arc-page h1, .arc-page h2, .arc-page h3 { margin-top:0; color:inherit; /* TEXT MASTER DEFENDED: line-height: 1.08; Change typography in CSS Logistics > Text Master. */ /* TEXT MASTER DEFENDED: letter-spacing: -.03em; Change typography in CSS Logistics > Text Master. */ }
.arc-page h1 { /* TEXT MASTER DEFENDED: font-size: clamp(2.8rem, 5.7vw, 5.35rem); Change typography in CSS Logistics > Text Master. */ max-width:11ch; }
.arc-page h2 { /* TEXT MASTER DEFENDED: font-size: clamp(2rem, 3.6vw, 3.25rem); Change typography in CSS Logistics > Text Master. */ }
.arc-page h3 { /* TEXT MASTER DEFENDED: font-size: 1.08rem; Change typography in CSS Logistics > Text Master. */ }
.arc-page p { margin-top:0; }
.arc-page strong { font-weight:800; color:inherit; }
.arc-page .arc-lead { font-size:clamp(1.03rem, 1.4vw, 1.18rem); line-height:1.7; }

/* Hero */
.arc-page .arc-hero { position:relative; overflow:hidden; background:linear-gradient(120deg, var(--arc-navy-deep), var(--arc-navy)); color:var(--arc-white); padding:clamp(4rem, 8vw, 7rem) 0; }
.arc-page .arc-hero::after { content:""; position:absolute; width:34rem; height:34rem; right:-10rem; bottom:-20rem; border-radius:50%; background:radial-gradient(circle, rgba(47,111,115,.32), transparent 70%); pointer-events:none; }
.arc-page .arc-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr); align-items:center; gap:clamp(2.5rem,6vw,6rem); }
.arc-page .arc-hero-copy { max-width:700px; }
.arc-page .arc-hero-copy .arc-lead { max-width:62ch; color:rgba(255,255,255,.88); }
.arc-page .arc-media { margin:0; overflow:hidden; border-radius:20px; background:#102c3d; box-shadow:0 24px 60px rgba(0,0,0,.24); }
.arc-page .arc-media-hero { border:1px solid rgba(255,255,255,.14); transform:translateY(.6rem); }
.arc-page .arc-media img { aspect-ratio:16 / 9; object-fit:cover; }
.arc-page .arc-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }

/* Buttons */
.arc-page .arc-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.82rem 1.25rem; border-radius:999px; font-weight:800; text-decoration:none; border:1px solid transparent; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.arc-page .arc-btn:hover { transform:translateY(-2px); text-decoration:none; }
.arc-page .arc-btn-primary { background:var(--arc-teal); color:var(--arc-white); box-shadow:0 10px 24px rgba(0,0,0,.14); }
.arc-page .arc-btn-primary:hover { background:#285f63; }
.arc-page .arc-btn-dark { background:var(--arc-navy); color:var(--arc-white); }

/* Section hierarchy */
.arc-page .arc-section-head { display:flex; align-items:center; gap:1rem; margin-bottom:clamp(1.5rem,3vw,2.5rem); }
.arc-page .arc-section-head::before { content:""; width:42px; height:4px; border-radius:999px; background:var(--arc-teal); flex:0 0 auto; }
.arc-page .arc-section-head h2 { margin:0; }
.arc-page .arc-section-head-light::before { background:var(--arc-amber); }
.arc-page .arc-intro-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.arc-page .arc-intro-lead { margin:0; font-size:clamp(1.45rem,2.3vw,2.05rem); line-height:1.42; letter-spacing:-.02em; }
.arc-page .arc-intro-lead strong { color:var(--arc-teal); }
.arc-page .arc-intro-support { border-left:1px solid var(--arc-border); padding-left:clamp(1.4rem,3vw,2.4rem); color:var(--arc-muted); }
.arc-page .arc-intro-support p:last-child { margin-bottom:0; }
.arc-page .arc-split { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.arc-page .arc-top { align-items:start; }
.arc-page .arc-reading-block { max-width:68ch; }
.arc-page .arc-reading-block p { margin-bottom:1.15rem; }
.arc-page .arc-reading-large { font-size:1.06rem; }
.arc-page .arc-emphasis-line { margin-top:1.6rem; padding:1.05rem 1.2rem; border-left:4px solid var(--arc-amber); background:#fff; box-shadow:var(--arc-shadow); }
.arc-page .arc-pull-line { font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.45; color:var(--arc-navy); }

/* Panels + scan lists */
.arc-page .arc-panel { border-radius:var(--arc-radius); padding:clamp(1.5rem,3vw,2.2rem); box-shadow:var(--arc-shadow); }
.arc-page .arc-panel-title { margin-bottom:1rem; font-weight:800; font-size:1.05rem; }
.arc-page .arc-panel-teal { background:linear-gradient(145deg, var(--arc-teal-soft), #fff); border:1px solid #cfe2df; }
.arc-page .arc-panel-dark { background:linear-gradient(145deg, var(--arc-navy), #214d5e); color:#fff; }
.arc-page .arc-panel-dark h2 { /* TEXT MASTER DEFENDED: font-size: clamp(1.65rem,2.6vw,2.3rem); Change typography in CSS Logistics > Text Master. */ }
.arc-page .arc-panel-dark p { color:rgba(255,255,255,.86); }
.arc-page .arc-panel-dark .arc-punchline { margin:1.5rem 0 0; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.18); color:#fff; font-weight:800; font-size:1.12rem; }
.arc-page .arc-chip-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:0; padding:0; list-style:none; }
.arc-page .arc-chip-list li { position:relative; min-height:44px; display:flex; align-items:center; padding:.65rem .8rem .65rem 1.75rem; background:rgba(255,255,255,.8); border:1px solid rgba(47,111,115,.15); border-radius:10px; font-size:.94rem; }
.arc-page .arc-chip-list li::before { content:""; position:absolute; left:.8rem; width:7px; height:7px; border-radius:50%; background:var(--arc-teal); }
.arc-page .arc-list { margin:.65rem 0 1rem; padding-left:1.2rem; }
.arc-page .arc-list li { margin-bottom:.45rem; }
.arc-page .arc-columns-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 2rem; margin:.75rem 0 1.25rem; padding-left:1.2rem; }

/* Service accordions */
.arc-page .arc-service-accordions { max-width:1030px; margin-inline:auto; display:grid; gap:.85rem; }
.arc-page .arc-service-detail { background:#fff; border:1px solid var(--arc-border); border-radius:14px; box-shadow:0 8px 24px rgba(24,52,72,.06); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.arc-page .arc-service-detail[open] { border-color:rgba(47,111,115,.42); box-shadow:0 14px 34px rgba(24,52,72,.1); }
.arc-page .arc-service-detail summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.35rem; color:var(--arc-navy); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:800; }
.arc-page .arc-service-detail summary::-webkit-details-marker { display:none; }
.arc-page .arc-service-detail summary::after { content:"+"; width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:50%; background:var(--arc-teal-soft); color:var(--arc-teal); font-size:1.35rem; font-weight:700; }
.arc-page .arc-service-detail[open] summary::after { content:"–"; }
.arc-page .arc-summary-copy { display:flex; flex-direction:column; gap:.3rem; }
.arc-page .arc-summary-copy strong { font-size:inherit; }
.arc-page .arc-summary-copy small { color:var(--arc-muted); font-size:.82rem; line-height:1.4; font-weight:650; letter-spacing:0; }
.arc-page .arc-detail-body { padding:0 1.35rem 1.35rem; color:var(--arc-muted); max-width:82ch; }
.arc-page .arc-detail-body p:last-child { margin-bottom:0; }
.arc-page .arc-detail-body strong { color:var(--arc-slate); }
.arc-page .arc-service-accordions-large .arc-service-detail summary { padding:1.35rem 1.5rem; }

/* About */
.arc-page .arc-editorial-grid { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.arc-page .arc-editorial-grid .arc-section-head { position:sticky; top:2rem; }
.arc-page .arc-statement { padding:clamp(3.5rem,6vw,6rem) 0; background:linear-gradient(120deg, var(--arc-teal), #245861); color:#fff; }
.arc-page .arc-statement h2 { margin-bottom:1rem; /* TEXT MASTER DEFENDED: font-size: 1rem; Change typography in CSS Logistics > Text Master. */ text-transform:uppercase; /* TEXT MASTER DEFENDED: letter-spacing: .15em; Change typography in CSS Logistics > Text Master. */ color:#d8ecea; }
.arc-page .arc-statement p { margin:0; max-width:950px; /* TEXT MASTER DEFENDED: font-size: clamp(1.8rem,3.5vw,3.25rem); Change typography in CSS Logistics > Text Master. */ /* TEXT MASTER DEFENDED: line-height: 1.2; Change typography in CSS Logistics > Text Master. */ /* TEXT MASTER DEFENDED: letter-spacing: -.03em; Change typography in CSS Logistics > Text Master. */ }
.arc-page .arc-values-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--arc-border); border:1px solid var(--arc-border); border-radius:16px; overflow:hidden; box-shadow:var(--arc-shadow); }
.arc-page .arc-value { background:#fff; padding:clamp(1.35rem,2.6vw,2rem); }
.arc-page .arc-value h3 { position:relative; margin-bottom:.7rem; padding-left:1rem; color:var(--arc-navy); }
.arc-page .arc-value h3::before { content:""; position:absolute; left:0; top:.18em; bottom:.18em; width:3px; border-radius:999px; background:var(--arc-amber); }
.arc-page .arc-value p { margin-bottom:0; color:var(--arc-muted); }

/* Services */
.arc-page .arc-services-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.92fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.arc-page .arc-faq-wrap { max-width:1030px; }
.arc-page .arc-faq { display:grid; gap:.65rem; }
.arc-page .arc-faq details { background:#fff; border:1px solid var(--arc-border); border-radius:12px; overflow:hidden; box-shadow:0 6px 20px rgba(24,52,72,.05); }
.arc-page .arc-faq summary { cursor:pointer; list-style:none; position:relative; padding:1rem 3.2rem 1rem 1.15rem; font-weight:800; color:var(--arc-navy); }
.arc-page .arc-faq summary::-webkit-details-marker { display:none; }
.arc-page .arc-faq summary::after { content:"+"; position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:var(--arc-teal); font-size:1.25rem; }
.arc-page .arc-faq details[open] summary::after { content:"–"; }
.arc-page .arc-faq .arc-answer { padding:0 1.15rem 1.15rem; color:var(--arc-muted); max-width:82ch; }
.arc-page .arc-faq .arc-answer p:last-child { margin-bottom:0; }

/* Home features */
.arc-page .arc-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border-radius:16px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.12); }
.arc-page .arc-feature { padding:clamp(1.4rem,2.8vw,2.15rem); background:rgba(10,34,49,.34); min-height:190px; }
.arc-page .arc-feature h3 { color:#fff; margin-bottom:.8rem; /* TEXT MASTER DEFENDED: font-size: 1.05rem; Change typography in CSS Logistics > Text Master. */ }
.arc-page .arc-feature p { margin-bottom:0; color:rgba(255,255,255,.78); }

/* Projects */
.arc-page .arc-project-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1rem; }
.arc-page .arc-project-card { grid-column:span 6; min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; padding:clamp(1.5rem,3vw,2.2rem); border-radius:16px; background:linear-gradient(145deg, #fff, var(--arc-stone-soft)); border:1px solid var(--arc-border); box-shadow:var(--arc-shadow); }
.arc-page .arc-project-card::before { content:""; position:absolute; width:120px; height:120px; right:-45px; top:-45px; border-radius:50%; background:rgba(47,111,115,.09); }
.arc-page .arc-project-card h2 { position:relative; margin-bottom:.65rem; /* TEXT MASTER DEFENDED: font-size: clamp(1.45rem,2.6vw,2.25rem); Change typography in CSS Logistics > Text Master. */ color:var(--arc-navy); }
.arc-page .arc-project-card p { position:relative; margin-bottom:0; max-width:58ch; color:var(--arc-muted); }
.arc-page .arc-project-wide { grid-column:span 12; min-height:190px; background:linear-gradient(125deg, var(--arc-teal-soft), #fff); }

/* CTA */
.arc-page .arc-cta { padding:clamp(2.6rem,5vw,4.3rem) 0; background:var(--arc-navy); color:var(--arc-white); }
.arc-page .arc-cta-grid { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.arc-page .arc-cta h2 { margin-bottom:.45rem; max-width:24ch; /* TEXT MASTER DEFENDED: font-size: clamp(1.7rem,3vw,2.5rem); Change typography in CSS Logistics > Text Master. */ }
.arc-page .arc-cta p { margin-bottom:0; color:rgba(255,255,255,.8); }
.arc-page .arc-cta .arc-btn { flex:0 0 auto; }

@media (max-width:980px) {
  .arc-page .arc-hero-grid,
  .arc-page .arc-intro-grid,
  .arc-page .arc-split,
  .arc-page .arc-editorial-grid,
  .arc-page .arc-services-intro-grid { grid-template-columns:1fr; }
  .arc-page .arc-editorial-grid .arc-section-head { position:static; }
  .arc-page .arc-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .arc-page .arc-project-card { grid-column:span 12; min-height:190px; }
}

@media (max-width:680px) {
  .arc-page .arc-container { width:min(100% - 1.25rem, var(--arc-container)); }
  .arc-page .arc-hero { padding:3.5rem 0; }
  .arc-page .arc-section { padding:3.25rem 0; }
  .arc-page h1 { max-width:none; }
  .arc-page .arc-chip-list,
  .arc-page .arc-columns-list,
  .arc-page .arc-values-grid,
  .arc-page .arc-feature-grid { grid-template-columns:1fr; }
  .arc-page .arc-intro-support { border-left:0; border-top:1px solid var(--arc-border); padding-left:0; padding-top:1.3rem; }
  .arc-page .arc-cta-grid { flex-direction:column; align-items:flex-start; }
  .arc-page .arc-cta .arc-btn { width:100%; }
  .arc-page .arc-service-detail summary { padding:1.05rem 1rem; font-size:1.08rem; }
  .arc-page .arc-detail-body { padding:0 1rem 1rem; }
}