:root{--navy:#0d2946;--ink:#152b40;--gold:#b89758;--cream:#f5f3ee;--line:#d9d8d1;--muted:#69737b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans KR','DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);background:var(--cream);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.04em}.brand strong{display:block;font:700 18px/1 'DM Sans',sans-serif;letter-spacing:.05em}.brand small{display:block;font:500 8px/1.6 'DM Sans',sans-serif;letter-spacing:.28em}.brand-mark{width:35px;height:35px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;color:var(--navy);font:700 22px/1 'DM Sans';font-style:italic}.desktop-nav{display:flex;gap:clamp(22px,3vw,48px);font-size:13px}.desktop-nav a:hover,.text-link:hover{color:var(--gold)}.header-cta,.button{display:inline-flex;align-items:center;gap:24px;border-radius:99px;padding:13px 20px;font-size:12px;font-weight:700}.header-cta{border:1px solid var(--ink)}.header-cta span,.button span{font-size:17px;line-height:0}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span{display:block;width:25px;height:1px;background:var(--ink);margin:6px}.section{padding:clamp(72px,10vw,150px) clamp(20px,8vw,120px)}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,115px);align-items:center;padding-top:clamp(50px,7vw,100px);padding-bottom:clamp(60px,8vw,100px)}.eyebrow,.section-label{font:600 10px/1.3 'DM Sans',sans-serif;letter-spacing:.22em}.eyebrow{color:var(--gold);margin:0 0 28px}.hero h1,.intro h2,.section-heading h2,.process h2,.contact h2{font-size:clamp(38px,5.4vw,76px);line-height:1.18;letter-spacing:-.07em;margin:0;font-weight:500}.hero h1 em,.intro h2 em,.section-heading h2 em,.process h2 em,.contact h2 em{font-style:normal;color:var(--gold)}.hero-description{color:var(--muted);font-size:15px;line-height:1.9;margin:30px 0 38px}.button-dark{background:var(--navy);color:#fff;padding:17px 25px}.hero-image-wrap{height:min(660px,65vw);min-height:450px;position:relative;border-radius:220px 220px 12px 12px;overflow:hidden;background:#d8d5cc}.hero-image{object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 25px;display:flex;justify-content:space-between;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));font:500 9px/1.4 'DM Sans';letter-spacing:.15em}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.intro-grid,.section-heading,.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:70px}.intro-grid>div{max-width:430px}.lead{font-size:21px;line-height:1.7;margin:0 0 25px}.intro-grid>div p:not(.lead){font-size:14px;line-height:1.9;color:var(--muted)}.text-link{display:inline-block;margin-top:28px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700}.text-link span{margin-left:30px;font-size:16px}.services{background:#e9e7e0}.section-heading{margin-bottom:60px}.section-heading p{align-self:end;color:var(--muted);line-height:1.8;font-size:14px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{min-height:270px;background:var(--cream);padding:30px;position:relative}.service-number{font:500 12px 'DM Sans';color:var(--gold)}.service-card h3{font-size:22px;letter-spacing:-.05em;margin:60px 0 15px}.service-card p{color:var(--muted);font-size:13px;line-height:1.8;max-width:230px}.card-arrow{position:absolute;right:30px;bottom:27px;font-size:25px}.process{background:var(--navy);color:#fff}.section-label.light{border-color:rgba(255,255,255,.25);color:#b6c0ca}.process-grid{margin-top:70px}.process-grid>div>p{color:#b6c0ca;line-height:1.8;font-size:14px;margin-top:30px}.process-steps{border-top:1px solid rgba(255,255,255,.25)}.process-steps div{display:flex;align-items:center;gap:35px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.25)}.process-steps b{font:500 12px 'DM Sans';color:var(--gold)}.process-steps span{font-size:18px}.contact-content{max-width:820px;margin:85px auto 30px;text-align:center}.contact-content .eyebrow{margin-bottom:25px}.contact-content .button{margin-top:40px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px clamp(20px,8vw,120px);border-top:1px solid var(--line);color:var(--muted);font-size:11px}.footer-brand{color:var(--ink)}
@media(max-width:767px){.site-header{height:70px;padding:0 20px}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.section{padding:72px 20px}.hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:45px;padding-top:65px}.hero h1{font-size:44px}.hero-description{font-size:14px;line-height:1.8;margin:24px 0 30px}.desktop-break{display:none}.hero-image-wrap{height:108vw;min-height:350px;max-height:550px;border-radius:180px 180px 10px 10px}.section-label{font-size:9px}.intro-grid,.section-heading,.process-grid{display:block;margin-top:48px}.intro h2,.section-heading h2,.process h2,.contact h2{font-size:40px}.intro-grid>div{margin-top:38px}.lead{font-size:18px}.section-heading p{margin-top:28px}.service-list{display:block}.service-card{min-height:220px;padding:25px}.service-card h3{margin:45px 0 12px;font-size:20px}.process-grid>div>p{margin-top:25px}.process-steps{margin-top:50px}.contact-content{margin-top:65px}.site-footer{align-items:flex-start;flex-direction:column;padding:30px 20px}.footer-brand{margin-bottom:10px}}

