/* ================================================================
   JSK DESKTOP MASTER — EXECUTIVE EDITORIAL
   Layout integration only. v61 remains the authority for wording,
   typography sizes, interactions, video, forms, and responsive rules.
   ================================================================ */

@media (min-width:1120px){
  html{
    --master-navy:#101c35;
    --master-navy-2:#172746;
    --master-gold:#9b6a18;
    --master-gold-light:#c6a15b;
    --master-cream:#f4f0e7;
    --master-paper:#fbfaf6;
    --master-sand:#eae4d8;
    --master-line:rgba(22,35,61,.19);
  }

  body.executive-editorial-master{background:var(--master-paper);color:var(--ink);}
  body.executive-editorial-master .wrap{max-width:1120px;}

  /* Header — the full v61 navigation and controls remain. */
  body.executive-editorial-master header{
    background:rgba(251,250,246,.96);
    border-bottom:1px solid var(--master-line);
    box-shadow:none;
    backdrop-filter:blur(12px);
  }
  body.executive-editorial-master header .nav{
    display:grid;grid-template-columns:150px minmax(0,1fr) 360px;column-gap:20px;
    max-width:1280px;padding-left:30px;padding-right:30px;
  }
  body.executive-editorial-master header .nav > a:first-of-type{justify-self:start;}
  body.executive-editorial-master header .nav-links{
    display:grid;grid-template-columns:repeat(5,max-content);justify-content:space-between;
    width:100%;gap:0;
  }
  body.executive-editorial-master header .nav-right{
    width:100%;justify-content:flex-end;
  }
  body.executive-editorial-master header .nav-links a{position:relative;border-bottom-color:transparent;}
  body.executive-editorial-master header .nav-links a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
    background:var(--master-gold);transition:right 180ms ease-out;
  }
  body.executive-editorial-master header .nav-links a:hover::after,
  body.executive-editorial-master header .nav-links a:focus-visible::after{right:0;}
  body.executive-editorial-master header .nav-cta,
  html[lang="ko"] body.executive-editorial-master header .nav-right > .nav-cta{
    background:var(--master-navy);border-color:var(--master-navy);color:#fff;
  }

  /* Hero — faithful Direction 1 split: text and a sharp, independent portrait. */
  body.executive-editorial-master .hero{
    position:relative;overflow:hidden;min-height:0;padding:58px 0 0;
    text-align:left;background:var(--master-cream);border-bottom:0;
  }
  body.executive-editorial-master .hero::after{content:none;}
  body.executive-editorial-master .hero .caption{
    position:relative;z-index:2;width:min(52vw,680px);max-width:none;min-height:670px;
    margin:0 0 0 max(32px,calc((100vw - 1120px)/2));text-align:left;
  }
  body.executive-editorial-master .hero .eyebrow{color:var(--master-gold);}
  body.executive-editorial-master .hero .caption-rule{
    width:112px;margin-left:0;border-top-color:var(--master-gold);
  }
  body.executive-editorial-master .hero .caption-rule.thin{
    width:100%;border-top-color:var(--master-line);
  }
  body.executive-editorial-master .hero h1{max-width:680px;}
  body.executive-editorial-master .hero .dek{max-width:650px;}
  body.executive-editorial-master .hero .docket-row{
    width:min(calc(100vw - 64px),1120px);justify-content:flex-start;
    margin-left:0;margin-right:0;text-align:left;
  }
  body.executive-editorial-master .hero .docket-row span{white-space:nowrap;}
  body.executive-editorial-master .hero .hero-actions{margin-left:0;margin-right:0;}
  body.executive-editorial-master .hero .btn-primary{
    background:var(--master-navy);border-color:var(--master-navy);
  }
  body.executive-editorial-master .master-hero-portrait{
    position:absolute;z-index:1;top:58px;right:max(32px,calc((100vw - 1120px)/2));
    width:min(34vw,400px);height:650px;margin:0;overflow:hidden;
    background:var(--master-navy);box-shadow:18px 18px 0 rgba(155,106,24,.18);
  }
  body.executive-editorial-master .master-hero-portrait img{
    display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:none;
  }
  body.executive-editorial-master .hero .stats{
    position:relative;z-index:3;max-width:1280px;margin-top:58px;padding:0;
    color:var(--white);background:var(--master-navy);border-top:0;
    box-shadow:0 20px 55px rgba(16,28,53,.16);
  }
  body.executive-editorial-master .hero .stat{
    padding-left:30px;padding-right:30px;text-align:left;border-right-color:rgba(255,255,255,.16);
  }
  body.executive-editorial-master .hero .stat:first-child{border-left:1px solid rgba(255,255,255,.16);}
  body.executive-editorial-master .hero .stat-num{color:var(--master-gold-light);}
  body.executive-editorial-master .hero .stat-label{color:rgba(255,255,255,.78);}
  body.executive-editorial-master .hero .sector-block{
    position:relative;z-index:3;max-width:1280px;background:var(--master-paper);
    border-top:0;border-bottom:1px solid var(--master-line);
  }
  body.executive-editorial-master .hero .sector-label{color:var(--master-gold);}

  /* Section surfaces and rhythm. */
  body.executive-editorial-master #about,
  body.executive-editorial-master #practice,
  body.executive-editorial-master #contact{background:var(--master-paper);}
  body.executive-editorial-master #experience,
  body.executive-editorial-master #approach{background:var(--master-sand);}
  body.executive-editorial-master .section-head{
    padding-bottom:28px;border-bottom:1px solid var(--master-line);
  }
  body.executive-editorial-master .section-label{color:var(--master-gold);}

  /* About Counsel — full portrait, introduction video and credentials retained. */
  body.executive-editorial-master #about{padding-top:118px;padding-bottom:118px;}
  body.executive-editorial-master #about .about{grid-template-columns:.76fr 1.24fr;gap:86px;}
  body.executive-editorial-master #about .about-portrait{
    border:0;box-shadow:18px 18px 0 var(--master-sand);
  }
  body.executive-editorial-master #about .portrait-caption{
    padding-bottom:18px;border-bottom:1px solid var(--master-line);
  }
  body.executive-editorial-master #about .about-copy h2.section-label{
    color:var(--master-navy);font-family:'P052','Noto Serif',serif;letter-spacing:-.015em;
  }
  body.executive-editorial-master #about .about-copy h2.section-label::before{
    content:"01 / ";display:block;margin-bottom:14px;color:var(--master-gold);
    font:600 12px/1 'IBM Plex Mono',monospace;letter-spacing:.14em;
  }
  body.executive-editorial-master #about .credentials{
    padding-top:30px;border-top:1px solid var(--master-line);
  }
  body.executive-editorial-master #about .entity-name{color:var(--master-gold);}

  /* Track Record — two real columns; numbering sits outside the grid. */
  body.executive-editorial-master #experience{
    counter-reset:career;padding-top:112px;padding-bottom:112px;
  }
  body.executive-editorial-master #experience .section-label::before{content:"02 / ";}
  body.executive-editorial-master #experience .tl-row{
    position:relative;counter-increment:career;display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);column-gap:58px;
    padding-left:54px;padding-right:0;align-items:start;transition:background 180ms ease-out;
  }
  body.executive-editorial-master #experience .tl-row::before{
    content:"0" counter(career);position:absolute;top:calc(var(--career-pad) + 7px);left:0;
    width:auto;height:auto;padding:0;color:var(--master-gold);background:none;
    font:600 10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.12em;
  }
  body.executive-editorial-master #experience .tl-org{grid-column:1;}
  body.executive-editorial-master #experience .tl-desc{grid-column:2;max-width:none;}
  body.executive-editorial-master #experience .tl-row:hover{
    padding-left:54px;background:rgba(255,255,255,.27);
  }

  /* Practice Areas — long-form v61 prose uses a spacious editorial ledger. */
  body.executive-editorial-master #practice{padding-top:112px;padding-bottom:112px;}
  body.executive-editorial-master #practice .section-label::before{content:"03 / ";}
  body.executive-editorial-master #practice .area-grid{
    display:block;border-top:1px solid var(--master-line);border-left:0;
  }
  body.executive-editorial-master #practice .area-card,
  body.executive-editorial-master #practice .area-card:last-child{
    display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);column-gap:72px;
    min-height:0;margin:0;padding:44px 0;color:inherit;background:transparent;
    border:0;border-bottom:1px solid var(--master-line);box-shadow:none;transform:none;
    transition:background 180ms ease-out;
  }
  body.executive-editorial-master #practice .area-card:hover,
  body.executive-editorial-master #practice .area-card:focus-within{
    position:relative;z-index:auto;color:inherit;background:rgba(234,228,216,.42);
    box-shadow:none;transform:none;
  }
  body.executive-editorial-master #practice .area-card h3{grid-column:1;}
  body.executive-editorial-master #practice .area-card p,
  body.executive-editorial-master #practice .area-card:hover p,
  body.executive-editorial-master #practice .area-card:focus-within p{
    grid-column:2;max-width:none;color:var(--body-ink);
  }
  body.executive-editorial-master #practice .area-link{
    grid-column:2;margin-top:22px;padding-top:0;
  }
  body.executive-editorial-master .areas-cta,
  body.executive-editorial-master .matters-cta{
    background:var(--master-sand);border:1px solid var(--master-line);box-shadow:none;
  }

  /* Selected Experience — warm editorial evidence field; every v61 matter remains. */
  body.executive-editorial-master #results{
    padding-top:112px;padding-bottom:112px;color:var(--ink);background:var(--master-sand);
    border-top:1px solid var(--master-line);border-bottom:1px solid var(--master-line);
  }
  body.executive-editorial-master #results .section-head{
    border-bottom-color:var(--master-line);
  }
  body.executive-editorial-master #results .section-label::before{content:"04 / ";}
  body.executive-editorial-master #results .section-title,
  body.executive-editorial-master #results .matter-item h3{color:var(--master-navy);}
  body.executive-editorial-master #results .matters-intro,
  body.executive-editorial-master #results .matters-footnote,
  body.executive-editorial-master #results .matter-item p{color:var(--body-ink);}
  body.executive-editorial-master #results .matters-group-label,
  body.executive-editorial-master #results .matter-cat,
  body.executive-editorial-master #results .matter-metric{color:var(--master-gold);}
  body.executive-editorial-master #results .matters-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--master-line);border-left:1px solid var(--master-line);
  }
  body.executive-editorial-master #results .matter-item{
    padding:40px;border:0;border-right:1px solid var(--master-line);
    border-bottom:1px solid var(--master-line);background:rgba(251,250,246,.24);
    transition:background 180ms ease-out;
  }
  body.executive-editorial-master #results .matter-item:hover{background:rgba(251,250,246,.72);}
  body.executive-editorial-master #results .results-intro-hover-v51:hover .section-title .ill-hold{
    color:#7d5718;
    text-shadow:0 0 2px rgba(155,106,24,.18),0 0 7px rgba(155,106,24,.12);
  }
  body.executive-editorial-master #results .matter-item:hover .matter-cat,
  body.executive-editorial-master #results .matter-item:hover h3,
  body.executive-editorial-master #results .matter-item:hover .matter-metric{
    animation:none;
  }
  body.executive-editorial-master #results .matter-item:hover .matter-cat,
  body.executive-editorial-master #results .matter-item:hover .matter-metric{
    color:#805914;text-shadow:0 0 4px rgba(155,106,24,.14);
  }
  body.executive-editorial-master #results .matter-item:hover h3{
    color:#182947;text-shadow:0 0 5px rgba(24,41,71,.11);
  }
  body.executive-editorial-master #results .matters-cta{color:var(--ink);background:var(--master-paper);}
  body.executive-editorial-master #results .matters-cta p{color:var(--charcoal);}

  /* Our Approach — editorial split, original quotation and glow retained. */
  body.executive-editorial-master #approach{padding-top:100px;padding-bottom:100px;}
  body.executive-editorial-master #approach .approach{
    display:grid;grid-template-columns:.46fr 1.54fr;column-gap:90px;max-width:1120px;
    text-align:left;align-items:start;
  }
  body.executive-editorial-master #approach .section-label{margin:0;}
  body.executive-editorial-master #approach .section-label::before{
    content:"05 / ";display:block;margin-bottom:14px;color:var(--master-gold);
    font:600 12px/1 'IBM Plex Mono',monospace;letter-spacing:.14em;
  }
  body.executive-editorial-master #approach blockquote{margin:0;}
  body.executive-editorial-master #approach cite{grid-column:2;text-align:left;}

  /* Contact — v61 form, validation, prefill and actions retained. */
  body.executive-editorial-master #contact{
    padding-top:112px;padding-bottom:112px;background:var(--master-navy);
  }
  body.executive-editorial-master #contact .section-label::before{content:"06 / ";}
  body.executive-editorial-master #contact .contact-grid{
    grid-template-columns:.82fr 1.18fr;gap:90px;
  }
  body.executive-editorial-master #contact form{
    padding-left:60px;border-left:1px solid rgba(255,255,255,.20);
  }
  body.executive-editorial-master footer{background:#091328;}

  /* Korean keeps its complete v61 typography and line-breaking behavior. */
  html[lang="ko"] body.executive-editorial-master #about .about-copy h2.section-label::before,
  html[lang="ko"] body.executive-editorial-master #approach .section-label::before{
    font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;letter-spacing:.025em;
  }
  html[lang="ko"] body.executive-editorial-master .hero .caption{width:min(52vw,680px);}
}

