/* Mobile edition: independent layout, not a shrunken desktop page. */
@media (max-width: 1180px) {
  .site-header { width:100%; min-height:72px; background:rgba(255,253,249,.98); }
  .header-inner { width:calc(100% - 40px); min-height:72px; gap:12px; }
  .site-header .brand { min-width:0; }
  .site-header .wordmark { font-size:clamp(.86rem,2.9vw,1.3rem); letter-spacing:.075em; }
  .desktop-nav { display:none; }
  .mobile-nav { display:block; flex-shrink:0; }
  .mobile-nav summary { display:flex; align-items:center; list-style:none; cursor:pointer; min-height:44px; margin:0; padding:0 14px; gap:10px; border-radius:999px; background:#244c67; color:white; font-size:.75rem; font-weight:750; letter-spacing:.03em; text-transform:none; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav summary i { position:relative; display:block; height:16px; }
  .mobile-nav summary b { position:absolute; left:0; height:2px; transition:transform .22s ease,top .22s ease; }
  .mobile-nav summary b:first-child { top:3px; }
  .mobile-nav summary b:last-child { top:11px; }
  .mobile-nav[open] summary b:first-child { top:7px; transform:rotate(45deg); }
  .mobile-nav[open] summary b:last-child { top:7px; transform:rotate(-45deg); }
  .mobile-nav summary i,.mobile-nav summary b { width:18px; }
  .mobile-nav summary b { background:white; }
  .mobile-nav-panel { position:fixed; z-index:49; top:72px; left:0; right:0; overflow:auto; max-height:calc(100svh - 72px); padding:20px; background:#fffdf9; box-shadow:0 22px 40px #18212822; }
  .mobile-nav-panel nav { display:flex; flex-direction:column; align-items:stretch; }
  .mobile-nav-panel nav a { display:flex!important; gap:18px; text-decoration:none; font-weight:560; letter-spacing:-.035em; }
  .mobile-nav-panel nav { gap:10px; }
  .mobile-nav-panel nav a,.mobile-nav-panel nav a:first-child { align-items:center; padding:20px 18px; background:#eef5f8; font-size:1.4rem; line-height:1.3; }
  .mobile-nav-panel nav span { color:#244c67; font-size:.75rem; }
  .mobile-nav-contact { display:grid; grid-template-columns:1.1fr .9fr; gap:10px; margin-top:18px; }
  .mobile-primary { display:flex; align-items:center; justify-content:space-between; min-height:76px; padding:18px; color:white; font-weight:750; }
  .mobile-phone { display:flex; flex-direction:column; justify-content:center; gap:5px; min-height:76px; padding:14px 18px; }
  .mobile-phone small { font-size:.7rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
  .mobile-primary { background:#244c67; border-radius:6px; font-size:.95rem; }
  .mobile-phone { background:#eef5f8; border-radius:6px; }
  .mobile-phone small { color:#385267; }
  .mobile-phone strong { font-size:1.2rem; }
  main > section[id] { scroll-margin-top:90px; }
}
@media (max-width: 680px) {
  body { background:#fffdf9; }
  main,section,figure,article,main div { min-width:0; }
  img { max-width:100%; }
  a:focus-visible,summary:focus-visible { outline:3px solid #5787a7; outline-offset:4px; }
  .header-inner { width:calc(100% - 32px); }
  .hero-v6 { display:grid; grid-template-columns:minmax(0,1fr); width:calc(100% - 40px); min-height:0; gap:0; margin:0 auto 32px; }
  .hero-v6-copy { display:contents; }
  .hero-v6-kicker { order:1; margin:24px 0 18px; max-width:100%; font-size:.65rem; line-height:1.65; letter-spacing:.075em; color:#385267; }
  .hero-v6-kicker span { color:#244c67; }
  .hero-v6 h1 { order:2; max-width:100%; font-size:clamp(1.95rem,8.7vw,3.3rem); font-weight:620; line-height:1.09; letter-spacing:-.045em; overflow-wrap:break-word; text-wrap:balance; }
  .hero-v6-intro { order:3; margin:20px 0 24px; color:#385267; font-size:1.05rem; line-height:1.65; }
  .hero-v6-media { order:4; min-height:0; aspect-ratio:1.22; margin:0; border-radius:12px 12px 48px 12px; box-shadow:none; }
  .hero-v6-media img { height:100%; object-position:57% center; filter:none; transform:none; }
  .hero-v6:hover .hero-v6-media img { transform:none; }
  .hero-v6-media::after { background:linear-gradient(transparent 40%,rgba(15,37,53,.82)); }
  .hero-v6-media figcaption { right:20px; left:20px; bottom:24px; width:auto; padding:0; background:transparent; color:white; backdrop-filter:none; border-radius:0; box-shadow:none; }
  .hero-v6-media figcaption span { color:#e2eef5; font-size:.67rem; }
  .hero-v6-media figcaption p { max-width:260px; margin-top:8px; font-size:1.3rem; font-weight:600; line-height:1.25; }
  .hero-v6-actions { order:5; display:flex; align-items:stretch; gap:8px; margin-top:24px; }
  .primary-button { min-height:60px; gap:14px; padding:16px 18px; border-radius:8px; background:#244c67; font-size:1rem; line-height:1.4; font-weight:650; }
  .primary-button svg { flex-shrink:0; }
  .quiet-link { display:flex; align-items:center; justify-content:center; min-height:48px; font-size:.95rem; line-height:1.5; text-align:center; }
  .hero-v6-proof { order:6; display:grid; grid-template-columns:1fr; gap:13px; max-width:none; margin:22px 0 0; padding:20px; background:#eef5f8; border-radius:10px; }
  .hero-v6-proof div,.hero-v6-proof div + div { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:baseline; gap:12px; padding:0; background:none; border:0; }
  .hero-v6-proof strong { color:#244c67; font-size:.68rem; letter-spacing:.045em; }
  .hero-v6-proof span { color:#263e50; font-size:.87rem; line-height:1.45; }
  .signal { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 22px; margin:0; padding:24px 20px; overflow:visible; white-space:normal; background:#244c67; color:white; }
  .signal p { font-size:.65rem; letter-spacing:.075em; text-align:center; line-height:1.5; }
  .signal i,.signal i:nth-of-type(2) { display:none; }
  .eyebrow { margin-bottom:20px; color:#244c67; font-size:.7rem; letter-spacing:.09em; line-height:1.65; }
  h2 { font-size:clamp(1.9rem,8.4vw,3rem); font-weight:620; line-height:1.1; letter-spacing:-.04em; overflow-wrap:break-word; }
  .challenges { width:calc(100% - 40px); padding:64px 0; gap:24px; }
  .challenge-heading { position:static; }
  .challenge-heading .lead { margin:22px 0 0; max-width:none; color:#385267; font-size:1.05rem; line-height:1.75; }
  .challenge-list { gap:10px; }
  .challenge-list li,.challenge-list li:last-child { grid-template-columns:32px minmax(0,1fr); align-items:center; gap:14px; padding:19px 16px; background:#eef5f8; border-radius:8px; box-shadow:none; }
  .challenge-list span { display:grid; place-items:center; width:32px; height:32px; padding:0; background:#244c67; color:white; border-radius:50%; font-size:.7rem; }
  .challenge-list strong { font-size:1.12rem; line-height:1.45; font-weight:550; letter-spacing:-.015em; }
  .challenge-cta { grid-column:1; width:100%; min-height:56px; margin:0; padding:16px 18px; border:0; border-radius:8px; background:#244c67; color:white; font-size:1rem; }
  .possibility { grid-template-columns:minmax(0,1fr); gap:28px; padding:60px 20px; background:#244c67; color:#fffdf9; }
  .possibility .eyebrow { color:#d3e7f3; }
  .possibility h2 em { color:#d3e7f3; font-weight:450; }
  .line-glyph { display:none; }
  .possibility-story { max-width:none; padding:0; }
  .large-copy { font-size:1.17rem; line-height:1.75; letter-spacing:-.01em; font-weight:500; }
  .story-split { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:30px; color:#e1edf4; font-size:1.05rem; line-height:1.8; }
  .story-split strong { color:white; max-width:100%; white-space:normal; }
  .detail-image { grid-column:1; min-height:0; margin:8px 0 0; border-radius:10px; background:#fffdf9; box-shadow:none; }
  .detail-image img { height:auto; aspect-ratio:1.25; object-fit:cover; object-position:center; filter:none; }
  .detail-image figcaption { min-height:0; gap:22px; padding:26px 22px; color:#182128; }
  .detail-image figcaption > span { grid-template-columns:32px minmax(0,1fr); gap:14px; font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; }
  .detail-image figcaption small { width:30px; height:30px; margin-top:0; background:#244c67; color:white; font-size:.7rem; }
  .methods { width:calc(100% - 40px); padding:64px 0; }
  .methods-head { margin-bottom:28px; }
  .methods-head .eyebrow { margin:0 0 20px; color:#244c67; font-size:.7rem; line-height:1.65; }
  .method-row,.method-row:last-child { grid-template-columns:34px minmax(0,1fr); gap:18px 14px; padding:24px 20px 28px; border-radius:10px; background:#eef5f8; box-shadow:none; }
  .method-row + .method-row { margin-top:16px; background:#eef5f8; }
  .method-index { display:grid; place-items:center; width:32px; height:32px; background:#244c67; border-radius:50%; color:white; font-size:.7rem; }
  .method-name > p { margin:0 0 12px; color:#244c67; font-size:.7rem; line-height:1.5; letter-spacing:.07em; }
  .method-name h3 { font-size:clamp(1.5rem,6.5vw,2rem); font-weight:600; line-height:1.15; letter-spacing:-.025em; }
  .method-copy { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; color:#385267; font-size:1.03rem; line-height:1.8; }
  .about { grid-template-columns:minmax(0,1fr); gap:28px; padding:0 20px 64px; background:#fffdf9; }
  .about-visual { width:100%; max-width:none; margin:0; padding:0; }
  .about-visual img { aspect-ratio:1.35; border-radius:12px 44px 12px 12px; filter:none; box-shadow:none; }
  .about-visual span { margin:14px 0 0; color:#385267; font-size:.7rem; }
  .about-copy .eyebrow { margin:0 0 16px; color:#244c67; }
  .about-copy h2 { margin-bottom:24px; }
  .about-copy > p:not(.eyebrow),.about-copy h2 + p { font-size:1.05rem; line-height:1.8; color:#385267; font-weight:400; }
  .about-copy > p:not(.eyebrow) + p { margin-top:1.5em; }
  .contact { padding:56px 20px 48px; background:#17384f; }
  .contact-top .eyebrow { color:#d3e7f3; }
  .contact h2 { margin:20px 0 0; font-size:clamp(1.9rem,8.4vw,3rem); line-height:1.15; }
  .contact-mail { gap:10px; min-height:60px; margin-top:28px; padding:14px 16px; border:0; border-radius:8px; background:#fffdf9; color:#17384f; font-size:clamp(.92rem,4.6vw,1.25rem); letter-spacing:-.025em; }
  .contact-mail span { min-width:0; overflow-wrap:anywhere; }
  .contact-mail svg { width:22px; height:22px; flex-shrink:0; }
  .contact-mail:hover { color:#17384f; background:#e2eef5; }
  .contact-grid { gap:28px; margin-top:28px; }
  .contact-grid > a { align-items:flex-start; min-height:68px; padding:14px 16px; border-radius:8px; background:#29516d; }
  .contact-grid small { color:#d3e7f3; font-size:.7rem; }
  .contact-grid > a strong { font-size:1.5rem; }
  .contact-grid strong { font-size:1rem; font-weight:550; line-height:1.65; }
  .contact-grid > p { color:#d3e7f3; font-size:1rem; overflow-wrap:anywhere; }
  footer { grid-template-columns:minmax(0,1fr); width:calc(100% - 40px); gap:22px; padding:32px 0; background:#fffdf9; }
  footer .wordmark { font-size:1rem; letter-spacing:.08em; }
  footer > p { color:#385267; font-size:.65rem; line-height:1.6; letter-spacing:.06em; }
  footer > div { justify-content:flex-start; gap:12px 24px; }
  footer > div > a { display:inline-flex; align-items:center; min-height:44px; }
  footer .footer-credit { flex-basis:100%; font-size:.75rem; }
  .footer-brand { gap:10px; }
}
@media (max-width:520px) {
  .mobile-nav-contact { grid-template-columns:minmax(0,1fr); }
}
/* Tablet: balanced two-column composition in portrait and landscape. */
@media (min-width:681px) and (max-width:1180px) {
  body { background:#fffdf9; }
  main,section,figure,article,main div { min-width:0; }
  h2 { font-size:clamp(2.25rem,4.8vw,3.5rem); line-height:1.08; letter-spacing:-.04em; overflow-wrap:break-word; }
  .eyebrow { margin-bottom:24px; font-size:.73rem; line-height:1.6; color:#244c67; }
  .hero-v6 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); grid-template-rows:auto auto auto auto auto; column-gap:32px; width:calc(100% - 64px); min-height:0; margin:28px auto 36px; }
  .hero-v6-copy { display:contents; }
  .hero-v6-kicker { grid-column:1; grid-row:1; margin:12px 0 22px; font-size:.68rem; line-height:1.7; color:#385267; }
  .hero-v6-kicker span { color:#244c67; }
  .hero-v6 h1 { grid-column:1; grid-row:2; font-size:clamp(2rem,4vw,3rem); font-weight:620; line-height:1.08; letter-spacing:-.045em; overflow-wrap:break-word; text-wrap:balance; }
  .hero-v6-intro { grid-column:1; grid-row:3; margin:24px 0 0; color:#385267; font-size:1.08rem; line-height:1.7; }
  .hero-v6-actions { grid-column:1; grid-row:4; align-items:stretch; flex-direction:column; gap:12px; margin:28px 0 18px; }
  .primary-button { min-height:60px; gap:16px; padding:16px 18px; border-radius:8px; background:#244c67; font-size:1rem; line-height:1.45; }
  .primary-button svg { flex-shrink:0; }
  .quiet-link { display:flex; align-items:center; min-height:44px; font-size:.97rem; line-height:1.5; }
  .hero-v6-media { grid-column:2; grid-row:1 / 5; align-self:stretch; min-height:0; height:100%; margin:0; border-radius:12px 12px 64px 12px; box-shadow:none; }
  .hero-v6-media img { height:100%; object-fit:cover; object-position:57% center; filter:none; transform:none; }
  .hero-v6:hover .hero-v6-media img { transform:none; }
  .hero-v6-media::after { background:linear-gradient(transparent 45%,rgba(15,37,53,.85)); }
  .hero-v6-media figcaption { left:24px; right:24px; bottom:28px; width:auto; padding:0; background:transparent; color:white; backdrop-filter:none; box-shadow:none; }
  .hero-v6-media figcaption span { color:#e2eef5; font-size:.72rem; }
  .hero-v6-media figcaption p { margin-top:10px; font-size:1.4rem; line-height:1.3; }
  .hero-v6-proof { grid-column:1 / -1; grid-row:5; grid-template-columns:.8fr 1fr 1fr; max-width:none; gap:24px; margin:28px 0 0; padding:24px; background:#eef5f8; border-radius:10px; }
  .hero-v6-proof div,.hero-v6-proof div + div { padding:0; background:none; border:0; gap:8px; }
  .hero-v6-proof strong { color:#244c67; font-size:.72rem; }
  .hero-v6-proof span { color:#263e50; font-size:.95rem; line-height:1.5; }
  .signal { flex-wrap:wrap; gap:24px; margin:0; padding:24px 32px; background:#244c67; color:white; white-space:normal; }
  .signal p { font-size:.72rem; }
  .signal i { background:#c7e0ef; }
  .challenges { width:calc(100% - 64px); grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:24px 36px; padding:80px 0; }
  .challenge-heading { position:static; grid-column:1; grid-row:1 / 3; }
  .challenge-heading .lead { margin:26px 0 0; font-size:1.08rem; line-height:1.75; color:#385267; }
  .challenge-list { grid-column:2; gap:10px; }
  .challenge-list li,.challenge-list li:last-child { grid-template-columns:32px minmax(0,1fr); align-items:center; gap:16px; padding:22px 18px; background:#eef5f8; box-shadow:none; }
  .challenge-list span { display:grid; place-items:center; width:32px; height:32px; padding:0; border-radius:50%; background:#244c67; color:white; font-size:.72rem; }
  .challenge-list strong { font-size:1.16rem; line-height:1.4; font-weight:550; letter-spacing:-.015em; }
  .challenge-cta { grid-column:2; min-height:56px; width:100%; margin:0; padding:16px 18px; border:0; border-radius:8px; background:#244c67; color:white; font-size:1rem; }
  .possibility { grid-template-columns:minmax(0,1fr); gap:32px; padding:76px 32px; background:#244c67; color:#fffdf9; }
  .possibility-title h2 { max-width:760px; }
  .possibility .eyebrow { color:#d3e7f3; }
  .possibility h2 em { color:#d3e7f3; font-weight:450; }
  .line-glyph { display:none; }
  .possibility-story { max-width:none; padding:0; }
  .large-copy { max-width:800px; font-size:1.3rem; line-height:1.7; letter-spacing:-.01em; }
  .story-split { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:32px; color:#e1edf4; font-size:1.05rem; line-height:1.8; }
  .story-split strong { color:white; max-width:100%; white-space:normal; }
  .detail-image { grid-column:1; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); min-height:0; margin:8px 0 0; border-radius:12px; background:#fffdf9; box-shadow:none; }
  .detail-image img { height:360px; filter:none; }
  .detail-image figcaption { gap:32px; padding:28px; color:#182128; }
  .detail-image figcaption > span { grid-template-columns:32px minmax(0,1fr); gap:14px; font-size:clamp(1.4rem,2.8vw,1.9rem); line-height:1.3; letter-spacing:-.025em; }
  .detail-image figcaption small { width:30px; height:30px; margin:0; background:#244c67; color:white; font-size:.7rem; }
  .methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; width:calc(100% - 64px); gap:24px; padding:80px 0; }
  .methods-head { grid-column:1 / -1; max-width:780px; margin:0 0 12px; }
  .methods-head .eyebrow { margin:0 0 24px; color:#244c67; font-size:.73rem; line-height:1.6; }
  .method-row,.method-row:last-child { align-content:start; grid-template-columns:34px minmax(0,1fr); gap:20px 14px; padding:28px 24px 32px; background:#eef5f8; box-shadow:none; }
  .method-row + .method-row { margin:0; background:#eef5f8; }
  .method-index { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#244c67; color:white; font-size:.72rem; }
  .method-name > p { margin:0 0 14px; font-size:.72rem; line-height:1.5; color:#244c67; }
  .method-name h3 { font-size:clamp(1.7rem,3vw,2.2rem); line-height:1.15; letter-spacing:-.03em; }
  .method-copy { grid-column:1 / -1; grid-template-columns:minmax(0,1fr); gap:24px; color:#385267; font-size:1.04rem; line-height:1.8; }
  .about { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; padding:0 32px 80px; background:#fffdf9; }
  .about-visual { width:100%; max-width:none; margin:0; padding:0; }
  .about-visual img { aspect-ratio:4/5; border-radius:12px 56px 12px 12px; filter:none; box-shadow:none; }
  .about-visual span { margin-top:18px; color:#385267; line-height:1.6; }
  .about-copy { align-self:start; }
  .about-copy .eyebrow { color:#244c67; }
  .about-copy h2 { margin-bottom:28px; }
  .about-copy > p:not(.eyebrow),.about-copy h2 + p { color:#385267; font-size:1.04rem; line-height:1.8; font-weight:400; }
  .about-copy > p:not(.eyebrow) + p { margin-top:1.5em; }
  .contact { padding:72px 32px 64px; background:#17384f; }
  .contact h2 { max-width:860px; margin-top:28px; font-size:clamp(2.25rem,4.8vw,3.5rem); line-height:1.1; }
  .contact-mail { gap:16px; margin-top:36px; padding:20px 24px; border:0; border-radius:8px; background:#fffdf9; color:#17384f; font-size:clamp(1.4rem,3.5vw,2.2rem); }
  .contact-mail span { min-width:0; overflow-wrap:anywhere; }
  .contact-mail svg { flex-shrink:0; }
  .contact-mail:hover { background:#e2eef5; color:#17384f; }
  .contact-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px 40px; margin-top:36px; }
  .contact-grid > a { align-items:flex-start; min-height:88px; padding:20px 24px; border-radius:8px; background:#29516d; }
  .contact-grid > a strong { font-size:1.6rem; }
  .contact-grid small { color:#d3e7f3; font-size:.72rem; }
  .contact-grid > p { grid-column:1 / -1; max-width:650px; color:#d3e7f3; }
  footer { width:calc(100% - 64px); grid-template-columns:1fr 1fr; gap:24px; padding:36px 0; background:#fffdf9; }
  footer > p { text-align:right; line-height:1.6; }
  footer > div:last-child { grid-column:1 / -1; justify-content:flex-start; flex-wrap:wrap; gap:16px 28px; }
  footer > div:last-child a { display:inline-flex; align-items:center; min-height:44px; }
  footer .footer-credit { margin-left:auto; }
}
