:root{
    --bg:#FFFFFF;
    --text:#111214;
    --muted:#70757D;
    --faint:#A6AAB2;
    --line:#ECEDEF;
    --frame:#F4F5F6;
    --max:1040px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  ::selection{background:#111214;color:#fff}
  :focus-visible{outline:2px solid #111214;outline-offset:3px;border-radius:2px}

  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

  .label{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}

  /* ---------- Nav ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(10px)}
  .nav-in{max-width:var(--max);margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .logo{font-weight:600;font-size:.95rem;letter-spacing:-.01em;text-decoration:none;display:flex;align-items:center;gap:9px}
  .logo-mark{width:20px;height:20px;flex:none}
  .nav-links{display:flex;gap:30px;list-style:none;align-items:center}
  .nav-links a{font-size:.85rem;color:var(--muted);text-decoration:none;transition:color .18s}
  .nav-links a:hover{color:var(--text)}
  .nav-links a.cta{color:var(--text);font-weight:500}
  @media(max-width:640px){.nav-links a:not(.cta){display:none}}

  /* ---------- Hero ---------- */
  header{padding:190px 0 130px}
  h1{font-weight:600;letter-spacing:-.035em;line-height:1.08;font-size:clamp(2.4rem,6vw,4.2rem);max-width:18ch}
  .hero-sub{margin-top:28px;max-width:46ch;color:var(--muted);font-size:1.1rem}
  .hero-line{margin-top:56px;display:flex;gap:36px;flex-wrap:wrap}
  .hero-line span{font-size:.85rem;color:var(--faint)}
  .hero-line b{font-weight:500;color:var(--text)}

  .rise{opacity:0;transform:translateY(10px);animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
  .rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}
  @keyframes rise{to{opacity:1;transform:none}}

  /* ---------- Sections ---------- */
  section{padding:110px 0;border-top:1px solid var(--line)}
  .sec-head{margin-bottom:56px}
  h2{font-weight:600;letter-spacing:-.025em;font-size:1.7rem;margin-top:10px}

  /* ---------- Work ---------- */
  .work-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 32px}
  @media(max-width:760px){.work-grid{grid-template-columns:1fr}}
  .clip{text-decoration:none;display:block}
  .frame{aspect-ratio:16/9;background:var(--frame);border-radius:6px;position:relative;overflow:hidden;transition:opacity .2s}
  .frame img{width:100%;height:100%;object-fit:cover;display:block}
  .frame::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23111214'%3E%3Cpath d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:0 1px 8px rgba(17,18,20,.12);opacity:0;transition:opacity .2s}
  .clip:hover .frame::after{opacity:1}
  .clip:hover .frame{opacity:.92}
  .clip-info{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px}
  .clip-info h3{font-size:.95rem;font-weight:500;letter-spacing:-.01em}
  .clip-info span{font-size:.8rem;color:var(--faint);white-space:nowrap}
  .clip-role{margin-top:5px;font-size:.78rem;color:var(--muted)}
  .clip-role b{font-weight:500;color:var(--faint)}

  /* ---------- Specialties ---------- */
  .spec-list{list-style:none}
  .spec-list li{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}
  .spec-list li:first-child{border-top:1px solid var(--line)}
  .spec-list h3{font-size:1rem;font-weight:500;letter-spacing:-.01em}
  .spec-list p{color:var(--muted);font-size:.95rem;max-width:56ch}
  @media(max-width:640px){.spec-list li{grid-template-columns:1fr;gap:6px}}

  /* ---------- About ---------- */
  .about{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
  @media(max-width:760px){.about{grid-template-columns:1fr;gap:48px}}
  .about-copy p{color:var(--muted);margin-bottom:18px}
  .about-copy p strong{color:var(--text);font-weight:500}
  .facts div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
  .about-photo{margin:0 0 28px}
  .about-photo img{width:100%;height:auto;border-radius:8px;display:block}
  .about-photo figcaption{margin-top:12px;font-size:.8rem;color:var(--faint)}
  .facts div:first-child{border-top:1px solid var(--line)}
  .facts dt{font-size:.85rem;color:var(--faint)}
  .facts dd{font-size:.85rem;text-align:right}

  /* ---------- Inquiry ---------- */
  .inq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px}
  @media(max-width:760px){.inq-grid{grid-template-columns:1fr;gap:48px}}
  .inq-copy p{color:var(--muted);margin:24px 0;max-width:40ch}
  .inq-direct{font-size:.9rem}
  .inq-direct a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--faint);transition:text-decoration-color .18s}
  .inq-direct a:hover{text-decoration-color:var(--text)}
  form{display:grid;gap:22px}
  .field{display:grid;gap:8px}
  label{font-size:.8rem;font-weight:500;color:var(--text)}
  input,select,textarea{width:100%;background:var(--bg);border:1px solid #DDDFE3;border-radius:6px;color:var(--text);font-family:inherit;font-size:.95rem;padding:12px 14px;transition:border-color .18s}
  input::placeholder,textarea::placeholder{color:var(--faint)}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--text)}
  textarea{min-height:140px;resize:vertical}
  .row-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  @media(max-width:560px){.row-2{grid-template-columns:1fr}}
  button{border:none;cursor:pointer;background:var(--text);color:#fff;font-family:inherit;font-size:.9rem;font-weight:500;padding:14px 26px;border-radius:6px;justify-self:start;transition:opacity .18s}
  button:hover{opacity:.85}

  footer{border-top:1px solid var(--line);padding:40px 28px}
  .foot-in{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--faint)}

  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation:none!important;transition:none!important}
    html{scroll-behavior:auto}
    .rise{opacity:1;transform:none}
  }
