/* Editorial Bride. The brand rail belongs to the shell so tools have the full content column. */
:root {
  --tn-display: Georgia, "Times New Roman", serif;
  --tn-sans: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --tn-masthead: "Bodoni 72", Didot, Georgia, serif;
  --tn-wine: #670d1b;
  --tn-rule: #c9b9ae;
  --tn-surface: #fcf8f2;
  --tn-field-rule: #927f74;
  --ink: #191512;
  --paper: #f7f1e8;
  --wine: var(--tn-wine);
  --blush: #ead9d6;
  --line: var(--tn-rule);
  --muted: #685d55;
  --lime: #e5cacc;
  --serif: var(--tn-display);
  --rail: clamp(58px, 6.2vw, 90px);
}
html {scroll-padding-top: 22px;}
body {background: var(--paper); color: var(--ink); font-family:var(--tn-sans);}
.tn-icon {display:inline-block; flex:none; width:1.125em; height:1.125em; vertical-align:-.16em;}
:where(h1,h2,.display), .wordmark, .journey-step h2, .journey-result h2, .blog-post-header h1, .journey-hero h1, .music-ideas-hero h1, .blog-hero h1, .journey-blog-callout h2, .song-number {font-family:var(--serif);}
h1,h2,.display {font-family:var(--serif); text-transform:none; letter-spacing:-.035em; font-weight:400;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {outline:2px solid currentColor; outline-offset:4px;}
.skip-link {position:fixed;z-index:200;top:10px;left:10px;transform:translateY(-180%);background:#fff;color:var(--wine);padding:8px 16px;}
.skip-link:focus {transform:none;}
.wordmark {display:inline-flex; flex-direction:column; align-items:center; font-weight:500; line-height:.9; font-family:var(--tn-masthead); letter-spacing:-.045em; white-space:nowrap;}
.wordmark small {font:650 9px/1.2 var(--tn-sans); letter-spacing:.21em; margin-top:8px;}
.brand-rail {position:fixed; inset:0 auto 0 0; width:var(--rail); background:#11100f; color:#fffaf2; z-index:24; display:flex; flex-direction:column; align-items:center; padding:clamp(32px,8vh,72px) 0 24px;}
.brand-rail .wordmark {writing-mode:vertical-rl; transform:rotate(180deg); align-items:center; flex-direction:column-reverse; font-size:clamp(30px,3.5vw,51px);}
.brand-rail .wordmark small {margin:0 0 0 6px; font-size:clamp(9px,.72vw,11px); letter-spacing:.19em;}
.rail-rule {display:block; width:1px; height:clamp(95px,35vh,340px); margin-top:22px; background:#a23c4c;}
.edit-header {position:relative;z-index:22; display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,2.4vw,40px); padding:0 clamp(16px,2vw,34px); height:clamp(60px,6.2vw,84px); background:var(--paper);}
.edit-nav {display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);}
.edit-nav > a,.edit-nav summary,.hdr-date {font:650 clamp(.78rem,.92vw,.875rem)/1.3 var(--tn-sans);letter-spacing:.025em;white-space:nowrap;}
.edit-nav > a {padding:14px 0;}
.edit-nav > a:hover,.edit-nav > a[aria-current],.edit-nav summary:hover {color:var(--wine); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px;}
.hdr-date {display:inline-flex;gap:12px;align-items:center;min-height:44px;padding:11px 18px;background:var(--wine);color:#fff;}
.hdr-date:hover {background:#440812;}
.hdr-date .tn-icon, .menu-toggle .tn-icon {width:18px;height:18px;}
.planning-menu,.planning-menu:last-child {position:relative;border:0;}
.planning-menu summary {display:flex;align-items:center;gap:8px;list-style:none;padding:14px 0;}
.planning-menu summary:after,.planning-menu[open] summary:after {content:'';position:static;display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:translateY(-2px) rotate(45deg);}
.planning-menu[open] summary:after {transform:translateY(2px) rotate(225deg);}
.edit-nav .planning-menu > div {position:absolute;top:100%;right:-18px;min-width:208px;padding:10px 19px 14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 24px #2c140a18;}
.planning-menu div a {display:block;font:500 .9rem/1.4 var(--tn-sans);padding:8px 0;}
.planning-menu div a:hover,.planning-menu div a[aria-current] {text-decoration:underline;text-underline-offset:4px;}
.mobile-brand,.edit-header .menu-toggle {display:none;}
.edit-menu:not([open]) {display:none;}
.edit-menu {box-sizing:border-box; width:min(92vw,420px); max-width:none;max-height:none;height:100dvh;margin:0 0 0 auto;padding:22px 25px;background:var(--paper);color:var(--ink);border:none;}
.edit-menu::backdrop {background:#170c0aa8;}
.menu-top {display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.menu-top .wordmark {font-size:26px;}
.menu-close,.dialog-close {display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:44px;font:600 .875rem/1.25 var(--tn-sans);}
.menu-close {background:transparent;color:var(--ink);border:1px solid #8e7c70;padding:7px 12px;}
.edit-menu nav > a,.edit-menu nav > details > summary {display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:8px 0;font:clamp(1.55rem,6vw,1.95rem)/1.16 var(--serif);letter-spacing:-.025em;}
.edit-menu .planning-menu > div {padding:0 0 10px 14px;border-left:1px solid var(--line);margin:8px 0 16px 3px;}
.edit-menu .menu-date {margin-top:22px;color:var(--wine);}
.edit-footer {background:#151312;color:#eee6da;padding:clamp(45px,6vw,85px) var(--edge) 28px;display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:32px;}
.edit-footer .wordmark {font-size:clamp(29px,3vw,46px);margin-bottom:30px;}
.edit-footer p {font-size:.9rem;line-height:1.65;color:#ded3c9;}
.edit-footer .eyebrow {font:650 .75rem/1.4 var(--tn-sans);text-transform:uppercase;letter-spacing:.105em;color:#e4bdc1;margin-bottom:12px;}
.edit-footer > div > a,.footer-ask {display:block;font-size:.9rem;line-height:1.5;padding:5px 0;overflow-wrap:anywhere;}
.edit-footer a:hover,.footer-ask:hover {text-decoration:underline;text-underline-offset:4px;}
.footer-ask {color:inherit;background:transparent;border:none;}
.edit-footer > small {grid-column:1/-1;border-top:1px solid #615149;margin-top:14px;padding-top:20px;font-size:.75rem;line-height:1.5;color:#d4c9bf;}
.assistant-panel {bottom:16px;}
.btn,.btn:hover {background:var(--wine);border-color:var(--wine);color:#fff;}
.btn.secondary,.btn.secondary:hover {background:transparent;color:inherit;border-color:currentColor;}
.btn.dark {background:var(--ink);border-color:var(--ink);}
.btn.white {color:var(--ink);background:var(--paper);border-color:var(--paper);}
.text-link:hover {color:var(--wine);}
.section {padding-block:clamp(38px,5.4vw,78px);}
.cta-panel {background:#eee6da;padding-block:clamp(36px,5vw,72px);}
.cta-panel h2 {font-size:clamp(38px,5.2vw,76px);}
.utility-hero,.subhero,.tool-hero,.journey-hero,.music-ideas-hero,.blog-hero {min-height:0;background:linear-gradient(112deg, var(--tn-surface), var(--paper) 60%, #ede2d5);color:var(--ink);padding-top:clamp(28px,4vw,60px);padding-bottom:clamp(25px,4vw,55px);border-bottom:1px solid var(--line);}
.utility-hero h1,.subhero h1,.tool-hero h1,.journey-hero h1,.music-ideas-hero h1,.blog-hero h1 {font-family:var(--serif);font-size:clamp(2.75rem,6vw,5.5rem);line-height:1.03;letter-spacing:-.04em;text-transform:none;margin:14px 0 20px;}
.utility-hero p,.tool-hero > p,.subhero p,.blog-hero > div p:last-child {color:#574d45;}
:is(.utility-hero,.subhero,.tool-hero,.journey-hero,.music-ideas-hero,.blog-hero) .eyebrow {color:var(--wine);font:650 .76rem/1.5 var(--tn-sans);letter-spacing:.085em;}
:is(.utility-hero,.subhero,.tool-hero) .eyebrow::before {content:"";display:inline-block;vertical-align:middle;width:2.1em;margin-right:.75em;border-top:1px solid currentColor;}
.subhero-photo {height:clamp(255px,27vw,415px);margin:0;border:clamp(3px,.38vw,6px) solid var(--tn-surface);box-shadow:1px 2px 0 #d5c3b2, 4px 9px 18px #48271820;}
.subhero h1,.utility-hero h1,.tool-hero h1 {text-wrap:balance;overflow-wrap:break-word;}
.subhero p:not(.eyebrow),.utility-hero p:not(.eyebrow),.tool-hero > p {max-width:56ch;font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.62;}
.breadcrumb,.tools-nav,.music-ideas-nav {background:#efe8de;color:var(--ink);border-color:var(--line);}
.breadcrumb {color:var(--muted);font:500 .8rem/1.5 var(--tn-sans);letter-spacing:.015em;}
.breadcrumb a,.article a,.contact-plan-note a {color:var(--wine);text-decoration:underline;text-underline-offset:.2em;border-bottom:0;}
.tools-nav,.music-ideas-nav {align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:.2rem 1.35rem;padding-block:.35rem;font:550 .83rem/1.4 var(--tn-sans);letter-spacing:0;text-transform:none;}
.tools-nav a,.music-ideas-nav a {display:inline-flex;align-items:center;min-height:44px;padding-block:.35rem;border-bottom:2px solid transparent;}
.tools-nav a:is(:hover,[aria-current=page]),.music-ideas-nav a:hover {color:var(--wine);border-color:currentColor;}
.section h2 {text-transform:none;}
.service-body h2 {align-self:start;font-size:clamp(2.1rem,4.3vw,4.1rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:break-word;}
.service-body h2 .muted {display:inline-block;margin-top:.35em;font:500 .78rem/1.5 var(--tn-sans);letter-spacing:.11em;color:var(--wine);}
.service-body .lead {font:400 clamp(1.4rem,2.1vw,2rem)/1.4 var(--serif);color:var(--ink);}
.service-body p,.offer p,.guide-card p,.person p,.contact-side p,.tool-sidebar > p,.contact-plan-note {color:var(--muted);}
.offer,.guide-card {border-top:1px solid var(--line);}
.offer h3,.guide-card :is(h2,h3),.person h3 {font:400 clamp(1.5rem,2.45vw,2.35rem)/1.16 var(--serif);letter-spacing:-.032em;overflow-wrap:break-word;}
.offer .eyebrow,.guide-card .eyebrow {color:var(--wine);font:650 .74rem/1.4 var(--tn-sans);letter-spacing:.095em;}
.guide-card :is(h2,h3) {margin:.55em 0 .4em;}
.guide-card :is(h2,h3) a {font:inherit;letter-spacing:inherit;text-transform:none;text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:.15em;border:0;}
.guide-card :is(h2,h3) a:is(:hover,:focus-visible) {color:var(--wine);text-decoration-color:currentColor;}
.offer p:not(.eyebrow),.guide-card p:not(.eyebrow) {max-width:52ch;font-size:.97rem;line-height:1.65;}
.article {max-width:calc(65ch + var(--edge)*2);padding:clamp(2rem,4vw,4.2rem) var(--edge) clamp(3rem,6vw,6rem);}
.article p,.article li {max-width:65ch;color:#372f29;font:400 clamp(1.05rem,1.25vw,1.18rem)/1.7 var(--serif);}
.article h2 {color:var(--ink);font:400 clamp(1.65rem,2.5vw,2.4rem)/1.18 var(--serif);letter-spacing:-.025em;}
.article .checklist li::before {color:var(--wine);}
.related a {color:var(--wine);border-color:var(--line);}
.related a:hover {border-color:currentColor;}
.review,.form-feedback,.assistant-top,.journey-blog-callout,.journey-next {background:var(--wine);color:#fff9f4;}
.review .muted,.review a,.assistant-top span,.journey-blog-callout a,.journey-next p,.journey-next a,.form-feedback a {color:#fff5ed;}
.journey-promise {border-color:var(--line);border-left:2px solid var(--wine);}
.person,.occasion-card,.song-idea,.plan-overview > div,.brief-item,.blog-card,.blog-card:first-child,.music-save-bar,.journey-tip {background:#f0e8df;border-color:var(--line);}
.occasion-card:has(input:checked),.journey-checks label:has(input:checked) {background:#efdbd8;border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);}
.journey-progress li[aria-current]::before,.journey-progress .is-complete::before,.song-filters button[aria-pressed=true] {background:var(--wine);}
.journey-tip {border-left-color:var(--wine);}
.journey-checks input,.timing-toggle input,.occasion-card input,.check-grid input {accent-color:var(--wine);}
.journey-progress li[aria-current],.journey-save,.song-idea .song-artist,.song-number,.offer .eyebrow {color:var(--wine);}
.record-art {background:repeating-radial-gradient(circle,#22201f 0,#22201f 3px,#403b37 4px,#22201f 5px);box-shadow:9px 11px 0 #ded3c5;}
.record-art span {background:var(--wine);color:#fff7eb;font:26px/.95 var(--serif);}
.blog-hero {align-items:end;gap:15px 70px;}
.blog-hero h1 {font-size:clamp(57px,8.5vw,125px);margin:0;}
.blog-tagline {font:italic clamp(22px,2.4vw,33px)/1.15 var(--serif);color:var(--wine);margin:0 0 12px;}
.blog-grid {gap:27px 44px;}
.blog-card,.blog-card:first-child {background:none;border-top:1px solid var(--ink);padding:22px 0 12px;}
.blog-card .eyebrow,.blog-post-header .eyebrow {color:var(--wine);}
.blog-card h2 {font-family:var(--serif);font-size:clamp(29px,3.4vw,48px);line-height:1.06;text-transform:none;}
.blog-card .text-link {align-self:start;}
.blog-toolbar a[aria-current] {color:var(--wine);text-decoration-thickness:2px;}
.blog-post-header,.blog-post-layout {max-width:1130px;}
.blog-post-header {padding:clamp(29px,4vw,65px) var(--edge) 28px;}
.blog-post-header > .text-link {display:inline-block;border-bottom:0;padding:0;text-transform:none;color:var(--wine);font-weight:600;letter-spacing:.02em;margin:0 0 25px;}
.blog-post-header .eyebrow {margin:0;}
.blog-post-header h1 {max-width:18ch;font:500 clamp(44px,6.3vw,90px)/.99 var(--serif);letter-spacing:-.055em;margin:13px 0 18px;overflow-wrap:break-word;}
.blog-post-header .blog-deck {max-width:46em;font:normal clamp(17px,1.55vw,21px)/1.55 Arial,sans-serif;color:#51473e;}
.blog-meta {color:#65564c;gap:8px 18px;}
.blog-post-layout {grid-template-columns:minmax(0,1fr) minmax(180px,23%);gap:clamp(30px,5vw,65px);padding-bottom:clamp(40px,7vw,90px);}
.blog-prose {border-top:1px solid var(--line);padding-top:25px;}
.blog-prose p,.blog-prose .blog-lead {font:400 clamp(18px,1.5vw,21px)/1.67 Georgia,serif;}
.blog-prose .blog-lead {font-size:clamp(21px,1.82vw,26px);line-height:1.52;}
.blog-prose h2,.blog-post-aside h2,.blog-voice h2 {font-family:var(--serif);font-weight:500;text-transform:none;letter-spacing:-.035em;}
.blog-prose h2 {font-size:clamp(28px,3vw,42px);}
.blog-takeaways,.blog-post-aside {background:#eee3d8;border-top:2px solid var(--wine);}
.blog-post-aside h2 {font-size:clamp(24px,2.5vw,36px);}
.blog-post-aside a,.blog-prose .text-link {color:var(--wine);}
@media(min-width:901px) {body {padding-left:var(--rail);}}
@media (min-width:901px) and (max-width:1000px) {
  .edit-header { gap:16px; }
  .edit-nav { gap:13px; }
}
@media(max-width:900px) {
  .brand-rail,.edit-nav {display:none;}
  .edit-header {justify-content:space-between;height:66px;padding:0 var(--edge);gap:12px;border-bottom:1px solid var(--line);}
  .mobile-brand {display:inline-flex;margin-right:auto;}
  .mobile-brand .wordmark {font-size:25px;}
  .mobile-brand .wordmark small {font-size:8px;margin-top:4px;}
  .edit-header .menu-toggle {display:flex;width:auto;align-items:center;gap:6px;min-height:44px;padding-inline:3px;font:650 .81rem/1.2 var(--tn-sans);border:0;color:var(--ink);}
  .hdr-date {font-size:.78rem;padding:10px 12px;gap:5px;}
  .edit-footer {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:400px) {
  .edit-header {gap:8px;padding-inline:12px;}
  .mobile-brand .wordmark {font-size:22px;}
  .hdr-date {padding-inline:8px;}
}
@media(max-width:360px) {
  .edit-header {gap:5px;padding-inline:9px;}
  .mobile-brand .wordmark {font-size:20px;}
  .hdr-date {font-size:.75rem;letter-spacing:0;}
  .hdr-date .tn-icon {display:none;}
}
@media(max-width:760px) {
  .blog-post-layout {display:block;}
  .blog-post-aside {margin-top:32px;}
  .blog-post-header {padding-top:26px;}
  .utility-hero,.tool-hero,.subhero,.journey-hero,.music-ideas-hero,.blog-hero {padding-top:28px;padding-bottom:26px;}
  .utility-hero h1,.subhero h1,.tool-hero h1,.journey-hero h1,.music-ideas-hero h1 {font-size:clamp(40px,10.2vw,65px);}
  .blog-hero {display:block;}
  .blog-hero h1 {margin:14px 0;}
  .subhero-photo {height:230px;}
  .edit-footer {gap:32px 20px;}
  .edit-footer .footer-identity {grid-column:1/-1;}
  .footer-identity .wordmark {margin-bottom:16px;}
  .assistant-panel {bottom:8px;max-height:calc(100dvh - 20px);}
}
@media print {.brand-rail,.edit-header,.edit-footer,.edit-menu,.assistant-panel {display:none!important;}body {padding-left:0;}}
/* Shared tool states use the same ink and blush as the editorial pages. */
.studio-view-tabs button[aria-pressed=true],.video-filters button[aria-pressed=true],.assistant-question button {background:var(--wine);border-color:var(--wine);color:white;}
.look-options button[aria-pressed=true],.service-pick .text-button[aria-pressed=true],.av-equipment-row:has(input[type=checkbox]:checked),.chat-bubble.team {background:var(--blush);border-color:var(--wine);color:var(--ink);}
.studio-workspace figure,.studio-workspace svg,.video-tile,.brief-summary,.brief-empty,.music-actions,.request-review,#staff-messages,.chat-bubble,#music-sharing input {background:#eee6da;border-color:var(--line);}
.assistant-panel {background:var(--paper);border-color:var(--line);}
.chat-bubble.visitor {background:var(--ink);color:var(--paper);}
.assistant-topics button,.wizard-progress li[aria-current=step],.song-actions button {color:var(--wine);border-color:var(--line);}
.request-review {border-left-color:var(--wine);}

/* Form labels stay separate from the value a visitor types. */
.field,.field-set,.wizard-step,.contact-layout > *, .inbox-record > * {min-width:0;}
.field > label,.field legend {font:650 .87rem/1.45 var(--tn-sans);letter-spacing:.008em;text-transform:none;color:var(--ink);}
.field :is(input:not([type=checkbox],[type=radio]),select,textarea),.inbox-record select,.av-equipment-row input[type=number] {
  min-width:0;max-width:100%;background:var(--tn-surface);border:1px solid var(--tn-field-rule);color:var(--ink);
  font:400 1rem/1.4 var(--tn-sans);
}
.field :is(input,select,textarea):focus-visible,.inbox-record select:focus-visible {outline:2px solid var(--wine);outline-offset:2px;}
.field :is(input[type=radio],input[type=checkbox]) {flex:none;width:18px;height:18px;min-height:0;padding:0;accent-color:var(--wine);}
.field small,.form-note,.meeting-types small,.tool-note p,.studio-detail,.canvas-note,.wizard-step > p,.wizard-progress li,.song-row small {color:var(--muted);}
.field small,.form-note {font-size:.82rem;line-height:1.55;}
.meeting-types label,.journey-checks label {background:var(--tn-surface);border-color:var(--tn-field-rule);}
.meeting-types label:has(input:checked) {background:var(--blush);border-color:var(--wine);}
.tool-note,.journey-promise,.brief-summary,.music-actions {background:#efe6dc;border-left:2px solid var(--wine);}
.check-grid label {min-height:40px;}
.form-feedback {border-color:var(--wine);}
.form-feedback textarea {background:var(--tn-surface);color:var(--ink);}
.contact-side address {padding-top:1.25rem;border-top:1px solid var(--line);}
.contact-side address a {text-decoration:underline;text-underline-offset:.2em;color:var(--wine);}

/* Planner choices and saved items use the same paper and ink as the public pages. */
:is(.gallery-controls,.studio-view-tabs,.video-filters,.look-options,.song-filters) button {
  min-height:44px;background:var(--tn-surface);border:1px solid var(--tn-field-rule);padding:.56rem .92rem;
  color:var(--ink);font:550 .84rem/1.4 var(--tn-sans);text-transform:none;letter-spacing:.01em;
}
:is(.gallery-controls,.studio-view-tabs,.video-filters,.song-filters) button[aria-pressed=true] {background:var(--wine);border-color:var(--wine);color:#fff;}
.look-options button[aria-pressed=true] {background:var(--blush);border-color:var(--wine);color:var(--ink);}
:is(.gallery-controls,.studio-view-tabs,.video-filters,.look-options,.song-filters) button:hover {border-color:var(--wine);}
.journey-top,.staff-toolbar {flex-wrap:wrap;}
.journey-progress,.occasion-number,.wizard-progress {font-variant-numeric:tabular-nums;}
.journey-progress li,.wizard-progress li {color:var(--muted);}
.journey-progress li[aria-current] {color:var(--wine);}
.occasion-card {background:var(--tn-surface);border-color:var(--tn-rule);}
.occasion-card strong {font:500 clamp(1.35rem,2vw,1.7rem)/1.15 var(--serif);}
.occasion-number {font:600 .77rem/1.4 var(--tn-sans);color:var(--wine);letter-spacing:.055em;}
.song-idea,.brief-item {background:transparent;border-top:1px solid var(--line);padding:1.2rem 0;}
.song-idea {gap:clamp(.75rem,1.9vw,1.6rem);}
.song-ideas-grid {gap:1.5rem clamp(1.8rem,3.5vw,3.5rem);}
.song-number {font:italic 400 clamp(1.55rem,2.5vw,2.3rem)/1 var(--serif);font-variant-numeric:tabular-nums;}
.song-idea h2,.brief-item h2,.brief-empty h2,.music-category h2,.video-tile h2,.wizard-step > legend {font:400 clamp(1.4rem,2.2vw,2rem)/1.17 var(--serif);letter-spacing:-.025em;}
.song-idea p,.brief-item > p:not(.eyebrow) {color:var(--muted);font-size:.94rem;line-height:1.6;}
.song-idea-actions a,.text-button {color:var(--wine);font-size:.88rem;}
.text-button {min-height:40px;border-color:var(--tn-field-rule);}
.studio-workspace figcaption,.service-pick p:not(.eyebrow),.music-actions > p:not(.eyebrow),.brief-empty p,.video-tile p:not(.eyebrow) {color:var(--muted);}
.studio-workspace figcaption {font-size:.86rem;}
.music-add,.music-category,.plan-overview,.av-equipment-row,.song-row,.inbox-record,.wizard-progress li {border-color:var(--line);}
.av-equipment-row input[type=checkbox] {accent-color:var(--wine);}
.brief-summary,.music-actions {top:1.5rem;}
.brief-summary h2,.music-actions h2,.tool-sidebar h2 {font-size:clamp(2rem,3.75vw,3.45rem);line-height:1.08;overflow-wrap:break-word;}
.inbox-record {grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,3vw,3rem);}
.inbox-record h2,#staff-conversation h2 {font:400 clamp(1.55rem,2.4vw,2.25rem)/1.2 var(--serif);overflow-wrap:anywhere;}
.inbox-record p {font-size:.94rem;}
.inbox-record label {flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;}
.inbox-record select {min-height:44px;}

.gallery-open { cursor: zoom-in; }
.gallery-controls {margin:0 0 clamp(1.4rem,3vw,2.7rem);gap:.45rem;}
.gallery-grid {gap:clamp(1.2rem,2.8vw,2.7rem);}
.photography-pair {grid-template-columns:repeat(2,minmax(0,1fr));margin-block:clamp(26px,4vw,54px);}
.photography-pair .gallery-open {aspect-ratio:auto;}
.photography-pair .gallery-open img {height:auto;}
.gallery-item {min-width:0;margin:0;}
.gallery-item .gallery-open {border:3px solid var(--tn-surface);background:#e8ddd0;box-shadow:0 1px 0 #c6b5a5,1px 4px 10px #41271617;}
.gallery-item figcaption {padding-top:.75rem;font:500 .86rem/1.53 var(--tn-sans);color:var(--muted);text-transform:none;letter-spacing:0;}
.gallery-item figcaption strong {color:var(--ink);}
.gallery-item figcaption a {color:var(--wine);text-decoration:underline;text-underline-offset:.2em;}
.gallery-open:focus-visible { outline: 3px solid var(--wine); outline-offset: 4px; }
.person {border-top:1px solid var(--line);background:var(--tn-surface);}
.person > div {min-width:0;padding:clamp(1rem,2.2vw,2rem);}
.person .text-link {display:inline-block;margin-top:.8rem;font:550 .86rem/1.45 var(--tn-sans);letter-spacing:0;text-transform:none;color:var(--wine);}
.team-profiles { padding-bottom: clamp(48px, 7vw, 90px); }
.team-profiles .person { display:flex; flex-direction:column; align-items:stretch; }
.team-profiles .person > img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center top; }
.team-profiles .person p { font-size:1rem; line-height:1.7; margin-block:1rem 0; }
.team-profiles .person .person-role { font-size:.8rem; font-weight:600; color:var(--wine); margin-top:0; }
.team-profiles cite { font-style:italic; }
.team-profiles .person:target { box-shadow:inset 0 3px 0 var(--wine); }
.team-profiles .person:target h3 { color:var(--wine); }
.visual-story.visual-story--inset { padding-inline:0; background:transparent; margin-top:2.5rem; }
.service-planning-details { border-block:1px solid var(--tn-rule); padding-block:1rem; }
.service-planning-details > summary { cursor:pointer; min-height:44px; align-content:center; font-size:.9rem; font-weight:600; color:var(--tn-wine); }
.service-planning-details .offer-grid { margin-top:1.2rem; }
.journal .blog-card-figure { margin:0 0 .8rem; width:100%; }
.journal .blog-card-figure img { width:100%; height:auto; aspect-ratio:1.8; object-fit:cover; }
.journal .blog-card-figure figcaption, .journal .blog-story-figure figcaption { font:.72rem/1.5 var(--tn-sans); color:var(--muted); padding-top:.6rem; }
.journal .blog-story-figure { max-width:1130px; margin:0 auto 2.5rem; padding-inline:var(--edge); }
.journal .blog-story-figure img { width:100%; height:auto; max-height:420px; aspect-ratio:2.3; object-fit:cover; box-shadow:.4rem .4rem 0 #e4d6c7; }
.journal .blog-action-story ol { list-style:none; padding:0; margin:1.4rem 0; }
.journal .blog-action-story li { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.8rem; border-top:1px solid var(--tn-rule); padding-block:.9rem; }
.journal .blog-action-story li > span { font:italic 400 1.5rem/1.25 var(--tn-display); color:var(--tn-wine); }
.journal .blog-action-story li > p { margin:0; font-size:1rem; line-height:1.6; }
@media(max-width:640px) { .journal .blog-story-figure img { aspect-ratio:1.6; } }
.partnership-story > ol { list-style:none; padding:0; margin:2rem 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,60px); }
.partnership-story > ol > li { position:relative; border-top:1px solid var(--tn-rule); padding-top:1.2rem; }
.partnership-story > ol > li::before { content:''; position:absolute; top:-4px; left:0; width:7px; height:7px; border-radius:50%; background:var(--tn-wine); }
.partnership-story .partnership-step { display:block; font:400 clamp(2.6rem,5vw,4.4rem)/1 var(--tn-display); color:#b49a8f; margin-bottom:1.4rem; }
.partnership-story h3 { font:400 clamp(1.45rem,2.2vw,2rem)/1.2 var(--tn-display); margin-bottom:.75rem; letter-spacing:-.025em; }
.partnership-story li p { color:var(--muted); font-size:.95rem; line-height:1.7; }
@media(max-width:680px) { .partnership-story > ol { grid-template-columns:1fr; gap:1.3rem; } .partnership-story > ol > li { padding-left:3.4rem; } .partnership-story .partnership-step { position:absolute; left:0; top:1.2rem; font-size:2rem; } }
.video-poster > span {color:var(--ink);background:var(--tn-surface);}
@media(max-width:760px) {
  .tools-nav,.music-ideas-nav {gap:0 1.1rem;}
  .journey-progress {flex-wrap:wrap;gap:.3rem 1rem;}
  .journey-progress li span {font-size:.77rem;}
  .staff-toolbar .studio-view-tabs {margin-bottom:0;}
  .inbox-record > div + div {padding-top:.85rem;border-top:1px solid var(--line);}
  .article {padding-inline:var(--edge);}
  .contact-side h2,.service-body h2 {font-size:clamp(2rem,7vw,3.3rem);}
  .wizard-actions,.journey-actions {flex-wrap:wrap;}
}
@media(max-width:540px) {
  .gallery-grid,.form-grid {grid-template-columns:minmax(0,1fr);}
  .brief-summary,.music-actions {position:static;}
  .gallery-item figcaption {font-size:.88rem;}
  .gallery-grid {gap:1.75rem;}
  .song-actions {flex-wrap:wrap;}
}
.media-dialog[data-photo]::backdrop { background: #17120fea; backdrop-filter: none; }
@media (prefers-reduced-motion: no-preference) {
  .media-dialog[data-photo][open] { transition: transform 160ms ease-out; }
  @starting-style {
    .media-dialog[data-photo][open] { transform: translateY(4px) scale(.99); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-open:hover img,.video-poster:hover img { transform: none; }
}

/* Secondary resources stay available below the primary event inquiry. */
.edit-footer { grid-template-columns: 1.25fr 1fr 1fr; }
.footer-resources { margin-top: 1rem; border-top: 1px solid #615149; padding-top: .6rem; }
.footer-resources summary { font-size: .9rem; cursor: pointer; padding-block: .45rem; }
.footer-resources a { display: block; padding-block: .5rem; font-size: .88rem; }
.footer-inquiry { color: #f4d0d4; font-weight: 650; }
.footer-inquiry .tn-icon { vertical-align: middle; }
.review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px,4vw,64px); }
.review-card { padding-top: 1.4rem; border-top: 1px solid var(--tn-rule); min-width: 0; }
.review-card h2 { font: 400 clamp(1.65rem,2.4vw,2.3rem)/1.15 var(--tn-display); letter-spacing: -.025em; text-transform: none; margin-bottom: 1rem; }
.review-card blockquote { font: 400 1.25rem/1.5 var(--tn-display); margin: 1rem 0; }
.review-card > p:not(.eyebrow) { font-size: .95rem; line-height: 1.6; }
.review-person { display: flex; align-items: center; gap: .9rem; margin: 0 0 1.1rem; }
.review-person img { width: 72px; height: 72px; flex: none; object-fit: cover; border: 1px solid var(--tn-rule); }
.review-person figcaption { font-size: .8rem; line-height: 1.4; color: var(--tn-muted); }
.review-card .review-date { display: flex; flex-wrap: wrap; gap: .3rem 1rem; color: var(--tn-muted); font-size: .78rem; margin-bottom: .5rem; }
.review-date:empty { display: none; }
.review-source { display: inline-flex; gap: .5rem; align-items: center; font-size: .8rem; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; color: var(--tn-wine); }
.review-source .tn-icon { width: 15px; height: 15px; }
@media(max-width:900px) { .edit-footer { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .review-list { grid-template-columns: 1fr; } }
