:root{--white:#fff;--off:#f7f8f8;--cool:#eef1f3;--graphite:#202427;--slate:#516878;--slate2:#344956;--muted:#70777d;--line:#d8dde0;--pale:#dbe4ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--graphite);font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none}img{width:100%;display:block}button,input,select,textarea{font:inherit}.wrap{width:min(1220px,calc(100% - 72px));margin:auto}.header{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;z-index:30}.header-in{display:flex;align-items:center;gap:42px}.logo{font-weight:800;letter-spacing:-.04em;font-size:1.3rem}.logo small{font:500 .56rem/1 monospace;letter-spacing:.13em;color:var(--slate);margin-left:8px}.nav{display:flex;gap:28px;margin-left:auto;font-size:.75rem}.nav a{position:relative}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--slate);transition:right .32s}.nav a:hover::after{right:0}.emergency-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;background:var(--slate2);color:#fff;font-size:.74rem;font-weight:700}.menu-toggle{display:none;margin-left:auto;border:0;background:none;min-width:44px;min-height:44px}.label{font:600 .64rem/1.2 monospace;letter-spacing:.16em;color:var(--slate)}h1,h2,h3{letter-spacing:-.045em}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:50px;padding:0 22px;border:1px solid var(--graphite);background:var(--graphite);color:#fff;font-size:.76rem;font-weight:700;transition:background .3s,border-color .3s,color .3s}.button:hover{background:var(--slate);border-color:var(--slate)}.button i{font-style:normal;transition:transform .3s}.button:hover i{transform:translateX(5px)}.button.outline{background:transparent;color:var(--graphite)}.button.light{background:#fff;color:var(--graphite);border-color:#fff}.text-link{display:inline-block;font:600 .7rem monospace;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:7px}.hero{height:calc(100vh - 76px);min-height:650px;max-height:900px;display:grid;grid-template-columns:45% 55%;grid-template-rows:1fr 98px;overflow:hidden;background:var(--off)}.hero-copy{padding:6vw 4.5vw 4vw max(36px,calc((100vw - 1220px)/2));display:flex;flex-direction:column;justify-content:center}.hero h1,.page-head h1{font-size:clamp(3rem,4.4vw,4.25rem);line-height:1.08;margin:22px 0}.hero p{line-height:1.85;color:#555e64;max-width:560px}.hero-actions{display:flex;gap:10px;margin-top:25px}.hero-media{overflow:hidden}.hero-media img{height:100%;object-fit:cover;object-position:center}.hero-status{grid-column:1/-1;background:var(--graphite);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:0 max(36px,calc((100vw - 1220px)/2))}.hero-status div{display:flex;align-items:center;gap:18px;border-right:1px solid #465158;padding:0 28px}.hero-status div:first-child{padding-left:0}.hero-status div:last-child{border-right:0}.hero-status b{font:500 1.55rem monospace;color:#fff}.hero-status span{font:500 .65rem monospace;letter-spacing:.12em;color:#aebbc3}.first-action{background:#fff;border-bottom:1px solid var(--line)}.first-action-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;padding:82px 0}.first-action h2{font-size:clamp(2.25rem,3.6vw,3.4rem);line-height:1.18;margin:18px 0}.first-action ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--graphite)}.first-action li{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.first-action li b{font:600 .72rem monospace;color:var(--slate)}.first-action strong{font-size:1rem}.first-action p{margin:6px 0 0;color:var(--muted);font-size:.84rem;line-height:1.65}.section{padding:96px 0}.section.gray,.situation-section{background:var(--off)}.heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:48px}.heading h2{font-size:clamp(2.35rem,3.8vw,3.65rem);line-height:1.12;margin:14px 0 0}.heading p{max-width:470px;line-height:1.8;color:var(--muted)}.situation-grid{display:grid;grid-template-columns:.72fr 1.28fr;border-top:1px solid var(--graphite);border-bottom:1px solid var(--graphite)}.situation-tabs{border-right:1px solid var(--line)}.situation-tabs button{width:100%;min-height:74px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:0 24px;color:var(--muted);cursor:pointer;transition:.3s}.situation-tabs button:last-child{border-bottom:0}.situation-tabs button.active{background:var(--slate2);color:#fff;padding-left:34px}.situation-result{padding:52px 7vw}.situation-result>span{font:600 .68rem monospace;letter-spacing:.15em;color:var(--slate)}.situation-result h3{font-size:clamp(1.7rem,2.7vw,2.55rem);line-height:1.3;max-width:620px}.situation-result ol{counter-reset:sit;list-style:none;padding:0;margin:30px 0}.situation-result li{counter-increment:sit;padding:14px 0;border-top:1px solid var(--line);color:#4f575c}.situation-result li::before{content:"0" counter(sit);font:600 .7rem monospace;color:var(--slate);margin-right:22px}.support-feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--graphite);color:#fff}.support-image{min-height:640px;overflow:hidden}.support-image img{height:100%;object-fit:cover}.support-copy{padding:7vw 6vw;display:flex;flex-direction:column;justify-content:center}.support-copy .label{color:#99b0bf}.support-copy h2{font-size:clamp(2.4rem,3.8vw,3.65rem);line-height:1.16;margin:20px 0}.support-copy>p{line-height:1.85;color:#bec7cc}.support-copy dl{margin:28px 0;border-top:1px solid #536068}.support-copy dl div{display:grid;grid-template-columns:85px 1fr;padding:13px 0;border-bottom:1px solid #536068;font-size:.82rem}.support-copy dt{color:#8fa6b5}.support-copy dd{margin:0}.service-layout{display:grid;grid-template-columns:1.05fr .95fr}.service-feature{min-height:520px;padding:42px;background:linear-gradient(180deg,rgba(32,36,39,.05),rgba(32,36,39,.9)),url('../images/ceremony-preparation.png') center/cover;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.service-feature span,.service-feature i{font:600 .65rem monospace;letter-spacing:.12em;color:#c6d5dd}.service-feature h3{font-size:2.3rem;margin:16px 0}.service-feature p{line-height:1.75;max-width:480px}.service-feature i{font-style:normal;margin-top:26px}.service-split{border-top:1px solid var(--line)}.service-split a{min-height:173px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:20px;padding:24px 30px;border-bottom:1px solid var(--line);transition:background .3s,padding .3s}.service-split a:hover{background:var(--cool);padding-left:38px}.service-split b{font:600 .68rem monospace;color:var(--slate)}.service-split strong{font-size:1.08rem}.service-split p{font-size:.8rem;color:var(--muted);line-height:1.6}.service-split i{font-style:normal}.guided-process{background:var(--slate2);color:#fff}.guided-process .label{color:#afc3cf}.guided-process .heading p{color:#b8c4cb}.process-guide{display:grid;grid-template-columns:260px 1fr;gap:6vw;align-items:start}.process-guide nav{position:sticky;top:105px;border-left:1px solid #627985}.process-guide nav button{width:100%;height:64px;border:0;background:transparent;color:#9fb0b9;display:grid;grid-template-columns:46px 1fr;align-items:center;text-align:left;padding:0 20px;cursor:pointer;position:relative}.process-guide nav button.active{color:#fff}.process-guide nav button b{font:600 .7rem monospace}.process-guide nav button span{font-weight:700}.process-progress{position:absolute;left:-2px;top:0;width:3px;height:100%;background:#fff;transform:scaleY(.143);transform-origin:top;transition:transform .4s}.process-panels article{min-height:78vh;padding-bottom:10vh;opacity:.34;transition:opacity .4s}.process-panels article.active{opacity:1}.process-panels img{aspect-ratio:16/9;object-fit:cover;margin-bottom:28px}.process-panels article>span{font:600 .68rem monospace;letter-spacing:.12em;color:#afc3cf}.process-panels h3{font-size:clamp(2rem,3vw,3rem);margin:14px 0}.process-panels p{max-width:680px;line-height:1.8;color:#d3dbe0}.process-panels strong{display:block;margin-top:18px;font-size:.78rem;color:#afc3cf}.team-section{background:#fff}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-grid article{border-top:3px solid var(--graphite);padding-top:16px}.team-grid img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.78);margin-bottom:22px}.team-grid span{font:600 .64rem monospace;letter-spacing:.12em;color:var(--slate)}.team-grid h3{font-size:1.35rem;margin:10px 0}.team-grid p{font-size:.84rem;line-height:1.75;color:var(--muted)}.gallery-section{padding:96px 0;background:var(--cool)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery figure{margin:0;background:#fff}.gallery figure.wide{grid-column:span 2}.gallery img{height:330px;object-fit:cover;filter:saturate(.72) contrast(1.04)}.gallery .wide img{height:480px}.gallery figcaption{padding:14px 16px;font:600 .65rem monospace;letter-spacing:.1em;color:var(--slate)}.checklist-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.checklist-grid h2{font-size:clamp(2.35rem,3.8vw,3.6rem);line-height:1.15;margin:18px 0}.checklist-grid p{line-height:1.8;color:var(--muted)}.checklist-grid ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--graphite)}.checklist-grid li{display:grid;grid-template-columns:58px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.checklist-grid li b{font:600 .7rem monospace;color:var(--slate)}.aftercare{padding:90px 0;background:var(--slate2);color:#fff}.aftercare-grid{display:grid;grid-template-columns:.45fr 1fr .7fr;gap:5vw;align-items:start}.aftercare .label{color:#afc3cf}.aftercare h2{font-size:clamp(2.2rem,3.4vw,3.2rem);line-height:1.18;margin:0 0 20px}.aftercare p{color:#c6d0d6;line-height:1.8}.aftercare-list{border-top:1px solid #657985}.aftercare-list span{display:block;padding:17px 0;border-bottom:1px solid #657985;font-size:.84rem}.faq{max-width:920px;margin:auto}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item button{min-height:70px;width:100%;border:0;background:none;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.faq-item button::after{content:"+"}.faq-item.open button::after{content:"−"}.faq-item p{display:none;margin:0;padding:0 0 25px;line-height:1.75;color:#636b70}.faq-item.open p{display:block}.emergency-cta{padding:76px 0;background:var(--graphite);color:#fff}.emergency-cta>.wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.emergency-cta span{font:600 .66rem monospace;letter-spacing:.15em;color:#9eb1bc}.emergency-cta h2{font-size:clamp(2.2rem,3.6vw,3.4rem);margin:16px 0}.emergency-cta>div>div:last-child{display:grid;gap:16px;text-align:right}.emergency-cta>div>div:last-child>a:first-child{font:600 1.8rem monospace}.page-head{padding:82px 0 55px;background:var(--cool);border-bottom:1px solid var(--line)}.page-head p{line-height:1.8;max-width:650px;color:var(--muted)}.details{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:80px 0 110px}.details aside h1{font-size:clamp(2.7rem,4.3vw,4.2rem);line-height:1.1;margin:16px 0}.details-main h2{font-size:1.7rem;margin-top:40px}.details-main p,.details-main li{line-height:1.8;color:#626a6f}.support-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:10px}.support-list li{padding:18px;border:1px solid var(--line)}.services{display:grid;grid-template-columns:1.1fr .9fr}.services .service-feature{min-height:510px}.service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-list a{min-height:166px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.service-list b{font:600 .65rem monospace;color:var(--slate)}.professional{display:grid;grid-template-columns:1fr 1fr}.professional img{height:620px;object-fit:cover;filter:saturate(.75)}.professional-copy{padding:7vw;background:var(--cool);display:flex;flex-direction:column;justify-content:center}.professional h2{font-size:clamp(2.4rem,3.8vw,3.6rem);line-height:1.14;margin:18px 0}.professional p{line-height:1.85;color:var(--muted)}.process{position:relative;display:grid;grid-template-columns:repeat(7,1fr)}.process::before{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:var(--line)}.process article{padding-right:18px;position:relative}.process b{display:grid;place-items:center;width:44px;height:44px;background:var(--slate2);border:1px solid #8296a2;color:#fff;position:relative;z-index:1;font:600 .7rem monospace}.process h3{font-size:1rem;margin:20px 0 7px}.process p{font-size:.75rem;line-height:1.65;color:var(--muted)}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:78px 0 105px}.form-copy h1{font-size:clamp(2.7rem,4.3vw,4.2rem);line-height:1.1}.form-copy strong{display:block;font-size:1.5rem;color:var(--slate);margin-top:28px}form{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:8px;font-size:.78rem}input,select,textarea{border:1px solid var(--line);background:#fff;padding:14px;width:100%}textarea{min-height:125px}.full,.agree,.message{grid-column:1/-1}.agree{display:flex;align-items:center}.agree input{width:auto;margin-right:8px}.message{min-height:24px;color:var(--slate);font-weight:700}.footer{background:#171a1c;color:#e7e9ea;padding:62px 0 27px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h3{font:600 .7rem monospace;letter-spacing:.12em}.footer a,.footer p{font-size:.76rem;color:#aeb5b9;line-height:1.9}.footer .call{font-size:1.3rem;color:#fff;font-weight:800}.copy{border-top:1px solid #3e4549;margin-top:42px;padding-top:18px;color:#7f898e;font-size:.66rem}.js.motion .reveal{opacity:0;transform:translateY(10px);transition:opacity .38s,transform .38s}.js.motion .reveal.on{opacity:1;transform:none}.js.motion .mask{clip-path:inset(0 0 100% 0);transition:clip-path .58s}.js.motion .mask.on{clip-path:inset(0)}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:66px}.header-in{gap:10px}.logo small{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;padding:22px 18px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.emergency-link{font-size:0;width:44px;padding:0}.emergency-link::after{content:"24H";font-size:.67rem}.hero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;grid-template-rows:auto}.hero-copy{padding:54px 18px 45px}.hero h1{font-size:clamp(2.35rem,10.5vw,2.75rem)}.hero-actions{flex-direction:column}.hero-media{height:43vh}.hero-status{grid-column:1;padding:0;grid-template-columns:repeat(3,1fr)}.hero-status div{min-height:76px;display:block;padding:16px 10px}.hero-status div:first-child{padding-left:10px}.hero-status b{font-size:1.1rem}.hero-status span{display:block;font-size:.52rem;margin-top:5px}.first-action-grid,.situation-grid,.support-feature,.service-layout,.process-guide,.checklist-grid,.aftercare-grid,.emergency-cta>.wrap,.details,.form-layout,.professional{grid-template-columns:1fr}.first-action-grid{padding:68px 0}.section,.gallery-section{padding:72px 0}.heading{display:block;margin-bottom:34px}.heading h2{font-size:2.2rem}.situation-tabs{border-right:0;border-bottom:1px solid var(--graphite)}.situation-tabs button{min-height:60px}.situation-result{padding:38px 20px}.support-image{min-height:0;height:48vh}.support-copy{padding:65px 22px}.service-feature{min-height:430px;padding:28px}.service-split a{min-height:140px;padding:22px 18px}.process-guide nav{display:none}.process-panels article,.process-panels article.active{min-height:0;opacity:1;padding-bottom:65px}.process-panels article:last-child{padding-bottom:0}.process-panels img{margin-bottom:22px}.team-grid{grid-template-columns:1fr}.team-grid article{margin-bottom:38px}.gallery{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.gallery img,.gallery .wide img{height:300px}.aftercare-grid{gap:28px}.emergency-cta>div>div:last-child{text-align:left}.page-head{padding:62px 0 42px}.details,.form-layout{gap:30px;padding:58px 0 82px}.support-list{grid-template-columns:1fr}.services{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.process{grid-template-columns:1fr}.process::before{left:21px;top:0;bottom:0;width:2px;height:auto}.process article{padding:0 0 32px 66px}.process b{position:absolute;left:0}.process h3{margin:5px 0}.professional img{height:430px}.professional-copy{padding:62px 22px}form{grid-template-columns:1fr}.full,.agree,.message{grid-column:1}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.process-panels article,.js.motion .reveal,.js.motion .mask{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}

/* === mobile navigation + back-to-top refinement === */
@media(max-width:760px){
  .header{position:sticky;top:0;z-index:110;background:rgba(255,255,255,.98);backdrop-filter:blur(10px)}
  body.menu-open{overflow:hidden}
  .nav{display:flex;position:fixed;top:66px;left:0;right:0;bottom:0;padding:34px 20px 28px;background:var(--graphite);color:#fff;border:0;flex-direction:column;gap:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s;counter-reset:dam-nav}
  .nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav::before{content:"SERVICE NAVIGATION";font:600 .62rem monospace;letter-spacing:.16em;color:#9eb1bc;margin:4px 0 18px}
  .nav a{position:relative;padding:17px 0 17px 42px;border-bottom:1px solid rgba(255,255,255,.14);font-size:17px}.nav a::before{counter-increment:dam-nav;content:"0" counter(dam-nav);position:absolute;left:0;top:21px;font:600 .62rem monospace;color:#91a9b6}
  .menu-toggle{min-width:54px;height:36px;border:1px solid var(--slate);background:#fff;color:var(--slate);font:600 .62rem monospace;letter-spacing:.08em}.menu-toggle[aria-expanded="true"]{background:var(--slate);color:#fff}
}
.back-to-top{position:fixed;right:18px;bottom:22px;width:46px;height:46px;border:0;background:var(--slate);color:#fff;display:grid;place-items:center;font:700 16px monospace;z-index:90;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}

/* === mobile nav overlay bugfix: cover viewport instead of exposing page content === */
@media(max-width:760px){
  .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;z-index:120}
  .nav{position:fixed;top:66px;left:0;right:0;bottom:0;width:100vw;height:auto;padding:34px 20px 28px;background:var(--graphite);z-index:110;overflow-y:auto;overscroll-behavior:contain;transform:none;opacity:0;visibility:hidden;pointer-events:none}
  .nav.open{opacity:1;visibility:visible;pointer-events:auto}
}
