@font-face{font-family:TydBody;src:url('assets/fonts/tyd-reading-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:TydBody;src:url('assets/fonts/tyd-reading-bold.woff') format('woff');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:TydBody;src:url('assets/fonts/tyd-reading-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:TydBody;src:url('assets/fonts/tyd-reading-bolditalic.woff') format('woff');font-weight:600 900;font-style:italic;font-display:swap}
@font-face{font-family:TydSerif;src:url('assets/fonts/tyd-reading-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:TydSerif;src:url('assets/fonts/tyd-reading-bold.woff') format('woff');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:TydSerif;src:url('assets/fonts/tyd-reading-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:TydSerif;src:url('assets/fonts/tyd-reading-bolditalic.woff') format('woff');font-weight:600 900;font-style:italic;font-display:swap}

    :root { --cream:#F6F0E5; --green:#173D39; --lime:#D7F36B; --coral:#EF7758; --line:#CFD4C5; --muted:#4F655F; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:94px; }
    body { margin:0; background:var(--cream); color:var(--green); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; }
    button,input,textarea { font:inherit; }
    .wrap { max-width:1140px; margin:auto; padding:0 38px; }
    .site-header { position:sticky; top:0; z-index:10; background:rgba(246,240,229,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
    .nav { display:flex; align-items:center; justify-content:space-between; height:84px; gap:24px; }
    .logo { text-decoration:none; font-size:43px; font-weight:900; letter-spacing:-.095em; line-height:1; padding-right:8px; }
    .links { display:flex; align-items:center; gap:32px; }
    .links a { font-size:14px; font-weight:700; text-decoration:none; transition:opacity .2s; }
    .links a:hover { opacity:.55; }
    .nav-cta { background:var(--green); color:white!important; padding:13px 17px; border-radius:6px; }
    .nav-cta:hover { opacity:.85!important; }
    .hero { min-height:calc(100vh - 84px); display:flex; flex-direction:column; justify-content:center; padding:90px 0 36px; }
    .eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:800; margin:0 0 28px; }
    h1,h2,h3,p { margin-top:0; }
    h1 { font-size:clamp(52px,7.7vw,112px); letter-spacing:-.085em; line-height:1.04; font-weight:850; margin-bottom:27px; }
    .highlight { background:var(--lime); display:inline-block; padding:.025em .15em .12em .09em; margin-top:.06em; }
    .hero-copy { font-size:clamp(18px,2vw,23px); line-height:1.6; max-width:670px; letter-spacing:-.025em; }
    .hero-copy strong { font-weight:800; }
    .button { display:inline-flex; gap:28px; align-items:center; justify-content:space-between; padding:17px 21px; border-radius:6px; background:var(--green); color:white; text-decoration:none; font-size:15px; font-weight:800; border:0; cursor:pointer; transition:transform .2s,background .2s; }
    .button:hover { transform:translateY(-2px); background:#27554f; }
    .button.lime { background:var(--lime); color:var(--green); }
    .button.lime:hover { background:#e5fb92; }
    .hero-bottom { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); margin-top:auto; padding-top:22px; margin-bottom:0; font-size:13px; font-weight:700; gap:20px; }
    .hero-bottom a { text-decoration:none; }
    section { scroll-margin-top:84px; }
    .section { padding:112px 0; border-top:1px solid var(--line); }
    .section-label { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; margin-bottom:23px; }
    h2 { font-size:clamp(42px,6.2vw,80px); line-height:1.06; letter-spacing:-.072em; max-width:900px; margin-bottom:30px; }
    .lead { font-size:clamp(19px,2.2vw,25px); line-height:1.5; max-width:780px; letter-spacing:-.025em; }
    .smallcopy { max-width:660px; font-size:17px; line-height:1.8; }
    .issue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 46px; margin-top:55px; border-top:1px solid var(--line); }
    .issue { padding:22px 0; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:clamp(18px,2vw,24px); font-weight:700; letter-spacing:-.035em; }
    .issue span:last-child { font-weight:400; font-size:23px; }
    .green-section { background:var(--green); color:var(--cream); border-top:0; }
    .green-section .section-label { color:var(--lime); }
    .green-section h2 { max-width:900px; }
    .green-section .lead { color:#E0E9E0; }
    .accent { color:var(--lime); }
    .three { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:55px; }
    .step { border-top:1px solid #72918A; padding-top:22px; }
    .step .num { color:var(--lime); font-size:13px; font-weight:800; margin-bottom:24px; }
    .step h3 { font-size:27px; letter-spacing:-.055em; margin-bottom:12px; }
    .step p { font-size:16px; line-height:1.65; color:#E0E9E0; }
    .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
    .about-grid h2 { margin-bottom:0; }
    .about-grid p { font-size:19px; line-height:1.75; }
    .contact { background:var(--lime); }
    .contact h2 { max-width:880px; }
    .contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:start; }
    .contact p { font-size:18px; line-height:1.7; max-width:480px; }
    .contact-form { display:grid; gap:15px; }
    label { font-size:13px; font-weight:800; display:block; margin-bottom:7px; }
    input,textarea { width:100%; border:1px solid #829985; background:rgba(255,255,255,.75); border-radius:5px; padding:14px; color:var(--green); outline-offset:3px; }
    textarea { min-height:120px; resize:vertical; }
    .note { font-size:12px!important; line-height:1.5!important; margin:0; }
    footer { padding:35px 0; }
    .footer { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; }
    .footer .logo { font-size:34px; }
    .footer a { text-underline-offset:3px; }
    @media(max-width:800px) {
      .wrap { padding:0 23px; }
      .nav { height:73px; }
      .logo { font-size:37px; }
      .links { gap:16px; }
      .links a { font-size:12px; }
      .nav-cta { padding:11px 12px; }
      .hero { min-height:calc(100svh - 73px); padding-top:70px; }
      h1 { font-size:clamp(49px,9.3vw,75px); }
      .section { padding:80px 0; }
      .about-grid,.contact-inner { grid-template-columns:1fr; gap:25px; }
      .three { gap:20px; }
    }
    @media(max-width:540px) {
      .links { gap:13px; }
      .links a { font-size:11px; }
      .links .about-link { display:none; }
      .hero { padding-top:65px; }
      h1 { font-size:clamp(44px,11.4vw,62px); }
      .hero-copy { font-size:18px; }
      .hero-bottom { font-size:11px; }
      .issue-grid { grid-template-columns:1fr; margin-top:30px; }
      .three { grid-template-columns:1fr; margin-top:35px; }
      .step { padding-top:18px; }
      .step .num { margin-bottom:10px; }
      .step h3 { margin-bottom:5px; }
      .footer { align-items:flex-start; flex-direction:column; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
  
html {scrollbar-gutter:stable;scroll-behavior:smooth;} body {overflow-y:scroll;min-height:100svh;} body[data-state="home"],body[data-state="playing"] {background:#173D39;} [hidden]{display:none!important;} :focus-visible{outline:3px solid #D7F36B;outline-offset:5px;} button{font:inherit;} .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.experience{position:fixed;left:0;top:0;width:100%;height:100svh;z-index:100;background:#173D39;opacity:1;transition:opacity .25s linear;isolation:isolate;} .experience.leaving{opacity:0;pointer-events:none;}.experience video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#173D39;}.office-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,18,.72),rgba(6,22,18,.22) 60%,rgba(6,22,18,.06));transition:opacity .4s;}
.intro{position:absolute;inset:0;color:#F6F0E5;transition:opacity .35s,transform .35s;}.intro-nav{height:112px;margin:0 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f6f0e533;}.intro-nav button{border:0;background:transparent;color:inherit;cursor:pointer;padding:12px 0;}.intro-logo{font-size:48px;font-weight:900;letter-spacing:-.08em;}.intro-nav nav{display:flex;gap:38px;font-size:15px;font-weight:700;}.intro-copy{position:absolute;left:6%;top:24%;max-width:780px;}.intro-label{font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:23px;}.intro-copy h1{font-size:clamp(48px,6.3vw,100px);letter-spacing:-.065em;line-height:1.02;margin:0 0 25px;}.intro-copy h1 em{font-style:normal;color:#D7F36B;}.intro-copy>p:not(.intro-label){font-size:clamp(16px,1.7vw,22px);line-height:1.5;margin-bottom:26px;}.enter{background:#D7F36B;color:#173D39;border:0;border-radius:5px;padding:18px 24px;display:flex;gap:60px;align-items:center;justify-content:space-between;font-size:16px;font-weight:800;cursor:pointer;}.enter:hover{background:#e4fa9e;}.intro-foot{position:absolute;bottom:20px;left:6%;font-size:12px;letter-spacing:.02em;}.skip{position:absolute;bottom:21px;right:5.5%;z-index:2;color:#F6F0E5;background:rgba(8,29,25,.5);border:1px solid #f6f0e555;border-radius:4px;padding:11px 15px;cursor:pointer;font-size:12px;}.skip:hover{background:#173D39;}
body[data-state="playing"] .intro{opacity:0;transform:translateY(-10px);pointer-events:none;}body[data-state="playing"] .office-shade{opacity:0;}.live-hero{height:100svh;background:#173D39;position:relative;overflow:hidden;}.vector-hero{position:absolute;inset:0;}.vector-hero>svg{width:100%;height:100%;display:block;}.vector-hero>svg{object-fit:cover;}.vector-hero svg a{cursor:pointer;}.vector-hero svg a:hover{opacity:.8;}.vector-hero svg a:focus-visible{outline:none;filter:drop-shadow(0 0 3px #d7f36b);}.mobile-live-hero{display:none;}.replay{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:12px;cursor:pointer;padding:0 0 3px;}.site-header .nav{height:78px;}.live-hero .sr-only{margin:0;} #site-footer{background:var(--cream);}.contact-form .note{max-width:100%;}
@media(max-width:700px),(max-aspect-ratio:6/5){.vector-hero{display:none;}.live-hero{height:auto;min-height:100svh;}.mobile-live-hero{display:block;padding:28px 25px 65px;color:#F6F0E5;}.mobile-logo{font-size:43px;font-weight:900;letter-spacing:-.09em;text-decoration:none;}.mobile-live-hero nav{display:flex;gap:22px;float:right;margin-top:15px;font-size:12px;font-weight:700;}.mobile-live-hero nav a{text-decoration:none;}.mobile-live-hero .eyebrow{font-size:10px;margin-top:95px;letter-spacing:.1em;}.mobile-live-hero h2{font-size:clamp(43px,10vw,75px);line-height:1.07;letter-spacing:-.065em;margin-bottom:30px;}.mobile-live-hero h2 span{color:#D7F36B;}.mobile-live-hero>p:not(.eyebrow){font-size:18px;line-height:1.65;max-width:540px;}.intro-nav{height:82px;}.intro-nav nav{gap:15px;font-size:12px;}.intro-copy{top:25%;}.intro-copy h1{font-size:48px;}.intro-copy>p{font-size:17px;}.intro-foot{max-width:50%;}.skip{bottom:16px;}.intro-label{font-size:9px;}}
@media(min-aspect-ratio:2/1){.vector-hero>svg{height:100%;}.intro-copy{top:22%;}.intro-copy h1{font-size:9vh;}.intro-copy>p:not(.intro-label){font-size:2.6vh;}.intro-copy .enter{padding:12px 20px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.experience,.intro,.office-shade{transition:none;}}

/* Timed HR story. The upper text area leaves the phone and paperwork visible. */
.story{position:absolute;inset:0;pointer-events:none;color:#F6F0E5;opacity:0;}
body[data-state="playing"] .story{opacity:1;}
.story-shade{position:absolute;inset:0 0 auto;height:39vh;background:linear-gradient(to bottom,rgba(6,22,18,.77),transparent);opacity:0;}
.story-card{position:absolute;left:6%;top:6%;opacity:0;max-width:88%;}
.story-card .story-label{font-size:clamp(10px,1.2vw,23px);font-weight:400;letter-spacing:0;margin:0 0 23px;color:#D7F36B;}
.story-card h2{font-size:clamp(28px,2.8125vw,54px);font-weight:700;letter-spacing:-.025em;line-height:1.3;margin:0 0 9px;max-width:none;}
.story-card>p:not(.story-label){font-size:clamp(18px,1.72vw,33px);line-height:1.45;margin:0;}
.experience.leaving .intro,.experience.leaving .office-shade,.experience.leaving .story{opacity:0!important;pointer-events:none;}

/* Final story beat above the frontal laptop view. */
.story-card[data-beat="3"]{left:50%;transform:translateX(-50%);text-align:center;width:max-content;max-width:88%;}

/* V16: restrained editorial typography, shared with the native caption artwork. */
body{font-family:TydSans,Arial,sans-serif;}
h2,.intro-copy h1,.mobile-live-hero h2{font-family:TydSerif,Georgia,serif;font-weight:400;letter-spacing:-.025em;}
.intro-copy{max-width:650px;top:30%;}.intro-copy h1{font-family:TydSerif,Georgia,serif;font-size:clamp(38px,4.2vw,72px);font-weight:400;line-height:1.1;letter-spacing:-.025em;max-width:650px;}
.intro-copy>p:not(.intro-label){font-size:clamp(15px,1.2vw,20px);max-width:420px;}.intro-label{font-size:10px;font-weight:400;letter-spacing:.22em;}.intro-nav nav{font-weight:400;font-size:13px;}.intro-logo{font-family:Arial,Helvetica,sans-serif;}
.enter{font-size:13px;font-weight:400;padding:15px 20px;border-radius:1px;}.button{font-weight:400;border-radius:1px;}.section h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-.025em;}.step h3{font-weight:400;letter-spacing:-.02em;}
.story-card{left:6.041667%;top:5.925926%;max-width:58%;}.story-shade{height:36.111111vh;background:linear-gradient(to bottom,rgba(6,22,18,.49),transparent);}
.story-card .story-label{font-family:TydSans,Arial,sans-serif;font-size:clamp(9px,.729167vw,14px);font-weight:400;letter-spacing:.15625vw;line-height:1;margin:0 0 25px;color:#D6D9B7;}
.story-card h2{font-family:TydSerif,Georgia,serif;font-size:clamp(25px,2.395833vw,46px);font-weight:400;letter-spacing:0;line-height:1.108696;margin:0 0 14px;}
.story-card>p:not(.story-label){font-family:TydSans,Arial,sans-serif;font-size:clamp(14px,1.25vw,24px);line-height:1.333333;font-weight:400;color:#E6E6DC;}
.story-card[data-beat="3"]{left:50%;transform:translateX(-50%);text-align:center;width:max-content;max-width:88%;}.story-card[data-beat="3"] h2{font-size:clamp(24px,2.1875vw,42px);line-height:1.214286;}
@media(max-width:700px),(max-aspect-ratio:6/5){.mobile-live-hero h2{font-size:clamp(40px,9vw,62px);font-weight:400;letter-spacing:-.025em;}.intro-copy h1{font-size:42px;}}
/* A quiet editorial directory, revealed after the office. */
.directory{min-height:100svh;background:#052d2a;color:#f6f0e5;padding:35px 6% 24px;display:flex;flex-direction:column}.directory header,.inner-header{display:flex;align-items:center;justify-content:space-between;gap:28px}.directory-logo{font-family:TydSerif,Georgia,serif;font-size:44px;text-decoration:none;letter-spacing:-.06em}.page-nav{display:flex;gap:28px;font-size:13px}.page-nav a{text-decoration:none}.directory-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:8%;align-items:center;flex:1;padding:70px 0}.directory .eyebrow{font-size:10px;font-weight:400;letter-spacing:.19em;margin-bottom:34px}.directory h1{font-family:TydSerif,Georgia,serif;font-size:clamp(56px,6.2vw,108px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0}.directory h1 em{font-style:normal;color:#d6d9b7}.directory-intro{font-size:16px;line-height:1.55;margin-bottom:35px;color:#d6d9b7}.directory-menu{display:flex;flex-direction:column}.directory-menu a{display:flex;align-items:center;gap:20px;border-top:1px solid #f6f0e533;padding:17px 0;text-decoration:none;font-family:TydSerif,Georgia,serif;font-size:32px;transition:padding .2s}.directory-menu a:hover{padding-left:10px}.directory-menu small{font-family:TydSans,Arial,sans-serif;font-size:10px;color:#d6d9b7}.directory-menu span{margin-left:auto;font-size:23px}.directory-email{display:inline-block;margin-top:30px;font-size:13px;text-underline-offset:5px}.directory-bottom{border-top:1px solid #f6f0e533;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em}.directory-bottom a{text-decoration:none;letter-spacing:0}.continue-beat{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:#052d2acc;border:1px solid #f6f0e566;color:#f6f0e5;padding:14px 22px;font-size:12px;letter-spacing:.08em;cursor:pointer;z-index:3}.continue-beat span{margin-left:25px}.inner-header{padding:30px 6%;border-bottom:1px solid var(--line)}.inner-page .section{min-height:75svh;padding-top:110px}.inner-page h2{font-family:TydSerif,Georgia,serif;font-weight:400;letter-spacing:-.025em}.page-contact{padding:85px 6%;background:#d6d9b7}.page-contact a{text-underline-offset:6px}.contact{background:#e7e7d9}.contact .section-label{font-weight:400;letter-spacing:.2em}.contact strong{font-weight:400}.contact label{font-weight:400}.contact input,.contact textarea{border-radius:0;background:transparent}.contact .button{background:#052d2a}.experience.leaving{transition:opacity .5s linear}
@media(max-width:800px){.directory{padding:25px 6%}.directory-grid{grid-template-columns:1fr;gap:45px;padding:65px 0}.directory h1{font-size:clamp(52px,10vw,80px)}.directory-menu a{font-size:28px}.directory-intro{margin-bottom:25px}.page-nav{gap:15px;font-size:11px}.directory-bottom{font-size:9px;line-height:1.5}.inner-header{padding:25px 6%}.inner-page .section{padding-top:70px}}

/* V19: painted plaster, daylight, and room for the second story beat. */
.directory{position:relative;isolation:isolate;background:radial-gradient(ellipse at 4% 0%,#42635b 0%,#204941 35%,#052d2a 78%)}
.directory::before{content:"";position:absolute;inset:0;background:url('assets/plaster.svg') repeat;opacity:.18;mix-blend-mode:soft-light;pointer-events:none;z-index:-1}
.directory::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 9%,#e6e5c60a 18%,transparent 30%,#e6e5c605 39%,transparent 52%);filter:blur(22px);pointer-events:none;z-index:-1}
.story-card[data-beat="2"]{top:37%;max-width:46%}.story-card[data-beat="3"]>p:not(.story-label){font-family:TydSerif,Georgia,serif;font-size:clamp(22px,2.1vw,40px);color:#d6d9b7;margin-top:16px}

/* Stone navigation band against the green office and directory. */
.directory>header,.intro-nav,.inner-page>header.inner-header{background:#d6d9c8;color:#173d39;border-bottom:1px solid #173d3926;}
.directory>header{margin:-35px calc(-6vw) 0;padding:20px 6vw;min-height:94px;}
.intro-nav{margin:0;padding:0 6%;height:94px;}
.inner-page>header.inner-header{padding:20px 6%;min-height:94px;}
.directory-intro{max-width:360px;font-size:18px;line-height:1.55;}
.directory-menu a{gap:0;}
@media(max-width:800px){.directory>header{margin:-25px calc(-6vw) 0;padding:18px 6vw;min-height:82px;}.intro-nav{height:82px;}.directory-intro{font-size:17px;}}
@media(max-width:440px){.page-nav{gap:10px;font-size:10px;}.intro-nav nav{gap:12px;font-size:11px;}}

/* A sparse opening and a clear invitation into the film. */
.intro-copy{top:37%;max-width:790px;}
.intro-copy h1{max-width:790px;font-size:clamp(40px,4.5vw,76px);line-height:1.12;margin-bottom:38px;}
.enter{min-width:255px;padding:18px 22px;font-size:19px;letter-spacing:.01em;background:#d7f36b;box-shadow:0 8px 32px #06161240;transition:background .2s,transform .2s,box-shadow .2s;}
.enter-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #173d3966;border-radius:50%;font-size:23px;transition:transform .2s;}
.enter:hover{transform:translateY(-3px);box-shadow:0 12px 36px #06161260;}.enter:hover .enter-arrow{transform:translateY(3px);}
.story-card[data-beat="1"]{max-width:66%;}.story-card[data-beat="1"] h2{margin-bottom:20px;}
.story-card[data-beat="2"]{top:64%;max-width:58%;text-shadow:0 1px 12px #03151280;}
@media(max-height:650px){.story-card[data-beat="2"]{top:59%;}.intro-copy{top:31%;}}
@media(prefers-reduced-motion:reduce){.enter,.enter-arrow{transition:none;}.enter:hover,.enter:hover .enter-arrow{transform:none;}}

.story-card h2{color:#d7f36b}.story-card[data-beat="3"] h2{margin-bottom:20px}

/* Sculpted invitation, with a precisely centred SVG arrow. */
.enter{display:inline-flex;align-items:center;gap:32px;min-width:0;padding:9px 9px 9px 28px;border:1px solid #d7f36b9c;border-radius:999px;background:#052d2ae8;color:#f6f0e5;box-shadow:0 12px 40px #0005;backdrop-filter:blur(14px);text-align:left;}
.enter-words{display:flex;flex-direction:column;gap:6px}.enter-words>span{font:27px TydSerif,Georgia,serif;letter-spacing:-.02em}.enter-words small{font:9px TydSans,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#d6d9b7;}
.enter-icon{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:#d7f36b;color:#173d39;transition:transform .25s,background .25s}.enter-icon svg{display:block;width:24px;height:24px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.enter:hover{background:#0a403a;transform:translateY(-3px);border-color:#d7f36b;box-shadow:0 15px 45px #0006}.enter:hover .enter-icon{background:#e7ff9a;transform:rotate(-35deg)}.enter:active{transform:translateY(0) scale(.98)}.enter:focus-visible{outline:3px solid #f6f0e5;outline-offset:6px}
/* Restrained upright typography throughout the film. */
.story-card h2,.story-card[data-beat="2"] h2{font-size:clamp(28px,2.65vw,49px);line-height:1.12;letter-spacing:-.018em;font-kerning:normal;text-wrap:balance;margin-bottom:20px}
.story-card h2 em{font-style:normal;font-weight:400}
.story-card>p:not(.story-label){font-size:clamp(14px,1.17vw,21px);line-height:1.5;letter-spacing:.012em;color:#eeeae0}
.story-card[data-beat="1"]>p:first-of-type{font-family:TydSerif,Georgia,serif;font-style:normal;font-size:clamp(18px,1.55vw,28px);letter-spacing:0;line-height:1.3}
.story-card .body-follow{margin-top:17px!important}
.story-card[data-beat="2"]{top:62.5%;max-width:38%}
.story-card[data-beat="3"] h2{font-size:clamp(27px,2.5vw,46px);line-height:1.14;letter-spacing:-.015em;margin-bottom:22px}
/* Only the final word swaps; the prefix contracts so tyd centres in this line. */
.final-lines{display:grid;place-items:start center;position:relative;margin-top:14px;min-height:1.5em;font:clamp(22px,1.95vw,36px)/1.3 TydSerif,Georgia,serif;color:#f6f0e5;letter-spacing:-.012em}
.final-lines p{grid-area:1/1;margin:0;font:inherit;opacity:0;transform:translateY(4px);transition:opacity .35s,transform .45s;white-space:nowrap}
.final-phrase{display:inline-flex;align-items:baseline;justify-content:center}
.final-prefix{display:inline-block;max-width:5em;overflow:hidden;margin-right:.25em;opacity:1;transition:max-width .6s cubic-bezier(.22,.61,.36,1),margin .6s,opacity .3s;white-space:nowrap}
.final-word{display:grid;place-items:center;width:2em;position:relative}
.final-word span{grid-area:1/1;transition:opacity .4s,transform .5s}
.word-tidy{opacity:1;transform:translateY(0)}.word-tyd{opacity:0;transform:translateY(5px);font-style:normal}
.experience[data-finale="distractions"] .final-distractions,.experience[data-finale="phrase"] .final-phrase,.experience[data-finale="word"] .final-phrase,.experience[data-finale="brand"] .final-phrase,.experience[data-finale="start"] .final-start{opacity:1;transform:translateY(0)}
.experience:is([data-finale="word"],[data-finale="brand"],[data-finale="clear"],[data-finale="start"],[data-finale="depart"]) .word-tidy{opacity:0;transform:translateY(-5px)}
.experience:is([data-finale="word"],[data-finale="brand"],[data-finale="clear"],[data-finale="start"],[data-finale="depart"]) .word-tyd{opacity:1;transform:translateY(0)}
.experience:is([data-finale="brand"],[data-finale="clear"],[data-finale="start"],[data-finale="depart"]) .final-prefix{max-width:0;margin-right:0;opacity:0}
@media(max-height:650px){.story-card[data-beat="2"]{top:57.5%}.story-card .body-follow{margin-top:12px!important}.story-card h2{font-size:28px}.story-card>p:not(.story-label){font-size:14px}}
@media(prefers-reduced-motion:reduce){.enter-icon,.final-lines p,.final-prefix,.final-word span{transition:none}.enter:hover .enter-icon{transform:none}}

.story-card[data-beat="1"] h2{white-space:nowrap;text-wrap:nowrap;max-width:none}
.story-card[data-beat="1"]>p:first-of-type{font-family:TydSans,Arial,sans-serif;font-style:normal;font-weight:700;font-size:clamp(15px,1.25vw,23px);letter-spacing:0;line-height:1.4}
.story-card h2,.story-card h2 em,.final-word,.word-tyd{font-style:normal}

/* A brand accent, rather than an entirely bold sentence. */
.story-card[data-beat="1"]>p.partner-line{font-family:TydSans,Arial,sans-serif;font-weight:400;font-style:normal;font-size:clamp(15px,1.25vw,23px);display:flex;align-items:baseline;gap:.35em;}
.partner-brand{font-family:TydSerif,Georgia,serif;font-size:1.75em;line-height:1;color:#d7f36b;letter-spacing:-.06em;font-weight:400;font-style:normal;}

/* Rounded sans display; warm serif reading text. */
body{font-family:TydBody,Georgia,serif}
h1,h2,h3,.intro-copy h1,.directory h1,.section h2,.inner-page h2,.story-card h2,.story-card[data-beat="2"] h2{font-family:TydDisplay,Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:-.035em}
.logo,.directory-logo,.intro-logo,.mobile-logo,.partner-brand,.word-tyd{font-family:TydDisplay,Arial,sans-serif;font-style:normal;font-weight:600;letter-spacing:-.075em}
.intro-logo{font-size:46px}.directory-logo{font-size:42px}
.headline-line{display:block;white-space:nowrap;font-style:normal}
.directory-grid{grid-template-columns:1.45fr 1fr;gap:7%}
.directory h1{font-size:clamp(32px,3.5vw,61px);line-height:1.22;letter-spacing:-.045em}
.intro-copy h1{font-family:TydDisplay,Arial,sans-serif;font-size:clamp(32px,3.7vw,62px);line-height:1.22;font-weight:400;letter-spacing:-.045em}
.directory-intro{font-family:TydBody,Georgia,serif;font-size:20px;line-height:1.5}
.directory-menu a,.page-nav,.intro-nav nav,.directory-bottom,.eyebrow,.section-label,.enter,.enter-words>span,.enter-words small,.button,.continue-beat,.skip,.replay{font-family:TydDisplay,Arial,sans-serif}
.directory-menu a{font-size:27px;letter-spacing:-.025em}.enter-words>span{font-size:24px;letter-spacing:-.04em}
.story-card>p:not(.story-label),.story-card[data-beat="1"]>p.partner-line{font-family:TydBody,Georgia,serif;font-size:clamp(16px,1.33vw,24px);font-weight:400;line-height:1.45;letter-spacing:0}
.story-card h2,.story-card[data-beat="2"] h2{font-size:clamp(26px,2.35vw,43px);line-height:1.16;letter-spacing:-.035em}
.story-card[data-beat="3"] h2{font-family:TydDisplay,Arial,sans-serif;font-size:clamp(26px,2.2vw,40px);line-height:1.2;letter-spacing:-.035em}
.partner-brand{font-size:1.65em}.final-lines{font-family:TydBody,Georgia,serif;font-size:clamp(22px,1.95vw,36px);letter-spacing:-.01em}.final-word{width:2.2em}
.section .lead,.smallcopy,.about-grid p,.step p,.contact p,.contact label,.contact input,.contact textarea,.directory-email,.footer{font-family:TydBody,Georgia,serif}
@media(max-width:800px){.directory-grid{grid-template-columns:1fr;gap:42px}.directory h1{font-size:clamp(25px,5vw,44px)}.directory-intro{font-size:19px}.intro-copy h1{font-size:clamp(25px,5vw,42px)}}
@media(max-height:650px){.story-card h2,.story-card[data-beat="2"] h2{font-size:26px}.story-card>p:not(.story-label){font-size:16px}}

/* One wordmark colour, with a readable backing on pale surfaces. */
.partner-brand,.word-tyd,.inline-brand{color:#d7f36b;}
.inline-brand{font-weight:600;}
.directory-introduction h2{font-family:TydDisplay,Arial,sans-serif;font-size:clamp(21px,1.8vw,28px);font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 15px;color:#f6f0e5;}
.directory-intro{max-width:410px;margin-bottom:32px;}
.story-card[data-beat="2"]{top:56.5%;}
@media(max-height:650px){.story-card[data-beat="2"]{top:51.5%;}}

/* Beat one restores the lime animation accent. */
.story-card[data-beat="1"] .partner-brand{color:#d7f36b;}

@font-face{font-family:TydDisplay;src:url('assets/tyd-urbanist.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:TydSans;src:url('assets/tyd-urbanist.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
.story-card[data-beat="1"] .partner-brand{font-size:1em;letter-spacing:0;font-weight:500;}

/* Stronger opening story headings, with the same anchored placement. */
.story-card[data-beat="1"] h2,.story-card[data-beat="2"] h2{font-size:clamp(32px,3vw,55px);font-weight:500;line-height:1.12}
@media(max-height:650px){.story-card[data-beat="1"] h2,.story-card[data-beat="2"] h2{font-size:32px}}

/* A softer, more deliberate final handover. */
.final-lines p{transition:opacity .85s ease,transform 1.05s cubic-bezier(.22,.61,.36,1)}
.final-prefix{transition:max-width 1.25s cubic-bezier(.22,.61,.36,1),margin 1.25s ease,opacity .85s ease}
.final-word span{transition:opacity .8s ease,transform 1s cubic-bezier(.22,.61,.36,1)}
@supports(background-clip:text){
.experience[data-finale="brand"] .word-tyd{background:linear-gradient(110deg,#d7f36b 34%,#faffdf 48%,#ffffff 50%,#d7f36b 64%);background-size:300% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:tyd-gleam 1.6s ease-in-out 1.35s both}
}
@keyframes tyd-gleam{from{background-position:100% 50%}to{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.final-lines p,.final-prefix,.final-word span{transition:none}.experience[data-finale="brand"] .word-tyd{animation:none;background:none;color:#d7f36b}}

/* Softer entrances for cinematic overlays; video and scroll-gate timings are unchanged. */
@keyframes tyd-continue-reveal{from{opacity:0}to{opacity:1}}
.continue-beat:not([hidden]){animation:tyd-continue-reveal .7s ease-out both}
.story-card{transition:opacity .7s cubic-bezier(.22,.61,.36,1)}
.story-shade{transition:opacity .65s ease}
.final-lines p{transition:opacity 1s ease,transform 1.1s cubic-bezier(.22,.61,.36,1)}
.final-word span{transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){
 .continue-beat:not([hidden]){animation:none}
 .story-card,.story-shade,.final-lines p,.final-word span{transition:none}
}
