/* Phase 3B presentation only. Routes, forms and application state remain owned
   by their existing modules. Assets resolve relative to this portable ui root. */
.cw-site-header { min-height: 68px; gap: 8px 24px; }
.cw-slot-label { display:block; margin-bottom:10px; color:#526c6b; font:500 11px/1.5 system-ui,sans-serif; letter-spacing:.04em; overflow-wrap:anywhere; }
.cw-action-draft { font-size:10px; opacity:.85; }
.cw-copy-placeholder { overflow-wrap:anywhere; }
.cw-content-main h1 { line-height:1.12; }
.cw-content-main h2 { font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.25; }
.cw-content-main { padding-top:36px; }
/* B: crop the existing art to its ocean portion, below the baked-in wordmark. */
.cw-compact-banner { height:68px; background-image:url('./assets/cruiseweaver-ocean-hero-caps.png'); background-size:100% auto; background-position:center bottom; border-bottom:1px solid var(--line); }
body.compact-designer:not(.results-mode) .cw-compact-banner .cw-banner-brand { display:none; }
/* A: text and image are one composition; image crop avoids a second wordmark. */
.cw-home-main { max-width:none; padding:0 0 64px; }
.cw-editorial-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); width:100%; background:#edf3ef; border-bottom:1px solid var(--line); }
.cw-hero-copy { padding:clamp(28px,4vw,64px) clamp(24px,5vw,80px); align-self:center; }
.cw-home-main .cw-hero-copy h1 { max-width:650px; font-size:clamp(2rem,3.8vw,3.8rem); margin-bottom:22px; }
.cw-hero-copy .cw-lead { font-size:clamp(1.1rem,1.7vw,1.3rem); }
.cw-hero-copy .cw-actions { gap:14px 24px; }
.cw-hero-copy .cw-preview-note { margin-bottom:0; }
.cw-hero-ocean { min-height:400px; background:#93c8cb url('./assets/cruiseweaver-ocean-hero-caps.png') center bottom / auto 270% no-repeat; }
.cw-home-main > .cw-editorial-section, .cw-home-main > .cw-closing-invitation { max-width:1120px; margin:0 auto; padding:52px 24px; }
.cw-editorial-section { padding:36px 0; border-bottom:1px solid var(--line); }
.cw-closing-invitation { text-align:center; }
.cw-closing-invitation p { margin-left:auto; margin-right:auto; }
.cw-closing-invitation .cw-actions { justify-content:center; margin-bottom:0; }
.cw-visual-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; margin:28px 0 0; padding:24px; aspect-ratio:16/7; border:1px dashed #87a5a2; border-radius:14px; background:linear-gradient(135deg,#edf3ef,#f8f9f4); text-align:center; color:#365958; }
.cw-visual-placeholder p { margin:4px 0 12px; font-size:clamp(1rem,2vw,1.4rem); }
.cw-visual-placeholder figcaption { max-width:360px; color:#526c6b; font-size:.8rem; line-height:1.5; }
.cw-story-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:36px; align-items:center; }
.cw-story-row .cw-visual-placeholder { aspect-ratio:4/3; margin:0; }
.cw-alpha-participation { background:var(--wash); }
.cw-alpha-participation h2, #alpha-support h2 { font-size:1.2rem; }
.cw-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.cw-contact-grid .cw-panel { margin:16px 0 0; min-width:0; }
.cw-contact-grid .cw-button { gap:8px; overflow-wrap:anywhere; }
.cw-entry-introduction { border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:24px; }
/* C: text-first pages retain draft policy and recovery content. */
.cw-minimal-main { max-width:850px; padding-top:48px; }
/* Informational footers participate in document flow. Application footer stays compact. */
body.cw-content-page { padding-bottom:0; }
.cw-content-page > .cw-site-footer { position:static; padding-top:14px; padding-bottom:calc(14px + env(safe-area-inset-bottom,0px)); }
.cw-content-page .cw-site-footer > div { display:flex; }
@media (max-width:1000px) {
  .cw-hero-copy { padding:32px 24px; }
  .cw-hero-ocean { min-height:380px; }
  .cw-site-header { gap:8px 16px; }
}
@media (max-width:760px) {
  .cw-editorial-hero { grid-template-columns:1fr; }
  .cw-hero-copy { padding:28px 20px; }
  .cw-hero-ocean { min-height:150px; background-size:auto 280%; }
  .cw-home-main > .cw-editorial-section, .cw-home-main > .cw-closing-invitation { padding:36px 20px; }
  .cw-story-row, .cw-contact-grid { grid-template-columns:1fr; gap:20px; }
  .cw-editorial-section { padding:28px 0; }
  .cw-content-main { padding-top:28px; }
  .cw-home-main { padding-top:0; }
  .cw-compact-banner { height:56px; background-size:auto 280%; }
  .cw-visual-placeholder { aspect-ratio:auto; min-height:200px; padding:20px; }
  .cw-story-row .cw-visual-placeholder { aspect-ratio:4/3; min-height:0; }
  .cw-site-header .site-nav { flex-wrap:wrap; gap:4px 16px; }
  .cw-site-header .site-nav a { min-height:44px; }
  .cw-site-header .brand span { display:inline; }
  .cw-site-header .brand { font-size:.76rem; gap:8px; }
  .cw-site-header .cw-active-user { order:4; padding:5px 8px; }
  .cw-content-page .cw-site-footer > div { margin-bottom:8px; }
}