@media (prefers-reduced-motion:reduce){
  body.executive-editorial-master *{scroll-behavior:auto !important;}
}

/* ================================================================
   HEADER NAVIGATION — PROPORTIONAL THREE-ZONE SYSTEM
   Desktop only (>=1120px). Replaces the fixed 360px utility track and
   the five unequal max-content category columns with one governing
   geometry shared by English and Korean:

     zone 1  brand      intrinsic width, logo pinned to the container's
                        left padding edge (position, artwork, size and
                        vertical alignment all unchanged)
     zone 2  categories five equal positioning tracks, each label
                        centred on its own track
     zone 3  utility    intrinsic width, so EN | KO and the
                        consultation button reserve no empty field

   Nothing here touches wording, order, family, size, weight, letter
   spacing, word spacing, case, colour, hover, focus, underline,
   header height, background, border, sticky behaviour, logo artwork
   or dimensions, language-selector typography, or the consultation
   button's typography, dimensions and colours.
   ================================================================ */
@media (min-width:1120px){

  /* Measured column-gap. The header container is capped at 1280px, so
     its inner width does not grow past 1220px; a gap that scales with
     the viewport would therefore steal width from the category band on
     wide screens. The gap is therefore held to the smallest value
     that still reads as a structural separation, so that every
     remaining pixel goes to the category band: English needs a
     133.6px interval for its widest adjacent pair (EXPERIENCE 113.6px
     + PRACTICE AREAS 153.5px), i.e. 667.8px of band, and only 695.6px
     is available inside the 1280px container. The clamp(20px,2vw,36px)
     starting point measures 36px from 1800px up, which drives the
     English band down to 129.9px per track - 3.7px below what those
     two labels need - so it overlaps precisely on the widest screens.
     The visible clearance at each end of the band comes from the
     half-track, not from this gap. */
  body.executive-editorial-master header .nav{
    grid-template-columns:max-content minmax(0,1fr) max-content;
    column-gap:clamp(10px,1vw,12px);
  }

  body.executive-editorial-master header .nav-links{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    justify-content:normal;
    width:100%;
    min-width:0;
    gap:0;
    align-items:center;
  }

  body.executive-editorial-master header .nav-links a{
    justify-self:center;
    white-space:nowrap;
  }

  body.executive-editorial-master header .nav-right{
    width:max-content;
    justify-self:end;
  }
}

