/* 1.4.2: presentation fixes for Home, individual Services and Dazzle Dry. */
.nln-home-content .nln-hero-copy { container-type:inline-size; padding-block:40px; }
.nln-home-content .nln-hero-heading { font-size:clamp(64px,7.8vw,146px); line-height:1.02; padding-inline:.08em; letter-spacing:-.025em; }
.nln-home-content .nln-connections { font-size:clamp(42px,4.7vw,84px); line-height:1.02; }
.nln-home-content .nln-hero-photo { overflow:visible; background:#e7e1ff; }
.nln-home-content .nln-hero-photo img { object-fit:contain; object-position:center; }
@supports(font-size:1cqi) {
 .nln-home-content .nln-hero-heading { font-size:clamp(60px,18cqi,146px); }
 .nln-home-content .nln-connections { font-size:clamp(40px,11cqi,84px); }
}

/* Keep both preview tabs readable without a nested scrolling panel. */
body.nln-home-page .nln-event-panels { max-height:none; overflow:visible; min-width:0; }
body.nln-home-page .nln-event-theme { grid-template-columns:70px minmax(0,1fr); gap:12px; align-items:center; }
body.nln-home-page .nln-event-theme>a { width:100%; height:70px; }
body.nln-home-page .nln-event-theme>a img { width:100%; height:100%; }
body.nln-home-page .nln-event-theme h3 { font-size:clamp(21px,1.7vw,27px); line-height:1.1; }
body.nln-home-page .nln-upcoming-eyebrow { font-size:11px; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; margin:4px 0 14px; }
body.nln-home-page .nln-upcoming-list { display:grid; gap:12px; }
body.nln-home-page .nln-upcoming-card { min-width:0; border:1px solid #e4d6ef; border-radius:14px; background:linear-gradient(110deg,#fff 35%,#fff3fa); box-shadow:0 4px 14px #4a0a5910; }
body.nln-home-page .nln-upcoming-link { display:grid; grid-template-columns:58px minmax(0,1fr) 32px; align-items:center; gap:14px; padding:16px; color:var(--nln-plum,#4a0a59); text-decoration:none; border-radius:inherit; transition:background .18s ease,transform .18s ease; }
body.nln-home-page .nln-upcoming-link:hover { background:#ffedf7; transform:translateY(-2px); }
body.nln-home-page .nln-upcoming-link:focus-visible { outline:3px solid #7022ac; outline-offset:3px; }
body.nln-home-page .nln-upcoming-date { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:72px; border-radius:11px; background:#e6007e; color:#fff; line-height:1.05; }
body.nln-home-page .nln-upcoming-date span { font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
body.nln-home-page .nln-upcoming-date strong { font-size:30px; font-weight:600; margin-top:5px; }
body.nln-home-page .nln-upcoming-copy { min-width:0; }
body.nln-home-page .nln-upcoming-theme { display:block; color:#784171; font-size:11px; line-height:1.35; margin-bottom:4px; }
body.nln-home-page .nln-upcoming-copy h3 { font-size:clamp(23px,2vw,30px); line-height:1.08; letter-spacing:-.015em; margin:0 0 6px; white-space:normal; }
body.nln-home-page .nln-upcoming-copy p { font-size:12px; line-height:1.5; margin:0; }
body.nln-home-page .nln-upcoming-arrow { width:32px; height:32px; display:grid; place-items:center; border:1px solid #e9bfd9; border-radius:50%; color:#e6007e; font-size:23px; }
body.nln-home-page .nln-upcoming-calendar-link { display:inline-flex; align-items:center; min-height:44px; gap:12px; margin-top:10px; font-size:14px; color:#ae005f; text-underline-offset:4px; }

/* A short, expandable catalog; the existing service IDs and booking links stay intact. */
.nln-service-card-catalog { padding:20px; }
.nln-service-card-catalog .nln-catalog-heading { margin-bottom:20px; }
.nln-service-card-catalog .nln-catalog-eyebrow { color:#a90060; font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 8px; }
.nln-service-card-catalog .nln-catalog-heading h3 { font-size:23px!important; line-height:1.2!important; margin:0 0 8px; }
.nln-service-card-catalog .nln-catalog-heading>p:last-child { font-size:14px; line-height:1.5; margin:0; }
.nln-individual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.nln-individual-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:18px; border:1px solid #e8daef; border-radius:14px; background:linear-gradient(160deg,#fff,#fbf6ff); }
.nln-individual-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nln-individual-category { font-size:11px; line-height:1.4; color:#844574; }
.nln-individual-spark { color:#ed0089; font-size:22px; line-height:1; }
.nln-service-card-catalog .nln-individual-card h4 { font-family:var(--nln-serif); font-size:28px; font-weight:400; line-height:1.08; letter-spacing:-.01em; color:#4a0a59; margin:0; }
.nln-service-card-catalog .nln-individual-description { font-size:13px; line-height:1.5; margin:0; }
.nln-individual-meta { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 10px; margin-top:auto; padding-top:4px; }
.nln-individual-meta strong { font-size:13px; font-weight:600; }
.nln-individual-meta span { font-size:12px; color:#6c5278; }
.nln-service-card-catalog .nln-individual-choose { justify-content:center; gap:8px; min-height:44px; padding:9px 10px; border:1px solid #e6007e; border-radius:24px; color:#ae005f; font-size:13px; line-height:1.3; text-align:center; text-decoration:none; }
.nln-service-card-catalog .nln-individual-choose:hover { background:#e6007e; color:#fff; }
.nln-service-card-catalog :is(a,summary):focus-visible { outline:3px solid #7022ac; outline-offset:3px; }
.nln-service-card-catalog :is(.nln-more-services,.nln-catalog-extras) { margin-top:16px; border-top:1px solid #e8daef; }
.nln-service-card-catalog summary { cursor:pointer; min-height:48px; padding:14px 2px; font-size:14px; line-height:1.4; color:#94005a; }
.nln-service-card-catalog summary>span { float:right; margin-inline:12px; }
.nln-service-card-catalog details[open]>summary>span { transform:rotate(45deg); }
.nln-service-card-catalog .nln-extra-chips { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:12px; }
.nln-extra-chips>span { padding:8px 10px; border-radius:8px; background:#f5edf9; font-size:12px; line-height:1.4; }
.nln-service-card-catalog>.nln-flow-small { margin:14px 0 0; font-size:12px; line-height:1.5; }

/* Real columns and container-sized type replace the Dazzle mockup's nowrap title. */
.ext-dazzle-hero.nln-section { padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:0; height:auto; align-items:stretch; }
.ext-dazzle-hero .ext-hero-copy { container-type:inline-size; min-width:0; padding:clamp(28px,3vw,52px) clamp(24px,2.8vw,48px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:16px; }
.ext-dazzle-hero .ext-hero-copy>* { margin-block:0; max-width:100%; }
.ext-dazzle-hero .ext-hero-title { font-size:clamp(52px,6.3vw,112px); line-height:1.02; white-space:normal; padding-inline:.06em; letter-spacing:-.035em; }
.ext-dazzle-hero .ext-hero-subtitle { font-size:clamp(26px,2.65vw,44px); line-height:1.12; white-space:normal; }
.ext-dazzle-hero .ext-hero-copy>p:not(.nln-eyebrow):not(.nln-breadcrumb) { font-size:clamp(16px,1.2vw,20px); line-height:1.45; }
.ext-dazzle-hero .ext-hero-copy .nln-breadcrumb { font-size:13px; line-height:1.5; }
.ext-dazzle-hero .ext-hero-copy .nln-eyebrow { font-size:12px; line-height:1.5; }
.ext-dazzle-hero .ext-hero-photo { margin:0; width:100%; min-width:0; min-height:440px; height:auto; position:relative; }
.ext-dazzle-hero .ext-hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.ext-dazzle-hero .nln-pill { min-height:48px; height:auto; padding:12px 22px; font-size:15px; line-height:1.35; white-space:normal; }
.ext-dazzle-hero .ext-hero-choices { width:100%; max-width:420px; gap:12px; }
.ext-dazzle-hero .ext-hero-choices button { min-width:0; min-height:44px; height:auto; padding:10px 16px; font-size:14px; white-space:normal; }
@supports(font-size:1cqi) {
 .ext-dazzle-hero .ext-hero-title { font-size:clamp(46px,17cqi,112px); }
 .ext-dazzle-hero .ext-hero-subtitle { font-size:clamp(26px,7cqi,44px); }
}
@media(min-width:701px) and (max-width:1050px) {
 body.nln-commerce-page .nln-services-booking { grid-template-columns:1fr; }
 .ext-dazzle-hero .ext-hero-copy { padding:28px 24px; }
 .ext-dazzle-hero .ext-hero-photo { min-height:460px; }
 .nln-home-content .nln-hero-copy { padding:32px 20px 32px 32px; }
 .nln-home-content .nln-hero-heading { font-size:17cqi; }
}
@media(max-width:700px) {
 .nln-home-content .nln-hero { grid-template-columns:1fr; }
 .nln-home-content .nln-hero-copy { padding:28px 20px; }
 .nln-home-content .nln-hero-heading { font-size:clamp(54px,18cqi,100px); }
 .nln-home-content .nln-connections { font-size:clamp(36px,11cqi,60px); }
 .nln-home-content .nln-hero-photo { grid-column:1; grid-row:auto; min-height:0; aspect-ratio:407/293; }
 body.nln-home-page .nln-upcoming-link { grid-template-columns:48px minmax(0,1fr) 26px; gap:10px; padding:12px; }
 body.nln-home-page .nln-upcoming-date { min-height:64px; }
 body.nln-home-page .nln-upcoming-copy h3 { font-size:24px; }
 body.nln-home-page .nln-upcoming-arrow { width:26px; height:26px; font-size:20px; }
 .nln-service-card-catalog { padding:16px; }
 .nln-individual-grid { grid-template-columns:1fr; }
 .nln-individual-card { gap:10px; }
 .ext-dazzle-hero.nln-section { grid-template-columns:1fr; }
 .ext-dazzle-hero .ext-hero-copy { padding:28px 20px; }
 .ext-dazzle-hero .ext-hero-title { font-size:clamp(48px,17cqi,88px); }
 .ext-dazzle-hero .ext-hero-photo { min-height:0; aspect-ratio:1.15; }
}
@media(prefers-reduced-motion:reduce) {
 body.nln-home-page .nln-upcoming-link { transition:none; }
 body.nln-home-page .nln-upcoming-link:hover { transform:none; }
}
