/* 100KAN Warm Precision 2.0 — presentation-only refinements.
   Existing URLs, photo IDs, quote data and API behavior remain unchanged. */
:root{
  --wp-ink:#123846;
  --wp-deep:#0f3b49;
  --wp-teal:#236d7c;
  --wp-mist:#edf5f4;
  --wp-warm:#f7efe3;
  --wp-coral:#d98169;
  --wp-line:rgba(31,81,94,.16);
  --wp-shadow:0 20px 54px rgba(20,57,68,.10);
}
html{scroll-padding-top:84px}
body{background:#f8faf9;color:var(--wp-ink);text-rendering:optimizeLegibility}
.topbar{
  border-bottom:1px solid rgba(24,72,84,.10);
  background:rgba(251,253,252,.92);
  backdrop-filter:blur(16px) saturate(1.08);
  box-shadow:0 8px 30px rgba(16,55,66,.045);
}
.brand{gap:10px}.brand-glyph{border-color:#6f9ba6;background:linear-gradient(145deg,#fff,#edf4f3);box-shadow:0 5px 14px rgba(18,57,68,.08)}
.brand-name b{letter-spacing:-.035em}.brand-name small{color:#67808a;letter-spacing:.18em}
.topbar nav a{position:relative;font-weight:650;letter-spacing:-.015em}
.topbar nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--wp-coral);transition:right .2s ease}
.topbar nav a:hover::after,.topbar nav a:focus-visible::after{right:0}
.header-quote{border-radius:12px;background:linear-gradient(135deg,#103e4c,#1d6877);box-shadow:0 10px 24px rgba(18,67,79,.18)}

[data-page="photo-home"] .home-intro{
  min-height:500px;
  border:1px solid rgba(40,97,108,.14);
  background:
    linear-gradient(118deg,rgba(255,255,255,.98) 0 54%,rgba(232,244,243,.92) 54% 100%),
    radial-gradient(circle at 82% 18%,rgba(222,169,102,.24),transparent 34%);
  box-shadow:var(--wp-shadow);
}
.home-intro::before{right:8%;top:-138px;background:linear-gradient(145deg,rgba(218,159,91,.28),rgba(255,255,255,0))}
.home-intro::after{right:-52px;bottom:-78px;border-color:rgba(44,124,138,.10)}
.home-intro .home-eyebrow{border:1px solid rgba(36,105,119,.12);box-shadow:0 8px 22px rgba(21,72,84,.07);font-weight:700;letter-spacing:-.01em}
.home-intro h1{margin-top:8px}
.home-intro h1 .home-brand-title{line-height:1.02;text-wrap:balance}
.home-intro h1 strong{margin-top:4px;color:#456e78}
.home-tagline{max-width:61ch!important;margin-top:22px!important;color:#405e68!important;font-size:1.05rem!important;line-height:1.9!important}
.home-proof{gap:8px!important}.home-proof li{border-color:rgba(43,103,116,.16);background:rgba(255,255,255,.72);box-shadow:0 4px 12px rgba(28,74,85,.04)}
.home-intro-actions{min-width:222px}
.home-intro-actions .primary-quote{border-radius:12px!important;background:linear-gradient(135deg,#113e4d,#1a6170)!important;font-weight:750;letter-spacing:-.015em}
.home-intro-actions .secondary-entry{border-color:rgba(37,103,117,.32)!important;background:#fff!important;background-image:none!important;color:#164b59!important;box-shadow:0 10px 25px rgba(18,62,73,.08)!important}

.home-entry{padding-bottom:44px!important}.home-entry>header{align-items:end}.home-entry>header p:last-child{max-width:58ch}
.entry-grid{align-items:stretch}
.entry-card{
  min-height:206px;
  padding:23px 21px 20px;
  border:1px solid rgba(31,85,98,.08)!important;
  box-shadow:0 15px 35px rgba(18,62,73,.08);
}
.entry-card::after{content:"";position:absolute;right:-32px;bottom:-34px;width:92px;height:92px;border:18px solid color-mix(in srgb,var(--case-accent) 17%,transparent);border-radius:50%;pointer-events:none}
.entry-card span{display:flex;align-items:center;gap:8px;color:#557680}
.entry-card span::before{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:color-mix(in srgb,var(--case-accent) 22%,white);color:#1d5260;font-size:.76rem;font-weight:800}
.entry-card:nth-child(1) span::before{content:"▱"}.entry-card:nth-child(2) span::before{content:"?"}.entry-card:nth-child(3) span::before{content:"₩"}.entry-card:nth-child(4) span::before{content:"↗"}
.entry-card strong{margin-top:15px;font-size:1.12rem}.entry-card small{max-width:31ch;color:#5d737b}.entry-card b{position:relative;z-index:1;text-decoration:none!important}
.entry-card:focus-visible{outline:3px solid #24768b;outline-offset:4px}

.kani-spotlight{
  overflow:hidden;
  border-color:rgba(190,133,67,.28);
  background:linear-gradient(112deg,#fbf2e6 0,#fff 40%,#e5f2f1 100%);
  box-shadow:0 20px 48px rgba(25,65,76,.09);
}
.kani-spotlight::after{content:"";position:absolute;right:-72px;width:210px;height:210px;border:34px solid rgba(44,120,133,.07);border-radius:50%;pointer-events:none}
.kani-spotlight{position:relative}.kani-spotlight>*{position:relative;z-index:1}
.kani-spotlight img{filter:drop-shadow(0 15px 18px rgba(18,58,69,.20))}
.kani-spotlight button{border:1px solid rgba(255,255,255,.38);background:linear-gradient(135deg,#103e4c,#237383);box-shadow:0 13px 28px rgba(18,68,80,.18)}

.home-why{background:linear-gradient(180deg,#edf5f4,#fbfcfb)!important}
.home-why-list li{border-color:rgba(42,92,103,.13)!important;box-shadow:0 14px 34px rgba(21,62,72,.06)}
.home-why-list li span{color:#678690}.home-why-cta{border-radius:10px}

.customer-cases{border:1px solid rgba(43,94,105,.09);box-shadow:0 22px 54px rgba(22,62,72,.06),inset 0 0 0 1px rgba(255,255,255,.55)}
.customer-case-grid article{border-color:rgba(30,79,91,.09);box-shadow:0 12px 27px rgba(18,61,72,.055)}
.customer-case-grid article:nth-child(1),.customer-case-grid article:nth-child(4),.customer-case-grid article:nth-child(5){border-color:color-mix(in srgb,var(--tone) 62%,#72909a)}
.customer-case-grid button{background:linear-gradient(135deg,#123f4d,#1f6877)!important;box-shadow:0 9px 20px rgba(17,65,77,.13)}
.customer-case-grid a{border:1px solid #8caab2!important;background:rgba(255,255,255,.72)!important;color:#184b5a!important}
.customer-case-grid :is(a,button):focus-visible{outline:3px solid #24788e;outline-offset:3px}

.featured-work{padding-top:64px!important}.featured-services{gap:22px}
.featured-service{padding:22px;border:1px solid rgba(34,84,96,.12);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(19,61,72,.07)}
.featured-service>header{padding:2px 0 17px 14px!important}.featured-photo button{overflow:hidden;border-radius:14px;background:#eef3f2}
.featured-photo figcaption{color:#506b75}
.featured-actions{margin-top:17px;padding-top:15px}
.photo-master-picks-grid article{overflow:hidden;border:1px solid rgba(33,82,94,.08)!important;box-shadow:0 18px 44px rgba(18,61,72,.08)!important}
.photo-master-picks-grid button{background:linear-gradient(135deg,#123f4e,#206878)}

.ai-concierge{filter:drop-shadow(0 16px 26px rgba(14,48,59,.10))}
[data-page="photo-home"] .concierge-toggle,.concierge-toggle{border-color:rgba(236,190,116,.75);background:linear-gradient(135deg,#103c49,#1f6c7c);box-shadow:0 14px 32px rgba(9,49,60,.22)}
.concierge-panel{border-radius:18px;box-shadow:0 30px 80px rgba(8,34,42,.26)}
.concierge-head{background:linear-gradient(145deg,#103b49,#1b6575)}
.concierge-actions :is(a,button){transition:background-color .16s ease}

.modal{background:rgba(8,29,36,.72);backdrop-filter:blur(18px)}
.modal-panel{border:1px solid rgba(133,177,187,.40);border-radius:22px;background:#fbfdfc;box-shadow:0 38px 110px rgba(2,20,27,.36)}
.modal-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#247589,#78aeb5 55%,#d49b62)}
.modal-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#eef5f5;color:#214c58;font-size:1.55rem}
.modal .overline{color:#2b7180}.modal h2{color:#123b49;text-wrap:balance}.modal-desc{max-width:58ch;line-height:1.75}
.modal-assurance{border-left:0;border-radius:10px;background:#edf5f4;color:#3f626c}
.quote-steps{gap:6px;border:0;background:transparent}
.quote-steps li{border:1px solid #d3e1e3;border-radius:9px;background:#fff;color:#59717a;font-weight:700}
.quote-steps li:last-child{border-color:#95bbc3;background:#eaf4f4;color:#1e6070}
.modal form{gap:18px}.modal form>label:not(.privacy-consent):has(:required)::after{content:"필수";justify-self:start;margin-top:-3px;padding:3px 7px;border-radius:999px;background:#f5e5dd;color:#8b4938;font-size:.67rem;font-weight:800;line-height:1.2;order:-1}
.modal input,.modal select,.modal textarea{border-color:#bed0d4;border-radius:10px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.modal input:focus,.modal select:focus,.modal textarea:focus{outline:0;border-color:#438da0;box-shadow:0 0 0 3px rgba(52,130,149,.14)}
.reference-group,.kani-prep{padding:16px;border:1px solid #d7e3e4;border-radius:12px;background:#f7faf9}
.submit{min-height:54px;border-radius:11px;background:linear-gradient(135deg,#103e4d,#1c6777);font-weight:750}
.privacy-consent{padding:13px!important;border-radius:10px;background:#f5f8f7}
.optional-consent{background:transparent}

@media(max-width:760px){
  html{scroll-padding-top:70px}
  .topbar{height:64px!important;padding:0 16px!important}
  .brand-glyph{width:42px;height:34px}.brand-name b{font-size:.77rem}.brand-name small{font-size:.56rem}
  .menu-toggle{font-size:.68rem;letter-spacing:.2em}
  [data-page="photo-home"] .home-intro{
    width:calc(100% - 20px);
    margin:10px auto 14px;
    min-height:0;
    padding:24px 18px 20px;
    border-radius:20px;
    background:linear-gradient(154deg,#fff 0 70%,#e5f1f0 100%);
    box-shadow:0 16px 38px rgba(20,61,72,.08);
  }
  .home-intro::before{width:170px;height:170px;right:-5%;top:-105px}.home-intro::after{width:128px;height:128px;right:-45px;bottom:-55px;border-width:24px}
  .home-intro .home-eyebrow{padding:6px 9px;font-size:.72rem}
  .home-intro h1 .home-brand-title{font-size:clamp(2.2rem,11vw,2.85rem)!important;line-height:1.04}
  .home-intro h1 strong{font-size:1.08rem!important;line-height:1.35}
  .home-tagline{margin-top:14px!important;font-size:.86rem!important;line-height:1.68!important}
  .home-proof{display:flex!important;gap:6px!important;margin-top:13px!important}
  .home-proof li{width:auto!important;padding:5px 8px 5px 19px!important;font-size:.67rem;line-height:1.35}.home-proof li::before{left:8px!important;top:.9em!important}
  .home-intro-actions{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;margin-top:14px!important}
  .home-intro-actions .primary-quote{min-height:46px!important;padding:8px!important;font-size:.75rem!important;line-height:1.35}
  .home-entry{padding:12px 16px 30px!important}.home-entry>header{gap:6px!important;padding-top:17px!important}.home-entry h2{font-size:1.45rem!important}.home-entry>header>p:last-child{font-size:.8rem;line-height:1.6}
  .entry-grid{margin-top:14px!important}.entry-card{min-height:0;padding:14px 15px 13px;border-radius:14px!important}.entry-card::after{width:72px;height:72px;border-width:14px}.entry-card span{font-size:.65rem}.entry-card span::before{width:22px;height:22px}.entry-card strong{margin:7px 0 4px;font-size:.94rem}.entry-card small{font-size:.76rem;line-height:1.55}.entry-card b{padding-top:8px;font-size:.74rem}
  .kani-spotlight{grid-template-columns:66px minmax(0,1fr);gap:12px;width:calc(100% - 20px);margin:12px auto 28px;padding:15px 14px;border-radius:18px}.kani-spotlight img{width:64px;height:90px;margin-top:-18px}.kani-spotlight h2{font-size:1.12rem}.kani-spotlight p:last-child{font-size:.76rem;line-height:1.55}.kani-spotlight button{min-height:46px;padding:10px;font-size:.78rem}
  .home-why{padding-top:48px!important;padding-bottom:48px!important}.home-why h2{font-size:1.8rem!important}.home-why-list li{padding:18px!important}
  .customer-cases{width:calc(100% - 20px);padding:29px 12px}.customer-cases h2{font-size:1.62rem}.customer-cases>header>p:last-child{font-size:.8rem;line-height:1.58}.customer-case-grid article{padding:16px 15px}.customer-case-grid h3{margin:10px 0 6px;font-size:1rem}.customer-case-grid p{font-size:.78rem;line-height:1.58}.customer-case-grid b{margin:10px 0;font-size:.72rem}.customer-case-grid :is(a,button){min-height:44px;padding:10px;font-size:.76rem}
  .featured-work{padding-top:42px!important}.featured-service{padding:16px;border-radius:18px}.featured-services{gap:16px}.featured-actions{gap:8px}
  .photo-master-picks-grid article{border-radius:16px!important}
  [data-page="photo-home"] .ai-concierge,.ai-concierge{right:8px!important;bottom:70px!important}
  [data-page="photo-home"] .concierge-toggle,.concierge-toggle{height:54px!important;min-width:132px!important;padding:4px 9px 4px 5px!important;border-radius:17px!important}
  [data-page="photo-home"] .concierge-toggle>img,.concierge-toggle>img{display:block!important;width:43px!important;height:43px!important;border-radius:11px!important}
  [data-page="photo-home"] .concierge-toggle b,.concierge-toggle b{font-size:.82rem!important}
  [data-page="photo-home"] .concierge-toggle small,.concierge-toggle small{display:none!important}
  [data-page="photo-home"] .concierge-toggle::after{right:5px!important;top:-9px!important;font-size:.52rem!important}
  .concierge-panel{width:min(354px,calc(100vw - 16px));border-radius:16px}
  .quote-dock{left:6px!important;right:6px!important;bottom:6px!important;min-height:56px!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;border-radius:12px}
  .modal{padding:7px}.modal-panel{max-height:calc(100dvh - 14px);padding:52px 16px 22px;border-radius:18px}.modal-panel::before{border-radius:18px 18px 0 0}.modal-close{right:13px;top:10px}
  .modal h2{font-size:1.72rem!important;line-height:1.2}.modal-desc{font-size:.84rem}.modal-assurance{margin-top:12px;padding:10px;font-size:.76rem!important}
  .quote-steps{margin-top:17px}.quote-steps li{padding:8px 4px;font-size:.68rem!important}
  .modal form{gap:13px;margin-top:20px}.modal label{gap:6px}.modal input,.modal select,.modal textarea{padding:12px;font-size:16px}.reference-group,.kani-prep{padding:12px}
}

@media(max-width:340px){
  [data-page="photo-home"] .home-intro{padding-inline:15px}
  .home-intro h1 .home-brand-title{font-size:2.15rem!important}.home-intro h1 strong{font-size:1rem!important}
  .home-proof li{font-size:.62rem}
  .home-intro-actions .primary-quote{font-size:.7rem!important}
  [data-page="photo-home"] .concierge-toggle,.concierge-toggle{min-width:126px!important}
}

@media(prefers-reduced-motion:reduce){
  .topbar nav a::after,.modal input,.modal select,.modal textarea,.concierge-actions :is(a,button){transition:none}
}