/* ---------- English 1120-1279px: measured structural exception ------
   The five equal tracks are held at every width from 1280px up, where
   the header container reaches its 1280px cap and its inner width
   stops changing. Below that the container follows the viewport, and
   English cannot hold equal centres without the labels colliding:

     equal-centre interval required by the widest adjacent English
     pair (EXPERIENCE 113.6px + PRACTICE AREAS 153.5px) = 133.6px
     five such tracks                                   = 667.8px
     category band actually available at 1120px         = 539.6px
     deficit                                            = 128.2px

   The deficit cannot be closed inside this brief: the logo, the
   navigation type size and the consultation button may not shrink,
   the utility zone is already intrinsic, and driving the inter-zone
   gap to zero recovers only 22.4px. Overlapping labels are a visible
   defect, so English alone falls back to its content-distributed band
   between 1120px and 1279.98px. Korean holds the equal-track system
   at every desktop width, 1120px included. Everything else in the
   three-zone architecture - intrinsic brand track, intrinsic utility
   track, shared gap, centred alignment - is unchanged here. */
@media (min-width:1120px) and (max-width:1279.98px){
  html[lang="en"] body.executive-editorial-master header .nav-links{
    grid-template-columns:repeat(5,max-content);
    justify-content:space-between;
  }
}

