/* Cleaner service and deliverable layouts without decorative numbering. */
.service-item { display:block; }
.process-grid h3 { margin:0 0 12px; }
.deliverable-copy li { display:block; }

@media (max-width:700px) {
  .service-item { display:block; }
  .process-grid h3 { margin:0 0 12px; }
  .deliverable-copy li { display:block; }
}

.model-showcase { padding:clamp(85px,11vw,150px) clamp(24px,10vw,150px); background:var(--ink); color:var(--white); }
.model-showcase .eyebrow { color:var(--lime); }
.model-showcase h2 em { color:var(--lime); }
.model-showcase-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:clamp(28px,5vw,80px); align-items:center; }
.site-model { display:block; width:100%; height:clamp(400px,55vw,720px); background:#d6e0c0; }
.model-loading { display:grid; place-items:center; width:100%; height:100%; background:linear-gradient(135deg,#d6e0c0,#8ea871); color:var(--ink); font:600 12px/1 Manrope,Arial,sans-serif; letter-spacing:.07em; }
.model-showcase-copy h3 { margin:18px 0; font:500 clamp(34px,3.5vw,52px)/.98 'Playfair Display',serif; letter-spacing:-.045em; }
.model-showcase-copy > p:not(.portfolio-label) { max-width:420px; color:rgba(255,255,255,.76); font-size:15px; line-height:1.65; }
.model-showcase-copy .model-small { padding-top:18px; margin-top:28px; border-top:1px solid rgba(255,255,255,.26); font-size:12px; }

@media (max-width:700px) {
  .model-showcase { padding-left:24px; padding-right:24px; }
  .model-showcase-grid { grid-template-columns:1fr; }
  .site-model { height:440px; }
  .model-showcase-copy > p:not(.portfolio-label) { font-size:16px; }
  .model-showcase-copy .model-small { font-size:13px; }
}

/* Service choice home page. */
.choice-page { background:var(--sand); }
.choice-shell { min-height:100vh; display:flex; flex-direction:column; }
.choice-header,.choice-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px clamp(24px,5vw,74px); }
.choice-header { border-bottom:1px solid var(--line); }
.choice-contact { padding:13px 16px; border:1px solid var(--ink); font:700 14px/1 Manrope,Arial,sans-serif; }
.choice-contact span,.choice-link b { color:var(--moss); font-size:18px; margin-left:12px; }
.choice-intro { padding:clamp(72px,10vw,132px) clamp(24px,10vw,150px) clamp(52px,7vw,90px); background:var(--white); }
.choice-intro h1 { max-width:780px; margin:16px 0 22px; font:500 clamp(52px,7vw,104px)/.94 'Playfair Display',Georgia,serif; letter-spacing:-.06em; }
.choice-intro h1 em,.choice-card h2 em { color:var(--moss); }
.choice-intro > p:not(.eyebrow) { max-width:610px; margin:0; font-size:clamp(17px,1.6vw,21px); line-height:1.55; }
.service-choice { display:grid; grid-template-columns:1fr 1fr; }
.choice-card { position:relative; min-height:470px; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(30px,5vw,72px); color:var(--ink); transition:background .2s ease,color .2s ease; }
.choice-card + .choice-card { border-left:1px solid var(--line); }
.choice-card-drone { background:#d6e0c0; }
.choice-card-golf { background:#e8dfc6; }
.choice-card:hover,.choice-card:focus-visible { background:var(--ink); color:var(--white); outline:0; }
.choice-card h2 { margin:18px 0; font:500 clamp(39px,4vw,66px)/.98 'Playfair Display',Georgia,serif; letter-spacing:-.055em; }
.choice-card > div > p:not(.eyebrow) { max-width:480px; margin:0; font-size:16px; line-height:1.65; }
.choice-link { padding-top:38px; border-top:1px solid currentColor; font:700 15px/1 Manrope,Arial,sans-serif; }
.choice-footer { margin-top:auto; background:var(--ink); color:var(--white); font:500 10px 'DM Mono',monospace; letter-spacing:.08em; }
.choice-footer a { color:var(--white); }

@media (max-width:700px) {
  .choice-header { align-items:flex-start; padding:16px 20px; }
  .choice-header .brand { max-width:210px; font-size:16px; line-height:1.2; }
  .choice-header .brand-mark { flex:none; }
  .choice-contact { padding:10px; font-size:12px; white-space:nowrap; }
  .choice-contact span { display:none; }
  .choice-intro { padding:62px 24px 50px; }
  .choice-intro h1 { font-size:58px; }
  .choice-intro > p:not(.eyebrow) { font-size:17px; }
  .service-choice { grid-template-columns:1fr; }
  .choice-card { min-height:350px; padding:32px 24px; }
  .choice-card + .choice-card { border-left:0; border-top:1px solid var(--line); }
  .choice-card h2 { font-size:43px; }
  .choice-card > div > p:not(.eyebrow) { font-size:16px; }
  .choice-footer { flex-wrap:wrap; padding:21px 24px; font-size:11px; }
}
