:root{
  --ink:#221f1a;
  --ink-soft:#3f3931;
  --muted:#777066;
  --line:rgba(40,36,30,.30);
  --line-soft:rgba(40,36,30,.18);
  --paper:rgba(247,243,233,.82);
  --paper-strong:rgba(249,246,238,.92);
  --paper-wash:rgba(255,253,248,.64);
  --accent:#b99649;
  --dark:#181511;
  --shadow:0 28px 80px rgba(36,32,26,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#eee9df url('../img/page-bg.jpg') center top/cover fixed no-repeat;
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.58;
}
body:before{content:"";position:fixed;inset:0;background:rgba(246,243,235,.54);pointer-events:none;z-index:-1}
body.taetrum-intro-active{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1280px, calc(100% - 64px));margin:0 auto}

/* Intro */
.welcome-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  min-height:100vh;
  background:#ece8dd url('../img/intro-welcome.jpg') center center/cover no-repeat;
  cursor:pointer;
  transition:transform .95s cubic-bezier(.76,0,.24,1), opacity .7s ease, visibility .95s ease;
  will-change:transform,opacity;
}
.admin-bar .welcome-screen{top:32px;min-height:calc(100vh - 32px)}
.welcome-screen.is-dismissed{transform:translateY(-110%);opacity:.35;visibility:hidden;pointer-events:none}
.welcome-screen::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 55%, rgba(255,255,255,0) 0 42%, rgba(248,244,235,.10) 68%, rgba(248,244,235,.18) 100%);pointer-events:none}
.welcome-hit{position:absolute;inset:0;border:0;background:transparent;color:transparent;cursor:pointer}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(238,234,225,.90);backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.header-inner{min-height:92px;display:grid;grid-template-columns:330px minmax(0,1fr);align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:18px;width:max-content;margin-left:0}
.brand-mark-img{display:block;width:72px;height:72px;object-fit:contain}.brand-word-img{display:block;width:190px;height:auto;object-fit:contain}.brand-divider{display:block;width:1px;height:58px;background:rgba(38,34,28,.48)}
.main-nav{justify-self:center;display:flex;gap:44px;align-items:center;font-family:Arial, sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:14px;font-weight:700;white-space:nowrap}.main-nav a{padding:10px 0;border-bottom:2px solid transparent}.main-nav a:hover{border-bottom-color:var(--accent)}

/* Common */
.paper{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.section{padding:72px 0}.eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.30em;font-size:12px;color:var(--muted);font-weight:700}.lead{font-size:26px;line-height:1.38;color:var(--ink)}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 26px;border:1px solid var(--ink);font-family:Arial,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,253,248,.38);color:var(--ink)}.btn.dark{background:rgba(255,253,248,.38);color:var(--ink)}.btn:hover,.btn.dark:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,253,248,.62)}
.text-link{display:inline-flex;margin-top:16px;font-family:Arial,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.12em;border-bottom:1px solid var(--accent);font-weight:700}.section-title{text-align:center;font-weight:400;font-size:40px;letter-spacing:.30em;text-transform:uppercase;margin:0 0 38px}.center-actions{justify-content:center}

/* Home */
.home-main{overflow:hidden}
.ensemble-section{padding:70px 0 44px;position:relative}
.ensemble-section:before{content:"";position:absolute;left:-12vw;right:-12vw;top:20px;height:720px;background:radial-gradient(circle at 50% 30%, rgba(255,252,244,.52), rgba(255,252,244,0) 62%);pointer-events:none;z-index:0}
.ensemble-art{position:relative;z-index:1;width:min(1060px, 100%);margin:0 auto;background:rgba(245,240,229,.34);border:1px solid rgba(40,36,30,.16);border-bottom:0;box-shadow:0 24px 74px rgba(32,28,22,.10)}
.ensemble-art img{width:100%;height:auto;display:block;filter:drop-shadow(0 32px 46px rgba(26,22,18,.13))}
.ensemble-copy{position:relative;z-index:2;width:min(1060px, 100%);margin:0 auto;padding:34px 54px 42px;text-align:center;border-top:1px solid rgba(40,36,30,.22);box-shadow:var(--shadow)}
.ensemble-copy h1{font-weight:400;font-size:78px;line-height:.94;letter-spacing:.05em;margin:14px 0 18px;text-transform:uppercase}.ensemble-copy p{max-width:860px;margin-left:auto;margin-right:auto}.ensemble-copy .lead{max-width:820px}
.feature{padding:78px 0}.feature-grid{display:grid;grid-template-columns:minmax(380px, .95fr) minmax(420px, 1.05fr);gap:34px;align-items:center}.feature-image{border:1px solid var(--line);box-shadow:var(--shadow);background:var(--paper-wash);padding:18px}.feature-image img{width:100%;height:390px;object-fit:cover;filter:saturate(.92) contrast(.98)}.feature-copy{padding:44px 48px}.feature-copy h2,.trailer-copy h2,.authors-copy h2,.final-card h2{font-weight:400;font-size:42px;line-height:1.1;margin:14px 0 22px}