/* ================================================================
   HEADER NAVIGATION — SPACING REFINEMENT
   Desktop only (>=1120px). Two deliberately different corrections.

   ENGLISH — no rule is added. The five-track system already sets
   ABOUT and CONTACT as the outer anchors and places the three middle
   categories on exactly the 25% / 50% / 75% marks between them
   (measured deviation 0.0px at 1280-1920px), so the requested
   distribution is already in force; any further rule could only
   disturb the two anchors that must not move.

   KOREAN — the five categories contract around their own midpoint.
   Each of the four visible edge-to-edge gaps is reduced to 80% of
   its rendered value, which narrows the group and returns the
   recovered width to the two outer clearances: the logo gains room
   before 소개 and EN | KO gains room after 문의. The group stays
   centred in the same track, so its midpoint does not move, and the
   logo, EN | KO and the consultation button are untouched.

   Why two declarations rather than a single gap. With the five
   labels measuring 35.3 / 76.3 / 76.3 / 76.3 / 35.3px, the outer
   gaps and the inner gaps are not equal to begin with:
   G1 = G4 = track - 55.8px and G2 = G3 = track - 76.3px, a constant
   20.5px apart. Taking 80% of each therefore leaves the outer gaps
   0.8 x 20.5 = 16.4px wider than the inner ones - the same 16.4px at
   every desktop width. The flex column-gap carries 80% of the inner
   gap; one 16.4px inline margin on each outer category carries the
   remainder. No spacer element, blank text or non-breaking space is
   used, and no label is positioned absolutely.

   The column-gap follows the band the header actually offers. That
   band is min(viewport,1280) - 407.91px - 2 x inter-zone gap, the
   track is a fifth of it, and the target inner gap is
   0.8 x (track - 76.3px), which resolves to 16vw - 130.15px: capped
   at 74.65px from 1280px up, where the container stops growing, and
   floored at the 1120px value. Measured deviation from an exact 80%
   target is at most 0.3px, so every gap lands between 20.0% and
   20.4% reduction.
   ================================================================ */
