
    @font-face{font-family:JP;src:url(../fonts/jp-full.woff2) format("woff2");font-display:swap;}
@font-face{font-family:JP;src:url(../fonts/jp-page.woff2) format("woff2");font-display:swap;unicode-range:U+20,U+21,U+22,U+23,U+26,U+27,U+28,U+29,U+2B,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+59,U+5A,U+5B,U+5D,U+5F,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7B,U+7C,U+7D,U+A9,U+203B,U+2192,U+2197,U+3000,U+3001,U+3002,U+300C,U+300D,U+301C,U+3042,U+3044,U+3046,U+3048,U+304A,U+304B,U+304C,U+304D,U+304F,U+3050,U+3051,U+3052,U+3053,U+3054,U+3055,U+3056,U+3057,U+3058,U+3059,U+305A,U+305B,U+305C,U+305D,U+305F,U+3060,U+3061,U+3063,U+3064,U+3065,U+3066,U+3067,U+3068,U+3069,U+306A,U+306B,U+306D,U+306E,U+306F,U+3070,U+3072,U+3073,U+3078,U+3079,U+307E,U+307F,U+3080,U+3081,U+3082,U+3084,U+3088,U+3089,U+308A,U+308B,U+308C,U+308D,U+308F,U+3092,U+3093,U+30A1,U+30A2,U+30A3,U+30A4,U+30A6,U+30A7,U+30A9,U+30AA,U+30AB,U+30AD,U+30AF,U+30B0,U+30B1,U+30B3,U+30B5,U+30B7,U+30B8,U+30B9,U+30BB,U+30BF,U+30C0,U+30C3,U+30C6,U+30C7,U+30C8,U+30C9,U+30CA,U+30CB,U+30CD,U+30CF,U+30D0,U+30D2,U+30D3,U+30D5,U+30D6,U+30D7,U+30D8,U+30DA,U+30DD,U+30DE,U+30DF,U+30E0,U+30E1,U+30E5,U+30E7,U+30E9,U+30EA,U+30EB,U+30EC,U+30ED,U+30EF,U+30F3,U+30FB,U+30FC,U+4E00,U+4E01,U+4E08,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E16,U+4E21,U+4E2D,U+4E3B,U+4E86,U+4E88,U+4E8B,U+4EA4,U+4EBA,U+4ECA,U+4ECB,U+4ED5,U+4ED6,U+4ED8,U+4EE3,U+4EE4,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F1D,U+4F34,U+4F3A,U+4F4F,U+4F53,U+4F55,U+4F5C,U+4F7F,U+4F9B,U+4FA1,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+500B,U+5024,U+505C,U+5099,U+5143,U+5148,U+5165,U+5168,U+516C,U+5177,U+5178,U+5185,U+5186,U+5199,U+51E6,U+51FA,U+5206,U+5207,U+521D,U+5225,U+5229,U+5236,U+523B,U+524A,U+524D,U+5272,U+529B,U+52A0,U+52AA,U+52D5,U+52D9,U+52E4,U+5317,U+534A,U+5370,U+53BB,U+53C2,U+53CE,U+53D6,U+53D7,U+53E3,U+53EF,U+53F2,U+53F7,U+5408,U+540C,U+540D,U+5411,U+542B,U+5439,U+54C1,U+54E1,U+5546,U+554F,U+5584,U+55B6,U+56DE,U+56E3,U+56F2,U+5728,U+5730,U+5742,U+57DF,U+57FA,U+5831,U+5834,U+5909,U+5916,U+5927,U+592B,U+5931,U+5951,U+59CB,U+59D4,U+5A5A,U+5B58,U+5B66,U+5B89,U+5B8C,U+5B9A,U+5B9F,U+5BA2,U+5BAE,U+5BB6,U+5BB9,U+5BC4,U+5BE7,U+5BFE,U+5C02,U+5C06,U+5C11,U+5C4A,U+5C4B,U+5C71,U+5CF6,U+5E02,U+5E0C,U+5E2B,U+5E38,U+5E74,U+5E83,U+5E9C,U+5EA6,U+5F0F,U+5F15,U+5F53,U+5F71,U+5F79,U+5F8B,U+5F8C,U+5F93,U+5F97,U+5FA1,U+5FC5,U+5FDC,U+601D,U+6027,U+604B,U+60A9,U+60C5,U+610F,U+611B,U+611F,U+6210,U+623B,U+6240,U+624B,U+6255,U+6271,U+628A,U+62C5,U+62E0,U+6301,U+632F,U+63A2,U+63A5,U+63AA,U+63D0,U+63E1,U+63F4,U+643A,U+64AE,U+652F,U+6539,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65CF,U+65E5,U+660E,U+6642,U+667A,U+66AE,U+66F4,U+66F8,U+6700,U+6708,U+6709,U+671B,U+671F,U+672A,U+672B,U+672C,U+6761,U+6765,U+6790,U+6821,U+683C,U+6848,U+68A8,U+696D,U+6982,U+69D8,U+6A5F,U+6B21,U+6B62,U+6B63,U+6B69,U+6B73,U+6C0F,U+6C17,U+6C42,U+6CBB,U+6CC1,U+6CD5,U+6CE8,U+6D3B,U+6D77,U+6DFB,U+6E96,U+6EDE,U+6F0F,U+70B9,U+7121,U+7136,U+7167,U+7279,U+72B6,U+73FE,U+7406,U+751F,U+7528,U+7531,U+7532,U+7533,U+7537,U+753A,U+754C,U+7559,U+756A,U+767B,U+7684,U+76DF,U+76E3,U+76EE,U+76F4,U+76F8,U+770C,U+771F,U+7763,U+77E5,U+78BA,U+78C1,U+793A,U+79C1,U+79FB,U+7A0B,U+7A0E,U+7A93,U+7ACB,U+7AE0,U+7AEF,U+7B1B,U+7B2C,U+7B49,U+7B54,U+7B97,U+7BA1,U+7BC4,U+7CBE,U+7D04,U+7D0D,U+7D1B,U+7D30,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D61,U+7D99,U+7D9A,U+7DD2,U+7E01,U+7E3E,U+7F6E,U+7F8E,U+8003,U+8005,U+8077,U+80FD,U+81EA,U+878D,U+884C,U+8863,U+8868,U+88C5,U+8981,U+898B,U+898F,U+89A7,U+89B3,U+89E3,U+8A02,U+8A17,U+8A18,U+8A33,U+8A3C,U+8A71,U+8A73,U+8A8D,U+8AAC,U+8AAD,U+8ABF,U+8AC7,U+8ACB,U+8B1B,U+8B77,U+8C61,U+8CAC,U+8CBB,U+8CEA,U+8D70,U+8DDD,U+8E0F,U+8EAB,U+8F09,U+8FBC,U+8FD1,U+8FD4,U+8FF7,U+8FFD,U+9000,U+9001,U+9014,U+901A,U+9023,U+9032,U+9045,U+904B,U+904E,U+9053,U+9060,U+9069,U+9078,U+90E8,U+90FD,U+91CD,U+91D1,U+91DD,U+9280,U+9332,U+9580,U+958B,U+9593,U+95A2,U+95B2,U+9632,U+9650,U+9664,U+968F,U+969B,U+96A3,U+96C6,U+96E2,U+96E8,U+96F0,U+96FB,U+9762,U+9808,U+9810,U+9818,U+983B,U+984D,U+9858,U+985E,U+98DF,U+98F2,U+9A13,U+9AD8,U+9B45,U+FF01,U+FF08,U+FF09,U+FF0B,U+FF0F,U+FF1A,U+FF1F,U+FF5C;}
    @font-face{font-family:Min;src:url(../fonts/min-full.woff2) format("woff2");font-weight:700;font-display:swap;}
