
  :root{
    --color-primary:#f5a623;
    --color-secondary:#fff6e9;
    --color-text-primary:#1f2937;
    --color-background:#ffffff;
    --color-border:#eae0d0;
    --color-accent:#ff7a29;
    --color-text-secondary:#6b7280;
    --color-bg-dark:#1c1b1f;

    --font-jp:'Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
    --font-en:'Inter',var(--font-jp);

    --fs-h1:48px; --lh-h1:1.35;
    --fs-h2:32px; --lh-h2:1.4;
    --fs-h3:20px; --lh-h3:1.5;
    --fs-h4:18px; --lh-h4:1.5;
    --fs-lead:18px; --lh-lead:1.8;
    --fs-body:16px; --lh-body:1.8;
    --fs-caption:13px; --lh-caption:1.6;

    --space-section:88px;
    --space-block:40px;
    --space-element:16px;
    --space-small:8px;

    --radius-card:20px;
    --radius-pill:999px;

    --content-width:1080px;
  }

  @media (max-width:640px){
    :root{
      --fs-h1:34px; --lh-h1:1.4;
      --fs-h2:24px; --lh-h2:1.45;
      --fs-h3:16px; --lh-h3:1.5;
      --fs-h4:16px; --lh-h4:1.5;
      --fs-lead:16px; --lh-lead:1.75;
      --fs-body:16px; --lh-body:1.75;
      --fs-caption:14px; --lh-caption:1.6;
      --space-section:53px;
      --space-block:24px;
      --space-element:12px;
    }
  }

  *{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; }
  body{
    margin:0;
    font-family:var(--font-jp);
    color:var(--color-text-primary);
    background:var(--color-background);
    font-size:var(--fs-body);
    line-height:var(--lh-body);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  section{ padding:var(--space-section) 0; }
  .container{ max-width:var(--content-width); margin:0 auto; padding:0 24px; }
  @media (max-width:640px){ .container{ padding:0 16px; } }

  .section-cream{ background:var(--color-secondary); }
  .section-white{ background:var(--color-background); }

  h1,h2,h3,h4{ font-weight:700; margin:0; color:var(--color-text-primary); }
  .h1{ font-size:var(--fs-h1); line-height:var(--lh-h1); font-family:var(--font-jp); }
  .h2{ font-size:var(--fs-h2); line-height:var(--lh-h2); text-align:center; margin-bottom:var(--space-block); }
  .h2.align-left{ text-align:left; }
  .h3{ font-size:var(--fs-h3); line-height:var(--lh-h3); }
  .h4{ font-size:var(--fs-h4); line-height:var(--lh-h4); }
  .lead{ font-size:var(--fs-lead); line-height:var(--lh-lead); color:var(--color-text-secondary); font-weight:400; margin:0; }
  p{ margin:0; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--color-text-primary); }
  .caption{ font-size:var(--fs-caption); line-height:var(--lh-caption); color:var(--color-text-secondary); }
  .eyebrow-label{ display:inline-flex; align-items:center; gap:6px; background:var(--color-secondary); color:var(--color-text-primary); font-size:12px; font-weight:700; padding:8px 16px; border-radius:var(--radius-pill); }

  /* Buttons */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-jp); font-weight:700; font-size:16px;
    padding:16px 32px; border-radius:var(--radius-pill);
    white-space:nowrap; text-decoration:none; cursor:pointer; border:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn svg{ width:18px; height:18px; flex-shrink:0; }
  .btn-primary{ background:var(--color-primary); color:var(--color-text-primary); }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,166,35,0.35); }
  .btn-secondary{ background:var(--color-background); color:var(--color-primary); border:2px solid var(--color-primary); padding:14px 30px; }
  .btn-secondary:hover{ background:var(--color-secondary); }
  .btn-invert{ background:var(--color-bg-dark); color:#ffffff; }
  .btn-invert:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,0.35); }
  @media (max-width:640px){ .btn{ width:100%; } }

  /* Icons */
  .icon{ width:24px; height:24px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .icon-circle{
    width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:var(--color-secondary); color:var(--color-primary); margin-bottom:var(--space-element);
  }
  .check-icon{ width:18px; height:18px; stroke:var(--color-primary); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

  /* Header */
  .site-header{
    position:sticky; top:0; z-index:50; height:88px; background:rgba(255,255,255,0.96); backdrop-filter:blur(8px);
    border-bottom:1px solid #ececec;
  }
  .header-inner{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:0 80px; max-width:1560px; }
  .logo{ font-weight:900; font-size:27px; letter-spacing:-.035em; white-space:nowrap; color:#111; }
  .nav-links{ display:flex; align-items:center; justify-content:center; gap:24px; flex:1; flex-wrap:nowrap; }
  .nav-link{ font-size:15px; font-weight:700; padding:8px 4px; border-radius:8px; color:#191919; white-space:nowrap; }
  .nav-link:hover{ background:var(--color-secondary); }
  .header-cta{ width:232px; min-height:58px; padding:14px 24px; font-size:16px; flex-shrink:0; justify-content:space-between; background:linear-gradient(100deg,#ffb000,#ffc238); }
  .header-cta::after{ content:'›'; font-size:28px; line-height:1; transform:translateY(-1px); }
  @media (max-width:1120px){
    .header-inner{ padding:0 28px; }
    .nav-links{ gap:12px; }
    .nav-link{ font-size:13px; }
    .header-cta{ width:210px; }
  }
  @media (max-width:1100px){ .nav-links{ display:none; } }
  @media (max-width:900px){ .site-header{ height:74px; } .header-inner{ padding:0 20px; } .logo{ font-size:22px; } .header-cta{ width:auto; min-height:46px; padding:10px 17px; font-size:13px; } }

  /* FV */
  .fv{ min-height:700px; padding:24px 0 0; overflow:hidden; position:relative; background:#fff; }
  .fv-grid{
    max-width:1560px; min-height:676px; padding:0 80px; display:grid; row-gap:22px; column-gap:14px;
    grid-template-columns:1fr;
    grid-template-areas:
      "intro"
      "cta"
      "visual"
      "checks"
      "note";
  }
  @media (min-width:901px){
    .fv-grid{
      grid-template-columns:minmax(0,47fr) minmax(0,53fr);
      grid-template-rows:auto auto auto 1fr;
      column-gap:40px;
      row-gap:10px;
      grid-template-areas:
        "intro  visual"
        "checks visual"
        "cta    visual"
        "note   visual";
      align-items:start; position:relative;
    }
  }
  .fv-intro{ grid-area:intro; width:100%; max-width:640px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding-top:12px; position:relative; z-index:5; }
  .fv-intro .eyebrow-label{ min-height:42px; padding:9px 20px; border-radius:7px; background:linear-gradient(100deg,#ffb434,#ffc43d); font-size:16px; font-weight:900; }
  .fv-intro .h1{ margin:0; width:100%; max-width:640px; font-size:clamp(56px,4.15vw,69px); line-height:1.15; letter-spacing:-.035em; font-weight:900; color:#090909; }
  .fv-intro .h1 .h1-line{ display:block; white-space:nowrap; }
  .fv-intro .h1 .underline{ display:inline-block; position:relative; }
  .fv-intro .h1 .underline::after{
    content:''; position:absolute; left:0; right:2%; bottom:-8px; height:14px; z-index:-1;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 24' preserveAspectRatio='none'%3E%3Cpath d='M4 14 C95 6 175 18 263 11 S425 5 516 13' fill='none' stroke='%23ffb000' stroke-width='10' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  }
  .fv-intro .lead{ margin-top:4px; width:100%; max-width:610px; font-size:18px; line-height:1.75; color:#303238; font-weight:500; }
  .fv-checks{ grid-area:checks; width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-width:625px; padding:2px 0 5px; position:relative; z-index:5; }
  .fv-checks li{ min-height:58px; display:flex; align-items:flex-start; gap:8px; padding:3px 10px; border-left:1px solid #dedede; font-size:14.5px; line-height:1.45; letter-spacing:-.02em; font-weight:700; color:#232323; }
  .fv-checks li:first-child{ border-left:0; padding-left:0; }
  .fv-checks .check-icon{ width:22px; height:22px; padding:4px; border-radius:50%; background:#ffb000; stroke:#fff; stroke-width:3; flex:0 0 auto; }
  .fv-cta-group{ grid-area:cta; display:grid; grid-template-columns:minmax(0,330px) minmax(0,190px); gap:14px; width:100%; max-width:534px; position:relative; z-index:5; }
  .fv-cta-group .btn{ min-height:82px; border-radius:22px; padding:18px 24px; font-size:17px; font-weight:900; justify-content:flex-start; }
  .fv-cta-group .btn-primary{ overflow:hidden; background:linear-gradient(105deg,#ffb000,#ffc238); padding:18px 14px; gap:7px; font-size:14.25px; letter-spacing:-.025em; white-space:nowrap; }
  .fv-cta-group .btn-secondary{ border:1.5px solid #2d2d2d; color:#202020; background:#fff; }
  .fv-cta-group .btn .cta-arrow{ margin-left:auto; width:20px; height:20px; }
  .fv-note{ grid-area:note; display:flex; align-items:center; align-self:start; gap:7px; margin-top:1px; padding:0 0 0 52px; font-size:14px; font-weight:700; color:#333; position:relative; z-index:5; }

  /* FV visual: person + role cards */
  .fv-visual{ grid-area:visual; position:relative; align-self:end; min-width:0; }
  .fv-blob{ display:none; }
  .fv-person-wrap{ width:min(92vw,680px); max-width:680px; margin:0 auto; position:relative; z-index:2; }
  .fv-person-wrap img{ width:100%; height:auto; display:block; }
  .fv-roles{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px; }
  .fv-role-card{
    background:var(--color-background); border:1px solid var(--color-border); border-radius:16px;
    box-shadow:0 8px 22px rgba(31,41,55,0.09); padding:16px;
    display:grid; grid-template-columns:50px 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center;
  }
  .fv-role-icon{ width:48px; height:48px; padding:5px; grid-row:1 / 3; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .role-analysis{color:#2f75e8}.role-planning{color:#e6a400}.role-writing{color:#45a33c}.role-improvement{color:#f07818}.role-search{color:#7554dc}.role-automation{color:#20a8a1}
  .fv-role-card strong{ font-size:18px; line-height:1.3; font-weight:900; color:#202020; }
  .fv-role-card span{ font-size:12.5px; line-height:1.45; color:#4f535b; }
  .fv-connectors{ display:none; }
  .fv-handnote{ display:none; }
  .fv-bottom-curve{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:46px; z-index:6; pointer-events:none; }

  @media (min-width:901px){
    .fv-visual{ min-height:652px; height:652px; margin-left:0; }
    .fv-blob{ display:block; position:absolute; z-index:0; }
    .fv-blob-1{
      width:370px; height:505px; left:45%; top:65px;
      background:#ffb718;
      border-radius:43% 57% 38% 62% / 28% 37% 63% 72%; opacity:.97;
      transform:translateX(-50%) rotate(-7deg);
    }
    .fv-blob-2{
      width:155px; height:165px; left:25%; bottom:8%; background:#ffcc58; opacity:.45;
      border-radius:58% 42% 65% 35% / 52% 60% 40% 48%; transform:rotate(14deg);
    }
    .fv-person-wrap{
      position:absolute; left:-1%; bottom:0; width:600px; max-width:none; margin:0; z-index:2;
    }
    .fv-roles{
      position:absolute; inset:0; display:block; margin-top:0; z-index:3; pointer-events:none;
    }
    .fv-role-card{
      position:absolute; width:215px; min-height:110px; pointer-events:auto; padding:16px 17px; grid-template-columns:48px 1fr; column-gap:11px;
    }
    .fv-roles .fv-role-card:nth-child(1){ left:0; top:12px; }
    .fv-roles .fv-role-card:nth-child(3){ left:0; top:167px; }
    .fv-roles .fv-role-card:nth-child(5){ left:8%; top:310px; }
    .fv-roles .fv-role-card:nth-child(2){ right:-4%; top:70px; }
    .fv-roles .fv-role-card:nth-child(4){ right:-4%; top:225px; }
    .fv-roles .fv-role-card:nth-child(6){ right:-4%; top:360px; }
    .fv-connectors{ display:block; position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; color:#343434; }
    .fv-connectors path{ fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
    .fv-connectors .dashed{ stroke-dasharray:3 8; }
    .fv-handnote{ display:block; position:absolute; z-index:4; right:-4%; top:-10px; width:165px; font-size:17px; line-height:1.35; font-weight:700; letter-spacing:.03em; transform:rotate(-3deg); }
  }

  @media (min-width:901px) and (max-width:1280px){
    .fv-grid{ padding:0 30px; grid-template-columns:minmax(0,47fr) minmax(0,53fr); column-gap:28px; }
    .fv-intro .h1{ font-size:clamp(52px,4.55vw,60px); }
    .fv-intro .lead{ font-size:16px; }
    .fv-cta-group{ grid-template-columns:minmax(330px,1.6fr) minmax(210px,1fr); gap:12px; }
    .fv-cta-group .btn{ min-height:72px; padding:16px 18px; font-size:14px; }
    .fv-visual{ margin-left:0; }
    .fv-role-card{ width:178px !important; min-height:94px !important; padding:12px; grid-template-columns:42px 1fr; column-gap:9px; }
    .fv-role-icon{ width:42px; height:42px; }
    .fv-role-card strong{ font-size:14px; }
    .fv-role-card span{ font-size:10px; }
    .fv-person-wrap{ width:550px; left:0; }
    .fv-roles .fv-role-card:nth-child(1),
    .fv-roles .fv-role-card:nth-child(3){ left:0; }
    .fv-roles .fv-role-card:nth-child(5){ left:5%; }
    .fv-roles .fv-role-card:nth-child(2),
    .fv-roles .fv-role-card:nth-child(4),
    .fv-roles .fv-role-card:nth-child(6){ right:0; }
  }

  @media (min-width:901px) and (max-width:1100px){
    .fv-role-card{ width:150px !important; padding:10px; grid-template-columns:36px 1fr; }
    .fv-role-icon{ width:36px; height:36px; }
    .fv-role-card strong{ font-size:12px; }
    .fv-role-card span{ font-size:9px; }
  }

  @media (min-width:1600px){
    .fv-person-wrap{ left:0; width:620px; }
  }

  @media (max-width:900px){
    .fv{ min-height:0; padding:36px 0 68px; }
    .fv-grid{ min-height:0; padding:0 24px; row-gap:28px; grid-template-areas:"intro" "checks" "cta" "note" "visual"; }
    .fv-intro{ padding-top:0; }
    .fv-intro .h1{ font-size:clamp(42px,7vw,58px); }
    .fv-checks{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:12px 0; }
    .fv-checks li:nth-child(3){ border-left:0; padding-left:0; }
    .fv-cta-group{ grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); max-width:none; }
    .fv-visual{ padding-top:20px; }
    .fv-person-wrap{ width:min(92vw,600px); }
    .fv-blob-1{ display:block; position:absolute; width:58%; height:58%; right:19%; top:12%; background:#ffb916; border-radius:52% 48% 42% 58% / 37% 48% 52% 63%; z-index:0; }
    .fv-roles{ position:relative; z-index:3; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
    .fv-bottom-curve{ height:34px; }
  }

  @media (max-width:600px){
    .header-inner{ width:100%; max-width:100%; }
    .header-cta{ display:none; }
    .fv-grid{ padding:0 16px; }
    .fv-intro .eyebrow-label{ min-height:38px; padding:8px 14px; font-size:13px; }
    .fv-intro .h1{ max-width:100%; font-size:clamp(35px,9.4vw,38px); line-height:1.18; letter-spacing:-.06em; }
    .fv-intro .h1 .h1-line{ max-width:100%; }
    .fv-intro .lead{ font-size:16px; line-height:1.75; }
    .fv-checks{ grid-template-columns:1fr; gap:0; }
    .fv-checks li,.fv-checks li:nth-child(3){ min-height:46px; padding:8px 0; border-left:0; border-bottom:1px solid #e6e6e6; font-size:13px; }
    .fv-cta-group{ width:100%; max-width:100%; grid-template-columns:1fr; gap:12px; }
    .fv-cta-group .btn{ min-height:66px; width:100%; padding:15px 18px; font-size:14px; }
    .fv-note{ padding:0; font-size:12px; }
    .fv-visual{ width:100%; max-width:100%; min-width:0; overflow:hidden; }
    .fv-person-wrap{ width:100%; max-width:100%; margin-left:0; }
    .fv-roles{ width:100%; max-width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .fv-role-card{ width:auto !important; min-width:0; min-height:104px; padding:10px; grid-template-columns:36px minmax(0,1fr); column-gap:7px; }
    .fv-role-icon{ width:38px; height:38px; }
    .fv-role-card strong{ font-size:13px; }
    .fv-role-card span{ font-size:10px; }
  }

  /* Problem 2col */
  .problem-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  @media (max-width:760px){ .problem-grid{ grid-template-columns:1fr; } }
  .card{ background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:28px; }
  .problem-card ul{ display:flex; flex-direction:column; gap:12px; margin-top:14px; }
  .problem-card li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; }

  /* Problem reasons */
  .reason-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:var(--space-block); }
  @media (max-width:900px){ .reason-grid{ grid-template-columns:repeat(2,1fr); } }
  .reason-item{ display:flex; flex-direction:column; align-items:flex-start; }
  .reason-item p{ font-size:14.5px; font-weight:700; }
  .highlight-box{
    text-align:center; background:var(--color-secondary); border-radius:var(--radius-card);
    padding:24px 28px; font-weight:700; font-size:18px; line-height:1.6;
  }
  .highlight-box .accent{ color:var(--color-accent); }
  @media (max-width:640px){ .highlight-box{ font-size:16px; } }

  /* Steps row */
  .step-row{ display:flex; align-items:stretch; gap:16px; }
  @media (max-width:820px){ .step-row{ flex-direction:column; } }
  .step-card{
    flex:1; background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card);
    padding:28px; display:flex; flex-direction:column; gap:12px;
  }
  .step-num{
    width:48px; height:48px; border-radius:50%; background:var(--color-primary); color:var(--color-text-primary);
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; font-family:var(--font-en);
  }
  .step-arrow{ display:flex; align-items:center; justify-content:center; color:var(--color-text-secondary); flex-shrink:0; }
  @media (max-width:820px){ .step-arrow{ transform:rotate(90deg); align-self:center; } }

  /* Feature grid */
  .feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  @media (max-width:820px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
  .feature-card{ background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:24px; }
  .feature-card p{ color:var(--color-text-secondary); font-size:14.5px; margin-top:6px; }

  /* Flow row */
  .flow-row{ display:flex; align-items:center; gap:16px; }
  @media (max-width:820px){ .flow-row{ flex-direction:column; } }
  .flow-item{ flex:1; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:28px 20px; }
  .flow-item p{ font-size:14px; color:var(--color-text-secondary); }
  .flow-arrow{ color:var(--color-text-secondary); flex-shrink:0; }
  @media (max-width:820px){ .flow-arrow{ transform:rotate(90deg); } }

  /* Usecase */
  .usecase-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:820px){ .usecase-grid{ grid-template-columns:1fr; } }
  .usecase-card{ border:1px solid var(--color-border); border-radius:var(--radius-card); overflow:hidden; background:var(--color-background); }
  .usecase-image{ aspect-ratio:3/1; background:var(--color-secondary); display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .usecase-image img{ width:100%; height:100%; object-fit:cover; object-position:center center; }
  .usecase-body{ padding:22px; display:flex; flex-direction:column; gap:14px; }
  .usecase-body h3{ font-size:16px; }
  .before-after{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .pill{ font-size:12px; font-weight:700; padding:6px 14px; border-radius:var(--radius-pill); }
  .pill-before{ background:var(--color-secondary); color:var(--color-text-secondary); }
  .pill-after{ background:var(--color-primary); color:var(--color-text-primary); }
  .usecase-more{ text-align:center; margin-top:var(--space-block); }
  .text-link{ font-weight:700; font-size:15px; border-bottom:2px solid var(--color-primary); padding-bottom:2px; }

  /* Mid CTA */
  .cta-mid{ background:var(--color-primary); }
  .cta-mid-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  @media (max-width:900px){ .cta-mid-grid{ grid-template-columns:1fr; } }
  .cta-mid-text p{ margin-top:14px; color:#3f2c0d; }
  .cta-mid-panel{ background:var(--color-background); border-radius:var(--radius-card); padding:28px; display:flex; flex-direction:column; gap:18px; box-shadow:0 24px 48px -28px rgba(31,41,55,0.3); }
  .cta-mid-item{ display:flex; align-items:flex-start; gap:14px; }
  .cta-mid-item .icon-circle{ margin-bottom:0; width:44px; height:44px; flex-shrink:0; }
  .cta-mid-item .icon-circle .icon{ width:20px; height:20px; }
  .cta-mid-item h4{ font-size:15px; }
  .cta-mid-item p{ font-size:13.5px; color:var(--color-text-secondary); margin-top:4px; }

  /* Service grid */
  .service-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  @media (max-width:900px){ .service-grid{ grid-template-columns:repeat(2,1fr); } }
  .service-card{ background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:24px; }
  .service-card p{ font-size:14px; color:var(--color-text-secondary); margin-top:6px; }

  /* Profile */
  .profile-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:center; }
  @media (max-width:820px){ .profile-grid{ grid-template-columns:1fr; } }
  .profile-image{ aspect-ratio:4/5; border-radius:var(--radius-card); background:var(--color-secondary); border:1px solid var(--color-border); overflow:hidden; display:flex; align-items:center; justify-content:center; }
  .profile-image img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
  .profile-text p{ margin-top:16px; }
  .profile-name{ margin-top:20px; font-weight:700; font-size:15px; }
  .profile-name .caption{ display:block; font-weight:400; margin-top:4px; }

  /* Pricing */
  .pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  @media (max-width:820px){ .pricing-grid{ grid-template-columns:1fr; } }
  .price-card{ background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:24px; display:flex; flex-direction:column; gap:8px; }
  .price-card .price-label{ font-size:14px; font-weight:700; color:var(--color-text-secondary); }
  .price-card .price-value{ font-size:26px; font-weight:700; font-family:var(--font-en); color:var(--color-accent); }
  .price-card .price-desc{ font-size:13.5px; color:var(--color-text-secondary); }
  .pricing-note{ text-align:center; margin-top:var(--space-block); }

  /* Process */
  .process-row{ display:flex; align-items:stretch; gap:16px; margin-bottom:var(--space-block); }
  @media (max-width:900px){ .process-row{ flex-direction:column; } }
  .process-item{ flex:1; text-align:center; background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-card); padding:26px 18px; display:flex; flex-direction:column; align-items:center; gap:8px; }
  .process-item p{ font-size:13.5px; color:var(--color-text-secondary); }
  .process-arrow{ display:flex; align-items:center; justify-content:center; color:var(--color-text-secondary); flex-shrink:0; }
  @media (max-width:900px){ .process-arrow{ transform:rotate(90deg); } }
  .process-footer{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; }

  /* FAQ */
  .faq-container{ max-width:820px; }
  .accordion{ display:flex; flex-direction:column; gap:12px; }
  .faq-item{ background:var(--color-background); border:1px solid var(--color-border); border-radius:16px; padding:6px 24px; }
  .faq-item summary{ list-style:none; cursor:pointer; padding:16px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; font-size:15.5px; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .faq-icon{ position:relative; width:20px; height:20px; flex-shrink:0; }
  .faq-item summary .faq-icon::before,
  .faq-item summary .faq-icon::after{ content:""; position:absolute; background:var(--color-primary); transition:transform .2s ease; }
  .faq-item summary .faq-icon::before{ top:9px; left:2px; width:16px; height:2px; }
  .faq-item summary .faq-icon::after{ left:9px; top:2px; width:2px; height:16px; }
  .faq-item[open] summary .faq-icon::after{ transform:rotate(90deg); opacity:0; }
  .faq-item p{ padding-bottom:18px; color:var(--color-text-secondary); font-size:14.5px; }

  /* Final CTA */
  .cta-final{ background:var(--color-bg-dark); color:#ffffff; text-align:center; }
  .cta-final-inner{ display:flex; flex-direction:column; align-items:center; gap:24px; }
  .cta-final .icon-circle{ background:rgba(245,166,35,0.15); color:var(--color-primary); width:64px; height:64px; margin-bottom:0; }
  .cta-final .icon-circle .icon{ width:28px; height:28px; }
  .cta-final .h2{ color:#ffffff; margin-bottom:0; }

  /* Footer */
  .site-footer{ border-top:1px solid var(--color-border); padding:56px 0 24px; }
  .footer-grid{ display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; padding-bottom:32px; border-bottom:1px solid var(--color-border); }
  .footer-brand p{ margin-top:10px; color:var(--color-text-secondary); max-width:320px; }
  .footer-links{ display:flex; flex-wrap:wrap; gap:8px 4px; align-content:flex-start; max-width:420px; }
  .footer-bottom{ padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