@media (min-width:1120px){

  html[lang="ko"] body.executive-editorial-master header .nav-links{
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:center;
    width:100%;
    min-width:0;
    column-gap:clamp(49.05px,calc(16vw - 130.15px),74.65px);
  }

  html[lang="ko"] body.executive-editorial-master header .nav-links a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  html[lang="ko"] body.executive-editorial-master header .nav-links a:first-child{
    margin-right:16.4px;
  }

  html[lang="ko"] body.executive-editorial-master header .nav-links a:last-child{
    margin-left:16.4px;
  }
}

/* ================================================================
   ENGLISH HEADER NAVIGATION — EQUAL VISIBLE SPACES
   Desktop only (>=1120px). English only; the approved Korean rule
   above is not touched.

   The five-track system distributed the categories by equal centre
   distance. Because ABOUT (56.81px), EXPERIENCE (113.61px),
   PRACTICE AREAS (153.45px), RESULTS (79.53px) and CONTACT
   (79.53px) are very different widths, equal centres produced very
   unequal empty spaces - 53.91 / 5.61 / 22.64 / 59.59px - with
   EXPERIENCE and PRACTICE AREAS almost touching. What must be equal
   is the visible space between the labels, not the distance between
   their centres.

   The five labels therefore become intrinsic-width flex items with
   the free space divided equally between them by space-between.
   That alone would pull ABOUT and CONTACT out to the edges of the
   navigation track and move both anchors, so the track is inset by
   the exact measured amount that leaves each anchor where it is:
   under the five-track system ABOUT's left edge sat
   (track - 56.81)/2 = 41.16px inside the band and CONTACT's right
   edge sat (track - 79.53)/2 = 29.81px inside it. Those two insets
   are constant from 1280px up, where the header container reaches
   its cap and the track stops changing, so they are applied as a
   measured padding-inline there and are zero below 1280px, where the
   band already begins at ABOUT's left edge and ends at CONTACT's
   right edge.

   Result: ABOUT and CONTACT keep their rendered rectangles to
   0.00px, the group's overall width is unchanged, and the four
   visible gaps become equal - 35.44px each from 1280px up, and the
   full width of the band divided evenly below it.
   ================================================================ */
