:root{
    --tdm-coral:  #FF5537;
    --tdm-gold:   #FDD63B;
    --tdm-purple: #2C166B;
    --tdm-black:    #14110F;
    --tdm-gray-600: #6B6560;
    --tdm-gray-400: #A8A29C;
    --tdm-gray-200: #E3E0DC;
    --tdm-gray-100: #F3F1EE;
    --tdm-offwhite: #FAFAF9;
    --tdm-white:    #FFFFFF;
    --tdm-gradient-official: linear-gradient(120deg, #2C166B 0%, #7B2D8B 33%, #D4337A 66%, #FF5537 100%);
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    box-sizing:border-box;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--tdm-offwhite);}
  body{
    font-family:"Plus Jakarta Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Helvetica,Arial,sans-serif;
    color:var(--tdm-black);
    font-weight:400;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  section{padding:6rem 1.5rem;}
  .wrap{max-width:640px;margin:0 auto;}
  .wrap-wide{max-width:760px;margin:0 auto;}

  .eyebrow{
    font-size:12px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
    color:var(--tdm-coral);margin:0 0 1rem;display:block;
  }
  .eyebrow.on-gradient{color:var(--tdm-white);opacity:.75;}

  h1{
    font-weight:600;font-size:44px;line-height:1.05;letter-spacing:-0.03em;
    margin:0 0 18px;color:var(--tdm-white);max-width:13ch;
  }
  .subtitle{font-weight:400;font-size:22px;line-height:1.25;color:var(--tdm-white);opacity:.85;
    margin:0 0 1.75rem;max-width:34ch;}

  h2{font-weight:600;font-size:32px;line-height:1.08;letter-spacing:-0.02em;color:var(--tdm-black);margin:0 0 1rem;}
  h2.on-gradient{color:var(--tdm-white);}
  .section-sub{font-weight:400;font-size:16px;line-height:1.35;color:var(--tdm-gray-600);margin:0 0 1.75rem;max-width:52ch;}
  .section-sub.on-gradient{color:var(--tdm-white);opacity:.75;}

  p{font-size:16px;line-height:1.5;margin:0 0 1.25rem;max-width:62ch;}
  a{color:var(--tdm-coral);}

  /* HERO */
  .hero{background:var(--tdm-gradient-official);padding-top:7rem;padding-bottom:5rem;}
  .hero p{color:var(--tdm-white);opacity:.85;}
  .hero-source{font-size:14px;color:var(--tdm-white);opacity:.6;margin-top:1.5rem;}
  .hero-source a{color:var(--tdm-white);opacity:.9;}

  /* HEADER */
  header{padding:1.25rem 1.5rem;background:var(--tdm-white);border-bottom:1px solid var(--tdm-gray-200);}
  .logo-wordmark{max-width:640px;margin:0 auto;}
  .logo-wordmark img{height:100px;width:auto;display:block;}

  /* PHILOSOPHY */
  .philosophy{background:var(--tdm-white);}
  .triad{font-weight:600;font-size:22px;color:var(--tdm-black);margin:1.75rem 0;}
  .triad .x{color:var(--tdm-coral);font-weight:400;padding:0 .35em;}
  blockquote{
    font-weight:600;font-size:22px;line-height:1.3;color:var(--tdm-black);
    border-left:2px solid var(--tdm-coral);padding-left:1.25rem;margin:1.75rem 0 0;max-width:34ch;
  }

  /* CULTIVATE */
  .cultivate{background:var(--tdm-offwhite);}
  .cultivate-list{margin-top:1.5rem;}
  .cultivate-row{border-top:1px solid var(--tdm-gray-200);padding:1.25rem 0;}
  .cultivate-row:last-child{border-bottom:1px solid var(--tdm-gray-200);}
  .cultivate-row span.lead{font-weight:600;font-size:16px;color:var(--tdm-black);}
  .cultivate-row span.rest{font-weight:400;font-size:16px;color:var(--tdm-gray-600);}

  /* JOURNEY */
  .journey{background:var(--tdm-gradient-official);}
  .journey-list{margin-top:2rem;}
  .step{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;
    border-top:1px solid rgba(255,255,255,.2);padding:1.1rem 0;}
  .step:last-child{border-bottom:1px solid rgba(255,255,255,.2);}
  .step-num{font-weight:600;font-size:18px;color:var(--tdm-gold);}
  .step h3{font-weight:600;font-size:18px;margin:0 0 .25rem;color:var(--tdm-white);}
  .step p{font-size:15px;color:var(--tdm-white);opacity:.75;margin:0;max-width:52ch;}

  /* FOUNDER */
  .founder{background:var(--tdm-white);}
  .founder blockquote{font-size:26px;}
  .founder cite{font-style:normal;font-size:14px;color:var(--tdm-gray-600);display:block;margin-top:1rem;}
  .founder cite b{color:var(--tdm-coral);font-weight:600;}

  /* CTA */
  .cta{background:var(--tdm-coral);}
  .cta h2{color:var(--tdm-white);}
  .cta p{color:var(--tdm-white);opacity:.9;}
  form{display:flex;gap:.6rem;margin-top:1.5rem;flex-wrap:wrap;}
  input[type=email]{
    flex:1;min-width:200px;padding:14px 16px;border:1px solid rgba(255,255,255,.5);
    background:transparent;color:var(--tdm-white);font-family:inherit;font-size:16px;
    border-radius:0;
  }
  input[type=email]::placeholder{color:rgba(255,255,255,.65);}
  input[type=email]:focus{outline:2px solid var(--tdm-black);outline-offset:2px;}
  button{
    padding:14px 26px;background:var(--tdm-white);color:var(--tdm-coral);
    border:none;font-family:inherit;font-weight:600;font-size:16px;
    border-radius:0;cursor:pointer;
  }
  button:hover{background:var(--tdm-black);color:var(--tdm-white);}
  button:focus-visible,a:focus-visible{outline:2px solid var(--tdm-black);outline-offset:2px;}
  .form-note{font-size:13px;color:var(--tdm-white);opacity:.65;margin-top:1rem;}

  /* CLOSING */
  .closing{background:var(--tdm-gradient-official);padding:7rem 1.5rem;}
  .closing p{font-weight:600;font-size:30px;line-height:1.3;color:var(--tdm-white);max-width:16ch;margin:0 0 .25rem;}

  footer{padding:2rem 1.5rem;background:var(--tdm-offwhite);border-top:1px solid var(--tdm-gray-200);}
  footer .wrap{}
  footer p{font-size:13px;color:var(--tdm-gray-600);margin:0;max-width:none;}

  @media (max-width:640px){
    h1{font-size:34px;}
    .subtitle{font-size:19px;}
    h2{font-size:26px;}
    .founder blockquote{font-size:22px;}
    .closing p{font-size:24px;}
  }