.trailer-card{display:grid;grid-template-columns:minmax(420px, 1.05fr) minmax(360px,.95fr);align-items:center;gap:0;overflow:hidden}.trailer-visual{position:relative;min-height:380px;background:#ddd;display:block;color:inherit}.trailer-visual img{width:100%;height:100%;min-height:380px;object-fit:cover;filter:saturate(.82) contrast(.92)}.trailer-visual:after{content:"";position:absolute;inset:0;background:rgba(20,18,16,.18)}.play-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:74px;height:74px;border:1px solid rgba(255,255,255,.70);border-radius:50%;display:grid;place-items:center;padding-left:5px;color:#fff;background:rgba(0,0,0,.22);font-size:24px}.trailer-copy{padding:44px 52px}

.authors-block{padding:78px 0}.authors-grid{display:grid;grid-template-columns:minmax(300px, .75fr) minmax(460px,1.25fr);gap:34px;align-items:center}.authors-photo{border:1px solid var(--line);box-shadow:var(--shadow);background:var(--paper-wash);padding:16px}.authors-photo img{width:100%;height:470px;object-fit:cover;object-position:center 30%;filter:saturate(.88) contrast(.96)}.authors-copy{padding:44px 50px}

.final-cta{padding-top:54px}.final-card{text-align:center;padding:48px 44px}.final-card p{max-width:760px;margin-left:auto;margin-right:auto;color:var(--ink-soft)}


.trailer-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:28px}
.trailer-modal.is-open{display:flex}
.trailer-modal-backdrop{position:absolute;inset:0;background:rgba(18,15,12,.70);backdrop-filter:blur(4px);border:0;cursor:pointer}
.trailer-modal-dialog{position:relative;z-index:2;width:min(960px,100%);background:rgba(20,17,14,.96);border:1px solid rgba(255,255,255,.18);box-shadow:0 36px 110px rgba(0,0,0,.50);padding:14px;text-align:center}
.trailer-modal-dialog h2{font-weight:400;font-size:42px;margin:0 0 28px}
.trailer-modal-close{position:absolute;right:8px;top:-48px;border:0;background:transparent;font-size:42px;line-height:1;cursor:pointer;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.trailer-placeholder{display:grid;place-items:center;min-height:220px;border:1px dashed rgba(40,36,30,.30);background:rgba(255,253,248,.55);padding:24px}
.trailer-placeholder p{margin:4px 0}.muted-note{color:var(--muted);font-size:16px}

/* Page fallback */
.content-page{padding:80px 0}.article{padding:46px}.article h1{font-weight:400;font-size:48px;margin-top:0}
.site-footer{border-top:1px solid var(--line);padding:34px 0;background:rgba(238,234,225,.84);font-family:Arial,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.footer-inner{display:flex;justify-content:space-between;gap:24px}.footer-links{display:flex;gap:22px}

@media(max-width:1180px){.header-inner{grid-template-columns:310px minmax(0,1fr)}.main-nav{gap:28px;font-size:13px;letter-spacing:.17em}.brand-mark-img{width:64px;height:64px}.brand-word-img{width:170px}.ensemble-section{padding-top:54px}.ensemble-copy h1{font-size:66px}.ensemble-copy{padding:32px 38px 38px}.feature-grid,.authors-grid,.trailer-card{grid-template-columns:1fr}.feature-image img,.authors-photo img{height:auto;max-height:520px}.trailer-copy{padding:38px 42px}}
@media(max-width:900px){.wrap{width:min(100% - 32px, 720px)}.header-inner{height:auto;min-height:0;padding:18px 0;align-items:flex-start;display:block}.brand{gap:14px}.brand-mark-img{width:58px;height:58px}.brand-word-img{width:155px}.brand-divider{height:46px}.main-nav{margin-top:18px;gap:18px;flex-wrap:wrap;justify-content:center;font-size:12px;letter-spacing:.12em}.ensemble-copy{padding:28px}.ensemble-copy h1{font-size:56px}.lead{font-size:22px}.section-title{font-size:30px;letter-spacing:.20em}.route-list{grid-template-columns:1fr}.feature-copy,.authors-copy{padding:34px}.welcome-screen{background-size:auto 100%;background-position:center top}.ensemble-art{width:100%}}
@media(max-width:560px){body{font-size:16px;background-attachment:scroll}.wrap{width:calc(100% - 24px)}.admin-bar .welcome-screen{top:46px;min-height:calc(100vh - 46px)}.site-header{position:relative}.admin-bar .site-header{top:0}.brand{gap:10px}.brand-mark-img{width:48px;height:48px}.brand-word-img{width:138px}.brand-divider{height:38px}.main-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:11px;letter-spacing:.10em}.section{padding:44px 0}.ensemble-section{padding:32px 0 24px}.ensemble-copy{padding:24px 20px 28px}.ensemble-copy h1{font-size:42px}.lead{font-size:20px}.actions{gap:10px}.btn{width:100%;min-height:42px}.section-title{font-size:24px;letter-spacing:.14em}.route-card{padding:24px;min-height:auto}.route-card h3{font-size:25px}.feature{padding:46px 0}.feature-image,.authors-photo{padding:10px}.feature-copy,.authors-copy,.trailer-copy{padding:24px}.feature-copy h2,.trailer-copy h2,.authors-copy h2,.final-card h2{font-size:31px}.trailer-visual,.trailer-visual img{min-height:260px}.authors-photo img{height:auto}.final-card{padding:30px 22px}.welcome-screen{background-size:auto 100%;background-position:center top}.footer-inner{display:block}.footer-links{margin-top:16px;flex-wrap:wrap}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.welcome-screen{transition:none}}

/* v0.8 — revised home hero */
.home-hero{display:none}
.quartet-hero{padding:72px 0 72px;position:relative}
.quartet-stage{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;min-height:520px;padding-top:10px}
.quartet-stage img{width:min(1040px,100%);filter:drop-shadow(0 30px 48px rgba(26,22,18,.18))}
.quartet-caption{position:relative;z-index:2;margin:-8px auto 0;width:min(980px,100%);padding:34px 48px 38px;text-align:center;background:linear-gradient(180deg, rgba(249,246,238,.94), rgba(241,235,222,.90));}
.quartet-caption h1{font-weight:400;font-size:50px;line-height:1.08;margin:14px 0 20px;letter-spacing:.02em}
.quartet-caption .lead{max-width:880px;margin:0 auto 18px;font-size:24px}
.quartet-caption p:not(.lead){max-width:790px;margin:0 auto;color:var(--ink-soft)}
.trailer-copy .btn{margin-top:6px}
.authors-photo img{object-position:center 15%}

@media(max-width:1180px){
  .quartet-stage{min-height:430px}
  .quartet-stage img{width:min(900px,100%)}
  .quartet-caption h1{font-size:42px}
}
@media(max-width:900px){
  .quartet-hero{padding:42px 0 56px}
  .quartet-stage{min-height:auto;padding-top:0}
  .quartet-stage img{width:100%}
  .quartet-caption{margin:0 auto;padding:28px 30px 32px}
  .quartet-caption h1{font-size:34px}
  .quartet-caption .lead{font-size:21px}
}
@media(max-width:560px){
  .quartet-hero{padding:28px 0 42px}
  .quartet-stage{margin-left:-10px;margin-right:-10px}
  .quartet-stage img{width:calc(100% + 20px)}
  .quartet-caption{padding:24px 20px 26px}
  .quartet-caption h1{font-size:29px}
  .quartet-caption .lead{font-size:19px}
}

.video-dialog{aspect-ratio:16/9;min-height:0}
.trailer-video{width:100%;height:100%;display:block;background:#000}
.trailer-visual{cursor:pointer}
.trailer-copy button.btn{font-family:Arial,sans-serif;cursor:pointer}
.trailer-visual:hover .play-mark{transform:translate(-50%,-50%) scale(1.05);background:rgba(0,0,0,.34)}
@media(max-width:560px){.trailer-modal{padding:16px}.trailer-modal-close{top:-42px;right:0}.trailer-modal-dialog{padding:8px}}
/* v1.0 — editable homepage adjustments */
.trailer-visual{border:0;padding:0;text-align:left;font:inherit}
.trailer-visual img{display:block}


/* v1.1 — text alignment and trailer framing */
.hero-text, .feature-text, .trailer-copy p, .authors-copy p, .final-card p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}
.hero-text p, .feature-text p {
  margin: 0 0 1.15em;
}
.hero-text p:last-child, .feature-text p:last-child, .trailer-copy p:last-child, .authors-copy p:last-child, .final-card p:last-child {
  margin-bottom: 0;
}
.quartet-caption {
  text-align: left;
}
.quartet-caption h1 {
  text-align: center;
}
.quartet-caption .eyebrow {
  text-align: center;
}
.quartet-caption .actions {
  justify-content: center;
}
.quartet-caption .hero-text {
  max-width: 820px;
  margin: 0 auto;
}
.trailer-frame {
  padding: 18px;
}
.trailer-visual {
  position: relative;
  border: 0;
  padding: 0;
  text-align: left;
  font: inherit;
  display: block;
  width: 100%;
  min-height: 0;
  background: #ddd;
  cursor: pointer;
}
.trailer-visual img {
  width: 100%;
  height: 390px;
  min-height: 0;
  object-fit: cover;
  display: block;
  filter: saturate(.82) contrast(.92);
}
.trailer-copy .btn {
  margin-top: 6px;
}
@media(max-width:1180px){
  .trailer-visual img { height: auto; max-height: 520px; }
}
@media(max-width:560px){
  .trailer-visual img { height: 260px; }
}

/* v1.2 — no automatic hyphenation */
.hero-text, .feature-text, .trailer-copy p, .authors-copy p, .final-card p {
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
