/* ===== ORA additions on top of the insplanet base ===== */
body{background:#fff;color:#3e3f44;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;word-break:keep-all}
#ci-logo svg{width:100%;height:100%;display:block}
.ora-wm text{font-family:Montserrat,Pretendard,sans-serif;font-weight:700}
.footer-logo svg,.m-footer-ci svg{overflow:visible}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* service card: link to the detail page */
.svc-eyebrow{display:block;margin:0 0 12px;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(18px,.6vw + 12px,24px);color:#797b87}
.svc-more,.ora-btn{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(24px,1vw + 14px,32px);padding:clamp(10px,.2232vw + 7.71px,12px) clamp(8px,.4464vw + 3.43px,12px) clamp(10px,.2232vw + 7.71px,12px) clamp(12px,.4464vw + 7.43px,16px);border:1px solid #3e3f44;border-radius:8px;color:#3e3f44;background:#fff;font-size:clamp(14px,.2232vw + 11.71px,16px);font-weight:600;line-height:1.5;text-decoration:none;transition:background .25s,color .25s}
.svc-more:hover,.ora-btn:hover{background:#3e3f44;color:#fff}
.svc-more:hover img,.ora-btn:hover img{filter:brightness(0) invert(1)}
.svc-more img,.ora-btn img{width:20px;height:20px}
.m-svc-card .svc-more{margin-top:20px}

/* ===== home FAQ (AEO) ===== */
.ora-faq{position:relative;z-index:1;padding:clamp(120px,8vw,200px) 0}
.ora-faq-inner{width:clamp(928px,62.277vw + 290.3px,1486px);max-width:calc(100% - 96px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,4vw,96px)}
.ora-faq h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(56px,4vw + 16px,112px);line-height:1;color:#3e3f44;margin:0}
.ora-faq .faq-kicker{margin-top:24px;font-size:clamp(15px,.4vw + 11px,20px);line-height:1.6;color:#3e3f44}
.faq-list{border-top:1px solid #3e3f44}
.faq-item{border-bottom:1px solid #e3e4ea}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,1vw + 12px,32px) 0;font-size:clamp(17px,.45vw + 12.5px,22px);font-weight:700;color:#3e3f44}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{flex:none;position:relative;width:20px;height:20px}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:#3e3f44;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.faq-item summary i::after{transform:rotate(90deg)}
.faq-item[open] summary i::after{transform:rotate(0)}
.faq-item p{margin:0;padding:0 0 clamp(24px,1vw + 14px,32px);font-size:clamp(15px,.3vw + 12px,18px);line-height:1.7;color:#5b5c63;max-width:62ch}
.reveal{opacity:0;filter:blur(12px);transform:translateY(24px);transition:opacity .9s,filter .9s,transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;filter:none;transform:none}
@media (max-width:1023px){
  .ora-faq{padding:96px 0}
  .ora-faq-inner{grid-template-columns:1fr;max-width:calc(100% - 48px);width:auto;gap:32px}
  .ora-faq h2{font-size:56px}
}

/* ===== sub pages (service detail / contact) ===== */
.sp{position:relative;z-index:1}
.sp-wrap{width:clamp(928px,62.277vw + 290.3px,1486px);max-width:calc(100% - 96px);margin:0 auto}
.sp-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(140px,10vw,200px) 0 clamp(64px,4vw,96px)}
.sp-crumbs{display:flex;gap:10px;font-size:14px;font-weight:600;color:#797b87;margin-bottom:clamp(24px,2vw,40px)}
.sp-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.sp-crumbs a:hover{border-color:#797b87}
.sp-en{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(88px,6vw + 30px,172px);line-height:1;letter-spacing:-.01em;color:#3e3f44}
.sp-hero h1{margin:clamp(20px,1.5vw,32px) 0 0;font-size:clamp(28px,1.6vw + 12px,48px);font-weight:700;line-height:1.3;color:#3e3f44;max-width:24em}
.sp-lead{margin-top:clamp(20px,1.2vw,28px);max-width:44em;font-size:clamp(15px,.45vw + 10.5px,20px);line-height:1.7;color:#5b5c63}
.sp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(24px,1.6vw,36px);padding:0;list-style:none}
.sp-tags li{background:#f4f5f6;border-radius:999px;padding:0 clamp(16px,1vw,24px);height:clamp(36px,.8vw + 28px,48px);display:inline-flex;align-items:center;font-size:clamp(13px,.3vw + 10px,16px);font-weight:600}
.sp-media{margin-top:clamp(48px,3vw,80px);border-radius:clamp(24px,2vw,40px);overflow:hidden;aspect-ratio:40/27}
.sp-media img{width:100%;height:100%;object-fit:cover;display:block}
.sp-sec{padding:clamp(96px,7vw,180px) 0;border-top:1px solid #ececf1}
.sp-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(40px,4vw,96px);align-items:start}
.sp-label{position:sticky;top:clamp(120px,8vw,180px);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(40px,2vw + 20px,64px);line-height:1.05;color:#3e3f44;margin:0}
.sp-label small{display:block;margin-top:14px;font-family:Pretendard,sans-serif;font-size:clamp(14px,.3vw + 11px,17px);font-weight:600;color:#797b87;line-height:1.5}
.sp-pains{list-style:none;padding:0;margin:0;border-top:1px solid #3e3f44}
.sp-pains li{display:flex;gap:20px;align-items:baseline;padding:clamp(20px,1vw + 10px,28px) 0;border-bottom:1px solid #e3e4ea;font-size:clamp(17px,.5vw + 12px,24px);font-weight:700;line-height:1.45}
.sp-pains li span{font-family:'Cormorant Garamond',serif;font-size:1.1em;color:#a1a3ad;min-width:2em}
.sp-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sp-step{background:#f4f5f6;border-radius:24px;padding:clamp(24px,1.6vw,40px);min-height:clamp(200px,12vw,260px);display:flex;flex-direction:column}
.sp-step b{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,2vw + 16px,64px);font-weight:600;line-height:1;color:#3e3f44}
.sp-step h3{margin:auto 0 8px;padding-top:24px;font-size:clamp(19px,.5vw + 14px,26px);font-weight:700}
.sp-step p{margin:0;font-size:clamp(14px,.25vw + 11.5px,17px);line-height:1.65;color:#5b5c63}
.sp-incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid #3e3f44}
.sp-incl div{padding:clamp(22px,1vw + 12px,32px) 0;border-bottom:1px solid #e3e4ea}
.sp-incl h3{margin:0 0 8px;font-size:clamp(17px,.4vw + 13px,22px);font-weight:700}
.sp-incl p{margin:0;font-size:clamp(14px,.25vw + 11.5px,17px);line-height:1.6;color:#5b5c63}
.sp-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-related a{display:flex;flex-direction:column;gap:10px;padding:clamp(24px,1.4vw,36px);border:1px solid #e3e4ea;border-radius:24px;text-decoration:none;color:#3e3f44;transition:border-color .3s,transform .5s cubic-bezier(.34,1.45,.5,1)}
.sp-related a:hover{border-color:#3e3f44;transform:translateY(-6px)}
.sp-related em{font-style:normal;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(26px,1vw + 16px,36px);line-height:1}
.sp-related span{font-size:15px;font-weight:600;color:#797b87}
.sp-updated{margin-top:24px;font-size:13px;color:#a1a3ad}
@media (max-width:1023px){
  .sp-wrap{max-width:calc(100% - 48px);width:auto}
  .sp-hero{min-height:auto;padding:128px 0 56px}
  .sp-en{font-size:clamp(56px,13vw,96px)}
  .sp-grid{grid-template-columns:1fr;gap:28px}
  .sp-label{position:static;font-size:44px}
  .sp-steps,.sp-incl,.sp-related{grid-template-columns:1fr}
  .sp-media{height:auto;aspect-ratio:3/2}
}

/* ===== contact form ===== */
.cf{display:grid;gap:clamp(28px,1.6vw,40px)}
.cf fieldset{border:0;padding:0;margin:0}
.cf legend,.cf label.cf-l{display:block;margin-bottom:14px;font-size:clamp(15px,.3vw + 12px,18px);font-weight:700;color:#3e3f44}
.cf legend em,.cf label.cf-l em{font-style:normal;color:#f03a3a;margin-left:4px}
.cf-chips{display:flex;flex-wrap:wrap;gap:8px}
.cf-chips label{cursor:pointer}
.cf-chips input{position:absolute;opacity:0;pointer-events:none}
.cf-chips span{display:inline-flex;align-items:center;height:48px;padding:0 22px;border:1px solid #e5e5e5;border-radius:999px;background:#fff;font-size:15px;font-weight:600;color:#3e3f44;transition:border-color .15s,background .15s,color .15s}
.cf-chips label:hover span{border-color:#3e3f44}
.cf-chips input:checked+span{background:#3e3f44;border-color:#3e3f44;color:#fff}
.cf-chips input:focus-visible+span{outline:2px solid #b899ff;outline-offset:2px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-in{width:100%;height:56px;padding:0 20px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;font:inherit;font-size:16px;color:#3e3f44;outline:none;transition:border-color .2s}
textarea.cf-in{height:160px;padding:16px 20px;resize:vertical;line-height:1.6}
.cf-in:focus{border-color:#3e3f44}
.cf-consent{display:flex;align-items:center;gap:12px;font-size:15px;cursor:pointer;user-select:none}
.cf-consent input{width:20px;height:20px;accent-color:#3e3f44}
.cf-submit{justify-self:start;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:220px;height:64px;padding:0 24px;border:0;border-radius:999px;background:#3e3f44;color:#fff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}
.cf-submit[disabled]{opacity:.5;cursor:default}
.cf-submit svg{width:20px;height:20px}
.cf-msg{font-size:15px;line-height:1.6;color:#3e3f44;min-height:1.6em}
.cf-msg.err{color:#f03a3a}
.cf-side{display:grid;gap:4px;border-top:1px solid #3e3f44}
.cf-side div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #e3e4ea;font-size:15px}
.cf-side span{color:#797b87}
.cf-side a,.cf-side b{color:#3e3f44;font-weight:700;text-decoration:none}
@media (max-width:1023px){.cf-row{grid-template-columns:1fr}.cf-submit{width:100%}}

#menu-logo svg{width:100%;height:100%;display:block}
.footer-tf span,.m-footer-tf span{white-space:nowrap}
@media (max-width:1023px){.ora-faq--d{display:none}}
@media (min-width:1024px){.ora-faq--m{display:none}}
.sp-def{border-top:1px solid #3e3f44;padding-top:clamp(22px,1vw + 12px,32px)}
.sp-def-q{margin:0 0 16px;font-size:clamp(20px,.6vw + 14px,28px);font-weight:700;line-height:1.4}
.sp-def p{margin:0;font-size:clamp(16px,.4vw + 12px,21px);line-height:1.8;color:#3e3f44;max-width:46em}
.cf-consent{align-items:flex-start;line-height:1.6}.cf-consent input{flex:none;margin-top:3px}
