/* Specialty entrances and the two consultation notebooks. */
.gf-ed-wrap {
    width: min(1180px, calc(100% - 64px));
    margin-inline: auto !important;
}
.gf-editorial-hero { background: #fff; }
.gf-editorial-hero > .gf-ed-wrap { padding-block: clamp(28px,4vw,64px) 32px; }
.gf-ed-wrap h1, .gf-ed-wrap h2, .gf-ed-wrap h3, .gf-ed-wrap p { margin: 0; }
.gf-overline {
    color: #416067;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.6;
}
.gf-editorial-hero h1 {
    font-size: clamp(32px,4.5vw,64px);
    line-height: 1.18;
    letter-spacing: -.065em;
    margin: 10px 0 14px;
    color: #192d32;
}
.gf-editorial-hero .gf-lead { font-size: clamp(16px,1.4vw,20px); color: #505f63; }
.gf-paths {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(12px,2vw,26px);
    margin-top: clamp(20px,2.8vw,38px) !important;
}
.gf-path {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    min-width: 0;
    min-height: clamp(235px,23vw,310px);
    padding: clamp(20px,2.25vw,36px);
    border-radius: 16px;
    background: var(--paper);
    border-top: 4px solid var(--accent);
}
.gf-path-growth { --paper: #e6f4f3; --accent: #14726f; }
.gf-path-diet { --paper: #fcf1e2; --accent: #985021; }
.gf-path-copy { z-index: 1; pointer-events: none; max-width: 63%; }
.gf-path-copy .gf-overline { color: var(--accent); }
.gf-path h2 { font-size: clamp(28px,3vw,46px); margin-block: 10px 6px; letter-spacing: -.065em; }
.gf-path-copy > p:not(.gf-overline) { font-size: 16px; color: #37464a; }
.gf-path .gf-path-link { margin-top: clamp(18px,3.1vw,48px); }
.gf-path-link a {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 8px 17px;
    border-radius: 30px;
    background: var(--accent);
    color: white;
    text-decoration: none;
    font-weight: 650;
}
.gf-path-link a::after { content: '→'; transition: transform .2s; }
.gf-path-link a:hover::after { transform: translateX(3px); }
.gf-path .wp-block-image {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 42%;
    margin: 0;
    mix-blend-mode: multiply;
    mask-image: linear-gradient(to right,transparent,#000 18%);
    overflow: hidden;
}
.gf-path .wp-block-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gf-path-growth img { object-position: 51% 56%; }
.gf-path-diet .wp-block-image img { width: 160%; max-width: none; transform: translateX(-33%); object-position: right center; }
.gf-arrival { background: #f5f7f6; border-block: 1px solid #dce4e2; }
.gf-arrival .gf-ed-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 3px 28px; padding-block: 13px; }
.gf-arrival p { color: #37494d; font-size: 15px; line-height: 1.65; }
.gf-arrival strong { margin-right: 5px; }
.gf-arrival p:last-child { margin-left: auto; }
.gf-arrival a,.gf-text-link a,.gf-reading-links a,.gf-after-reading a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; text-underline-offset: 5px; }
.gf-growth-sheet { background: #fff; --ink: #286862; }
.gf-diet-sheet { background: #f9f2e7; --ink: #855126; }
.gf-notebook {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0,1.15fr);
    align-items: start;
    gap: clamp(28px,7vw,105px);
    padding-block: clamp(42px,6vw,88px);
}
.gf-sheet-intro h2 { font-size: clamp(28px,3.3vw,48px); line-height: 1.26; margin-block: 12px 17px; letter-spacing: -.055em; }
.gf-sheet-intro > p { max-width: 40ch; }
.gf-sheet .gf-overline, .gf-sheet .gf-text-link a { color: var(--ink); }
.gf-sheet .gf-text-link { margin-top: 12px; }
.gf-sheet-rows { counter-reset: note; border-top: 2px solid var(--ink); }
.gf-sheet .gf-entry {
    counter-increment: note;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 2px 12px;
    padding-block: 17px;
    border-bottom: 1px solid #cdd6d2;
    margin: 0;
}
.gf-sheet .gf-entry::before {
    content: counter(note, decimal-leading-zero);
    grid-row: span 2;
    font: 600 17px/1.7 Georgia,serif;
    color: var(--ink);
}
.gf-sheet .gf-entry h3 { border: 0 !important; padding: 0 !important; margin: 0 !important; font-size: 20px; }
.gf-sheet .gf-entry p { font-size: 16px; color: #415051; }
.gf-growth-sheet .gf-sheet-rows::before {
    display: block; content: ''; height: 10px; transform-origin: left;
    background: repeating-linear-gradient(90deg,#94b9b5 0 1px,transparent 1px 10px);
}
@media (prefers-reduced-motion:no-preference) {
    @supports (animation-timeline:view()) {
        .gf-growth-sheet .gf-sheet-rows::before {
            animation: gf-measure linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 90%;
        }
        @keyframes gf-measure { from { transform: scaleX(.15); } to { transform: scaleX(1); } }
    }
}
.gf-reading { background: #f5f6ef; }
.gf-reading-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; padding-block: 36px; }
.gf-reading-title h2,.gf-after-reading h2 { font-size: clamp(24px,2.6vw,34px); margin: 6px 0; }
.gf-reading-links p + p { border-top: 1px solid #ccd6ca; }
.gf-reading-links a,.gf-after-reading a { color: #235a54; }
.gf-reading-links .gf-caption { padding-top: 8px; font-size: 14px; color: #526060; }
.gf-after-reading { border-left: 3px solid #387b72; background: #f0f6f3; padding: 20px clamp(16px,3vw,32px); margin: 32px 0; }
.gf-after-reading p { margin: 0; }
#gf-team-detail .wp-block-column figure { background: #f0f4f3; }
#gf-team-detail .wp-block-column img { object-position: center 24%; }
#gf-team figure img { display:block; width: 100%; height:auto; object-fit:contain; }
@media(max-width:820px) {
    .gf-path-copy { max-width: 64%; }
    .gf-path-copy > p:not(.gf-overline) { font-size: 15px; }
    .gf-notebook { gap: 24px; }
}
@media(max-width:700px) {
    .gf-ed-wrap { width: calc(100% - 36px); }
    .gf-editorial-hero > .gf-ed-wrap { padding-block: 24px 20px; }
    .gf-editorial-hero h1 { font-size: clamp(29px,7.8vw,42px); }
    .gf-paths,.gf-notebook,.gf-reading-inner { grid-template-columns: 1fr; }
    .gf-paths { gap: 10px; }
    .gf-path { min-height: 158px; padding: 14px 18px; border-radius: 12px; }
    .gf-path h2 { font-size: 27px; margin: 4px 0 0; }
    .gf-path .gf-path-link { margin-top: 8px; }
    .gf-path .gf-overline { font-size: 13px; }
    .gf-path .wp-block-image { left: 49%; }
    .gf-path-link a { min-height: 44px; padding: 6px 13px; }
    .gf-arrival .gf-ed-wrap { gap: 2px 16px; padding-block: 11px 4px; }
    .gf-arrival p:last-child { margin-left: 0; }
    .gf-notebook { gap: 18px; padding-block: 36px; }
    .gf-sheet-intro h2 br { display:none; }
    .gf-sheet-intro h2 { margin: 6px 0 12px; }
    .gf-sheet .gf-entry { grid-template-columns: 22px 1fr; padding-block: 12px; }
    .gf-reading-inner { gap: 14px; padding-block: 26px; }
}

#gf-team { background: #f2f6f4 !important; }
#gf-team-inner {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1.65fr);
    column-gap: clamp(22px,4vw,64px);
    align-items: center;
    padding-block: clamp(30px,4vw,58px);
}
#gf-team-inner > .wp-block-columns:first-child { display: block !important; }
#gf-team-inner > .wp-block-columns:first-child h2 { max-width: 9em; text-align: left; font-size: clamp(25px,2.9vw,42px); }
#gf-team-inner > .wp-block-columns:first-child .wp-block-buttons { justify-content: flex-start; margin-top: 12px; }
#gf-team-inner > figure { grid-column: 2; grid-row: 1; margin: 0; width: 100%; }
#gf-team-inner > figure img { border-radius: 12px; max-height: none; }
#gf-team-inner > figure + .wp-block-columns { grid-column: 1/-1; margin-top: 22px; }
#gf-about-brand .wp-block-image img[src*="medical-team"] { width: 100%; height: auto; aspect-ratio: auto; }
.gf-published::before { content: '발행 '; }
@media(max-width:700px) {
    #gf-team-inner { display:block; }
    #gf-team-inner > .wp-block-columns:first-child h2 { max-width: none; }
    #gf-team-inner > figure { margin-top: 12px; }
}

/* Native flow layout adds a block margin to later grid children. */
.gf-paths > .gf-path, .gf-notebook > .wp-block-group, .gf-reading-inner > .wp-block-group {
    margin-block-start: 0;
}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference) {
    @supports (animation-timeline: view()) {
        .gf-path .wp-block-image {
            animation: gf-photo-depth linear both;
            animation-timeline: view();
            animation-range: exit 0% exit 100%;
        }
        @keyframes gf-photo-depth {
            from { transform: translateY(0); }
            to { transform: translateY(9px); }
        }
    }
}
@media(max-width:420px) {
    .gf-path-copy { max-width: 64%; }
    .gf-path-copy > p:not(.gf-overline,.gf-path-link) { max-width: 12ch; line-height: 1.5; }
    .gf-path .gf-path-link a { font-size: 14px; gap: 5px; padding-inline: 10px; white-space: nowrap; }
}
@media(max-width:420px) {
    .gf-path-copy > p:not(.gf-overline,.gf-path-link) { max-width: none; }
}