/* Official PROS·ON SVG identity and generated rehabilitation sample image. */
.brand-logo{display:block;width:155px;height:auto}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-logo-card{position:absolute;left:28px;bottom:75px;width:155px;padding:12px 18px;border-radius:10px;background:rgba(250,249,246,.94);box-shadow:0 12px 30px rgba(13,41,70,.16)}.hero-logo-card img{display:block;width:100%;height:auto}.footer-logo{display:block;width:92px;height:auto}.footer-brand{align-items:flex-start}
.brand-mark-image{display:block;width:35px;height:35px;object-fit:contain}
@media(max-width:767px){.brand-logo{width:145px}}
@media(max-width:767px){.hero-logo-card{left:18px;bottom:70px;width:128px;padding:10px 14px}.footer-logo{width:82px}}

/* Wide hero image with readable text overlay. */
.hero{position:relative;display:block;min-height:0;padding-top:0;padding-bottom:clamp(60px,8vw,110px)}
.hero{padding-left:0;padding-right:0}
.hero-image-wrap{width:100%;height:min(68vw,680px);min-height:500px;margin-top:0;border-radius:0;overflow:hidden}
.hero-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,48,.78) 0%,rgba(8,28,48,.38) 38%,rgba(8,28,48,0) 72%);pointer-events:none}
.hero-copy{position:absolute;z-index:1;top:50%;left:clamp(40px,10vw,150px);transform:translateY(-50%);max-width:650px;color:#fff}
.hero-copy .eyebrow{color:#d7bd83}
.hero-copy .hero-description{color:rgba(255,255,255,.82)}
.hero-copy h1 em{color:#d7bd83}
.hero-copy .button-dark{background:#fff;color:var(--navy)}
.hero-logo-card{display:none}

@media(max-width:767px){
  .hero{padding-top:0;padding-bottom:72px}
  .hero-image-wrap{height:600px;min-height:0;border-radius:0}
  .hero-image-wrap::after{background:linear-gradient(180deg,rgba(8,28,48,.72) 0%,rgba(8,28,48,.28) 48%,rgba(8,28,48,.68) 100%)}
  .hero-copy{top:88px;left:42px;right:28px;transform:none}
  .hero-copy h1{font-size:42px}
}

/* Three service groups: custom insole belongs with the custom prosthesis offering. */
.service-list{grid-template-columns:repeat(3,1fr)}
@media(min-width:768px) and (max-width:1100px){.service-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.service-list{grid-template-columns:1fr}}

/* Keep Korean words intact at responsive widths. */
body{word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,h4,p{word-break:keep-all;text-wrap:pretty}
h1,h2{ text-wrap:balance }
.button{white-space:nowrap}

.journal{background:#f0eee8}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{display:block;background:var(--cream);padding-bottom:28px;transition:transform .25s ease,box-shadow .25s ease}
.post-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(13,41,70,.1)}
.post-image-wrap{height:220px;overflow:hidden;background:#d8d5cc}
.post-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.post-card:hover .post-image{transform:scale(1.04)}
.post-meta{display:flex;justify-content:space-between;padding:23px 25px 0;color:var(--gold);font:600 10px/1.3 'DM Sans';letter-spacing:.14em}
.post-meta span:last-child{font-size:18px;color:var(--ink);letter-spacing:0}
.post-card h3{margin:14px 25px 0;font-size:19px;line-height:1.5;letter-spacing:-.05em;font-weight:500}
@media(min-width:768px) and (max-width:1100px){.post-grid{grid-template-columns:repeat(2,1fr)}.post-card:last-child{display:none}}
@media(max-width:767px){.post-grid{display:block}.post-card{margin-bottom:18px}.post-image-wrap{height:210px}}

.blog-heading{max-width:760px;margin:90px 0 75px}.blog-heading h1{font-size:clamp(42px,6vw,82px);line-height:1.18;letter-spacing:-.07em;font-weight:500;margin:0 0 28px}.blog-heading h1 em{font-style:normal;color:var(--gold)}.blog-heading>p:last-child{color:var(--muted);line-height:1.9;font-size:15px}.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.blog-list-card{position:relative;min-height:280px;background:var(--cream);padding:30px;transition:background .2s ease}.blog-list-card:hover{background:#e9e7e0}.blog-list-card>span{font:600 10px 'DM Sans';letter-spacing:.14em;color:var(--gold)}.blog-list-card h2{font-size:23px;line-height:1.45;letter-spacing:-.06em;font-weight:500;margin:55px 0 14px}.blog-list-card p{font-size:13px;line-height:1.8;color:var(--muted);max-width:260px}.blog-list-card small{position:absolute;left:30px;bottom:30px;color:var(--muted);font:11px 'DM Sans'}.blog-list-card b{position:absolute;right:30px;bottom:25px;font-size:24px;font-weight:400}.back-link{display:inline-block;margin-bottom:80px;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:8px}.post-header{max-width:820px;margin:0 auto 90px}.post-header h1{font-size:clamp(40px,6vw,80px);line-height:1.2;letter-spacing:-.07em;font-weight:500;margin:0 0 25px}.post-header>p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:620px}.post-header small{font:11px 'DM Sans';color:var(--muted)}.post-body{max-width:840px;margin:0 auto;font-size:16px;line-height:2}.post-body h2{font-size:28px;line-height:1.4;margin:55px 0 18px}.post-body p{margin:0 0 25px}.post-body p:first-child{font-size:20px;line-height:1.8}
.blog-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.blog-home-link{font:700 18px 'DM Sans';letter-spacing:.04em}.blog-home-text{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:7px}.blog-home-text:hover,.blog-home-link:hover{color:var(--gold)}
.post-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:45px 0 48px}
.post-gallery figure{margin:0;background:#e9e7e0;overflow:hidden}.post-gallery img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .3s ease}.post-gallery figure:hover img{transform:scale(1.04)}.post-gallery figcaption{padding:12px 14px;color:var(--muted);font-size:11px;line-height:1.4}.gallery-note{font-size:12px!important;color:var(--muted);margin-top:-28px!important;margin-bottom:35px!important}
@media(max-width:767px){.post-gallery{display:flex;overflow-x:auto;gap:12px;margin:35px -20px 40px;padding:0 20px;scroll-snap-type:x mandatory}.post-gallery figure{flex:0 0 82%;scroll-snap-align:start}.post-gallery img{aspect-ratio:4 / 3}.gallery-note{margin-top:-20px!important}}
.post-thumbnail{display:block;width:100%;max-width:1200px;aspect-ratio:3 / 2;object-fit:cover;margin:38px auto 26px;background:#e9e7e0}

.gallery-image-button{display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:#e9e7e0}.gallery-image-button img{user-select:none;-webkit-user-drag:none}
.image-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:30px;background:rgba(8,20,34,.84);cursor:zoom-out}.image-modal-content{position:relative;max-width:min(1100px,92vw);max-height:90vh;cursor:default}.image-modal-content img{display:block;max-width:100%;max-height:82vh;object-fit:contain;user-select:none;-webkit-user-drag:none;box-shadow:0 18px 60px rgba(0,0,0,.3)}.image-modal-content p{margin:12px 0 0;color:#fff;font-size:12px;text-align:center}.image-modal-close{position:absolute;top:-42px;right:0;width:34px;height:34px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:767px){.blog-heading{margin:60px 0 48px}.blog-list{display:block}.blog-list-card{min-height:230px;margin-bottom:1px}.back-link{margin-bottom:55px}.post-header{margin-bottom:60px}.post-body{font-size:15px}.post-body p:first-child{font-size:18px}}

/* Keep the primary navigation available while reading longer sections. */
.site-header{position:sticky;top:0;z-index:10;background:rgba(245,243,238,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(13,41,70,.08)}

.essential-guides{background:var(--cream)}
.guide-slider{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:8%;margin-top:70px;align-items:center}
.guide-copy h2{font-size:clamp(38px,5.4vw,76px);line-height:1.18;letter-spacing:-.07em;margin:0;font-weight:500}
.guide-copy h2 em{font-style:normal;color:var(--gold)}
.guide-description{max-width:330px;color:var(--muted);font-size:14px;line-height:1.9;margin:30px 0 40px}
.guide-controls{display:flex;align-items:center;gap:20px;color:var(--muted);font:500 11px 'DM Sans';letter-spacing:.12em}
.guide-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:18px;line-height:1}
.guide-controls button:hover{border-color:var(--gold);color:var(--gold)}
.guide-track-window{overflow:hidden}
.guide-track{display:flex;transition:transform .45s ease}
.guide-card{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;min-height:360px;background:var(--navy);color:#fff}
.guide-card>img{width:100%;height:100%;min-height:360px;object-fit:cover;opacity:.8}
.guide-card>div{padding:clamp(28px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start}
.guide-card>div>span{font:500 12px 'DM Sans';color:var(--gold)}
.guide-card h3{font-size:clamp(22px,2.5vw,34px);line-height:1.35;letter-spacing:-.06em;margin:50px 0 18px;font-weight:500}
.guide-card p{font-size:13px;line-height:1.85;color:#b6c0ca;margin:0;max-width:260px}
.guide-card a{margin-top:auto;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.5);font-size:12px;font-weight:700}
.guide-card a span{margin-left:24px;font-size:16px}
@media(max-width:767px){.guide-slider{display:block;margin-top:48px}.guide-description{margin:24px 0 30px}.guide-card{grid-template-columns:1fr;min-height:0}.guide-card>img{height:210px;min-height:0}.guide-card>div{min-height:280px;padding:28px}.guide-card h3{margin:35px 0 15px}}

/*
  Text authoring rules for all pages
  1. Korean text must wrap by word, not between syllables.
  2. Do not use <br /> to force ordinary sentence wrapping.
     Use it only for intentional editorial breaks such as a hero headline.
  3. Let headings balance naturally with text-wrap and max-width.
  4. Keep CTA labels on one line; shorten the label at narrow widths if needed.
  5. Use overflow-wrap:anywhere only for URLs, e-mail addresses, or other long tokens.
*/
.text-content,.text-content p,.text-content li{word-break:keep-all;overflow-wrap:break-word}
.text-content a[href^="mailto:"],.text-content a[href^="http"]{overflow-wrap:anywhere}
.editorial-break{display:block}
@media(max-width:767px){.editorial-break{display:none}}

.mobile-nav{display:none}
.hub-heading{max-width:760px;margin:90px 0 75px}.hub-heading h1{font-size:clamp(42px,6vw,82px);line-height:1.18;letter-spacing:-.07em;font-weight:500;margin:0 0 28px}.hub-heading h1 em{font-style:normal;color:var(--gold)}.hub-heading>p:last-child{color:var(--muted);line-height:1.9;font-size:15px;max-width:620px}.hub-section{border-top:1px solid var(--line);padding:34px 0 70px}.hub-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;margin-bottom:28px}.hub-section-heading>div{display:flex;align-items:center;gap:18px}.hub-number{font:500 12px 'DM Sans';color:var(--gold)}.hub-section h2{font-size:30px;letter-spacing:-.06em;font-weight:500;margin:0}.hub-section-heading p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.hub-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.hub-post{position:relative;min-height:220px;background:var(--cream);padding:25px;transition:background .2s ease}.hub-post:hover{background:#e9e7e0}.hub-post>span{font:600 10px 'DM Sans';letter-spacing:.14em;color:var(--gold)}.hub-post h3{font-size:20px;line-height:1.45;letter-spacing:-.05em;font-weight:500;margin:38px 0 12px}.hub-post p{color:var(--muted);font-size:13px;line-height:1.75;margin:0;max-width:270px}.hub-post small{position:absolute;left:25px;bottom:25px;color:var(--muted);font:11px 'DM Sans'}.hub-post b{position:absolute;right:25px;bottom:20px;font-size:23px;font-weight:400}.hub-empty{color:var(--muted);font-size:13px;padding:25px;background:#e9e7e0}
.blog-page.section,.post-page.section{padding-top:40px}
@media(max-width:767px){
  .site-header{height:70px}
  .mobile-nav{position:absolute;display:flex;top:70px;left:0;right:0;flex-direction:column;padding:12px 20px 20px;background:rgba(245,243,238,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 12px 24px rgba(13,41,70,.08)}
  .mobile-nav a{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
  .mobile-nav a:last-child{border-bottom:0}
  .menu-button.is-open span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-button.is-open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .blog-page.section,.post-page.section{padding-top:24px}
  .hub-heading{margin:60px 0 48px}.hub-section{padding-bottom:48px}.hub-section-heading{display:block}.hub-section-heading p{margin:20px 0 24px}.hub-posts{display:block}.hub-post{min-height:210px;margin-bottom:1px}
}

.curated-section,.recent-section{margin-top:26px}.recent-section{margin-top:95px}.blog-subheading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end;border-top:1px solid var(--line);padding-top:18px;margin-bottom:28px}.blog-subheading .eyebrow{margin:0 0 12px}.blog-subheading h2{font-size:28px;letter-spacing:-.06em;font-weight:500;margin:0}.blog-subheading>p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.recent-list{background:#e9e7e0}.recent-list .blog-list-card{background:var(--cream)}
.news-empty{border-top:1px solid var(--line);padding:55px 0}.news-empty h2{font-size:32px;letter-spacing:-.06em;font-weight:500;margin:0 0 18px}.news-empty p:last-child{color:var(--muted);font-size:14px;line-height:1.8}
@media(max-width:767px){.blog-subheading{display:block}.blog-subheading>p{margin-top:18px}.recent-section{margin-top:64px}}
