/* sub.css · genereras av verktyg/steg/build_sub.py ur site.css (14 okt) + app-lager. Redigera inte för hand. */
.page-sub{--bg:          #FBF7EF;
  --surface-1:   #EFEDE7;
  --surface-2:   #E6E4E0;
  --line:        #D6D6D5;
  --text:        #14284B;
  --text-muted:  #657084;
  --coral:       #F4502A;
  --coral-ink:   #BC4632;
  --radius:      2px;
  
  --navy-bg:        #14284B;
  --navy-surface-1: #243656;
  --navy-surface-2: #324360;
  --navy-line:      #47566F;
  --navy-text:      #FBF7EF;
  --navy-muted:     #AAAFB6;}
.page-sub .navy{--bg:          #14284B;
  --surface-1:   #243656;
  --surface-2:   #324360;
  --line:        #47566F;
  --text:        #FBF7EF;
  --text-muted:  #AAAFB6;
  --coral:       #F4502A;
  --radius:      2px;}
body.page-sub{margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1rem;
  line-height: 1.6;}
.page-sub .navy{background: var(--bg); color: var(--text);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) img,.page-sub :is(main,.crumbs,.cta-block,.site-footer) video{max-width: 100%; height: auto; display: block; border-radius: var(--radius);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) a{color: var(--text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) a:hover{text-decoration-color: var(--coral);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) a:focus-visible,.page-sub :is(main,.crumbs,.cta-block,.site-footer) button:focus-visible,.page-sub :is(main,.crumbs,.cta-block,.site-footer) input:focus-visible,.page-sub :is(main,.crumbs,.cta-block,.site-footer) select:focus-visible,.page-sub :is(main,.crumbs,.cta-block,.site-footer) textarea:focus-visible,.page-sub :is(main,.crumbs,.cta-block,.site-footer) summary:focus-visible{outline: 2px solid var(--coral); outline-offset: 2px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) h1,.page-sub :is(main,.crumbs,.cta-block,.site-footer) h2,.page-sub :is(main,.crumbs,.cta-block,.site-footer) h3,.page-sub :is(main,.crumbs,.cta-block,.site-footer) .display{font-family: "Cormorant Garamond", Garamond, Georgia, serif;
  font-weight: 300;
  margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .display{font-size: clamp(3rem, 7vw, 5.5rem); line-height: 1.02; letter-spacing: -0.01em;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) h1{font-size: clamp(2.2rem, 4.5vw, 3.4rem); line-height: 1.08; letter-spacing: -0.005em;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) h2{font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.15; font-weight: 400;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) h3{font-size: 1.5rem; line-height: 1.2; font-weight: 500;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .subline{font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-weight: 300; font-style: italic; font-size: clamp(1.5rem, 2.4vw, 1.75rem); line-height: 1.4;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .quote{font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-weight: 300; font-style: italic; font-size: clamp(1.6rem, 3.2vw, 2.2rem); line-height: 1.3; margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .eyebrow{font-family: "Figtree", sans-serif; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; line-height: 1.3; margin: 0 0 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lead{font-size: 1.125rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .caption,.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hint{font-size: 0.8rem; line-height: 1.5; letter-spacing: 0.01em; color: var(--text-muted);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .muted{color: var(--text-muted);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) p{margin: 0 0 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .measure{max-width: 62ch;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .wrap{max-width: 1160px; margin: 0 auto; padding: 0 24px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .doc{max-width: 860px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) section{padding: 96px 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .section-tight{padding: 64px 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .bar{width: 48px; height: 3px; background: var(--coral); border: 0; margin: 0 0 32px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid{display: grid; gap: 40px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid-2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid-3{grid-template-columns: repeat(3, minmax(0, 1fr));}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid-2,.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid-3{grid-template-columns: 1fr;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .card{background: var(--surface-1); border-radius: var(--radius); padding: 40px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .card h3{margin-bottom: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stack > * + *{margin-top: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stack-lg > * + *{margin-top: 64px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) hr.rule{border: 0; border-top: 1px solid var(--line); margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn{display: inline-block;
  font-family: "Figtree", sans-serif; font-weight: 600; font-size: 1.125rem; line-height: 1; letter-spacing: 0.04em;
  padding: 18px 28px; border-radius: var(--radius); text-decoration: none; cursor: pointer; border: 1px solid transparent;
  background: var(--navy-bg); color: var(--navy-text);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn:hover{background: var(--navy-surface-1);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .navy .btn{background: var(--surface-1); color: var(--text); border-color: var(--line);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .navy .btn:hover{background: var(--surface-2);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .link-cta{font-weight: 600;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .nav-toggle{display: none; background: none; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px; font: inherit; color: var(--text); cursor: pointer;}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .nav-toggle{display: inline-block;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-copy{padding: 120px 0 96px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-copy h1{margin: 0 0 24px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-copy .lead{max-width: 52ch; margin-bottom: 40px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-actions{display: flex; flex-wrap: wrap; align-items: center; gap: 24px 32px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-figure{position: relative; margin: 0; align-self: end; display: flex; justify-content: center;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-figure img{width: min(100%, 520px); height: auto; border-radius: 0;}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-copy{padding: 72px 0 40px;}}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hero-figure img{width: min(100%, 380px);}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial{padding: 40px; background: var(--surface-1); border-radius: var(--radius);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial .quote{font-size: 1.5rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial .who{margin-top: 24px; margin-bottom: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .checks{list-style: none; padding: 0; margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .checks li{position: relative; padding-left: 24px; margin-bottom: 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .checks li::before{content: ""; position: absolute; left: 0; top: 0.65em; width: 8px; height: 8px; background: var(--coral); border-radius: var(--radius);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) form .field{margin-bottom: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) label:not(.sig-row){display: block; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; margin-bottom: 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) input[type="text"],.page-sub :is(main,.crumbs,.cta-block,.site-footer) input[type="email"],.page-sub :is(main,.crumbs,.cta-block,.site-footer) select,.page-sub :is(main,.crumbs,.cta-block,.site-footer) textarea{width: 100%; font: inherit; color: var(--text); background: var(--bg);
  border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) textarea{min-height: 160px; resize: vertical;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .consent{display: flex; gap: 12px; align-items: flex-start; font-size: 0.9rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .consent input{margin-top: 5px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .hp{position: absolute; left: -9999px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .newsletter iframe{width: 100%; max-width: 480px; height: 150px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg);}
.page-sub .crumbs{font-size: 0.8rem; color: var(--text-muted); padding: 20px 0 0;}
.page-sub .crumbs a{color: var(--text-muted);}
.page-sub .crumbs span{margin: 0 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .meta{display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 0.8rem; color: var(--text-muted);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .faq details{border-top: 1px solid var(--line); padding: 20px 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .faq details:last-child{border-bottom: 1px solid var(--line);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .faq summary{cursor: pointer; font-weight: 600; list-style: none;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .faq summary::-webkit-details-marker{display: none;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .faq details p{margin: 12px 0 0; max-width: 62ch;}
.page-sub .site-footer{padding: 64px 0 40px;}
.page-sub .site-footer .cols{display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 40px;}
@media (max-width: 860px){.page-sub .site-footer .cols{grid-template-columns: 1fr 1fr;}}
.page-sub .site-footer h4{font-family: "Figtree", sans-serif; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; margin: 0 0 16px;}
.page-sub .site-footer ul{list-style: none; margin: 0; padding: 0;}
.page-sub .site-footer li{margin-bottom: 8px;}
.page-sub .site-footer a{text-decoration: none;}
.page-sub .site-footer a:hover{text-decoration: underline; text-decoration-color: var(--coral);}
.page-sub .site-footer .sig{font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-size: 1.5rem; font-weight: 300; font-style: italic; margin: 0 0 8px;}
.page-sub .site-footer .legal{margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 0.8rem; color: var(--text-muted); display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between;}
.page-sub .site-footer .legal a{color: var(--text-muted);}
.page-sub .cta-block{text-align: left;}
.page-sub .cta-block .wrap{display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center;}
@media (max-width: 860px){.page-sub .cta-block .wrap{grid-template-columns: 1fr;}}
.page-sub .cta-block h2{margin-bottom: 16px;}
.page-sub .cta-block .actions{display: flex; flex-wrap: wrap; gap: 24px; align-items: center;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .sr-only{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) video.inline{width: 100%; max-width: 960px; aspect-ratio: 16 / 9; background: var(--navy-bg);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .tag{display: inline-block; font-family: "Figtree", sans-serif; font-weight: 600; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted); border: 1px solid var(--line); border-radius: var(--radius); padding: 2px 8px; margin-left: 8px; vertical-align: middle;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo{background: var(--surface-1); border-radius: var(--radius); min-height: 88px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; font-family: "Figtree", sans-serif; font-weight: 600; font-size: 0.9rem; letter-spacing: 0.02em;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo img{max-height: 48px; width: auto;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .books{display: flex; flex-wrap: nowrap; gap: 32px; align-items: flex-start;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book{flex: 0 0 150px; width: 150px; min-width: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book h3{font-size: 1.05rem; line-height: 1.25;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book p:not(.year){font-size: 0.85rem; line-height: 1.4;}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .books{gap: 14px;} .page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book{flex: 1 1 0; width: auto; max-width: 130px;} .page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book h3{font-size: 0.92rem;} .page-sub :is(main,.crumbs,.cta-block,.site-footer) .books .book p:not(.year){font-size: 0.78rem;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .cover{aspect-ratio: 2 / 3; background: var(--surface-1); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; padding: 24px; text-align: center; margin-bottom: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .cover picture{display: contents;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .cover.has-img{padding: 0; background: none; display: flex; align-items: flex-end; justify-content: flex-start;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .cover img{max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; border-radius: var(--radius);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .cover .plate{font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-weight: 400; font-size: 1.75rem; line-height: 1.15;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book h3{margin: 0 0 4px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book .year{font-size: 0.8rem; color: var(--text-muted); margin: 0 0 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book p{margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .bio{background: var(--surface-1); border-radius: var(--radius); padding: 40px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .bio + .bio{margin-top: 24px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .bio .eyebrow{margin-bottom: 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .formats{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;}
@media (max-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .formats{grid-template-columns: 1fr;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .formats .card h3{margin-bottom: 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .checks.plain li::before{background: var(--line);}
.page-sub .crumbs{padding: 20px 0 0;}
.page-sub .crumbs ol{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0;}
.page-sub .crumbs li + li::before{content: "›"; margin: 0 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .tags-list{display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .tags-list li{border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 12px; font-size: 0.9rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .video-figure{margin: 0; max-width: 960px;}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) section{padding: 64px 0;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .section-tight{padding: 48px 0;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .wrap{padding: 0 20px;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .card,.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial,.page-sub :is(main,.crumbs,.cta-block,.site-footer) .bio{padding: 24px;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial .quote{font-size: 1.5rem;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .section-flush{padding-top: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture-hero{padding-top: 48px;}
@media (min-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture-hero{padding-top: 72px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture-hero .hero-actions .btn{text-align: center;}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture-hero .hero-actions .btn{width: 100%;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lectures{display: grid; gap: 16px; grid-template-columns: 1fr;}
@media (min-width: 900px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lectures{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture{display: flex; flex-direction: column; background: var(--surface-1); border-radius: var(--radius); padding: 32px 24px; text-decoration: none; color: var(--text);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture:hover{background: var(--surface-2);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture h3{margin: 0 0 12px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture p{margin: 0 0 24px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture .link-cta{margin-top: auto; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture:hover .link-cta{text-decoration-color: var(--coral);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr;}
@media (min-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items{grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items li{display: grid; grid-template-columns: 40px 1fr; gap: 0 12px; padding: 20px 0; border-top: 1px solid var(--line);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items .n{font-weight: 600; font-size: 0.8rem; letter-spacing: 0.16em; color: var(--text-muted); padding-top: 4px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items h3{font-family: "Figtree", sans-serif; font-size: 1.0625rem; font-weight: 600; line-height: 1.35; margin: 0 0 4px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items p{margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .facts{margin: 48px 0 0; display: grid; gap: 24px; grid-template-columns: 1fr;}
@media (min-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .facts{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .facts dt{font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; margin-bottom: 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .facts dd{margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stats{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
@media (min-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stats{grid-template-columns: repeat(4, minmax(0, 1fr));}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stats .num{display: block; font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-weight: 300; font-size: 2.5rem; line-height: 1.05;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .stats .lbl{display: block; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--text-muted); margin-top: 6px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book-bar{position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: var(--bg); border-top: 1px solid var(--line); padding: 12px 20px calc(12px + env(safe-area-inset-bottom));}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book-bar .btn{display: block; width: 100%; text-align: center; padding: 16px 20px;}
@media (min-width: 860px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .book-bar{display: none;}}
@media (max-width: 859px){body.page-sub.has-book-bar{padding-bottom: 84px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking{max-width: 640px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking fieldset{border: 0; padding: 0; margin: 0 0 48px; min-width: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking fieldset[hidden]{display: none;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking legend{font-family: "Cormorant Garamond", Garamond, Georgia, serif; font-size: 1.5rem; font-weight: 500; line-height: 1.25; padding: 0; margin-bottom: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking legend .n{font-family: "Figtree", sans-serif; font-weight: 600; font-size: 0.8rem; letter-spacing: 0.16em; color: var(--text-muted); display: block; margin-bottom: 4px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking legend .opt{font-family: "Figtree", sans-serif; font-size: 1rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .opt{text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--text-muted);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking .hint{margin: -8px 0 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking .sublabel{font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; margin: 24px 0 8px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking .sublabel:first-of-type{margin-top: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .choice{display: flex; gap: 12px; align-items: flex-start; min-height: 48px; padding: 12px 14px; margin: 0 0 8px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg); cursor: pointer; font-weight: 400; font-size: 1rem; line-height: 1.4; text-transform: none; letter-spacing: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .choice:has(input:checked){border-color: var(--text); background: var(--surface-1);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .choice input{flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--text);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .booking .reveal{margin-top: 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) input[type="tel"]{width: 100%; font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) input:user-invalid,.page-sub :is(main,.crumbs,.cta-block,.site-footer) textarea:user-invalid,.page-sub :is(main,.crumbs,.cta-block,.site-footer) select:user-invalid{border-color: var(--coral-ink);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn-block{width: 100%; text-align: center;}
@media (min-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn-block{width: auto;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .collage-fig{margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .collage-fig img{width: 100%; height: auto; border-radius: var(--radius);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture .ill{display: block; margin: -32px -24px 24px; background: var(--bg); border-bottom: 1px solid var(--line);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture .ill svg{display: block; width: 100%; height: auto;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo{background: var(--bg); border: 1px solid var(--line);}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo img{max-height: 44px; max-width: 78%; width: auto; height: auto; border-radius: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-row{display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-row img{height: 32px; width: auto; max-width: 140px; object-fit: contain; border-radius: 0;}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo{min-height: 64px; padding: 10px;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-grid .logo img{max-height: 30px; max-width: 88%;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-row{gap: 20px 28px;}}
@media (max-width: 600px){.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-row img{height: 26px;}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .pod-links{margin-top: 8px !important; font-size: 0.9rem;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-collage{max-width: 760px; margin: 0;}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .logo-collage img{border-radius: 0;}

/* App-lager för undersidorna (2026-10-20): typografi, paneler och knappar som på startsidan */
body.page-sub{font-size:16px}
.page-sub .cta-block{padding-block:64px}
@media (min-width:900px){.page-sub .cta-block{padding-block:88px}}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .eyebrow,.page-sub .site-footer h4{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.page-sub .crumbs{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .items .n{font-family:var(--f-mono);font-weight:500;letter-spacing:.06em}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) :is(.stats .num,.year,.tag,.caption){font-variant-numeric:tabular-nums}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) :is(.card,.testimonial,.lecture,.bio){background:var(--bg);border:1px solid var(--line)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .lecture:hover{border-color:var(--text)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .testimonial .quote{padding:0}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn{font-size:1.05rem;letter-spacing:.02em;padding:14px 20px;background:var(--navy-bg);color:var(--navy-text);border:1px solid transparent}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .btn:hover{background:var(--navy-surface-1)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .navy .btn,.page-sub .cta-block .btn{background:var(--navy-text);color:var(--navy-bg)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .navy .btn:hover,.page-sub .cta-block .btn:hover{background:var(--surface-1)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .tag{font-family:var(--f-mono)}
.page-sub :is(main,.crumbs,.cta-block,.site-footer) .grid > *{min-width:0}
@media (max-width:899px){
  .page-sub :is(main,.crumbs,.cta-block,.site-footer) .book-bar{bottom:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:12px}
  body.page-sub.has-book-bar{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
}
