/* The approved architecture and original logo remain the visual focal point. */
.invitation-card .invitation-lead { font-size:21px; line-height:1.45; color:#181b20; margin-block:20px; }
.access-dialog .optional { display:inline; color:#59636c; font-size:12px; font-weight:400; }
.access-dialog label:has(.optional) { gap:4px; }
.request-options,.message-previews { border-top:1px solid #d5dce2; padding-top:18px; margin-top:20px; }
.request-options summary,.message-previews summary { cursor:pointer; font-size:13px; font-weight:600; min-height:28px; }
.request-options summary .optional { margin-left:8px; }
.access-dialog .request-use { font-size:12px; margin:20px 0 0; }
.request-privacy { margin-top:10px; }
.request-privacy summary { cursor:pointer; font-size:12px; color:#942331; text-decoration:underline; text-underline-offset:3px; }
.request-privacy p { font-size:12px; }
.preview-message-actions { display:flex; flex-wrap:wrap; gap:8px; }
.preview-message-actions button { min-height:44px; }
.delivery-message { padding:16px; border-left:3px solid #d92332; background:#f4f7f8; margin-top:18px; }
.delivery-message strong { font-size:14px; }
.delivery-message small { color:#762530; font-size:12px; }
.preview-strip { background:#fceef0; color:#762530; justify-content:center; gap:10px 20px; flex-wrap:wrap; }
.preview-strip a { margin-left:0; }
.site-header { max-width:1440px; padding-block:23px; }
.site-header nav { gap:22px; }
.site-header nav > a { display:inline-flex; align-items:center; min-height:44px; }
.site-header nav > a:hover { color:#a81727; }
.login-button { background:transparent; border-color:transparent; font-size:13px; padding:9px 4px; }
.nav-toggle { display:none; }
.hero .intro { color:#942331; }
.hero .hero-copy { max-width:39ch; }
.hero-note { margin-top:20px; color:#59636c; font-size:12px; line-height:1.6; }
.hero-actions .button { gap:12px; }
.format-rail { grid-template-columns:1.3fr 1fr 1fr 1fr; }
.format-rail > .format-item { border-left:1px solid #d2dbe0; padding-left:24px; }
.format-rail > .format-item > small { max-width:22ch; line-height:1.6; }
.import-support { grid-template-columns:repeat(3,minmax(0,1fr)); }
.price-card { background:#fff; box-shadow:0 12px 38px #17253106; border:1px solid #d5dce2; border-top:4px solid #d92332; border-radius:10px; }
.price-card h3 { font-size:28px; font-weight:600; letter-spacing:-.6px; margin-top:18px; }
.offer-label { display:inline-block; background:#fceef0; color:#942331; font-size:12px; font-weight:600; padding:6px 10px; border-radius:4px; }
.price-card .price { margin-top:22px; margin-bottom:8px; }
.price-card .price-caption { font-size:13px; line-height:1.6; }
.price-card .offer-note { border-left:2px solid #d92332; padding-left:14px; margin:24px 0; font-size:12px!important; color:#59636c; }
.price-card > small { line-height:1.65; text-align:left; margin-top:14px; }
.price-card .team-link { display:block; width:100%; margin-top:10px; font-size:13px; background:transparent; border:0; text-decoration:underline; text-underline-offset:4px; }
.offer-inclusions { margin-top:28px; padding:0; list-style:none; }
.offer-inclusions li { display:grid; grid-template-columns:30px 1fr; gap:12px; padding:18px 0; border-top:1px solid #d2dbe0; }
.offer-inclusions .inclusion-mark { font-size:21px; color:#a72132; }
.offer-inclusions strong { display:block; font-size:16px; font-weight:600; margin-bottom:4px; }
.offer-inclusions small { display:block; color:#59636c; font-size:14px; line-height:1.6; }
.release-caption { font-size:13px; color:#59636c; }
.faq-list details p { max-width:68ch; }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:20px 32px; align-items:center; }
.footer-brand { display:flex; flex-direction:column; gap:15px; }
.footer-brand p { margin:0; color:#59636c; }
.footer-links { display:flex; gap:8px 18px; flex-wrap:wrap; justify-content:flex-end; }
.footer-links button { background:transparent; border:0; padding:10px 0; font-size:13px; font-weight:400; text-decoration:underline; text-underline-offset:4px; }
.footer-caption { grid-column:1/-1; border-top:1px solid #d2dbe0; padding-top:20px; font-size:11px; color:#59636c; }
.access-dialog { width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:1px solid #d4dbe1; padding:32px; border-radius:12px; background:#fff; color:#181b20; }
.access-dialog::backdrop { background:#14202fb3; }
.access-dialog .dialog-head { align-items:flex-start; margin-bottom:20px; gap:18px; }
.access-dialog h2 { font-size:32px; line-height:1.12; letter-spacing:-1px; margin:10px 0 0; }
.access-dialog .dialog-head .icon-close { flex:none; width:44px; height:44px; background:#f4f7f8; border:1px solid #dbe0e5; padding:4px; font-size:25px; }
.access-dialog p { font-size:14px; color:#59636c; }
.access-dialog .preview-notice { background:#fceef0; border-radius:6px; padding:14px 16px; font-size:13px; color:#762530; line-height:1.6; }
.access-dialog .form-grid { gap:18px; margin-top:24px; }
.access-dialog label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; }
.access-dialog input,.access-dialog select { min-height:46px; width:100%; border:1px solid #aeb8c2; border-radius:5px; padding:10px 12px; background:#fff; color:#181b20; }
.access-dialog .form-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; margin-top:26px; }
.access-dialog .form-actions .button { gap:8px; }
.access-dialog .request-summary { display:grid; grid-template-columns:100px minmax(0,1fr); gap:14px; margin:22px 0 26px; font-size:14px; }
.request-summary dt { color:#59636c; }
.request-summary dd { margin:0; overflow-wrap:anywhere; font-weight:600; }
.access-dialog .pending-action { width:100%; opacity:1; background:#edf0f3; color:#65727d; border-color:#d5dce2; min-height:48px; }
.access-dialog [hidden] { display:none!important; }
.access-dialog .form-status { color:#a72132; font-size:13px; margin:15px 0 0; }
.destination-label { border:1px solid #dbe0e5; background:#f4f7f8; border-radius:6px; padding:16px; display:block; font-size:16px; margin:22px 0; }
.access-dialog .secondary-action { display:block; margin:15px auto 0; border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:13px; }
@media(max-width:1100px) {
  .site-header { padding-inline:32px; gap:20px; }
  .site-header nav { gap:13px; }
  .site-header img { width:160px; }
  .site-header nav .button { padding-inline:12px; font-size:12px; }
}
@media(max-width:900px) {
  .site-header { justify-content:space-between; }
  .nav-toggle { display:inline-flex; padding:8px 15px; align-items:center; }
  .site-header nav { display:none; width:100%; margin-top:2px; border-top:1px solid #d5dce2; padding-top:16px; flex-wrap:wrap; gap:8px 22px; }
  .site-header nav.is-open { display:flex; }
  .site-header nav .button { min-height:44px; }
  .format-rail { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .format-rail > p { grid-column:1/-1; }
  .format-rail > .format-item { padding-left:14px; }
}
@media(max-width:740px) {
  .preview-strip { justify-content:flex-start; gap:4px 14px; padding:10px 18px; font-size:10px; }
  .preview-strip span { width:100%; }
  .site-header { padding:18px; gap:16px; }
  .hero-note { font-size:11px; margin-bottom:8px; max-width:39ch; }
  .hero .hero-copy { max-width:38ch; }
  .hero-actions { gap:10px 18px; }
  .format-rail { gap:16px 10px; }
  .format-rail > .format-item { padding-left:10px; }
  .format-rail .format-item > span { font-size:13px; }
  .format-rail > p br { display:none; }
  .import-support { grid-template-columns:1fr; }
  .price-card .price span { display:block; font-size:14px; margin-top:8px; }
  .site-footer { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; }
  .access-dialog { padding:23px 20px; }
  .access-dialog h2 { font-size:28px; }
  .access-dialog .form-grid { grid-template-columns:1fr; }
  .access-dialog .form-grid .span-two { grid-column:auto; }
  .access-dialog .form-actions { flex-direction:column; }
  .access-dialog .form-actions > button { width:100%; }
  .access-dialog .request-summary { grid-template-columns:85px minmax(0,1fr); gap:12px; font-size:13px; }
}
@media print { .nav-toggle,.access-dialog,.footer-links { display:none!important; } }
