@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@300;400;500;600&display=swap');
:root{--black:#0b0b0d;--dark:#141416;--cream:#f1f0eb;--gold:#b6a083;--ink:#1b1b1d;--muted:#8c8b88;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#f5f3ed;font-family:Manrope,'Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--gold);color:#000}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:90px;padding:0 clamp(24px,5.5vw,110px);display:flex;align-items:center;justify-content:space-between;transition:background .45s,height .45s,border .45s}.site-header.scrolled{height:72px;background:rgba(10,10,12,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.09)}.wordmark,.footer-brand{font-family:Manrope,sans-serif;font-weight:800;font-size:31px;letter-spacing:-.085em;line-height:1}.wordmark span,.footer-brand span,.accent{color:var(--gold)}.desktop-nav{display:flex;align-items:center;gap:clamp(25px,3vw,54px)}.desktop-nav>a{font-size:10px;letter-spacing:.15em;font-weight:700;transition:color .25s}.desktop-nav>a:hover,.desktop-nav>a[aria-current]{color:var(--gold)}.desktop-nav .nav-contact{border:1px solid rgba(255,255,255,.5);padding:15px 20px}.nav-contact span{margin-left:20px;color:var(--gold)}.menu-toggle,.mobile-menu{display:none}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#0a0a0a}.hero-media,.hero-video,.hero-gradient{position:absolute;inset:0;width:100%;height:100%}.hero-media{background:radial-gradient(ellipse at 75% 30%,#4d413a 0%,#15161a 35%,#09090b 72%)}.hero-video{object-fit:cover;opacity:0;animation:videoFade 2.4s ease .15s forwards;filter:saturate(.75)}.hero-gradient{background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.24) 65%,rgba(0,0,0,.3) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 32%,rgba(0,0,0,.2));pointer-events:none}.hero-content{position:absolute;top:50%;left:clamp(24px,9vw,180px);transform:translateY(-41%);z-index:2}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.26em;font-weight:700;color:var(--gold)}.hero-title{font-size:clamp(80px,11.4vw,205px);font-weight:600;letter-spacing:-.092em;line-height:.95;margin:29px 0 32px}.hero-title em,.display-title i,.section-heading i,.statement em,.contact-banner i,.sub-hero i{font-family:Georgia,serif;font-weight:400;letter-spacing:-.085em}.hero-sub{font-family:'Noto Sans KR',sans-serif;font-weight:300;letter-spacing:-.025em;font-size:clamp(14px,1.4vw,19px);color:#d9d8d5;margin:0 0 36px}.text-link,.dark-link{font-size:11px;letter-spacing:.16em;font-weight:800;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:12px}.text-link span,.dark-link span{font-size:19px}.hero-bottom{position:absolute;z-index:2;bottom:37px;left:clamp(24px,5.5vw,110px);right:clamp(24px,5.5vw,110px);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#c7c4bf}.hero-reveal{opacity:0;transform:translateY(25px);animation:riseIn 1.2s cubic-bezier(.2,.8,.2,1) forwards}.hero-reveal:nth-child(1){animation-delay:.8s}.hero-reveal:nth-child(2){animation-delay:1.08s}.hero-reveal:nth-child(3){animation-delay:1.4s}.hero-reveal:nth-child(4){animation-delay:1.65s}@keyframes riseIn{to{opacity:1;transform:translateY(0)}}@keyframes videoFade{to{opacity:1}}.section-inner{max-width:1520px;margin:auto;padding:0 clamp(24px,7vw,112px)}.section-light{background:var(--cream);color:var(--ink)}.section-dark{background:var(--dark);color:#f5f3ed}.intro{padding:clamp(130px,16vw,260px) 0}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:end;margin-top:40px}.display-title{font-size:clamp(68px,8.5vw,145px);line-height:1.03;letter-spacing:-.085em;font-weight:600;margin:0}.intro-aside{padding-bottom:10px;max-width:430px}.intro-aside .lead{font-size:clamp(18px,1.8vw,25px);line-height:1.75;color:#232323;letter-spacing:-.055em}.intro-aside p:not(.lead){font-size:14px;line-height:2.1;color:#777;letter-spacing:-.03em}.dark-link{margin-top:28px}.services{padding:150px 0 170px}.section-heading{margin-bottom:85px}.section-heading h2{font-size:clamp(65px,8.8vw,145px);line-height:1;letter-spacing:-.08em;font-weight:600;margin:30px 0 18px}.section-heading p{font-size:14px;color:#92918e}.service-row{display:grid;grid-template-columns:55px minmax(0,1.4fr) minmax(0,.8fr) 30px;align-items:center;gap:18px;border-top:1px solid var(--line);padding:33px 0;transition:padding .3s,color .3s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:15px;color:var(--gold)}.service-row>span:first-child{color:var(--gold);font-size:12px}.service-row strong{font-size:clamp(25px,3.5vw,51px);letter-spacing:-.065em;font-weight:500}.service-description{font-size:13px;color:#a2a09e}.service-row b{font-size:23px;font-weight:400}.work-preview{padding:150px 0}.dark-heading{margin-bottom:65px}.dark-heading p{color:#777}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.project-image{aspect-ratio:1.35;background:#242426;overflow:hidden}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.project-card:hover img{transform:scale(1.045)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0}.project-meta h3{font-size:21px;letter-spacing:-.05em;margin:0}.project-meta span{font-size:11px;color:#777}.empty-work{grid-column:1/-1;min-height:410px;background:#dcd9d1;padding:60px;display:flex;flex-direction:column;justify-content:center}.empty-work span{font-size:11px;letter-spacing:.2em;color:#8e806c}.empty-work h3{font-size:clamp(35px,5vw,65px);letter-spacing:-.07em;font-weight:500;line-height:1.1;margin:35px 0 20px}.empty-work p{color:#777;font-size:13px}.outline-button{display:flex;width:max-content;gap:50px;align-items:center;border:1px solid #3c3b39;padding:19px 25px;margin-top:70px;font-size:11px;letter-spacing:.13em;font-weight:700}.outline-button span{font-size:19px}.statement{padding:180px 0 200px;text-align:center;background:radial-gradient(circle at 50% 50%,#282629,#111113 65%)}.statement p{font-size:clamp(39px,6vw,92px);letter-spacing:-.08em;line-height:1.22;font-weight:500;margin:60px 0}.statement em{color:var(--gold)}.statement-foot{font-size:10px;letter-spacing:.22em;color:#999}.contact-banner{background:#b9a78e;color:#181716;padding:135px 0 145px}.contact-banner .section-kicker{color:#584c3b}.contact-banner h2{font-size:clamp(70px,10vw,160px);line-height:1;letter-spacing:-.09em;font-weight:600;margin:40px 0 25px}.contact-banner p{font-size:14px}.contact-arrow{float:right;font-size:90px;line-height:1;border:1px solid #333;border-radius:50%;width:130px;height:130px;text-align:center;padding-top:14px;transition:background .3s,color .3s}.contact-arrow:hover{background:#171717;color:#fff}.footer{background:#0a0a0b;padding:95px clamp(24px,7vw,112px) 35px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:105px}.footer-brand{font-size:55px}.footer-top p{font-size:13px;color:#777;line-height:1.8;margin-top:25px}.footer-links{display:flex;gap:30px;align-items:start;font-size:11px;letter-spacing:.12em}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #292929;padding-top:28px;display:flex;justify-content:space-between;gap:25px;color:#747474;font-size:10px;letter-spacing:.08em}.footer-bottom div{display:flex;gap:35px}.sub-hero{background:radial-gradient(ellipse at 75% 25%,#262328,#111113 60%);padding:240px 0 150px;min-height:640px}.sub-hero h1{font-size:clamp(70px,10vw,160px);letter-spacing:-.09em;line-height:1.04;font-weight:500;margin:35px 0}.sub-hero p{font-size:16px;color:#b3b1af;letter-spacing:-.04em}.content-section{padding:140px 0 160px;min-height:340px}.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.content-grid h2{font-size:clamp(38px,5vw,72px);letter-spacing:-.075em;line-height:1.2;margin:0 0 40px}.content-grid p{font-size:15px;line-height:2.2;color:#6f6f6c}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px}.principles>div{border-top:1px solid #444;padding:30px 0}.principles b{color:var(--gold);font-size:12px}.principles h3{font-size:30px;font-weight:500;letter-spacing:-.06em;margin:50px 0 15px}.principles p{color:#888;font-size:13px}.expertise-item{scroll-margin-top:90px;display:grid;grid-template-columns:.2fr 1fr;gap:30px;border-top:1px solid #bbb;padding:60px 0}.expertise-item>span{color:#9d8a6f;font-size:13px}.expertise-item h2{font-size:clamp(35px,5vw,65px);letter-spacing:-.07em;font-weight:500;margin:0 0 30px}.expertise-item h3{font-size:20px;font-weight:500}.expertise-item p{font-size:14px;color:#777}.project-detail-image{width:100%;max-height:780px;object-fit:cover}.project-body{white-space:normal;max-width:900px;margin:65px auto;font-size:16px;line-height:2.1;overflow-wrap:anywhere}.narrow{max-width:1000px}.narrow h3{margin-top:50px}.narrow p{line-height:2}.notice-row{display:grid;grid-template-columns:100px 1fr 115px 20px;gap:25px;align-items:center;border-top:1px solid #c9c7c1;padding:28px 0}.notice-row:last-child{border-bottom:1px solid #c9c7c1}.notice-row span,.notice-row time{font-size:11px;color:#888}.notice-row strong{font-size:18px;font-weight:500}.muted{color:#8a8986!important}.contact-form{display:grid;gap:26px}.contact-form>label{display:grid;gap:12px;font-size:13px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #b5b2aa;padding:15px 0;border-radius:0;outline:none;color:#1b1b1b}.contact-form input:focus,.contact-form textarea:focus{border-color:#111}.contact-form .agree{display:flex;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.8;color:#555}.agree input{margin:6px 8px 0 0}.agree a{text-decoration:underline}.submit-button{background:#171717;color:#fff;border:0;padding:24px;text-align:left;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em}.submit-button span{font-size:22px}.form-alert{background:#f4dfd8;color:#793c29;padding:20px;margin-bottom:25px}.form-alert.success{background:#e0eadc;color:#32522a}.honeypot{position:absolute;left:-9999px}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:10px;z-index:102}.menu-toggle span{display:block;width:27px;height:1px;background:#fff;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;z-index:99;inset:0;background:#101012;flex-direction:column;justify-content:center;padding:10vw;gap:28px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu a{font-size:clamp(35px,9vw,70px);font-weight:600;letter-spacing:-.07em}.intro-grid,.content-grid{grid-template-columns:1fr;gap:60px}.service-row{grid-template-columns:35px 1fr 25px}.service-description{display:none}.principles{grid-template-columns:1fr}.footer-links{flex-wrap:wrap;justify-content:flex-end}.hero-title{font-size:clamp(75px,14vw,135px)}}@media(max-width:600px){.site-header{height:72px}.wordmark{font-size:28px}.hero{min-height:580px}.hero-content{left:24px;right:20px;transform:translateY(-30%)}.hero-title{font-size:clamp(68px,15vw,100px);margin:22px 0}.eyebrow,.section-kicker{font-size:9px;letter-spacing:.17em}.hero-bottom{font-size:8px}.hero-bottom span:first-child{display:none}.hero-bottom span:last-child{margin-left:auto}.intro,.services,.work-preview,.content-section{padding:95px 0}.display-title{font-size:clamp(58px,12vw,90px)}.section-heading h2{font-size:clamp(53px,11vw,90px)}.section-heading{margin-bottom:50px}.service-row{padding:25px 0}.service-row strong{font-size:26px}.project-grid{grid-template-columns:1fr;gap:20px}.empty-work{min-height:330px;padding:32px}.statement{padding:115px 0}.contact-banner{padding:90px 0}.contact-banner h2{font-size:clamp(60px,12vw,100px)}.contact-arrow{width:80px;height:80px;font-size:55px;padding-top:8px}.footer{padding-top:75px}.footer-top{flex-direction:column;padding-bottom:70px}.footer-links{justify-content:flex-start;gap:20px}.footer-bottom{flex-direction:column}.sub-hero{padding:190px 0 90px;min-height:500px}.sub-hero h1{font-size:clamp(65px,12vw,100px)}.notice-row{grid-template-columns:1fr auto;gap:10px}.notice-row span{grid-column:1/-1}.notice-row b{display:none}.expertise-item{grid-template-columns:35px 1fr}.expertise-item h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-reveal{animation:none;opacity:1;transform:none}.hero-video{animation:none;opacity:1}.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* ZENSI FOOTER BUSINESS INFORMATION */

.footer-business {
    padding: 24px 0;
    color: #888;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.02em;
}

.footer-business p {
    margin: 0 0 4px;
}

.footer-business span {
    color: #555;
    margin: 0 8px;
}

@media (max-width: 768px) {
    .footer-business {
        font-size: 11px;
        line-height: 2;
    }

    .footer-business span {
        margin: 0 4px;
    }
}


/* =============================================================
   ZENSI CINEMATIC REFINEMENT — 2026
   Homepage hero / responsive video / natural reveal transitions
   ============================================================= */
.hero { isolation: isolate; height: 100svh; min-height: 620px; }
@supports (height: 100dvh) { .hero { height: 100dvh; } }
.hero-media { overflow: hidden; background: radial-gradient(ellipse at 65% 38%, #343139 0%, #171719 48%, #080809 100%); }
.hero-video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(.78) contrast(1.05); will-change: opacity; }
.hero-gradient { background: linear-gradient(90deg, rgba(4,4,6,.78) 0%, rgba(4,4,6,.48) 42%, rgba(4,4,6,.19) 100%), linear-gradient(0deg, rgba(4,4,6,.72), transparent 24%, transparent 68%, rgba(4,4,6,.24)); }
.hero-content { max-width: min(1100px, 84vw); transform: translateY(-43%); }
.hero-title { text-wrap: balance; }
.hero-reveal { animation-duration: 1.45s; animation-timing-function: cubic-bezier(.16,1,.3,1); }
.hero-reveal:nth-child(1) { animation-delay: .35s; }
.hero-reveal:nth-child(2) { animation-delay: .58s; }
.hero-reveal:nth-child(3) { animation-delay: .83s; }
.hero-reveal:nth-child(4) { animation-delay: 1.06s; }
/* Subtle vertical movement, softer opacity timing, no abrupt snapping */
main .reveal { transform: translate3d(0, 46px, 0); opacity: 0; transition: transform 1.15s cubic-bezier(.16,1,.3,1), opacity 1.1s cubic-bezier(.2,.65,.2,1); }
main .reveal.visible { transform: translate3d(0,0,0); opacity: 1; }
.intro-grid > .reveal:nth-child(2), .project-grid > .reveal:nth-child(even) { transition-delay: .13s; }
.service-row.reveal:nth-child(2), .service-row.reveal:nth-child(4) { transition-delay: .08s; }
.project-image img { transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.project-card:hover .project-image img { transform: scale(1.055); }
.text-link, .dark-link, .outline-button { transition: opacity .35s ease, gap .5s cubic-bezier(.16,1,.3,1); }
.text-link:hover, .dark-link:hover, .outline-button:hover { gap: 45px; }
@media (max-width: 900px) {
  .hero-content { max-width: none; }
}
@media (max-width: 600px) {
  .hero { min-height: 580px; }
  /* Preserve the whole landscape frame instead of cutting off its sides. */
  .hero-media { background: radial-gradient(ellipse at 50% 46%, #2d2a30 0%, #111114 64%, #080809 100%); }
  .hero-video { object-fit: contain; object-position: center center; filter: saturate(.72) contrast(1.04); }
  .hero-gradient { background: linear-gradient(180deg, rgba(5,5,7,.38) 0%, rgba(5,5,7,.58) 34%, rgba(5,5,7,.58) 72%, rgba(5,5,7,.78) 100%); }
  .hero-content { left: 24px; right: 24px; top: 49%; transform: translateY(-36%); }
  .hero-title { font-size: clamp(60px, 14.2vw, 90px); line-height: .98; }
  .hero-sub { max-width: 310px; line-height: 1.8; }
  .hero-bottom { bottom: max(24px, env(safe-area-inset-bottom)); }
  main .reveal { transform: translate3d(0, 24px, 0); transition-duration: .9s; }
  .intro-grid > .reveal:nth-child(2), .project-grid > .reveal:nth-child(even) { transition-delay: 0s; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video { animation: none !important; opacity: 1 !important; }
  .hero-reveal { animation: none !important; opacity: 1 !important; transform: none !important; }
  main .reveal, main .reveal.visible { opacity: 1 !important; transform: none !important; transition: none !important; }
  .project-image img { transition: none !important; }
}


/* ZENSI portfolio HTML typography and responsive media */
.project-body{max-width:980px;margin:70px auto 80px;font-size:16px;line-height:1.9;overflow-wrap:anywhere;word-break:keep-all;color:#3a3836}
.project-body>*:first-child{margin-top:0}
.project-body h2,.project-body h3,.project-body h4{color:#1b1b1d;letter-spacing:-.055em;line-height:1.3;font-weight:600}
.project-body h2{font-size:clamp(30px,4.8vw,58px);margin:90px 0 26px}
.project-body h3{font-size:clamp(23px,3vw,36px);margin:60px 0 20px}
.project-body h4{font-size:20px;margin:40px 0 16px}
.project-body p{margin:0 0 26px}
.project-body img{display:block;max-width:100%;height:auto;margin:42px auto;border-radius:3px}
.project-body figure{margin:55px 0}
.project-body figure img{margin:0 auto}
.project-body figcaption{font-size:12px;text-align:center;color:#898680;margin-top:14px}
.project-body a{color:#8e7254;text-decoration:underline;text-underline-offset:4px}
.project-body blockquote{border-left:2px solid #b6a083;padding:10px 0 10px 26px;margin:45px 0;color:#6d655b;font-size:clamp(19px,2.5vw,28px);line-height:1.65}
.project-body ul,.project-body ol{padding-left:1.6em;margin:24px 0 38px}
.project-body li{margin-bottom:10px}
.project-body hr{border:0;border-top:1px solid #d4d0c8;margin:70px 0}
.project-body pre{overflow-x:auto;padding:22px;background:#e5e2db;font-size:13px;line-height:1.7}
.project-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:35px 0}
.project-body th,.project-body td{padding:14px 20px;border:1px solid #d8d4cd;text-align:left;white-space:nowrap}
.project-body th{background:#e5e2db}
/* Global floating Kakao channel — present on every page via footer.php */
.zensi-kakao-float{position:fixed;right:clamp(16px,2.4vw,36px);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:1000;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(20,20,22,.93);border:1px solid rgba(255,255,255,.17);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.24);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.zensi-kakao-float img{width:54px;height:54px;max-width:calc(100% - 6px);max-height:calc(100% - 6px);object-fit:contain;border-radius:13px}
.zensi-kakao-float:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(0,0,0,.36);border-color:rgba(182,160,131,.55)}
.zensi-kakao-float:focus-visible{outline:2px solid #b6a083;outline-offset:4px}
@media(max-width:600px){.project-body{margin:44px auto 60px;font-size:14px;line-height:1.85}.project-body h2{margin-top:58px}.project-body img{margin:28px auto}.zensi-kakao-float{right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:17px}}
@media(prefers-reduced-motion:reduce){.zensi-kakao-float{transition:none}}


/* ZENSI FOOTER BUSINESS INFORMATION — preserved from original */
.footer-business{padding:24px 0;color:#888;font-size:12px;font-weight:400;line-height:1.9;letter-spacing:.02em}
.footer-business p{margin:0 0 4px}
.footer-business span{color:#555;margin:0 8px}
@media(max-width:768px){.footer-business{font-size:11px;line-height:2}.footer-business span{margin:0 4px}}

/* ZENSI FLOATING BUTTONS — equal 58 x 58 px, 54 px Kakao artwork */
.zensi-kakao-float,
.zensi-top-float {
    position: fixed;
    right: clamp(16px, 2.4vw, 36px);
    width: 58px;
    height: 58px;
    min-width: 58px;
    min-height: 58px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    background: rgba(20, 20, 22, .93);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 17px;
    color: #e6d6bd;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 1000;
    transition: transform .35s cubic-bezier(.2,.8,.2,1),
                box-shadow .35s, border-color .35s,
                opacity .35s, visibility .35s;
}
.zensi-kakao-float {
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}
.zensi-kakao-float img {
    width: 54px;
    height: 54px;
    max-width: calc(100% - 4px);
    max-height: calc(100% - 4px);
    object-fit: contain;
    border-radius: 14px;
}
.zensi-top-float {
    bottom: calc(94px + env(safe-area-inset-bottom, 0px));
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
}
.zensi-top-float.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.zensi-top-float svg { width: 22px; height: 22px; flex: none; }
.zensi-kakao-float:hover,
.zensi-top-float.is-visible:hover {
    transform: translateY(-4px);
    border-color: rgba(182, 160, 131, .55);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .36);
}
.zensi-kakao-float:focus-visible,
.zensi-top-float:focus-visible {
    outline: 2px solid #b6a083;
    outline-offset: 4px;
}
@media (max-width: 600px) {
    .zensi-kakao-float, .zensi-top-float { right: 16px; }
    .zensi-kakao-float { bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
    .zensi-top-float { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
    .zensi-kakao-float, .zensi-top-float { transition: none; }
}
@media (max-width: 600px) {
    .ze-home .hero-video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}
/* ZENSI 서비스 카드 텍스트 잘림 방지 */
.ze-home .ze-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: auto;
    overflow: visible;
}

.ze-home .ze-service-card .ze-card-image {
    width: 100%;
    flex-shrink: 0;
}

.ze-home .ze-service-card .ze-card-info {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 120px;
    padding: 18px 0 28px;
    box-sizing: border-box;
    overflow: visible;
}

.ze-home .ze-service-card .ze-card-info strong,
.ze-home .ze-service-card .ze-card-info small {
    display: block;
    height: auto;
    line-height: 1.5;
}

.ze-home .ze-service-card .ze-card-info small {
    margin-top: 8px;
    white-space: normal;
    overflow-wrap: break-word;
}