@media (min-width:1120px){

  html[lang="en"] body.executive-editorial-master header .nav-links{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    align-items:center;
    width:100%;
    min-width:0;
    gap:0;
    padding-inline:0;
  }

  html[lang="en"] body.executive-editorial-master header .nav-links a{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* Measured insets that hold the two outer anchors in place at the
   widths where the header container is at its 1280px cap. */
@media (min-width:1280px){
  html[lang="en"] body.executive-editorial-master header .nav-links{
    padding-inline:41.16px 29.81px;
  }
}

/* ================================================================
   ENGLISH HERO CREDENTIAL LINE — ONE UNBROKEN LINE
   Desktop only (>=1120px). English only; ko.html is not reachable
   by any selector here.

   The credential read as three inline runs inside a block, so the
   browser was free to break wherever it liked - and with 0.1em
   tracking plus a "&nbsp;•&nbsp;" separator the run measured 718.2px
   against a 680px caption column, which stranded the single word
   LEADER on a second line at the far left.

   The line is now a nowrap flex row of two indivisible phrases with
   the bullet as its own item carrying symmetric margins, the
   separator's non-breaking spaces are gone from the markup, and the
   tracking is eased from 0.1em to 0.05em - the midpoint of the
   permitted 0.04em-0.06em range, which fits comfortably without
   crowding the letters. Font family, weight, size (18.25px), gold
   colour, uppercase treatment and the existing hover illumination
   are all untouched.

   Below 1246px the caption column is too narrow to carry the line at
   a readable size, so the two phrases each take a full row and the
   bullet is hidden - two deliberate lines, never a stranded LEADER.
   ================================================================ */
@media (min-width:1120px){

  html[lang="en"] body.executive-editorial-master .hero .eyebrow{
    display:flex;
    flex-wrap:nowrap;
    align-items:baseline;
    justify-content:flex-start;
    width:max-content;
    /* The line may reach at most 24px past the caption column toward
       the portrait. The gutter between the two is 54px at every
       desktop width, so a clean gap always remains. */
    max-width:calc(100% + 24px);
    letter-spacing:0.05em;
  }

  html[lang="en"] body.executive-editorial-master .hero .eyebrow .cred{
    white-space:nowrap;
    flex:0 0 auto;
  }

  html[lang="en"] body.executive-editorial-master .hero .eyebrow .cred-sep{
    flex:0 0 auto;
    margin-inline:0.62em;
    white-space:nowrap;
  }
}

/* Narrower desktop: two deliberate lines, bullet withdrawn. */
@media (min-width:1120px) and (max-width:1245.98px){
  html[lang="en"] body.executive-editorial-master .hero .eyebrow{
    flex-wrap:wrap;
    row-gap:2px;
    width:auto;
    max-width:100%;
  }
  html[lang="en"] body.executive-editorial-master .hero .eyebrow .cred{
    flex:0 0 100%;
  }
  html[lang="en"] body.executive-editorial-master .hero .eyebrow .cred-sep{
    display:none;
  }
}

/* ================================================================
   SECTION NUMBERING — ONE TWO-LEVEL HIERARCHY
   Desktop only (>=1120px), English and Korean.

   The six main numbers were previously three different things: 01 /
   and 05 / were declared at 12px IBM Plex Mono, while 02 /, 03 /,
   04 / and 06 / carried no declarations of their own and simply
   inherited whatever .section-label happened to be in that section -
   25px Arial in English Track Record, Practice Areas and Selected
   Experience, 20px DejaVu Serif in Get In Touch, and 25.5-28px Noto
   Serif KR on the Korean page. Korean additionally re-pointed the
   01 / and 05 / prefixes at Noto Sans KR.

   All six are now declared explicitly, so no heading typography can
   reach them, and the internal Track Record counters are raised from
   10px to 11.5px so they read as a clearly subordinate second level.
   The gold is the same var(--master-gold) the numbers already used -
   rgb(155,106,24) measured on all six before the change - so no
   colour moves. Section names, wording, order, and every other
   heading property are untouched.
   ================================================================ */
@media (min-width:1120px){

  body.executive-editorial-master #about .about-copy h2.section-label::before,
  html[lang="ko"] body.executive-editorial-master #about .about-copy h2.section-label::before,
  body.executive-editorial-master #experience .section-label::before,
  body.executive-editorial-master #practice .section-label::before,
  body.executive-editorial-master #results .section-label::before,
  body.executive-editorial-master #approach .section-label::before,
  html[lang="ko"] body.executive-editorial-master #approach .section-label::before,
  body.executive-editorial-master #contact .section-label::before{
    font-family:'IBM Plex Mono',monospace;
    font-size:14px;
    font-weight:600;
    line-height:1;
    letter-spacing:0.12em;
    color:var(--master-gold);
    display:block;
    margin-bottom:14px;
    white-space:nowrap;
  }

  body.executive-editorial-master #about .about-copy h2.section-label::before{content:"01 /";}
  body.executive-editorial-master #experience .section-label::before{content:"02 /";}
  body.executive-editorial-master #practice .section-label::before{content:"03 /";}
  body.executive-editorial-master #results .section-label::before{content:"04 /";}
  body.executive-editorial-master #approach .section-label::before{content:"05 /";}
  body.executive-editorial-master #contact .section-label::before{content:"06 /";}

  /* Subordinate level: the five Track Record entry numbers. Position,
     counter, sequence, row padding and hover are all left as they are;
     only the size steps 10px -> 11.5px. */
  body.executive-editorial-master #experience .tl-row::before{
    font-family:'IBM Plex Mono',monospace;
    font-size:11.5px;
    font-weight:600;
    line-height:1.5;
    letter-spacing:0.12em;
    color:var(--master-gold);
  }
}

