:root{--bg:#090806;--paper:#f4efe5;--gold:#c89a45;--gold-soft:#dfbd79;--muted:#b9afa0;--panel:#13100c;--line:rgba(200,154,69,.38);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.62}img{width:100%;display:block}h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:500}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-soft);font-weight:700}.gold{color:var(--gold-soft)}
header{position:fixed;z-index:20;inset:0 0 auto;background:linear-gradient(#090704ed,transparent)}nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Georgia,serif;text-decoration:none;font-size:1.3rem}.brand small{display:block;color:var(--gold-soft);letter-spacing:.18em;font:600 .58rem Arial;margin-top:4px}.links{display:flex;gap:22px}.links a{text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.11em}
.hero{min-height:100vh;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(7,5,2,.58),rgba(7,5,2,.04)),linear-gradient(0deg,#090806,transparent 40%),url('assets/hero.jpg') center/cover}.hero-copy{padding:170px 0 88px;max-width:700px}.hero h1{font-size:clamp(3.7rem,7.5vw,7.4rem);line-height:.88;margin:.16em 0 .28em;text-shadow:0 2px 28px #000}.hero p{max-width:570px;color:#eee5d7;font-size:1.08rem;text-shadow:0 1px 14px #000}.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold-soft);padding:12px 17px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem;margin-top:22px;background:rgba(8,6,3,.28)}
section{border-top:1px solid rgba(255,255,255,.055)}.pad{padding:96px 0}.origin{display:grid;grid-template-columns:.92fr 1.08fr;background:#eee5d6;color:#1a1510}.origin .copy{padding:98px max(40px,7vw);display:flex;justify-content:center;flex-direction:column}.origin h2{font-size:clamp(2.6rem,4.6vw,4.8rem);line-height:1.02;margin:.2em 0}.origin p{color:#554b3e}.origin img{height:100%;object-fit:cover;min-height:620px}
.journey{padding:100px 0;background:radial-gradient(circle at 70% 20%,#21170d 0,#0b0907 48%)}.journey h2{font-size:clamp(2.8rem,5vw,5rem);margin:.18em 0 45px}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.photo-card{position:relative;overflow:hidden;min-height:560px;border:1px solid var(--line)}.photo-card img{height:100%;object-fit:cover}.photo-card:first-child img{object-position:center 46%}.photo-card .caption{position:absolute;inset:auto 0 0;padding:100px 28px 28px;background:linear-gradient(transparent,#070503f1)}.photo-card h3{font-size:2rem;margin:0 0 8px;color:var(--gold-soft)}.photo-card p{color:#ddd2c3;margin:0}
.us{display:grid;grid-template-columns:1fr 1fr}.us figure{margin:0;position:relative;overflow:hidden}.us img{height:610px;object-fit:cover}.us figure:first-child img{object-position:center 48%}.us figcaption{position:absolute;bottom:0;left:0;right:0;padding:70px 25px 22px;background:linear-gradient(transparent,#050301e8);font-family:Georgia,serif;font-size:1.35rem}
.reading{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;background:#15100b}.reading .copy{padding:85px max(35px,6vw)}.reading h2{font-size:clamp(2.7rem,4.6vw,4.8rem);line-height:1;margin:.2em 0}.reading p{color:var(--muted)}.reading img{height:390px;object-fit:cover;object-position:center 42%}
.magic{min-height:76vh;display:flex;align-items:flex-end;background:linear-gradient(90deg,#090603d8,#09060332),url('assets/magic.jpg') center/cover}.magic .copy{padding:90px 0;max-width:590px}.magic h2{font-size:clamp(3rem,6vw,6rem);line-height:.94;margin:.2em 0}.magic p{color:#e3d8c8}
.yearbook{background:linear-gradient(180deg,#0d0906,#090806)}.yearbook h2{font-size:clamp(3rem,5vw,5rem);margin:.2em 0}.yearbook-intro{max-width:720px;color:var(--muted)}.years{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px}.year{border:1px solid var(--line);background:linear-gradient(145deg,#171008,#0d0a07);padding:27px 18px;min-height:210px;display:flex;flex-direction:column;justify-content:center;text-align:center}.year span{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.year strong{font-family:Georgia,serif;font-size:3.3rem;color:var(--gold-soft);line-height:1.1;margin:12px 0}.year em{font-family:Georgia,serif;font-style:normal;color:#efe4d3}.year.upcoming strong{font-size:2.4rem}.year.upcoming em{font-size:.85rem;color:var(--muted)}.note{margin-top:25px;color:var(--muted);font-size:.9rem;text-align:center}
.ending{min-height:82vh;display:flex;align-items:center;text-align:center;background:linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.72)),url('assets/fireworks.jpg') center/cover;position:relative}.ending:after{content:'';position:absolute;inset:0;background:#050403;opacity:0;animation:darken 10s infinite}.ending .inner{position:relative;z-index:2;width:100%}.ending .line{font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);line-height:.94;position:absolute;left:5%;right:5%;top:50%;transform:translateY(-50%);opacity:0}.ending .q{animation:q 10s infinite}.ending .ido{color:var(--gold-soft);animation:ido 10s infinite}.ending .remember{color:var(--gold-soft);animation:remember 10s infinite}.ending .memory{font:1rem Arial;letter-spacing:.1em;text-transform:uppercase;margin-top:24px;display:block;color:#eadfce}
@keyframes q{0%,4%{opacity:0}8%,27%{opacity:1}33%,100%{opacity:0}}@keyframes ido{0%,31%{opacity:0}37%,54%{opacity:1}60%,100%{opacity:0}}@keyframes remember{0%,57%{opacity:0}64%,94%{opacity:1}100%{opacity:0}}@keyframes darken{0%,31%{opacity:0}58%,100%{opacity:.74}}
footer{padding:45px 0;color:#948879;font-size:.82rem}.foot{display:flex;justify-content:space-between}.analytics{font-size:.78rem;color:#817568}
@media(max-width:850px){.links{display:none}.origin,.story-row,.us,.reading{grid-template-columns:1fr}.origin img{min-height:430px}.reading img{height:360px}.us img{height:430px}.years{grid-template-columns:1fr 1fr}.photo-card{min-height:500px}}@media(max-width:540px){.wrap{width:calc(100% - 28px)}.hero h1{font-size:3.7rem}.years{grid-template-columns:1fr}.foot{display:block}.origin .copy{padding:72px 24px}.ending{min-height:72vh}}

/* V1.3: locked black, cream, and antique-gold palette */
header{background:#070604f7;border-bottom:1px solid rgba(200,154,69,.42);box-shadow:0 8px 28px rgba(0,0,0,.35)}
nav{background:transparent}
.links a{color:#f3eadb;padding:10px 0;position:relative}
.links a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--gold);transition:.25s}
.links a:hover:after{right:0}
.hero{background:linear-gradient(90deg,rgba(7,5,2,.52),rgba(7,5,2,.02)),linear-gradient(0deg,#090806,transparent 40%),url('assets/hero.jpg') center/cover}
.us figure:first-child img{object-position:center 46%}
.us figure:nth-child(2) img{object-position:center 45%}
@media(max-width:850px){header{background:#070604fa}.links{background:#070604fa;border-top:1px solid var(--line)}}


/* V1.5 restoration patch */
header{background:#080604f8!important}
.hero{
  filter:none;
  background:
    linear-gradient(90deg,rgba(9,6,2,.42),rgba(9,6,2,.02)),
    linear-gradient(0deg,#090806,transparent 40%),
    url('assets/hero.jpg') center/cover!important;
}
.together{background:#0c0906;border-top:1px solid var(--line)}
.together-intro{width:min(900px,calc(100% - 40px));margin:auto;padding:90px 0 42px}
.together-intro h2{font-size:clamp(2.6rem,4.7vw,4.8rem);line-height:1.03;margin:.2em 0}
.together-intro p{max-width:760px;color:var(--muted);font-size:1.04rem}
.us{border-top:1px solid rgba(200,154,69,.22)}
.us figure{background:#0a0806}
.us img{height:660px}
.us .fireplace-full img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#0a0806;
  padding:18px;
}
.us figure:nth-child(2) img{
  object-fit:cover;
  object-position:center 47%;
}
@keyframes q{0%,3%{opacity:0}6%,23%{opacity:1}28%,100%{opacity:0}}
@keyframes ido{0%,26%{opacity:0}31%,45%{opacity:1}50%,100%{opacity:0}}
@keyframes remember{0%,47%{opacity:0}53%,96%{opacity:1}100%{opacity:0}}
.ending:after{animation:darken 7s infinite}
.ending .q{animation:q 7s infinite}
.ending .ido{animation:ido 7s infinite}
.ending .remember{animation:remember 7s infinite}
@keyframes darken{0%,27%{opacity:0}49%,100%{opacity:.72}}
@media(max-width:850px){
  .us img{height:520px}
  .us .fireplace-full img{height:auto;max-height:720px}
}


/* V1.6 HERO-ONLY PATCH — all other V1.5 design/content remains locked */
.site-header, header { background:#090704f4 !important; }
.nav-links, .links { background-color:transparent !important; }
.nav-links a, .links a { color:#eee2cf !important; }
.nav-links a:hover, .links a:hover { color:#ddb66f !important; }
.hero {
  filter:none !important;
  background:
    linear-gradient(90deg,rgba(7,5,3,.62) 0%,rgba(7,5,3,.20) 47%,rgba(7,5,3,.03) 100%),
    linear-gradient(0deg,rgba(8,6,3,.82) 0%,transparent 42%),
    url("assets/hero-v16.jpg") center/cover no-repeat !important;
}

/* V1.7 COLOR-ONLY PATCH — Option B locked; no layout/content/photo changes */
:root{
  --bg:#090806;
  --paper:#f4efe5;
  --gold:#b98a3e;
  --gold-soft:#ddb66f;
  --muted:#b9afa0;
  --panel:#13100c;
  --line:rgba(185,138,62,.42);
}
html,body{background:#090806!important;color:#f4efe5!important}
a,a:link,a:visited,a:hover,a:active{color:inherit}
header,.site-header{background:#090704f7!important;border-bottom:1px solid rgba(185,138,62,.44)!important}
.brand,.brand:link,.brand:visited{color:#f4efe5!important}
.brand small{color:#ddb66f!important}
.links,.nav-links{background:#090704f7!important}
.links a,.links a:link,.links a:visited,.nav-links a,.nav-links a:link,.nav-links a:visited{color:#f1e5d2!important}
.links a:hover,.links a:active,.nav-links a:hover,.nav-links a:active{color:#ddb66f!important}
.links a:after{background:#b98a3e!important}
.eyebrow,.gold{color:#ddb66f!important}
.btn,.btn:link,.btn:visited{color:#e0ba73!important;border-color:#b98a3e!important;background:#0b0805b8!important}
.btn:hover,.btn:active{color:#f4efe5!important;background:#5b401d!important}
.photo-card h3,.year strong,.ending .ido,.ending .remember{color:#ddb66f!important}
.origin{background:#eee5d6!important;color:#1a1510!important}
.origin a,.origin a:visited{color:#1a1510!important}
footer a,footer a:visited{color:#ddb66f!important}
::selection{background:#b98a3e;color:#090806}


/* V1.8 patch — only requested review changes */
.hero{
  background-position:center 28% !important;
}
.journey{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.journey h2{
  font-size:clamp(2.35rem,4.2vw,4.35rem) !important;
}
.story-row{
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}
.photo-card img{
  height:410px !important;
}
@keyframes q{
  0%,3%{opacity:0}
  7%,26%{opacity:1}
  32%,100%{opacity:0}
}
@keyframes ido{
  0%,30%{opacity:0}
  36%,53%{opacity:1}
  59%,100%{opacity:0}
}
@keyframes remember{
  0%,56%{opacity:0}
  63%,96%{opacity:1}
  100%{opacity:0}
}
.ending:after{animation:darken 8.4s infinite !important}
.ending .q{animation:q 8.4s infinite !important}
.ending .ido{animation:ido 8.4s infinite !important}
.ending .remember{animation:remember 8.4s infinite !important}
@keyframes darken{
  0%,31%{opacity:0}
  58%,100%{opacity:.72}
}


/* V1.9 visual patch — all other V1.8 content remains locked */
.hero{
  background-position:center 17% !important;
}
.origin > img{
  object-position:center 42%;
}


/* V2.0 Dryden-section-only patch */
.origin{
  min-height:560px !important;
}
.origin .copy{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.origin h2{
  font-size:clamp(2.35rem,4.1vw,4.15rem) !important;
}
.origin p{
  font-size:1rem !important;
}


/* Bone Academy holding page — does not alter the locked homepage */
.academy-hold{min-height:100vh;padding-top:78px;display:grid;grid-template-columns:1.2fr .8fr;background:#090806}.academy-photo img{width:100%;height:calc(100vh - 78px);object-fit:cover}.academy-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.academy-copy h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.92;margin:.2em 0;color:#f4efe5}.academy-copy p{max-width:560px;color:#b9afa0;font-size:1.08rem}@media(max-width:850px){.academy-hold{grid-template-columns:1fr}.academy-photo img{height:55vh}.academy-copy{padding:70px 24px}}