@font-face{font-family:Min;src:url(../fonts/min-page.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+20,U+21,U+22,U+23,U+26,U+27,U+28,U+29,U+2B,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+59,U+5A,U+5B,U+5D,U+5F,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7B,U+7C,U+7D,U+A9,U+203B,U+2192,U+2197,U+3000,U+3001,U+3002,U+300C,U+300D,U+301C,U+3042,U+3044,U+3046,U+3048,U+304A,U+304B,U+304C,U+304D,U+304F,U+3050,U+3051,U+3052,U+3053,U+3054,U+3055,U+3056,U+3057,U+3058,U+3059,U+305A,U+305B,U+305C,U+305D,U+305F,U+3060,U+3061,U+3063,U+3064,U+3065,U+3066,U+3067,U+3068,U+3069,U+306A,U+306B,U+306D,U+306E,U+306F,U+3070,U+3072,U+3073,U+3078,U+3079,U+307E,U+307F,U+3080,U+3081,U+3082,U+3084,U+3088,U+3089,U+308A,U+308B,U+308C,U+308D,U+308F,U+3092,U+3093,U+30A1,U+30A2,U+30A3,U+30A4,U+30A6,U+30A7,U+30A9,U+30AA,U+30AB,U+30AD,U+30AF,U+30B0,U+30B1,U+30B3,U+30B5,U+30B7,U+30B8,U+30B9,U+30BB,U+30BF,U+30C0,U+30C3,U+30C6,U+30C7,U+30C8,U+30C9,U+30CA,U+30CB,U+30CD,U+30CF,U+30D0,U+30D2,U+30D3,U+30D5,U+30D6,U+30D7,U+30D8,U+30DA,U+30DD,U+30DE,U+30DF,U+30E0,U+30E1,U+30E5,U+30E7,U+30E9,U+30EA,U+30EB,U+30EC,U+30ED,U+30EF,U+30F3,U+30FB,U+30FC,U+4E00,U+4E01,U+4E08,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E16,U+4E21,U+4E2D,U+4E3B,U+4E86,U+4E88,U+4E8B,U+4EA4,U+4EBA,U+4ECA,U+4ECB,U+4ED5,U+4ED6,U+4ED8,U+4EE3,U+4EE4,U+4EE5,U+4EF6,U+4EFB,U+4F1A,U+4F1D,U+4F34,U+4F3A,U+4F4F,U+4F53,U+4F55,U+4F5C,U+4F7F,U+4F9B,U+4FA1,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+500B,U+5024,U+505C,U+5099,U+5143,U+5148,U+5165,U+5168,U+516C,U+5177,U+5178,U+5185,U+5186,U+5199,U+51E6,U+51FA,U+5206,U+5207,U+521D,U+5225,U+5229,U+5236,U+523B,U+524A,U+524D,U+5272,U+529B,U+52A0,U+52AA,U+52D5,U+52D9,U+52E4,U+5317,U+534A,U+5370,U+53BB,U+53C2,U+53CE,U+53D6,U+53D7,U+53E3,U+53EF,U+53F2,U+53F7,U+5408,U+540C,U+540D,U+5411,U+542B,U+5439,U+54C1,U+54E1,U+5546,U+554F,U+5584,U+55B6,U+56DE,U+56E3,U+56F2,U+5728,U+5730,U+5742,U+57DF,U+57FA,U+5831,U+5834,U+5909,U+5916,U+5927,U+592B,U+5931,U+5951,U+59CB,U+59D4,U+5A5A,U+5B58,U+5B66,U+5B89,U+5B8C,U+5B9A,U+5B9F,U+5BA2,U+5BAE,U+5BB6,U+5BB9,U+5BC4,U+5BE7,U+5BFE,U+5C02,U+5C06,U+5C11,U+5C4A,U+5C4B,U+5C71,U+5CF6,U+5E02,U+5E0C,U+5E2B,U+5E38,U+5E74,U+5E83,U+5E9C,U+5EA6,U+5F0F,U+5F15,U+5F53,U+5F71,U+5F79,U+5F8B,U+5F8C,U+5F93,U+5F97,U+5FA1,U+5FC5,U+5FDC,U+601D,U+6027,U+604B,U+60A9,U+60C5,U+610F,U+611B,U+611F,U+6210,U+623B,U+6240,U+624B,U+6255,U+6271,U+628A,U+62C5,U+62E0,U+6301,U+632F,U+63A2,U+63A5,U+63AA,U+63D0,U+63E1,U+63F4,U+643A,U+64AE,U+652F,U+6539,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65CF,U+65E5,U+660E,U+6642,U+667A,U+66AE,U+66F4,U+66F8,U+6700,U+6708,U+6709,U+671B,U+671F,U+672A,U+672B,U+672C,U+6761,U+6765,U+6790,U+6821,U+683C,U+6848,U+68A8,U+696D,U+6982,U+69D8,U+6A5F,U+6B21,U+6B62,U+6B63,U+6B69,U+6B73,U+6C0F,U+6C17,U+6C42,U+6CBB,U+6CC1,U+6CD5,U+6CE8,U+6D3B,U+6D77,U+6DFB,U+6E96,U+6EDE,U+6F0F,U+70B9,U+7121,U+7136,U+7167,U+7279,U+72B6,U+73FE,U+7406,U+751F,U+7528,U+7531,U+7532,U+7533,U+7537,U+753A,U+754C,U+7559,U+756A,U+767B,U+7684,U+76DF,U+76E3,U+76EE,U+76F4,U+76F8,U+770C,U+771F,U+7763,U+77E5,U+78BA,U+78C1,U+793A,U+79C1,U+79FB,U+7A0B,U+7A0E,U+7A93,U+7ACB,U+7AE0,U+7AEF,U+7B1B,U+7B2C,U+7B49,U+7B54,U+7B97,U+7BA1,U+7BC4,U+7CBE,U+7D04,U+7D0D,U+7D1B,U+7D30,U+7D39,U+7D42,U+7D44,U+7D4C,U+7D50,U+7D61,U+7D99,U+7D9A,U+7DD2,U+7E01,U+7E3E,U+7F6E,U+7F8E,U+8003,U+8005,U+8077,U+80FD,U+81EA,U+878D,U+884C,U+8863,U+8868,U+88C5,U+8981,U+898B,U+898F,U+89A7,U+89B3,U+89E3,U+8A02,U+8A17,U+8A18,U+8A33,U+8A3C,U+8A71,U+8A73,U+8A8D,U+8AAC,U+8AAD,U+8ABF,U+8AC7,U+8ACB,U+8B1B,U+8B77,U+8C61,U+8CAC,U+8CBB,U+8CEA,U+8D70,U+8DDD,U+8E0F,U+8EAB,U+8F09,U+8FBC,U+8FD1,U+8FD4,U+8FF7,U+8FFD,U+9000,U+9001,U+9014,U+901A,U+9023,U+9032,U+9045,U+904B,U+904E,U+9053,U+9060,U+9069,U+9078,U+90E8,U+90FD,U+91CD,U+91D1,U+91DD,U+9280,U+9332,U+9580,U+958B,U+9593,U+95A2,U+95B2,U+9632,U+9650,U+9664,U+968F,U+969B,U+96A3,U+96C6,U+96E2,U+96E8,U+96F0,U+96FB,U+9762,U+9808,U+9810,U+9818,U+983B,U+984D,U+9858,U+985E,U+98DF,U+98F2,U+9A13,U+9AD8,U+9B45,U+FF01,U+FF08,U+FF09,U+FF0B,U+FF0F,U+FF1A,U+FF1F,U+FF5C;}
    * {
      box-sizing: border-box;
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      margin: 0;
      color: #403734;
      background: #faf7f2;
      font-family: JP, sans-serif;
      line-height: 1.9;
    }
    a {
      color: inherit;
      text-decoration: none;
    }
    header {
      padding: 16px 5%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #faf7f2;
      border-bottom: 1px solid #e5d9d9;
    }
    .logo {
      font-family: Georgia, serif;
      font-size: 36px;
      color: #82515e;
    }
    nav {
      display: flex;
      gap: 26px;
      font-size: 13px;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #82515e;
      color: white;
      padding: 14px 26px;
      border-radius: 5px;
      font-size: 14px;
      border: 0;
      cursor: pointer;
    }
    .line {
      background: #06c755;
    }
    .outline {
      background: transparent;
      color: #82515e;
      border: 1px solid #82515e;
    }
    .actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .wrap {
      max-width: 1080px;
      margin: auto;
      padding: 70px 30px;
    }
    .eyebrow {
      font-size: 12px;
      letter-spacing: 0.14em;
      color: #82515e;
      margin: 0 0 18px;
    }
    .hero {
      background:
        linear-gradient(
          90deg,
          rgba(250, 247, 242, 0.96),
          rgba(250, 247, 242, 0.78) 55%,
          rgba(250, 247, 242, 0.15)
        ),
        url(../images/home-hero.webp)
          center/cover;
    }
    .hero .wrap {
      padding-top: 65px;
      padding-bottom: 55px;
    }
    h1 {
      font-family: Min;
      font-size: 52px;
      line-height: 1.5;
      margin: 16px 0 24px;
    }
    h2 {
      font: 700 30px/1.55 Min;
      margin: 0 0 25px;
    }
    h3 {
      font: 700 21px/1.6 Min;
      margin: 12px 0;
    }
    p {
      font-size: 15px;
    }
    .hero p {
      max-width: 540px;
    }
    .meta {
      font-size: 12px !important;
      color: #756862;
      margin-top: 17px;
    }
    .counselor {
      display: grid;
      grid-template-columns: 290px 1fr;
      gap: 50px;
      padding-top: 42px;
      padding-bottom: 50px;
    }
    .portrait {
      width: 100%;
      border-radius: 8px;
      aspect-ratio: 3/4;
      object-fit: cover;
    }
    .name {
      font: 700 23px Min;
    }
    .tags {
      font-size: 12px;
      color: #82515e;
    }
    .soft {
      background: #f0e4e6;
    }
    .cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    .card {
      background: #fffdf9;
      padding: 26px;
      border: 1px solid #e3d5d8;
      border-radius: 9px;
    }
    .num {
      font: 26px Georgia;
      color: #b68d99;
    }
    .card p {
      font-size: 14px;
    }
    .center {
      text-align: center;
    }
    .steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .step {
      border-top: 2px solid #b68d99;
      padding-top: 14px;
    }
    .step p {
      font-size: 14px;
    }
    .plans {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 26px;
    }
    .plan {
      display: flex;
      flex-direction: column;
      border: 1px solid #d6c1c6;
      border-radius: 12px;
      background: #fffdf9;
      box-shadow: 0 7px 0 #e4d6d9;
      padding: 28px;
    }
    .plan.premium {
      border-top: 5px solid #82515e;
      padding-top: 24px;
    }
    .plan .lead {
      min-height: 64px;
      font-size: 14px;
    }
    .price {
      font-family: Georgia;
      font-size: 34px;
      color: #82515e;
    }
    .price small {
      font: 13px JP;
    }
    .fee-breakdown {
      margin: 12px 0 4px;
      padding: 13px 0;
      border-top: 1px solid #eadfe0;
      border-bottom: 1px solid #eadfe0;
      font-size: 14px;
      line-height: 1.9;
    }
    .payment-note {
      margin: 8px 0 0;
      font-size: 13px;
      line-height: 1.7;
      color: #706661;
    }
    .photo-benefit {
      margin: 12px 0 0;
      padding: 12px 14px;
      border-radius: 8px;
      background: #f3e6e8;
      color: #744653;
      font-size: 13px;
      line-height: 1.7;
      font-weight: 700;
    }
    .plan .btn {
      margin-top: auto;
    }
    .studio-section {
      padding-top: 68px;
      padding-bottom: 68px;
    }
    .studio-card {
      display: grid;
      grid-template-columns: 290px minmax(0, 1fr);
      gap: 50px;
      align-items: center;
      margin-top: 28px;
      padding: 36px;
      border: 1px solid #d9c5ca;
      border-radius: 18px;
      background: #fffdf9;
      box-shadow: 0 10px 30px rgba(86, 52, 62, 0.07);
    }
    .studio-photo {
      margin: 0;
    }
    .studio-photo-frame {
      position: relative;
      width: 100%;
      aspect-ratio: 3 / 4;
      overflow: hidden;
      border-radius: 8px;
    }
    .studio-photo-image {
      position: absolute;
      inset: 0;
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
    }
    .studio-photo figcaption {
      margin-top: 10px;
      color: #706661;
      font-size: 12px;
      text-align: center;
    }
    .studio-name {
      margin: 5px 0 3px;
      font-family: Georgia, serif;
      color: #82515e;
      font-size: 27px;
      letter-spacing: 0.02em;
    }
    .studio-representative {
      margin: 0 0 18px;
      color: #706661;
      font-size: 14px;
    }
    .studio-points {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px 22px;
      margin: 20px 0;
      padding: 17px 20px 17px 38px;
      border-radius: 10px;
      background: #f7eff0;
      font-size: 14px;
    }
    .studio-benefit {
      margin: 20px 0;
      padding: 15px 18px;
      border-left: 4px solid #82515e;
      background: #fff;
      font-size: 14px;
      font-weight: 700;
    }
    .studio-links {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      margin-top: 22px;
    }
    .studio-links a {
      color: #82515e;
      font-size: 14px;
      font-weight: 700;
    }
    dl {
      margin: 20px 0;
    }
    dl div {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      border-bottom: 1px solid #eadfe0;
      padding: 12px 0;
    }
    dt,
    dd {
      font-size: 14px;
      margin: 0;
    }
    ul {
      padding-left: 20px;
      font-size: 14px;
    }
    .note {
      font-size: 12px;
      color: #706661;
    }
    details {
      border-bottom: 1px solid #d8c7cb;
      padding: 17px 0;
    }
    summary {
      cursor: pointer;
      font-size: 15px;
    }
    details p {
      font-size: 14px;
    }
    .consult {
      background: #82515e;
      color: #fff;
    }
    .consult .eyebrow {
      color: #ecdce0;
    }
    .consult .btn:not(.line) {
      background: #fff8f4;
      color: #82515e;
    }
    .two {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 45px;
    }
    .social {
      display: flex;
      gap: 26px;
      justify-content: center;
      margin-top: 28px;
      font-size: 14px;
    }
    .fixed {
      display: none;
    }
    footer {
      padding: 35px;
      text-align: center;
    }
    body > header details {
      display: none;
    }
    .mini {
      font-size: 12px;
    }
    .hero span,
    h2 span {
      display: inline-block;
    }
    @media (max-width: 650px) {
      header {
        padding: 12px 22px;
      }
      .logo {
        font-size: 30px;
      }
      nav {
        display: none;
      }
      body > header details {
        display: block;
        padding: 0;
        border: 0;
      }
      header details[open] {
        position: absolute;
        z-index: 5;
        right: 20px;
        top: 20px;
        background: #faf7f2;
        padding: 14px;
      }
      header details a {
        display: block;
        padding: 8px;
      }
      .wrap {
        padding: 45px 24px;
      }
      .hero .wrap {
        padding-top: 40px;
        padding-bottom: 30px;
      }
      .hero {
        background-position: 58% center;
      }
      h1 {
        font-size: clamp(24px, 7vw, 30px);
        line-height: 1.55;
      }
      h2 {
        font-size: clamp(20px, 5.5vw, 24px);
      }
      h3 {
        font-size: 20px;
      }
      p {
        font-size: 14px;
      }
      .eyebrow {
        font-size: 11px;
        letter-spacing: 0.05em;
      }
      .hero .actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .btn {
        padding: 12px 10px;
        font-size: 12px;
      }
      .counselor {
        grid-template-columns: 1fr;
        gap: 25px;
        padding-top: 28px;
      }
      .portrait {
        width: min(100%, 280px);
        margin: auto;
      }
      .cards,
      .steps,
      .plans,
      .two {
        grid-template-columns: 1fr;
      }
      .cards {
        gap: 13px;
      }
      .card {
        padding: 23px;
      }
      .steps {
        gap: 20px;
      }
      .plan .lead {
        min-height: 0;
      }
      .plan {
        padding: 25px;
      }
      .studio-section {
        padding-top: 44px;
        padding-bottom: 44px;
      }
      .studio-card {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 22px;
      }
      .studio-photo {
        width: min(100%, 280px);
        margin: 0 auto;
      }
      .studio-points {
        grid-template-columns: 1fr;
      }
      .studio-links {
        display: grid;
        gap: 12px;
      }
      .fixed {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
        background: #faf7f2;
        z-index: 10;
        box-shadow: 0 -3px 18px #40373415;
      }
      .fixed .btn {
        font-size: 13px;
      }
      footer {
        padding-bottom: 100px;
      }
      .social {
        flex-wrap: wrap;
      }
      summary {
        font-size: 14px;
      }
    }

    .blog-discovery {
      padding-top: 8px;
      padding-bottom: 64px;
    }
    .discovery-intro {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 24px;
      margin-bottom: 24px;
    }
    .discovery-intro h2 {
      margin-bottom: 8px;
    }
    .discovery-intro p {
      margin-bottom: 0;
    }
    .text-link {
      color: #82515e;
      font-weight: 700;
      white-space: nowrap;
    }
    .pickup {
      display: grid;
      grid-template-columns: 1fr 1.3fr;
      border: 1px solid #dfccd0;
      border-radius: 18px;
      overflow: hidden;
      background: #fff;
      text-decoration: none;
      color: inherit;
      box-shadow: 0 8px 24px #82515e0c;
    }
    .pickup.pickup-no-image {
      grid-template-columns: 1fr;
    }
    .pickup img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #f8f3ef;
      min-height: 220px;
    }
    .pickup-copy {
      padding: 30px;
    }
    .pickup-copy h3 {
      font-size: 22px;
      line-height: 1.7;
      margin: 12px 0;
    }
    .pickup-copy p {
      font-size: 14px;
    }
    .pickup-meta {
      font-size: 12px;
      color: #82515e;
      letter-spacing: 0.06em;
    }
    .pickup-more {
      font-weight: 700;
      color: #82515e;
    }
    .instagram-panel {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 40px;
      align-items: center;
      background: linear-gradient(120deg, #f6e7e0, #eee3ef);
      border: 1px solid #e6d3dc;
      border-radius: 22px;
      padding: 40px;
      text-align: left;
    }
    .instagram-mark {
      font-size: 44px;
      font-family: Georgia, serif;
      color: #82515e;
      line-height: 1.2;
      margin-bottom: 18px;
    }
    .instagram-handle {
      font-size: 18px;
      font-weight: 700;
      color: #82515e;
    }
    .instagram-panel h2 {
      font-size: 26px;
    }
    .instagram-btn {
      background: #82515e;
      color: white;
    }
    .instagram-panel p {
      font-size: 15px;
    }
    .pickup:focus-visible,
    .instagram-btn:focus-visible {
      outline: 3px solid #82515e;
      outline-offset: 5px;
    }
    @media (max-width: 650px) {
      .blog-discovery {
        padding-top: 4px;
        padding-bottom: 40px;
      }
      .discovery-intro {
        display: block;
      }
      .discovery-intro .text-link {
        display: inline-block;
        margin-top: 14px;
      }
      .pickup {
        grid-template-columns: 1fr;
      }
      .pickup img {
        height: auto;
        min-height: 0;
        aspect-ratio: 16/9;
      }
      .pickup-copy {
        padding: 22px;
      }
      .pickup-copy h3 {
        font-size: 20px;
      }
      .instagram-panel {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 26px 22px;
      }
      .instagram-mark {
        font-size: 36px;
        margin-bottom: 10px;
      }
      .instagram-panel h2 {
        font-size: 22px;
      }
      .instagram-btn {
        display: flex;
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        font-size: 14px;
      }
    }
    .ibj-section {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .ibj-panel {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 210px;
      gap: 50px;
      align-items: center;
      padding: 42px 46px;
      border: 1px solid #dfccd0;
      border-radius: 20px;
      background: #fff;
    }
    .ibj-panel h2 {
      margin-bottom: 18px;
    }
    .ibj-panel p {
      margin-bottom: 12px;
    }
    .ibj-banner {
      display: flex;
      justify-content: center;
      align-items: center;
      min-height: 110px;
      padding: 24px;
      background: #faf7f4;
      border-radius: 14px;
    }
    .ibj-banner img {
      display: block;
      width: 170px;
      height: 60px;
    }
    .ibj-note {
      font-size: 13px;
      color: #705f62;
    }
    @media (max-width: 650px) {
      .ibj-section {
        padding-top: 40px;
        padding-bottom: 40px;
      }
      .ibj-panel {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 28px 22px;
      }
      .ibj-banner {
        min-height: auto;
        padding: 22px;
      }
      .ibj-panel h2 {
        font-size: 22px;
      }
    }
    .hero-heading-sub {
      display: block;
      margin-bottom: 24px;
      color: #8b5360;
      font-family: JP, sans-serif;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.6;
      letter-spacing: 0.1em;
    }
    .hero-heading-main {
      display: block;
    }
    @media (max-width: 600px) {
      .hero-heading-sub {
        margin-bottom: 18px;
        font-size: 13px;
      }
    }
  
/* Preserve responsive portrait height with explicit intrinsic dimensions. */
.portrait { height: auto; }