/* ================================================================
   SECTION NUMBERING — CHARTER AUTHORITY (Option 10)
   The numerals and their slash move from IBM Plex Mono to genuine
   Bitstream Charter Bold, self-hosted so no visitor depends on
   having the face installed. Source: the Bitstream Charter Bold
   Type 1 outline font (PostScript name CharterBT-Bold) donated by
   Bitstream Inc. to the X Consortium, converted to WOFF2 with the
   outlines, metrics and character set unchanged. The license notice
   is reproduced at assets/fonts/licenses/Bitstream-Charter-LICENSE.txt.

   Only the numbers change face. Sizes (14px / 11.5px), weight,
   line-heights, gold, block display, 14px separation, alignment,
   counter, sequence and position all stay as approved; tracking
   eases from the monospace 0.12em to the 0.06em / 0.05em this serif
   asks for. Section names keep their own typefaces in both
   languages.
   ================================================================ */
@font-face{
  font-family:"JSK Charter Numbers";
  src:url("fonts/bitstream-charter-bold.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

@media (min-width:1120px){

  body.executive-editorial-master #about .about-copy h2.section-label::before,
  html[lang="ko"] body.executive-editorial-master #about .about-copy h2.section-label::before,
  body.executive-editorial-master #experience .section-label::before,
  body.executive-editorial-master #practice .section-label::before,
  body.executive-editorial-master #results .section-label::before,
  body.executive-editorial-master #approach .section-label::before,
  html[lang="ko"] body.executive-editorial-master #approach .section-label::before,
  body.executive-editorial-master #contact .section-label::before{
    font-family:"JSK Charter Numbers","Bitstream Charter",Charter,serif;
    font-size:14px;
    font-style:normal;
    font-weight:700;
    line-height:1;
    letter-spacing:0.06em;
    color:var(--master-gold);
    display:block;
    margin-bottom:14px;
    white-space:nowrap;
    font-variant-numeric:lining-nums tabular-nums;
  }

  body.executive-editorial-master #experience .tl-row::before{
    font-family:"JSK Charter Numbers","Bitstream Charter",Charter,serif;
    font-size:11.5px;
    font-style:normal;
    font-weight:700;
    line-height:1.5;
    letter-spacing:0.05em;
    color:var(--master-gold);
    font-variant-numeric:lining-nums tabular-nums;
  }
}

