/* Sunlighten photographic chronology — evidence-aware editorial timeline */
.sun-timeline{background:#f8f4eb;color:#163f46;font-family:'DM Sans',system-ui,sans-serif;overflow:clip}
.sun-timeline *{box-sizing:border-box}
.timeline-wrap{width:min(1160px,calc(100% - 42px));margin-inline:auto}
.timeline-hero{background:linear-gradient(135deg,#062f3b 0%,#0b5260 58%,#176f74 100%);color:#fff8ed;padding:clamp(3rem,7vw,6rem) 0}
.timeline-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.74fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.timeline-back{display:inline-flex;margin-bottom:2rem;color:#ffe0b9;font-weight:850;font-size:.84rem;text-decoration:underline;text-underline-offset:4px}
.timeline-kicker{font:900 .71rem/1.4 ui-monospace,Consolas,monospace!important;letter-spacing:.11em;color:#9d4d25!important;margin:0 0 .75rem!important}
.timeline-hero .timeline-kicker{color:#ffc892!important}
.sun-timeline h1,.sun-timeline h2,.sun-timeline h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;line-height:1.12;color:#0d4650}
.sun-timeline h1{font-size:clamp(2.8rem,5.6vw,5.7rem);color:#fff8ed;margin:.2rem 0 1.2rem}
.sun-timeline h1 em,.sun-timeline h2 em{font-weight:400;color:#d27742}
.sun-timeline h1 em{color:#ffd0a1}
.timeline-lead{font-size:clamp(1.04rem,1.6vw,1.28rem);line-height:1.7;color:#edf7ef;max-width:780px}
.timeline-jump{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}
.timeline-jump a{border:1px solid #c9e0da;background:#0b4652;color:#fff7eb;padding:.55rem .85rem;border-radius:999px;font-size:.8rem;font-weight:850}
.timeline-jump a:hover{background:#e2eee5;color:#0d4e55}
.timeline-hero-photo{margin:0;background:#f4eadb;border:1px solid #ffffff33;border-radius:18px;padding:.55rem;box-shadow:0 28px 70px #001e2855;transform:rotate(1deg)}
.timeline-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:13px}
.timeline-hero-photo figcaption{padding:.72rem .55rem .25rem;color:#2f5050;font-size:.75rem;line-height:1.55}
.timeline-method{background:#eedfce;border-bottom:1px solid #d4c2b1}
.timeline-method .timeline-wrap{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr);gap:2rem;align-items:center;padding-block:1.25rem}
.timeline-method strong{display:block;font-family:Georgia,serif;font-size:1.2rem;color:#154b52;margin-bottom:.5rem}
.timeline-method span{display:inline-flex;margin:.2rem .25rem .2rem 0;padding:.25rem .48rem;border:1px solid #c6ab94;border-radius:999px;font-size:.68rem;font-weight:850;color:#734827;background:#fff8ef}
.timeline-method p{margin:0;font-size:.84rem;line-height:1.65;color:#625c53}
.timeline-main{padding-block:clamp(3rem,6vw,6rem)}
.timeline-year{scroll-margin-top:90px;margin-bottom:clamp(4rem,8vw,7rem)}
.timeline-year>header{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1.25rem;align-items:start;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid #c8d6cd}
.timeline-year>header>span{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1;color:#d27b49}
.timeline-year h2{font-size:clamp(2rem,3.8vw,3.8rem);margin:.1rem 0}
.timeline-entry{position:relative;display:grid;grid-template-columns:95px minmax(260px,.74fr) minmax(0,1.26fr);gap:clamp(1rem,3vw,2.4rem);align-items:center;padding:1.4rem 0;border-bottom:1px solid #d6dfd6}
.timeline-entry--reverse .timeline-photo-card,.timeline-entry--reverse .timeline-photo{order:3}
.timeline-entry--reverse .timeline-copy{order:2}
.timeline-date{align-self:start;padding-top:.35rem}
.timeline-date strong{display:block;font:900 .73rem/1.3 ui-monospace,Consolas,monospace;color:#9a4d2b;letter-spacing:.06em}
.timeline-date span{display:block;color:#68716b;font-size:.72rem;margin-top:.15rem}
.timeline-copy h3{font-size:clamp(1.5rem,2.5vw,2.3rem);margin:.45rem 0 .7rem}
.timeline-copy p{color:#435b58;font-size:.94rem;line-height:1.75}
.timeline-copy a{color:#88431e;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.timeline-note{font-size:.75rem!important;color:#70766e!important}
.timeline-note code{font-size:.72rem}
.timeline-evidence{display:inline-flex;padding:.28rem .5rem;border-radius:999px;background:#dfeee6;border:1px solid #b9d4c6;color:#0c5a62;font:900 .65rem/1 ui-monospace,Consolas,monospace;letter-spacing:.055em}
.timeline-evidence--source{background:#f5e5d5;border-color:#ddb991;color:#8a4825}
.timeline-evidence--memory{background:#ece7d8;border-color:#d4c8a8;color:#696027}
.timeline-evidence--research{background:#e0e8f2;border-color:#b8c8da;color:#385c79}
.timeline-photo,.timeline-photo-card{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#dce9e1;border:1px solid #c6d6cc;box-shadow:0 12px 28px #123b4515}
.timeline-photo{background-image:url('/images/sunlighten/2017-2018-archive-mosaic.webp');background-repeat:no-repeat;background-size:200% 200%}
.timeline-photo--solo{background-position:0 0}
.timeline-photo--showroom{background-position:100% 0}
.timeline-photo--sauna{background-position:0 100%}
.timeline-photo--mpulse{background-position:100% 100%}
.timeline-photo-card{margin:0;background:#fffdf8;padding:.45rem}
.timeline-photo-card img{display:block;width:100%;height:calc(100% - 34px);object-fit:cover;border-radius:10px}
.timeline-photo-card figcaption{font-size:.7rem;color:#60706b;padding:.45rem .35rem}
.timeline-source-card{min-height:230px;border-radius:14px;background:linear-gradient(145deg,#0d4c58,#07333f);display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;color:#fff6e9;box-shadow:0 12px 28px #123b4518}
.timeline-source-card span{font:900 .67rem/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:#ffc597}
.timeline-source-card strong{font-family:Georgia,serif;font-size:1.65rem;line-height:1.2;margin:.65rem 0}
.timeline-source-card small{color:#d7e7df}
.timeline-marker{display:grid;place-items:center;min-height:150px;border-radius:14px;border:1px dashed #9db9ab;background:#e8f0e8;color:#1b6b72;font-size:3rem}
.timeline-marker--rabbit{font-size:3.4rem}
.timeline-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}
.timeline-actions a{display:inline-flex;padding:.7rem .9rem;border:1px solid #bad0c5;border-radius:999px;background:#fffdf8;color:#154f57;text-decoration:none;font-size:.8rem}
.timeline-actions a:hover{background:#e4efe8;border-color:#2f7c81}
.timeline-open-archive{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(2rem,4vw,3.5rem);border-radius:18px;background:#0e4c57;color:#f8f4e9}
.timeline-open-archive h2{color:#fff8ed;font-size:clamp(2rem,3.4vw,3.3rem);margin:.2rem 0 1rem}
.timeline-open-archive p{color:#dbe8e1;line-height:1.75}
.timeline-open-archive .timeline-kicker{color:#ffc69a!important}
.timeline-open-archive aside{border-left:1px solid #ffffff33;padding-left:1.4rem}
.timeline-open-archive aside strong{font-family:Georgia,serif;font-size:1.45rem}
@media(max-width:900px){.timeline-hero-grid,.timeline-entry,.timeline-method .timeline-wrap,.timeline-open-archive{grid-template-columns:1fr}.timeline-year>header{grid-template-columns:1fr}.timeline-entry--reverse .timeline-photo-card,.timeline-entry--reverse .timeline-photo,.timeline-entry--reverse .timeline-copy{order:initial}.timeline-date{display:flex;gap:.45rem;align-items:baseline}.timeline-open-archive aside{border-left:0;border-top:1px solid #ffffff33;padding:1.2rem 0 0}.timeline-hero-photo{max-width:650px;transform:none}}
@media(max-width:600px){.timeline-wrap{width:calc(100% - 30px)}.timeline-hero{padding:2.7rem 0}.timeline-main{padding-top:2.6rem}.timeline-year{margin-bottom:4rem}.timeline-photo,.timeline-photo-card{aspect-ratio:4/3}.timeline-jump{display:grid;grid-template-columns:repeat(3,1fr)}.timeline-jump a{text-align:center}.timeline-actions{display:grid}.timeline-actions a{justify-content:center}}
@media(prefers-reduced-motion:reduce){.timeline-jump a{transition:none}}
