/* 시안 F — 홈 (데모 site/index.html 인라인 <style> 을 그대로 옮김, 2026-10-13). trp-f.css 다음에 싣는다. 생성: gen_home.py */
*,*::before,*::after{box-sizing:border-box} html{-webkit-text-size-adjust:100%;scroll-behavior:smooth} body{margin:0;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto} figure{margin:0} a{color:inherit;text-decoration:none} button{font:inherit;cursor:pointer} h1,h2,h3{margin:0;text-wrap:balance} p{margin:0}
.wrap{width:min(100% - 40px,1240px);margin-inline:auto} @media(max-width:768px){.wrap{width:min(100% - 32px,1240px)}}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:12px 16px;min-height:44px;display:inline-flex;align-items:center;z-index:99;border-radius:8px}.skip:focus{left:8px}
.hd-in{display:flex;align-items:center;gap:20px;min-height:64px}.logo{display:flex;align-items:center;min-height:44px}.logo img{height:36px;width:auto}.nv{display:flex;gap:26px;margin-left:12px;font-weight:600}.nv a{min-height:44px;display:inline-flex;align-items:center}.hd-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.ic{display:none;width:44px;height:44px;border:0;background:transparent;align-items:center;justify-content:center;border-radius:12px}.ic svg{width:24px;height:24px}.ic svg,.fact svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.nv{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;gap:0;padding:8px 16px 16px;background:inherit;border-bottom:1px solid rgba(128,128,128,.25)}.nv a{padding:14px 4px;min-height:48px;display:flex;align-items:center}.hd.open .nv{display:flex}.ic{display:inline-flex}.hd-r .btn.sm{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;font-weight:700;border:1.5px solid transparent;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s,color .18s,border-color .18s}.btn:active{transform:scale(.98)}.btn.sm{min-height:42px;padding:0 16px;font-size:15px}
:focus-visible{outline:3px solid #7C1B28;outline-offset:3px}
.rt{display:inline-flex;align-items:center;gap:5px;font-weight:700}.rt i{font-style:normal}.rt small{font-weight:500;opacity:.75;font-size:13px}.rt.new{font-weight:700}
.pr b{font-size:1.15em}.pr small{opacity:.75;font-size:13px}
.tg{position:absolute;left:10px;top:10px;font-size:12px;font-weight:800;letter-spacing:.02em;padding:5px 9px;background:#7C1B28;color:#fff}.tg.alt{background:#17191C}
.sec{padding:56px 0}@media(min-width:900px){.sec{padding:88px 0}}
.sh{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.sh p{margin-top:6px;max-width:60ch}.sh .more{font-weight:700;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.ft{padding:18px 0 calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ln,#E4E4E2);font-size:14px}.ft-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}.ft-nav{display:flex;flex-wrap:wrap;margin:0 -8px}.ft-g{display:flex;flex-wrap:wrap}.ft-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 8px;font-weight:600;white-space:nowrap}.ft-legal{margin-top:6px;font-size:12px;line-height:1.6;color:var(--mu,#6E6E6B)}.ft-legal p{margin:0}@media(max-width:600px){.ft-nav{flex:0 0 100%;justify-content:space-between;margin:0}.ft-g{display:contents}.ft-nav a{padding:0}}@media(max-width:380px){.ft-nav a{font-size:13px}}@media(max-width:339px){.ft-nav{justify-content:flex-start;margin:0 -8px}.ft-g{display:flex;flex-basis:100%}.ft-nav a{padding:0 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--bg:#fff;--sf:#F3F3F2;--ln:#E4E4E2;--ink:#111;--tx:#3A3A3A;--mu:#6E6E6B;--br:#7C1B28;--ok:#1B7A3E;--sky:linear-gradient(180deg,#EDF1F5 0%,#E6E2DC 100%)}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:var(--bg);color:var(--tx)} h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.025em}
.hd{position:sticky;top:0;z-index:20;margin-bottom:-64px;color:#fff}.hd .lg-d{display:none}.nv a{color:#fff}.ic{color:#fff}.hd .btn.sm{background:#fff;color:var(--ink)}
.th{display:inline-flex}.th .mo{display:none}html[data-theme=dark] .th .su{display:none}html[data-theme=dark] .th .mo{display:block}
.hd.on,.hd.open{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--ln)}.hd.on .lg-w,.hd.open .lg-w{display:none}.hd.on .lg-d,.hd.open .lg-d{display:block}.hd.on .nv a,.hd.open .nv a{color:var(--ink)}.hd.on .ic,.hd.open .ic{color:var(--ink)}.hd.on .btn.sm,.hd.open .btn.sm{background:var(--br);color:#fff}
@media(max-width:900px){.nv{background:#fff;color:var(--ink)}.nv a{color:var(--ink)}}
.btn{border-radius:12px;background:var(--br);color:#fff}.btn:hover{background:#5F1420}.btn.white{background:#fff;color:var(--ink)}.btn.white:hover{background:#eee}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.12)}.btn.line{background:#fff;color:var(--ink);border-color:var(--ln)}.btn.line:hover{border-color:var(--ink)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:16px 16px 0;margin:0 -16px;scrollbar-width:none}@media(min-width:900px){.chips{padding:22px 0 0;margin:0}}.chips::-webkit-scrollbar{display:none}.chips a{flex:none;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--ln);border-radius:999px;background:#fff;font-weight:700;font-size:14px;color:var(--ink)}.chips a:hover{border-color:var(--ink)}
.sec{padding:32px 0}@media(min-width:900px){.sec{padding:52px 0}}.sh{margin-bottom:16px}.sh h2{font-size:clamp(22px,2.6vw,30px)}.sh p{color:var(--mu);font-size:15px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr);gap:18px}}
.card{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 12px 28px -14px rgba(16,20,24,.35);transform:translateY(-2px)}
.card .ph{position:relative;aspect-ratio:4/3;background:var(--sf)}.card img{width:100%;height:100%;object-fit:cover}.card .bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.card .mt{font-size:12px;color:var(--mu);font-weight:600}.card h3{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .rt{font-size:13px;color:var(--ink)}.card .rt i{color:var(--br)}.card .fc{font-size:12px;color:var(--ok);font-weight:700}.card .pr{margin-top:auto;padding-top:6px;color:var(--ink);font-size:13px}.card .pr b{font-size:17px}
.tg{border-radius:6px;font-size:12px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 16px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:50;max-width:calc(100% - 32px);text-align:center}.toast.is-on{opacity:1;transform:translate(-50%,0)}
.more{display:flex;justify-content:center;margin-top:22px}.more .btn{min-height:46px;padding:0 22px}
.pl{display:inline-flex;align-items:center;height:14px;flex:none}.pl img{height:100%;width:auto;display:block}.pl-tk{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--br)}
.ft{background:var(--bg);color:var(--tx)}.ft a:hover{color:var(--br)}
.card .ph{overflow:hidden}.card img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.card:hover img{transform:scale(1.05)}.card:hover{box-shadow:0 16px 32px -14px rgba(124,27,40,.35);border-color:#E7C9CD}
.chips a:hover{border-color:var(--br);color:var(--br)}.btn{transition:background .2s,transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(124,27,40,.6)}
/* r11 (CEO 2026-10-12 "해당 디자인으로 모든 페이지 적용"): one header on every page. .solid = sub pages (bar from the first pixel, no hero overlap); .hd-acc / .nv .acc = account links (PC: text link left of the button; phones: inside the menu). */
.hd.solid{margin-bottom:0}.hd-acc{font-weight:600;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}.hd-acc:hover{color:var(--br)}.hd:not(.on):not(.open) .hd-acc:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.nv .acc{display:none}@media(max-width:900px){.hd-acc{display:none}.nv .acc{display:flex}.nv .acc:first-of-type{border-top:1px solid var(--ln);margin-top:6px;padding-top:16px}}

.hero{position:relative;min-height:min(100dvh,860px);display:flex;align-items:end;padding:120px 0 max(36px,env(safe-area-inset-bottom));color:#fff;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero::after{content:"";position:absolute;inset:-4px 0;background:linear-gradient(180deg,rgba(0,0,0,.25) 4px,rgba(0,0,0,0) calc(35% + 1.2px),rgba(0,0,0,.65) calc(100% - 4px))}
.hero .wrap{position:relative;z-index:1}.hero h1{color:#fff;font-size:clamp(34px,5.6vw,72px);line-height:1.02;max-width:18ch}.hero .lead{margin:16px 0 24px;font-size:18px;max-width:52ch;color:rgba(255,255,255,.92)}.hero .ctas{display:flex;flex-wrap:wrap;gap:10px}.hero .tr{margin-top:26px;font-weight:600;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 20px}.hero .tr i{font-style:normal;color:#FFD166}
/* r9 below the reviews (CEO 2026-10-12 "문의 폼 하나만 … 설명 없이 제목 한 줄" / "기능하기 위한 사이트"): one heading + one form, as a card inside the pinned-photo skyline band (r9b "움직이는 사진 안에 박스로"), then the footer. */
.px.ask{min-height:0;padding:48px 0 max(120px,calc(26.25vw - var(--below,121px) + 40px));text-align:left}.px.ask::before{display:none}.px.ask .wrap{width:min(100% - 32px,1240px)}@media(max-width:768px){.px.ask{padding:32px 0 180px}}
.inq{background:var(--bg);color:var(--tx);border:1px solid var(--ln);border-radius:18px;padding:clamp(20px,3vw,32px);max-width:960px;margin:0 auto;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.px.ask .inq h2{color:var(--ink);text-shadow:none;font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin:0 0 16px}
.inq form{display:grid;gap:12px;grid-template-columns:1fr 1fr}@media(min-width:900px){.inq form{grid-template-columns:repeat(4,1fr);gap:14px}}
.inq .field{display:grid;gap:5px}.inq .field.w{grid-column:1/-1}.inq label{font-size:13px;font-weight:600;color:var(--ink)}.inq label small{font-weight:400;color:var(--mu)}
.inq input,.inq textarea{min-height:48px;border:1px solid var(--ln);border-radius:10px;padding:10px 12px;font:inherit;font-size:16px;background:var(--bg);color:var(--ink);width:100%}.inq textarea{min-height:112px;resize:vertical}
.inq input:focus-visible,.inq textarea:focus-visible{outline:2px solid var(--br);outline-offset:0;border-color:var(--br)}.inq .field.err input,.inq .field.err textarea{border-color:#C0392B}
.inq form .btn{grid-column:1/-1;justify-self:start;min-height:50px;padding:0 28px}.inq .note{grid-column:1/-1;font-size:13px;color:var(--mu);margin:0;max-width:none;text-shadow:none}
@media(max-width:600px){.inq .field.name,.inq .field.email{grid-column:1/-1}.inq form .btn{justify-self:stretch}}
/* parallax photo band (CEO 2026-10-12 "기존 자사몰처럼 … 사진 따라 움직이는" → "사진 사이즈가 화면에 맞지 않아"): the live site's own city cut-out (sub-customized-bg3.png, transparent sky) shown edge to edge (100% width) and pinned to the viewport bottom like live .custom-bg-img (background-attachment:fixed) — done as a position:fixed layer clipped by the band's clip-path (works on iOS and in iframes); the sky is the band's gradient (--sky). Phones / iOS (html.pjs, = live html.is-parallax-js): the city sits at the band bottom at 200% width and settles by --pd while the band scrolls in. prefers-reduced-motion → static. */
.px{position:relative;min-height:clamp(240px,30vw,400px);padding:44px 0;display:flex;align-items:center;text-align:center;color:#fff;overflow:hidden;isolation:isolate;clip-path:inset(0);background:var(--sky);--pd:90px}.px .px-bg{position:fixed;left:0;right:0;bottom:0;height:100vh;z-index:-1;background-size:100% auto;background-position:center bottom;background-repeat:no-repeat;will-change:transform}html.pjs .px{clip-path:none}html.pjs .px .px-bg{position:absolute;top:0;bottom:calc(-1*var(--pd));height:auto}@media(max-width:768px){.px .px-bg{background-size:200% auto}html:not(.js) .px{clip-path:none}html:not(.js) .px .px-bg{position:absolute;inset:0;height:auto}}.px::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}.px h2,.px p{text-shadow:0 1px 12px rgba(0,0,0,.35)}.px .wrap{position:relative;z-index:1}.px h2{color:#fff;font-size:clamp(26px,3.4vw,40px);line-height:1.1}.px p{margin:10px auto 20px;max-width:54ch;color:rgba(255,255,255,.9);font-size:16px}.px .ctas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.px,html.pjs .px{clip-path:none}.px .px-bg,html.pjs .px .px-bg{position:absolute;inset:0;height:auto!important;transform:none!important}}
/* review carousel (CEO 2026-10-11: two counter-flowing rows were too busy) — one snap-scroll row that steps one card every 7s; pauses on hover/focus/touch, Pause button; reduced-motion = manual only */
.rc{position:relative;--gx:max(16px,calc((100% - 1240px)/2));display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gx);scrollbar-width:none;padding:6px var(--gx) 10px;outline-offset:-2px}.rc::-webkit-scrollbar{display:none}
.rvc{scroll-snap-align:start;width:320px;flex:none;border:1px solid var(--ln);border-radius:12px;padding:14px 16px;background:#fff;font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:8px}
.rvc .h{display:flex;justify-content:space-between;align-items:center;gap:10px}.rvc .st{color:var(--br);letter-spacing:1px;font-size:12px}
.rvc .q{color:var(--ink);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rvc small{display:block;margin-top:auto;color:var(--mu);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rvc small b{color:var(--ink);font-weight:600}.rvc small a{color:var(--mu);text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.rvc{width:280px}.rvc .q{-webkit-line-clamp:5}}
.rc-ctl{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:2px}.rc-ctl .ar{width:40px;height:40px;border-radius:50%;border:1px solid var(--ln);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:border-color .2s}.rc-ctl .ar:hover{border-color:var(--ink)}.rc-ctl .ar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rc-p{min-height:40px;padding:0 10px;margin-right:4px;border:0;background:transparent;color:var(--mu);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.rc-p:hover{color:var(--ink)}
@media(min-width:900px){.rc{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--gx),#000 calc(100% - var(--gx)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--gx),#000 calc(100% - var(--gx)),transparent)}}
@media(prefers-reduced-motion:reduce){.rc-p{display:none}}
.rv-sum{font-weight:600}.rv-sum b{color:var(--ink);font-weight:700}.rv-sum i{font-style:normal;color:var(--br)}
.pls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 22px;margin-top:10px;flex:none}@media(max-width:760px){.sh-rv{flex-wrap:wrap}.pls{flex-basis:100%;justify-content:flex-start;gap:10px 18px;margin-top:2px}}.pls .pl{filter:grayscale(1);opacity:.55;transition:filter .25s,opacity .25s}.pls:hover .pl{filter:none;opacity:1}.rv small a{color:var(--mu);text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:15px 0;margin:-15px 0}.rv small a:hover{color:var(--br)}
/* motion — CEO 2026-10-11 "동적인 느낌": hero photo cross-fade + slow zoom, staggered hero text, scroll reveal, image zoom on hover, count-up. All off under prefers-reduced-motion. */
.hero .slides img{opacity:0;transition:opacity 1.4s ease;will-change:opacity,transform}.hero .slides img.on{opacity:1;animation:kb 9s linear forwards}@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero h1,.hero .lead,.hero .ctas,.hero .tr{animation:up .7s cubic-bezier(.2,.7,.2,1) both}.hero .lead{animation-delay:.12s}.hero .ctas{animation-delay:.24s}.hero .tr{animation-delay:.36s}@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.js [data-rv]{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*60ms)}.js [data-rv].in{opacity:1;transform:none}.js [data-rv].now,.hero .slides img.now{transition:none!important}
/* phones (CEO 2026-10-11 "모바일에서 확대되서 깨져"): the landscape photo is shown as a 4:5 box with a per-photo focal point, the text sits on a near-black panel that the photo fades into; no Ken Burns zoom */
@media(max-width:760px){.hero{display:block;min-height:0;padding:0 0 26px;background:#111;overflow:visible}.hero .slides{position:relative;aspect-ratio:4/5;max-height:66svh;overflow:hidden}.hero .slides::after{content:"";position:absolute;inset:-4px 0;background:linear-gradient(180deg,rgba(0,0,0,.22) 4px,rgba(0,0,0,0) calc(38% + .96px),rgba(17,17,17,0) calc(62% - .96px),#111 calc(100% - 4px))}.hero::after{display:none}.hero .wrap{margin-top:-72px}.hero h1{font-size:34px}.hero .lead{font-size:16px;margin:12px 0 18px;color:rgba(255,255,255,.82)}.hero .slides img.on{animation:none;transform:none}}
@media(prefers-reduced-motion:reduce){.hero .slides img,.hero h1,.hero .lead,.hero .ctas,.hero .tr,.js [data-rv],.card img,.btn{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.hero .slides img:not(.on){opacity:0!important}}

html[data-theme=dark]{--bg:#121212;--sf:#1C1A1A;--ln:rgba(255,255,255,.1);--ink:#F4F0EA;--tx:#D9D3CA;--mu:#A39E96;--br:#7C1B28;--hi:#DE5466;--ok:#6FCF8E;--sky:linear-gradient(180deg,#0E1217 0%,#1B1C20 100%)}
html[data-theme=dark] body{background:var(--bg);color:var(--tx)}
html[data-theme=dark] :focus-visible{outline-color:var(--hi)}
html[data-theme=dark] .hd.on,html[data-theme=dark] .hd.open{background:#121212;color:var(--ink);box-shadow:0 1px 0 var(--ln)}html[data-theme=dark] .hd.on .lg-w,html[data-theme=dark] .hd.open .lg-w{display:block}html[data-theme=dark] .hd.on .lg-d,html[data-theme=dark] .hd.open .lg-d{display:none}html[data-theme=dark] .hd.on .nv a,html[data-theme=dark] .hd.open .nv a{color:var(--ink)}html[data-theme=dark] .hd.on .ic,html[data-theme=dark] .hd.open .ic{color:var(--ink)}
@media(max-width:900px){html[data-theme=dark] .nv{background:#121212;color:var(--ink)}html[data-theme=dark] .nv a{color:var(--ink)}}
html[data-theme=dark] .btn:hover{background:#962233}html[data-theme=dark] .btn.white{background:#fff;color:#111}html[data-theme=dark] .btn.white:hover{background:#eee}html[data-theme=dark] .hd:not(.on):not(.open) .btn.sm{color:#111}html[data-theme=dark] .btn.line{background:var(--sf);color:var(--ink);border-color:var(--ln)}html[data-theme=dark] .btn.line:hover{border-color:var(--ink)}
html[data-theme=dark] .hero::after{background:linear-gradient(180deg,rgba(18,18,18,.3) 4px,rgba(18,18,18,0) calc(35% + 1.2px),rgba(18,18,18,.75) calc(78% - 2.24px),#121212 calc(100% - 4px))}
html[data-theme=dark] .kick{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--hi);margin-bottom:14px;text-shadow:0 1px 10px rgba(0,0,0,.6);animation:up .7s cubic-bezier(.2,.7,.2,1) both}
html[data-theme=dark] .chips a{background:var(--sf);border-color:var(--ln);color:var(--ink)}html[data-theme=dark] .chips a:hover{border-color:var(--hi);color:var(--hi)}
html[data-theme=dark] .card{background:var(--sf);border-color:var(--ln)}html[data-theme=dark] .card:hover{border-color:rgba(255,255,255,.24);box-shadow:none}html[data-theme=dark] .card .ph{background:#000}html[data-theme=dark] .card img{opacity:.92}html[data-theme=dark] .card .rt i{color:var(--hi)}html[data-theme=dark] .card .fc{color:var(--ok)}
html[data-theme=dark] .inq{background:#171515}html[data-theme=dark] .inq input,html[data-theme=dark] .inq textarea{background:#121212;border-color:rgba(255,255,255,.18)}html[data-theme=dark] .inq input::placeholder,html[data-theme=dark] .inq textarea::placeholder{color:#6F6A63}
html[data-theme=dark] .rvc{background:var(--sf);border-color:var(--ln)}html[data-theme=dark] .rvc .st{color:var(--hi)}html[data-theme=dark] .rv-sum i{color:var(--hi)}html[data-theme=dark] .rc-ctl .ar{background:var(--sf);color:var(--ink);border-color:var(--ln)}html[data-theme=dark] .rc-ctl .ar:hover{border-color:var(--ink)}
html[data-theme=dark] .pl img{filter:grayscale(1) invert(1) brightness(1.4)}html[data-theme=dark] .pls .pl{opacity:.55}html[data-theme=dark] .pls:hover .pl{opacity:.95}html[data-theme=dark] .pl-tk{color:var(--hi)}
html[data-theme=dark] .px .px-bg{filter:brightness(.55) saturate(.85)}
html[data-theme=dark] .ft{background:var(--bg);color:var(--tx)}html[data-theme=dark] .ft a:hover{color:var(--hi)}
@media(max-width:760px){html[data-theme=dark] .hero{background:#121212}html[data-theme=dark] .hero .slides::after{background:linear-gradient(180deg,rgba(0,0,0,.22) 4px,rgba(0,0,0,0) calc(38% + .96px),rgba(18,18,18,0) calc(62% - .96px),#121212 calc(100% - 4px))}}
@media(prefers-reduced-motion:reduce){html[data-theme=dark] .kick{animation:none!important}}

/* ===== 운영 이식 추가분 (f/home, 2026-10-13) ===== */
/* 공용 trp-f.css(=데모 site.css, 하위 페이지용 .hero·h2·main .chips·.line·.ft 규칙)가 홈에 새어 드는 것을 데모 홈 값으로 되돌린다 (계측: 데모 vs F 계산 스타일 비교) */
main h2{line-height:inherit}.ft{margin-top:0}
@media(min-width:761px){.hero{background:none}}.hero{isolation:auto}
.hero .wrap{padding:0}.hero .ctas{margin-top:0}
.hero p.lead{margin:16px 0 24px;font-size:18px;max-width:52ch;color:rgba(255,255,255,.92)}
@media(max-width:760px){.hero p.lead{font-size:16px;margin:12px 0 18px;color:rgba(255,255,255,.82)}}
main .chips{padding:16px 16px 0;margin:0 -16px}@media(min-width:900px){main .chips{padding:22px 0 0;margin:0}}
html[data-theme=dark] .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}html[data-theme=dark] .hero .btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.12)}
/* .btn.line 이 하위 페이지용 .line(가격 줄: display:flex·space-between·14.5px)과 겹침 */
.btn.line{display:inline-flex;justify-content:center;gap:8px;font-size:inherit}
/*LEAKFIX*/
/* 운영 문의 전송(/front/contact/insert.do)은 전화번호·보안문자를 필수로 받는다 → 데모 4칸 줄 아래에 한 줄 더(전화 2칸 + 보안문자 2칸). */
.inq .field.phone,.inq .field.cap{grid-column:span 2}@media(max-width:600px){.inq .field.phone,.inq .field.cap{grid-column:1/-1}}
.inq .cap-row{display:flex;gap:10px;align-items:stretch}.inq .cap-row input{flex:1;min-width:0}
.inq .cap-img{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:44px;padding:0 6px;border:1px solid var(--ln);border-radius:10px;background:#fff;cursor:pointer}.inq .cap-img img{height:40px;width:auto;display:block}
.inq .hint{font-size:12px;color:var(--mu)}
.inq input[type=date]{min-width:0;-webkit-appearance:none;appearance:none}.inq input[type=date]::-webkit-date-and-time-value{text-align:left}
html[data-theme=dark] .inq input[type=date]{color-scheme:dark}
/* CRM 팝업(/user/popup/index.do) — 옛 화면과 같은 동작, F 색으로 */
.pop>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pop_wrap{position:absolute;z-index:70;max-width:calc(100vw - 32px);background:var(--bg);color:var(--tx);border:1px solid var(--ln);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.pop_cont img{display:block;max-width:100%;height:auto}.pop_ft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px 6px 14px;border-top:1px solid var(--ln);font-size:13px}
.pop_ft label{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}.pop_ft label i{display:none}.pop_cls_btn{min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--ink);font-weight:700;text-transform:capitalize}
@media(max-width:600px){.pop_wrap{left:16px!important;right:16px;top:80px!important}}