/* ================================================================
   CONTACT LEFT COLUMN — ENGLISH GROUP SPACING
   English only; the Korean column is approved and untouched. The
   three information groups used a 6px label-to-value gap against a
   20px group-to-group gap, which read as one crowded block. The
   label now sits 10px above its value and each completed group
   clears the next label by 27px, so the three read as distinct
   blocks. Wording, typography, sizes, colours, link and underline
   behaviour, column position, width and alignment are unchanged,
   and no spacer markup is used - only margins on the existing
   <dl> and <dt>.
   ================================================================ */
@media (min-width:1120px){
  html[lang="en"] body.executive-editorial-master #contact .contact-detail{
    margin-bottom:27px;
  }
  html[lang="en"] body.executive-editorial-master #contact .contact-detail dt{
    margin-bottom:10px;
  }

  /* ENGLISH "(Optional)" — 12px -> 13px beside the 17px field label.
     Family, weight, colour, opacity, parentheses, tracking, case,
     baseline alignment and horizontal spacing are all untouched, and
     the Korean "(선택사항)" is not reachable by this selector. */
  html[lang="en"] body.executive-editorial-master #contact .field-optional{
    font-size:13px;
  }
}

/* ================================================================
   FOOTER — EXECUTIVE SANS (Option 1)
   Genuine Nimbus Sans Regular, self-hosted. Source:
   NimbusSans-Regular.otf from the URW Base 35 collection, repackaged
   to WOFF2 with outlines, metrics and character set unchanged; the
   license notice is at assets/fonts/licenses/Nimbus-Sans-LICENSE.txt.

   English: both the copyright and the privacy/disclaimer link.
   Korean: the copyright only - 개인정보 처리방침 및 면책고지 keeps its
   approved Korean typography. Wording, symbol, year, capitalisation,
   colour, size, placement, footer height, alignment, padding,
   background, top border, link destination, hover and focus are all
   unchanged; only the family and its 0.04em tracking are declared.
   ================================================================ */
@font-face{
  font-family:"JSK Executive Sans";
  src:url("fonts/nimbus-sans-regular.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@media (min-width:1120px){
  html[lang="en"] body.executive-editorial-master footer .footer-row > span,
  html[lang="en"] body.executive-editorial-master footer .footer-row > span > a,
  html[lang="ko"] body.executive-editorial-master footer .footer-row > span:first-child{
    font-family:"JSK Executive Sans","Nimbus Sans",Arial,sans-serif;
    font-style:normal;
    font-weight:400;
    letter-spacing:0.04em;
  }
}
