/* Four existing stories, readable without navigation. No tiled button wall. */
.home-proof-flow{background:#F4EFE7;color:#2B2B2B;scroll-margin-top:140px}
.home-proof-flow .proof-flow-row{display:grid;grid-template-columns:1fr 1.15fr;gap:5%;align-items:center;padding:64px max(5%,calc((100% - 1240px)/2));margin:0;min-height:0;overflow:hidden}
.home-proof-flow .flow-referral,.home-proof-flow .flow-years{background:#FAF7F2}
.home-proof-flow h2{font-family:MaruBuri,serif!important;font-weight:400!important;font-size:clamp(28px,2.8vw,42px)!important;line-height:1.5!important;letter-spacing:-.025em;margin:12px 0 22px!important;color:#2B2B2B!important;word-break:keep-all}
.home-proof-flow .flow-label{font:500 13px/1.5 Pretendard,sans-serif!important;color:#2F4A3F!important;letter-spacing:.06em;margin:0}
.home-proof-flow p{font:400 16px/1.75 Pretendard,sans-serif;color:#555149;word-break:keep-all;margin:0 0 18px}
.home-proof-flow a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid #9A8766;color:#2F4A3F;font:500 14px/1.5 Pretendard,sans-serif;text-decoration:none!important}
.home-proof-flow a:hover{color:#76552D;border-color:#76552D}.home-proof-flow a:focus-visible{outline:3px solid #2F4A3F;outline-offset:5px}
.home-proof-flow figure{margin:0;min-width:0}.home-proof-flow img{display:block;width:100%;height:300px;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 10%,#000 94%,transparent);border:0;border-radius:0}
.home-proof-flow figcaption{font:400 12px/1.5 Pretendard,sans-serif;color:#6B6B6B;margin:10px 0 0;text-align:right}
.home-proof-flow .flow-donut{display:block;width:min(100%,390px);height:auto;margin:auto;overflow:visible}.home-proof-flow .donut-number{font:400 35px MaruBuri,serif;fill:#2F4A3F}.home-proof-flow .donut-center{font:400 16px Pretendard,sans-serif;fill:#5F665D}.home-proof-flow .donut-small{font:400 15px Pretendard,sans-serif;fill:#2F4A3F}
.home-proof-flow .flow-map{display:block;width:100%;height:auto;overflow:visible}.home-proof-flow .map-label{font:500 19px Pretendard,sans-serif;fill:#2B2B2B;paint-order:stroke;stroke:#F4EFE7;stroke-width:4px}.home-proof-flow .map-route{stroke-width:2px;opacity:1}.home-proof-flow .map-reveal{stroke-dashoffset:0!important;stroke-dasharray:none!important}.home-proof-flow .flow-stats strong{font:400 26px MaruBuri,serif;color:#8B6B39;margin-right:8px}.home-proof-flow small{display:block;font:400 12px/1.5 Pretendard,sans-serif;color:#6B6B6B;margin-bottom:10px}
@media(max-width:767px){.home-proof-flow .proof-flow-row{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:36px 22px}.home-proof-flow h2{font-size:26px!important;line-height:1.45!important;margin:9px 0 14px!important}.home-proof-flow p{font-size:15px;line-height:1.65;margin-bottom:10px}.home-proof-flow img{height:190px}.home-proof-flow a{font-size:13px}.home-proof-flow figcaption{font-size:11px;margin-top:7px}.home-proof-flow .flow-referral{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-proof-flow .flow-referral h2{font-size:23px!important}.home-proof-flow .flow-referral p{font-size:13px}.home-proof-flow .flow-referral a{font-size:12px;word-break:keep-all}.home-proof-flow .flow-referral figcaption{font-size:10px;text-align:center}.home-proof-flow .flow-donut{width:100%}.home-proof-flow .flow-exchange{gap:8px}.home-proof-flow .flow-stats{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:12px}.home-proof-flow .flow-stats br{display:none}.home-proof-flow .flow-stats strong{font-size:23px;margin-right:0}.home-proof-flow .flow-map{width:100%;min-height:190px}.home-proof-flow .map-label{font-size:23px}.home-proof-flow .flow-years img{height:170px}}
@media(max-width:359px){.home-proof-flow .flow-referral{grid-template-columns:1fr}.home-proof-flow .flow-referral figure{width:75%;margin:auto}.home-proof-flow .proof-flow-row{padding:30px 20px}}
.home-proof-flow .flow-record-links{display:flex;flex-wrap:wrap;gap:0 14px;margin-top:8px}.home-proof-flow .flow-record-links a{font-size:12px;gap:5px;min-height:36px}.home-proof-flow .flow-record-links a strong{font-weight:500}.home-proof-flow .flow-record-links .hs-arrow{display:none}
@media(max-width:767px){.home-proof-flow .flow-map .map-label{font-size:30px}.home-proof-flow .flow-record-links{gap:0 10px}.home-proof-flow .flow-record-links a{font-size:11px;min-height:36px}}

.home-proof-flow .flow-label{display:flex;align-items:center;gap:12px}.home-proof-flow .flow-sequence{font:400 24px/1 MaruBuri,serif;color:#8B6B39;letter-spacing:0}.home-proof-flow .flow-sequence::after{content:"";display:inline-block;width:18px;border-top:1px solid #BDA989;vertical-align:middle;margin-left:12px}@media(max-width:767px){.home-proof-flow .flow-label{gap:9px}.home-proof-flow .flow-sequence{font-size:21px}.home-proof-flow .flow-sequence::after{width:12px;margin-left:9px}}

.home-proof-flow .flow-overview{padding:28px 5% 0}.home-proof-flow .flow-overview p{font:500 14px/1.5 Pretendard,sans-serif;color:#2F4A3F;margin:0}.home-proof-flow .flow-overview+.proof-flow-row{padding-top:36px}@media(max-width:767px){.home-proof-flow .flow-overview{padding:26px 22px 0}.home-proof-flow .flow-overview+.proof-flow-row{padding-top:26px}}

.flow-overview{padding:18px 5%;background:#F4EFE7}.flow-overview p{font:500 14px/1.5 Pretendard,sans-serif;color:#2F4A3F;margin:0}.hero-sequence{font:400 24px/1 MaruBuri,serif;color:#8B6B39;display:inline-block;margin-right:10px}.home-proof-flow .proof-flow-row{padding-top:32px;padding-bottom:32px;gap:4%}.home-proof-flow img{height:250px;object-position:center 35%}.home-proof-flow h2{margin-bottom:14px!important}.home-proof-flow .flow-donut{max-width:310px}.home-proof-flow .flow-record-links{margin-top:0}
@media(max-width:767px){.flow-overview{padding:14px 22px}.home-proof-flow .proof-flow-row{padding:24px 22px;gap:14px}.home-proof-flow img{height:155px;object-position:center 30%}.home-proof-flow .flow-years img{height:140px}.home-proof-flow h2{margin:7px 0 10px!important}.home-proof-flow .flow-map{min-height:170px}.home-proof-flow .flow-label{font-size:12px!important}.home-proof-flow p{margin-bottom:8px}.home-proof-flow .flow-referral figure{max-width:230px}.hero-sequence{font-size:21px}}

#hp-main-title .hero-pen-circle{position:relative;display:inline-block;white-space:nowrap;isolation:isolate}#hp-main-title .hero-pen-circle::after{content:"";position:absolute;pointer-events:none;inset:-.08em -.14em -.09em;z-index:-1;border:2px solid #B8473B;border-radius:49% 53% 46% 54%/54% 42% 56% 46%;transform:rotate(-7deg);opacity:.85}#hp-main-title .hero-pen-circle:nth-child(2)::after{transform:rotate(5deg);border-radius:54% 45% 53% 46%/43% 55% 47% 57%}@media(max-width:767px){#hp-main-title .hero-pen-circle::after{border-width:1.6px;inset:-.06em -.1em -.08em}}

.hp-fixed-hero .hp-hero-wrap{min-height:490px!important;padding-top:30px!important;padding-bottom:30px!important}.home-proof-flow .proof-flow-row{padding-top:24px;padding-bottom:24px}.home-proof-flow img{height:225px}.home-proof-flow .flow-donut{max-width:280px}.home-proof-flow .flow-map{max-height:270px}.home-proof-flow .flow-overview{padding-top:16px}
@media(max-width:767px){.hp-fixed-hero .hp-hero-wrap{min-height:400px!important;padding:22px 24px!important}.home-proof-flow .proof-flow-row{padding-top:18px;padding-bottom:18px;gap:10px}.home-proof-flow img{height:140px}.home-proof-flow .flow-years img{height:125px}.home-proof-flow .flow-referral figure{max-width:200px}.home-proof-flow h2{font-size:24px!important;line-height:1.4!important}.home-proof-flow .flow-record-links a{padding-top:4px;padding-bottom:4px}.home-proof-flow .flow-map{min-height:155px;max-height:190px}}
body:not(.compare-circle) #hp-main-title .hero-pen-circle::after{display:none}body:not(.compare-circle) #hp-main-title .hero-pen-circle{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:#B8473B;text-decoration-thickness:1.8px;text-underline-offset:.17em;text-decoration-skip-ink:none}

.home-proof-flow .flow-key-number{font-size:1.45em;line-height:1;vertical-align:baseline;color:inherit;font-family:inherit;font-weight:inherit}
/* 01 follows the same compact rhythm as 02–05; allow content, not a fixed stage, to set height. */
.hp-fixed-hero .hp-hero-wrap{min-height:0!important;height:auto!important;aspect-ratio:auto!important;padding-top:24px!important;padding-bottom:24px!important}
.hp-fixed-hero .hp-hero-copy{padding-top:0!important;padding-bottom:0!important}
@media(max-width:767px){
 .hp-fixed-hero .hp-hero-wrap{min-height:0!important;height:auto!important;aspect-ratio:auto!important;padding:18px 24px!important;gap:0!important}
 .hp-fixed-hero #hp-card-collaboration .hp-hero-label{margin-bottom:12px!important}
 .hp-fixed-hero #hp-main-title{margin-bottom:16px!important}
 .hp-fixed-hero #hp-card-collaboration .hp-hero-description{margin-bottom:14px!important}
 .hp-fixed-hero #hp-card-collaboration .hp-hero-buttons{margin-top:0!important}
}
/* Mobile implant portrait: same real cutout, behind the introduction, no tall second column. */
@media(max-width:700px){
 #home-implants .ht-two-column{position:relative;isolation:isolate;display:block}
 #home-implants .ht-copy{position:relative;z-index:2}
 #home-implants .ht-doctor-figure{position:absolute;z-index:0;inset:0 0 auto auto;width:47%;height:300px;margin:0;pointer-events:none;overflow:hidden}
 #home-implants .ht-doctor-image{height:300px;padding:0!important;background:transparent!important;overflow:hidden}
 #home-implants .ht-doctor-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;transform:none!important;mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%)}
 #home-implants .ht-doctor-signature{display:none}
 #home-implants .ht-two-column::after{content:"";position:absolute;z-index:1;inset:0 0 auto;height:310px;pointer-events:none;background:linear-gradient(90deg,#F4EFE7 0%,rgba(244,239,231,.96) 40%,rgba(244,239,231,.35) 75%,rgba(244,239,231,.08) 100%)}
 body.site-typography #home-implants h2{max-width:66%;font-size:24px!important;line-height:1.5!important;word-break:keep-all;overflow-wrap:normal}
 #home-implants .ht-question{max-width:64%}
 #home-implants .ht-lead{background:rgba(244,239,231,.90);padding:10px 0;margin-bottom:20px}
 #home-implants .ht-copy>p:not(.ht-question):not(.ht-lead),#home-implants .ht-proof-list,#home-implants .ht-links{background:#F4EFE7}
}

/* Confidence in the finishing standard, with concrete options rather than a guaranteed result. */
body.site-typography .ht-aesthetic-intro .ht-aesthetic-note{font:400 13px/1.7 Pretendard,sans-serif!important;color:#6B6B6B!important;margin-top:12px;max-width:760px;word-break:keep-all}
/* Observed mobile whitespace: retain honest pending status without reserving an empty photo frame. */
@media(max-width:700px){
 .ht-photo-pending{min-height:0;padding:10px 12px;gap:3px;align-items:flex-start;text-align:left;background:transparent;border:0;border-left:2px solid #D7D9CC}
 .ht-photo-pending .ht-photo-kicker{display:none}
 .ht-photo-pending>span:not(.ht-photo-kicker){font:400 14px/1.6 Pretendard,sans-serif}
 .ht-stories .ht-intro{padding-top:30px;padding-bottom:24px}
 .ht-stories .ht-scroll{margin-top:12px}
}
/* Owner's exact finishing-philosophy draft, with the requested right-hand 01–04 list. */
.ht-philosophy-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
.ht-philosophy-heading{position:sticky;top:120px}
body.site-typography .ht-stories .ht-philosophy-motto{font:400 23px/1.65 MaruBuri,serif!important;color:#2F4A3F!important;margin:25px 0 0;word-break:keep-all}
.ht-philosophy-list{list-style:none;margin:0;padding:0}
.ht-philosophy-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;border-top:1px solid #C8D0C5;padding:18px 0 22px}
.ht-philosophy-number{font:400 15px/1.75 MaruBuri,serif;color:#A8843F}
body.site-typography .ht-stories .ht-philosophy-list h3{font:500 17px/1.6 Pretendard,sans-serif!important;color:#2F4A3F!important;margin:0 0 9px;word-break:keep-all}
body.site-typography .ht-stories .ht-philosophy-list p{font:400 15px/1.75 Pretendard,sans-serif!important;color:#2B2B2B!important;margin:0;word-break:keep-all}
@media(max-width:767px){.ht-philosophy-grid{grid-template-columns:1fr;gap:24px}.ht-philosophy-heading{position:static}.ht-philosophy-list li{padding:14px 0 18px;gap:8px}body.site-typography .ht-stories .ht-philosophy-motto{font-size:21px!important;margin-top:20px}body.site-typography .ht-stories .ht-philosophy-list h3{font-size:16px!important}body.site-typography .ht-stories .ht-philosophy-list p{font-size:15px!important}}
/* QA: at narrow mobile widths the roots sat behind dark body text. Keep the tree, brighten text side. */
@media(max-width:700px){.hp-fixed-hero #hp-card-collaboration .hp-hero-art::after{background:linear-gradient(90deg,rgba(244,239,231,.9) 0%,rgba(244,239,231,.83) 53%,rgba(244,239,231,.24) 100%),linear-gradient(180deg,rgba(244,239,231,.55),transparent 55%,rgba(244,239,231,.6))!important}}

/* v66: remove duplicated Invisalign card, preserve remaining record images. */
#records .rf-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#records .rf-record-card[href="/cases/before-after/"] .rf-record-picture img{object-fit:contain}
#records .rf-record-card[href="/records/"] .rf-record-picture img{object-fit:cover}
@media(max-width:700px){#records .rf-record-grid{grid-template-columns:1fr}}

/* v67: all mobile widths need full text measure, not the old split referral row. */
.home-proof-flow .flow-number-unit{white-space:nowrap}
.home-proof-flow .flow-sequence{flex-shrink:0;white-space:nowrap}
@media(max-width:767px){
 .home-proof-flow .flow-referral{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .home-proof-flow .proof-flow-copy{min-width:0;width:100%}
 .home-proof-flow h2,.home-proof-flow p,.home-proof-flow a{word-break:keep-all!important;overflow-wrap:normal!important}
 .home-proof-flow .flow-referral h2{font-size:26px!important;line-height:1.4!important}
 .home-proof-flow .flow-referral p:not(.flow-label){font-size:15px!important;line-height:1.65!important}
 .home-proof-flow .flow-referral a{font-size:13px!important}
 .home-proof-flow .flow-referral figure{width:min(100%,240px);max-width:240px;margin:0 auto}
 .home-proof-flow .flow-referral figcaption{font-size:11px;white-space:nowrap}
}

/* v68: one guidance hub and one appointment/location hub. */
.hp-compact-guidance{background:#FAF7F2;padding:48px 0}
.hp-compact-guidance h2{margin:12px 0 24px;word-break:keep-all}
.hp-guidance-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.hp-guidance-links a,.hp-case-link>a,.hp-visit-actions a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 0;border-bottom:1px solid #CABFAE;color:#2F4A3F;text-decoration:none;word-break:keep-all}
.hp-case-link{margin-top:24px}.hp-case-link>a{width:fit-content;gap:40px}
.hp-case-link p{font-size:12px!important;line-height:1.6;color:#6B6B6B;margin:12px 0 0;max-width:650px}
.hp-visit-actions{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.hp-visit-actions a{font-size:14px;gap:16px}
@media(max-width:767px){.hp-compact-guidance{padding:30px 0}.hp-compact-guidance h2{font-size:26px!important;line-height:1.4!important}.hp-guidance-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.hp-guidance-links a{font-size:13px;gap:6px}.hp-case-link{margin-top:18px}.hp-case-link>a{font-size:14px}.hp-visit-actions{gap:10px 18px}.hp-visit-actions a{font-size:13px}}

.ht-philosophy-single{border-top:1px solid #C8D0C5;padding:22px 0}
body.site-typography .ht-stories .ht-philosophy-single h3{font:500 20px/1.6 Pretendard,sans-serif!important;color:#2F4A3F!important;margin:0 0 14px;word-break:keep-all}
body.site-typography .ht-stories .ht-philosophy-single p{font:400 16px/1.75 Pretendard,sans-serif!important;color:#2B2B2B!important;margin:0;word-break:keep-all}
@media(max-width:767px){.ht-philosophy-single{padding:18px 0}body.site-typography .ht-stories .ht-philosophy-single h3{font-size:18px!important}body.site-typography .ht-stories .ht-philosophy-single p{font-size:15px!important}}

/* Closing invitation: one clear booking action, with an existing chat alternative. */
#visit .hp-visit-closing{font:400 16px/1.75 Pretendard,sans-serif;color:#2B2B2B;word-break:keep-all;margin:18px 0 24px}
#visit .hp-visit-actions a:first-child{background:#2F4A3F;color:#F4EFE7;border:0;padding:14px 18px;min-height:48px}
#visit .hp-visit-actions a:focus-visible{outline:3px solid #B08D57;outline-offset:4px}
@media(max-width:767px){#visit .ht-visit-intro h2{font-size:25px!important;line-height:1.45!important;word-break:keep-all;overflow-wrap:normal}#visit .hp-visit-closing{font-size:15px}#visit .hp-visit-closing br{display:none}}

/* Compact mobile gum-treatment comparison: preserve the original image crops. */
@media(max-width:768px){#home-gumline .ht-gum-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:none}body.site-typography #home-gumline .ht-gum-step p{font-size:12px!important;line-height:1.5!important;margin-top:7px}}

.hp-guidance-links{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-general-notice{padding-top:20px;padding-bottom:24px}.hp-general-notice p{font-size:12px!important;line-height:1.75!important;color:#6B6B6B;margin:0}

body.site-typography .flow-faculty h2 .flow-diamond-years{display:inline-block;font-family:Pretendard,sans-serif;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:#6B6B6B;margin-left:12px;vertical-align:middle;white-space:nowrap}@media(max-width:767px){body.site-typography .flow-faculty h2 .flow-diamond-years{font-size:12px;margin-left:8px}}
/* Smaller case examples; original pixels, stage order and captions are preserved. */
#home-laminate .ht-clinical-steps,#home-blacktriangle .ht-bt-photo-grid,#home-gumline .ht-gum-steps{max-width:680px;margin-inline:auto}
@media(max-width:768px){#home-laminate .ht-clinical-steps{max-width:270px;gap:14px 10px}#home-blacktriangle .ht-bt-photo-grid{max-width:260px;gap:8px}#home-gumline .ht-gum-steps{max-width:280px;gap:8px}.ht-representative{max-width:280px}}

.ht-representative .ht-rep-image{display:block;position:relative;overflow:hidden;aspect-ratio:var(--rep-ratio);width:220px;max-width:100%;margin:12px 0 8px}.ht-rep-image img{position:absolute;display:block;max-width:none!important;width:var(--rep-width);height:var(--rep-height);left:var(--rep-left);top:var(--rep-top)}@media(max-width:768px){.ht-representative .ht-rep-image{width:180px}}

.ht-rep-before,.ht-rep-after{display:block}.ht-rep-after{display:none}details[open]>summary .ht-rep-before{display:none}details[open]>summary .ht-rep-after{display:block}.ht-rep-label{display:block;font-size:12px;line-height:1.6;color:#2F4A3F;margin:0 0 8px}summary:focus-visible{outline:2px solid #2F4A3F;outline-offset:5px}
