/* ============================================
   CSS VARIABLES
   ============================================ */
  :root {--c-bg:#FAF6F1; --c-bg-elevated:#F5EDE3; --c-bg-card:#FFFFFF; --c-bg-card-hover:#FBF7F2; --c-surface:#F0E8DD; --c-border:rgba(168, 145, 120, 0.18); --c-border-hover:rgba(168, 145, 120, 0.3); --c-text-primary:#3D3229; --c-text-secondary:#6B5D50; --c-text-tertiary:#A89882; /* Accent Palette - Muted warm tones */ --c-accent:#C4956A; --c-accent-hover:#B5845A; --c-accent-dim:rgba(196, 149, 106, 0.12); --c-accent-glow:rgba(196, 149, 106, 0.25); /* Sub-accent colors from the reference */ --c-sage:#A8B5A0; --c-sage-dim:rgba(168, 181, 160, 0.15); --c-rose:#C9A09A; --c-rose-dim:rgba(201, 160, 154, 0.15); --c-sand:#D4C4A8; --c-sand-dim:rgba(212, 196, 168, 0.15); --c-terracotta:#C08B70; --c-terracotta-dim:rgba(192, 139, 112, 0.15); --c-white:#ffffff; --c-black:#000000; /* Dark surface (for featured cards, CTA, footer) */ --c-dark:#3D3229; --c-dark-surface:#4A3F35; /* Shadows - warmer tones */ --shadow-sm:0 1px 3px rgba(100, 80, 60, 0.06), 0 1px 2px rgba(100, 80, 60, 0.04); --shadow-md:0 4px 12px rgba(100, 80, 60, 0.08), 0 2px 4px rgba(100, 80, 60, 0.04); --shadow-lg:0 12px 32px rgba(100, 80, 60, 0.1), 0 4px 8px rgba(100, 80, 60, 0.05); --shadow-hover:0 8px 24px rgba(100, 80, 60, 0.14), 0 4px 8px rgba(100, 80, 60, 0.06); /* Typography */ --f-display:'Pretendard', sans-serif; --f-body:'Pretendard', sans-serif; /* Spacing */ --s-section:clamp(80px, 12vh, 140px); --s-gutter:clamp(20px, 5vw, 80px); --s-container:min(1280px, 90vw); /* Radius */ --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-pill:100px; /* Transitions */ --ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1); --ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1); --ease-in-out:cubic-bezier(0.65, 0, 0.35, 1); --t-base:0.4s var(--ease-out-expo); --t-slow:0.7s var(--ease-out-expo); --t-fast:0.25s var(--ease-out-expo); /* Colors - Warm Beige Mode (aura-inspired) */}
 /* ============================================
     RESET & BASE
     ============================================ */
  *, *::before, *::after {box-sizing:border-box; margin:0; padding:0;}
  html {scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}
  body {overflow-x:hidden; background:var(--c-bg); color:var(--c-text-primary); font-family:var(--f-body); font-weight:500; line-height:1.6;}
  img {display:block; max-width:100%; height:auto;}
  a {color:inherit; text-decoration:none;}
  button {border:none; background:none; color:inherit; font-family:inherit; cursor:pointer;}
 /* ============================================
     NOISE OVERLAY (very subtle on white)
     ============================================ */
  body::before {content:''; position:fixed; z-index:9999; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-repeat:repeat; background-size:128px 128px; opacity:0.015; pointer-events:none;}
 /* ============================================
     UTILITY CLASSES
     ============================================ */
  .container {width:var(--s-container); margin:0 auto;}
  .sr-only {position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; border-width:0; white-space:nowrap; clip:rect(0, 0, 0, 0);}
 /* Reveal animation classes */
  .reveal {opacity:0; transform:translateY(40px); transition:opacity 0.8s var(--ease-out-expo), transform 0.8s var(--ease-out-expo);}
  .reveal.is-visible {opacity:1; transform:translateY(0);}
  .reveal-delay-1 {transition-delay:0.1s;}
  .reveal-delay-2 {transition-delay:0.2s;}
  .reveal-delay-3 {transition-delay:0.3s;}
  .reveal-delay-4 {transition-delay:0.4s;}
  .reveal-delay-5 {transition-delay:0.5s;}
  .reveal-delay-6 {transition-delay:0.6s;}
 /* ============================================
     NAVIGATION
     ============================================ */
  .nav {display:flex; justify-content:space-between; align-items:center; position:fixed; z-index:1000; top:0; right:0; left:0; padding:16px var(--s-gutter); transition:background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;}
  .nav.is-scrolled {background:rgba(250, 246, 241, 0.88); box-shadow:0 1px 0 rgba(168, 145, 120, 0.1); backdrop-filter:blur(24px) saturate(1.3); -webkit-backdrop-filter:blur(24px) saturate(1.3);}
  .nav__logo {display:flex; flex-shrink:0; align-items:center; gap:12px;}
  .nav__logo-icon {display:flex; justify-content:center; align-items:center; transition:transform var(--t-fast);}
  .nav__logo:hover .nav__logo-icon {transform:scale(1.08) rotate(-3deg);}
  .nav__logo-icon svg {display:block; filter:drop-shadow(0 2px 8px rgba(196, 149, 106, 0.35));}
  .nav__logo-text {color:var(--c-text-primary); font-family:var(--f-display); font-size:1.6rem; font-weight:800; letter-spacing:-0.03em; line-height:1;}
  .nav__logo-text em {background:linear-gradient(135deg, var(--c-text-primary) 20%, var(--c-accent) 100%); background-clip:text; -webkit-background-clip:text; font-weight:900; font-style:normal; -webkit-text-fill-color:transparent;}
  .nav__pill {display:flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--c-border); border-radius:var(--r-pill); background:rgba(0, 0, 0, 0.03);}
  .nav__link {padding:8px 16px; border-radius:var(--r-pill); color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.875rem; font-weight:600; letter-spacing:0.01em; transition:color var(--t-fast), background var(--t-fast);}
  .nav__link:hover {background:rgba(0, 0, 0, 0.04); color:var(--c-text-primary);}
  .nav__cta {padding:10px 24px; border-radius:var(--r-pill); background:var(--c-text-primary); color:#ffffff; font-family:var(--f-display); font-size:0.8125rem; font-weight:700; letter-spacing:0.01em; transition:background var(--t-fast), transform var(--t-fast);}
  .nav__cta:hover {background:var(--c-accent); color:var(--c-white); transform:scale(1.03);}
 /* Mobile nav */
  .nav__toggle {display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:40px; height:40px;}
  .nav__toggle span {display:block; width:20px; height:1.5px; border-radius:2px; background:var(--c-text-primary); transition:transform var(--t-fast), opacity var(--t-fast);}
  .nav__toggle.is-open span:nth-child(1) {transform:translateY(6.5px) rotate(45deg);}
  .nav__toggle.is-open span:nth-child(2) {opacity:0;}
  .nav__toggle.is-open span:nth-child(3) {transform:translateY(-6.5px) rotate(-45deg);}
  @media (max-width:768px) {
    .nav__pill {flex-direction:column; gap:8px; position:fixed; top:72px; right:16px; left:16px; padding:24px; border-radius:var(--r-lg); background:rgba(250, 246, 241, 0.98); opacity:0; box-shadow:var(--shadow-lg); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); pointer-events:none; transform:translateY(-20px); transition:transform var(--t-base), opacity var(--t-base);}
    .nav__pill.is-open {opacity:1; pointer-events:all; transform:translateY(0);}
    .nav__link {width:100%; padding:14px 16px; text-align:center;}
    .nav__cta {width:100%; margin-top:8px; text-align:center;}
    .nav__toggle {display:flex;}
  }
 /* ============================================
     HERO SECTION
     ============================================ */
  .hero {display:flex; align-items:center; position:relative; min-height:100vh; padding:120px var(--s-gutter) 80px; overflow:hidden; background:var(--c-bg);}
 /* 2-column layout:left slogan + right visual */
  .hero__inner {display:grid; align-items:center; gap:48px; grid-template-columns:1fr 1fr; position:relative; z-index:1; width:100%; max-width:var(--s-container); margin:0 auto;}
 /* Right visual */
  .hero__visual {position:relative; width:100%; pointer-events:none; animation:hero-visual-float 6s var(--ease-in-out) infinite;}
  @media (max-width:968px) {
    .hero__inner {gap:56px; grid-template-columns:1fr;}
    .hero__visual {max-width:480px; margin:0 auto;}
  }
  @media (max-width:768px) {
    .hero__visual {display:none;}
  }
  .hero__mockup {padding:6px; overflow:hidden; border:1px solid var(--c-border); border-radius:16px; background:var(--c-bg-card); box-shadow:var(--shadow-lg), 0 0 80px rgba(196,149,106,0.06);}
  .hero__mockup-inner {padding:20px; border-radius:12px; background:var(--c-bg-elevated);}
 /* Browser top bar */
  .mockup-bar {display:flex; align-items:center; gap:6px; margin-bottom:16px;}
  .mockup-dot {width:8px; height:8px; border-radius:50%;}
  .mockup-dot--red {background:#FF6058;}
  .mockup-dot--yellow {background:#FFBD2E;}
  .mockup-dot--green {background:var(--c-accent);}
  .mockup-url {display:flex; flex:1; align-items:center; height:22px; margin-left:12px; padding:0 10px; border-radius:6px; background:var(--c-surface); color:var(--c-text-tertiary); font-family:var(--f-body); font-size:10px;}
 /* Mock nav */
  .mockup-nav {display:flex; align-items:center; gap:8px; margin-bottom:20px;}
  .mockup-nav__logo {width:28px; height:28px; border-radius:8px; background:rgba(196,149,106,0.15);}
  .mockup-nav__link {height:8px; border-radius:4px; background:var(--c-surface);}
 /* Mock content lines */
  .mockup-line {height:10px; margin-bottom:8px; border-radius:5px; background:var(--c-surface);}
  .mockup-line--short {width:60%;}
  .mockup-line--medium {width:80%;}
  .mockup-line--thin {height:6px; margin-bottom:6px;}
 /* Mock stat cards */
  .mockup-stats {display:grid; gap:10px; grid-template-columns:repeat(3, 1fr); margin-top:16px;}
  .mockup-stat-card {padding:12px; border:1px solid var(--c-border); border-radius:10px; background:var(--c-bg-card);}
  .mockup-stat-card__icon {width:22px; height:22px; margin-bottom:8px; border-radius:6px;}
  .mockup-stat-card__bar {height:5px; margin-top:6px; border-radius:3px; background:var(--c-surface);}
 /* Mock chart */
  .mockup-chart {margin-top:14px; padding:14px; border:1px solid var(--c-border); border-radius:10px; background:var(--c-bg-card);}
  .mockup-chart__bars {display:flex; align-items:flex-end; gap:5px; height:56px;}
  .mockup-chart__bar {flex:1; border-radius:3px 3px 0 0; background:rgba(196,149,106,0.18);}
  .mockup-chart__bar--accent {background:var(--c-accent);}
 /* Floating badge */
  .hero__float-badge {display:flex; align-items:center; gap:8px; position:absolute; padding:10px 14px; border:1px solid var(--c-border); border-radius:12px; background:var(--c-bg-card); box-shadow:var(--shadow-md); color:var(--c-text-secondary); font-family:var(--f-body); font-size:11px; animation:hero-badge-float 5s var(--ease-in-out) infinite;}
  .hero__float-badge--top {top:-16px; left:-24px; animation-delay:0.5s;}
  .hero__float-badge--bottom {right:-20px; bottom:-12px; animation-delay:1.5s;}
  .hero__float-badge__dot {width:8px; height:8px; border-radius:50%; background:var(--c-accent); box-shadow:0 0 8px rgba(196,149,106,0.4);}
  @keyframes hero-visual-float {
    0%, 100% {transform:translateY(0);}
    50% {transform:translateY(-14px);}
  }
  @keyframes hero-badge-float {
    0%, 100% {transform:translateY(0);}
    50% {transform:translateY(-8px);}
  }
 /* hero__orb removed — replaced by hero__visual grid layout */
 /* Grid lines - subtle black on white */
  .hero__grid {position:absolute; z-index:0; inset:0; background-image:linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),   linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px); background-size:80px 80px; pointer-events:none; mask-image:radial-gradient(ellipse 60% 50% at 50% 50%, black 20%, transparent 70%); -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 50%, black 20%, transparent 70%);}
  .hero__content {position:relative; z-index:1;}
  .hero__badge {display:inline-flex; align-items:center; gap:8px; margin-bottom:32px; padding:8px 18px; border:1px solid rgba(196, 149, 106, 0.2); border-radius:var(--r-pill); background:var(--c-accent-dim); opacity:0; color:var(--c-accent-hover); font-family:var(--f-body); font-size:0.8125rem; font-weight:600; letter-spacing:0.04em; transform:translateY(20px); animation:hero-reveal 0.8s var(--ease-out-expo) 0.2s forwards;}
  .hero__badge::before {content:''; width:6px; height:6px; border-radius:50%; background:var(--c-accent); animation:pulse-dot 2s ease infinite;}
  @keyframes pulse-dot {
    0%, 100% {opacity:1; transform:scale(1);}
    50% {opacity:0.5; transform:scale(0.8);}
  }
  @keyframes hero-reveal {
    to {opacity:1; transform:translateY(0);}
  }
  .hero__title {margin-bottom:32px; color:var(--c-text-primary); font-family:var(--f-display); font-size:clamp(2.8rem, 7.5vw, 7rem); font-weight:700; letter-spacing:-0.04em; line-height:0.95;}
  .hero__title-line {display:block; overflow:hidden;}
  .hero__title-text {display:inline-block; opacity:0; transform:translateY(100%); animation:title-slide-up 1s var(--ease-out-expo) forwards;}
  .hero__title-line:nth-child(1) .hero__title-text {animation-delay:0.4s;}
  .hero__title-line:nth-child(2) .hero__title-text {animation-delay:0.55s;}
  .hero__title-line:nth-child(3) .hero__title-text {animation-delay:0.7s;}
  @keyframes title-slide-up {
    to {opacity:1; transform:translateY(0);}
  }
  .hero__title em {display:inline-block; position:relative; color:var(--c-dark); font-style:normal;}
  .hero__title em::after {content:''; position:absolute; right:0; bottom:0.05em; left:0; height:0.08em; border-radius:2px; background:var(--c-accent);}
  .hero__subtitle {max-width:520px; margin-bottom:48px; opacity:0; color:var(--c-text-secondary); font-family:var(--f-body); font-size:clamp(1rem, 1.5vw, 1.2rem); line-height:1.75; transform:translateY(20px); animation:hero-reveal 0.8s var(--ease-out-expo) 0.8s forwards;}
  .hero__actions {display:flex; flex-wrap:wrap; gap:16px; margin-bottom:72px; opacity:0; transform:translateY(20px); animation:hero-reveal 0.8s var(--ease-out-expo) 1s forwards;}
  .btn-primary {display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:var(--r-pill); background:var(--c-dark); color:#ffffff; font-family:var(--f-display); font-size:0.9rem; font-weight:700; letter-spacing:0.01em; transition:background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);}
  .btn-primary:hover {background:var(--c-accent); box-shadow:0 8px 24px rgba(196, 149, 106, 0.35); color:var(--c-white); transform:translateY(-2px);}
  .btn-secondary {display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border:1.5px solid var(--c-border); border-radius:var(--r-pill); background:transparent; color:var(--c-text-primary); font-family:var(--f-display); font-size:0.9rem; font-weight:700; letter-spacing:0.01em; transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);}
  .btn-secondary:hover {border-color:rgba(0, 0, 0, 0.3); background:rgba(0, 0, 0, 0.03); transform:translateY(-2px);}
  .hero__stats {display:flex; flex-wrap:wrap; gap:48px; opacity:0; transform:translateY(20px); animation:hero-reveal 0.8s var(--ease-out-expo) 1.2s forwards;}
  .hero__stat {display:flex; flex-direction:column; gap:4px;}
  .hero__stat-value {color:var(--c-text-primary); font-family:var(--f-display); font-size:2rem; font-weight:800; letter-spacing:-0.04em; line-height:1;}
  .hero__stat-value .stat-accent {color:var(--c-accent);}
  .hero__stat-label {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.8125rem; font-weight:500;}
  .hero__stat-divider {align-self:stretch; width:1px; background:var(--c-border);}
  @media (max-width:768px) {
    .hero__stats {gap:24px;}
    .hero__stat-divider {display:none;}
    .hero__stat-value {font-size:1.6rem;}
  }
 /* ============================================
     SECTION COMMON
     ============================================ */
  .section {padding:var(--s-section) var(--s-gutter);}
  .section--alt {background:var(--c-bg-elevated);}
  .section__header {margin-bottom:64px;}
  .section__label {display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; color:var(--c-accent-hover); font-family:var(--f-body); font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em;}
  .section__label::before {content:''; width:20px; height:1.5px; border-radius:2px; background:var(--c-accent);}
  .section__title {margin-bottom:20px; color:var(--c-text-primary); font-family:var(--f-display); font-size:clamp(2rem, 4vw, 3.25rem); font-weight:800; letter-spacing:-0.03em; line-height:1.1;}
  .section__title em {position:relative; color:var(--c-dark); font-style:normal;}
  .section__subtitle {max-width:520px; color:var(--c-text-secondary); font-family:var(--f-body); font-size:1rem; line-height:1.75;}
 /* ============================================
     SERVICES SECTION - BENTO GRID
     ============================================ */
  .services__grid {display:grid; gap:16px; grid-template-columns:repeat(3, 1fr);}
  .service-card {position:relative; padding:36px; overflow:hidden; border:1px solid var(--c-border); border-radius:var(--r-xl); background:var(--c-bg-card); box-shadow:var(--shadow-sm); transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);}
  .service-card::before {content:''; position:absolute; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg, transparent, var(--c-accent), transparent); opacity:0; transition:opacity var(--t-base);}
  .service-card:hover {border-color:var(--c-border-hover); box-shadow:var(--shadow-hover); transform:translateY(-4px);}
  .service-card:hover::before {opacity:1;}
  .service-card--featured {grid-column:span 2; border-color:transparent; background:var(--c-dark);}
  .service-card--featured .service-card__title {color:#FFFFFF;}
  .service-card--featured .service-card__desc {color:rgba(255, 255, 255, 0.6);}
  .service-card--featured .service-card__icon {background:rgba(196, 149, 106, 0.15); color:var(--c-accent);}
  .service-card--featured .service-tag {border-color:rgba(255, 255, 255, 0.1); background:rgba(255, 255, 255, 0.08); color:rgba(255, 255, 255, 0.6);}
  .service-card--featured::before {opacity:0;}
  .service-card__icon {display:flex; flex-shrink:0; justify-content:center; align-items:center; width:52px; height:52px; margin-bottom:24px; border-radius:var(--r-md); background:var(--c-accent-dim); color:var(--c-accent-hover); font-size:24px;}
  .service-card--featured .service-card__icon {width:64px; height:64px; font-size:30px;}
  .service-card__title {margin-bottom:12px; color:var(--c-text-primary); font-family:var(--f-display); font-size:1.2rem; font-weight:700; letter-spacing:-0.02em;}
  .service-card--featured .service-card__title {font-size:1.6rem;}
  .service-card__desc {margin-bottom:24px; color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.9rem; font-weight:500; line-height:1.7;}
  .service-tags {display:flex; flex-wrap:wrap; gap:8px;}
  .service-tag {padding:5px 12px; border:1px solid var(--c-border); border-radius:var(--r-pill); background:var(--c-surface); color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.75rem; font-weight:600; letter-spacing:0.02em;}
  @media (max-width:900px) {
    .services__grid {grid-template-columns:repeat(2, 1fr);}
    .service-card--featured {grid-column:span 2;}
  }
  @media (max-width:600px) {
    .services__grid {grid-template-columns:1fr;}
    .service-card--featured {grid-column:span 1;}
  }
 /* ============================================
     PORTFOLIO SECTION
     ============================================ */
  .portfolio__grid {display:grid; gap:20px; grid-template-columns:repeat(2, 1fr);}
  .portfolio-card {position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:var(--r-xl); background:var(--c-surface); box-shadow:var(--shadow-sm); transition:transform var(--t-base), box-shadow var(--t-base);}
  .portfolio-card:hover {box-shadow:var(--shadow-hover); transform:translateY(-6px);}
  .portfolio-card__img {width:100%; height:100%; transition:transform 0.6s var(--ease-out-expo); object-fit:cover;}
  .portfolio-card:hover .portfolio-card__img {transform:scale(1.04);}
  .portfolio-card__overlay {display:flex; flex-direction:column; justify-content:flex-end; position:absolute; inset:0; padding:32px; background:linear-gradient(   to top,   rgba(250, 246, 241, 0.98) 0%,   rgba(250, 246, 241, 0.85) 25%,   rgba(250, 246, 241, 0) 60%  ); opacity:0; transition:opacity var(--t-base);}
  .portfolio-card:hover .portfolio-card__overlay {opacity:1;}
  .portfolio-card__category {margin-bottom:8px; color:var(--c-accent-hover); font-family:var(--f-body); font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em;}
  .portfolio-card__title {margin-bottom:8px; color:var(--c-text-primary); font-family:var(--f-display); font-size:1.3rem; font-weight:800; letter-spacing:-0.02em;}
  .portfolio-card__desc {color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.85rem; line-height:1.6;}
  .portfolio-card__label {position:absolute; top:20px; left:20px; padding:6px 14px; border:1px solid var(--c-border); border-radius:var(--r-pill); background:rgba(255, 255, 255, 0.9); backdrop-filter:blur(8px); color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.04em;}
  @media (max-width:768px) {
    .portfolio__grid {grid-template-columns:1fr;}
  }
 /* ============================================
     PROCESS SECTION
     ============================================ */
  .process__grid {display:grid; gap:0; grid-template-columns:repeat(4, 1fr); position:relative;}
 /* 라인:1번 원 중심 ~ 4번 원 중심을 관통 */
  .process__grid::before {content:''; position:absolute; z-index:0; top:40px; /* 각 칸은 25% 폭, 원 중심은 칸 왼쪽 끝에서 padding(24px) + 반지름(40px) 위치 */ right:calc(24px + 40px); left:calc(24px + 40px); height:2px; border-radius:1px; background:linear-gradient(90deg, var(--c-accent), rgba(196, 149, 106, 0.15));}
  .process-step {position:relative; z-index:1; padding:0 24px;}
  .process-step__number {display:flex; justify-content:center; align-items:center; position:relative; width:80px; height:80px; margin-bottom:28px; border:1.5px solid var(--c-border); border-radius:50%; background:var(--c-bg-card); box-shadow:var(--shadow-sm); transition:border-color var(--t-base), box-shadow var(--t-base), background var(--t-base);}
 /* hover 시에도 불투명 배경 유지 → 라인이 비치지 않음 */
  .process-step:hover .process-step__number {border-color:var(--c-accent); background:var(--c-bg-card); box-shadow:0 0 0 4px rgba(196, 149, 106, 0.12);}
  .process-step__num-text {color:var(--c-text-tertiary); font-family:var(--f-display); font-size:1.2rem; font-weight:800; letter-spacing:-0.02em;}
  .process-step:hover .process-step__num-text {color:var(--c-accent-hover);}
  .process-step__icon {display:flex; justify-content:center; align-items:center; position:absolute; top:-6px; right:-6px; width:24px; height:24px; border:1px solid var(--c-border); border-radius:50%; background:var(--c-bg); color:var(--c-text-tertiary); font-size:12px;}
  .process-step__title {margin-bottom:12px; color:var(--c-text-primary); font-family:var(--f-display); font-size:1.1rem; font-weight:700; letter-spacing:-0.02em;}
  .process-step__desc {color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.875rem; font-weight:500; line-height:1.7;}
  @media (max-width:900px) {
    .process__grid {gap:48px; grid-template-columns:repeat(2, 1fr);}
    .process__grid::before {display:none;}
  }
  @media (max-width:500px) {
    .process__grid {grid-template-columns:1fr;}
  }
 /* ============================================
     REVIEWS SECTION
     ============================================ */
  .reviews__grid {display:grid; gap:20px; grid-template-columns:repeat(3, 1fr);}
  .review-card {position:relative; padding:36px; border:1px solid var(--c-border); border-radius:var(--r-xl); background:var(--c-bg-card); box-shadow:var(--shadow-sm); transition:transform var(--t-base), box-shadow var(--t-base);}
  .review-card::before {content:'\201C'; position:absolute; top:24px; right:28px; color:rgba(196, 149, 106, 0.15); font-family:'Pretendard', sans-serif; font-size:5rem; font-weight:900; line-height:1;}
  .review-card:hover {box-shadow:var(--shadow-hover); transform:translateY(-4px);}
  .review-stars {display:flex; gap:4px; margin-bottom:20px;}
  .review-star {color:var(--c-accent); font-size:1rem;}
  .review-star--gold {color:#F59E0B;}
  .review-card__text {margin-bottom:28px; color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.9375rem; font-weight:500; line-height:1.8;}
  .review-author {display:flex; align-items:center; gap:14px;}
  .review-author__img {width:48px; height:48px; border:2px solid var(--c-border); border-radius:50%; object-fit:cover;}
  .review-author__name {margin-bottom:2px; color:var(--c-text-primary); font-family:var(--f-display); font-size:0.9rem; font-weight:700;}
  .review-author__role {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.8rem;}
  @media (max-width:900px) {
    .reviews__grid {grid-template-columns:1fr;}
  }
 /* ============================================
     CTA SECTION
     ============================================ */
  .cta-section {position:relative; padding:var(--s-section) var(--s-gutter); overflow:hidden; background:var(--c-dark);}
  .cta-section::before {content:''; position:absolute; top:-50%; left:50%; width:800px; height:800px; border-radius:50%; background:radial-gradient(circle, rgba(196, 149, 106, 0.08) 0%, transparent 70%); pointer-events:none; transform:translateX(-50%);}
  .cta-section__inner {position:relative; z-index:1; max-width:680px; margin:0 auto; text-align:center;}
  .cta-section__label {display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; color:var(--c-accent); font-family:var(--f-body); font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em;}
  .cta-section__label::before {content:''; width:20px; height:1.5px; background:var(--c-accent);}
  .cta-section__title {margin-bottom:20px; color:#ffffff; font-family:var(--f-display); font-size:clamp(2rem, 4vw, 3.5rem); font-weight:900; letter-spacing:-0.04em; line-height:1.05;}
  .cta-section__subtitle {margin-bottom:48px; color:rgba(255, 255, 255, 0.5); font-family:var(--f-body); font-size:1rem; line-height:1.75;}
  .cta-section__actions {display:flex; flex-wrap:wrap; justify-content:center; gap:16px;}
  .btn-cta-primary {display:inline-flex; align-items:center; gap:10px; padding:16px 36px; border-radius:var(--r-pill); background:var(--c-accent); color:var(--c-white); font-family:var(--f-display); font-size:0.9rem; font-weight:800; letter-spacing:0.01em; transition:background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);}
  .btn-cta-primary:hover {background:var(--c-accent-hover); box-shadow:0 8px 24px rgba(196, 149, 106, 0.35); transform:translateY(-2px);}
  .btn-cta-secondary {display:inline-flex; align-items:center; gap:10px; padding:16px 36px; border:1.5px solid rgba(255, 255, 255, 0.15); border-radius:var(--r-pill); background:transparent; color:rgba(255, 255, 255, 0.7); font-family:var(--f-display); font-size:0.9rem; font-weight:700; letter-spacing:0.01em; transition:border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);}
  .btn-cta-secondary:hover {border-color:rgba(255, 255, 255, 0.4); color:#ffffff; transform:translateY(-2px);}
 /* ============================================
     FOOTER
     ============================================ */
  .footer {padding:52px var(--s-gutter) 40px; border-top:1px solid var(--c-border); background:var(--c-bg);}
  .footer__inner {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:48px; margin-bottom:40px;}
  .footer__logo {display:flex; align-items:center; gap:12px; margin-bottom:12px;}
  .footer__logo-icon {display:flex; justify-content:center; align-items:center;}
  .footer__logo-icon svg {display:block; filter:drop-shadow(0 2px 8px rgba(196, 149, 106, 0.35));}
  .footer__logo-text {color:var(--c-text-primary); font-family:var(--f-display); font-size:1.6rem; font-weight:800; letter-spacing:-0.03em; line-height:1;}
  .footer__logo-text em {background:linear-gradient(135deg, var(--c-text-primary) 20%, var(--c-accent) 100%); background-clip:text; -webkit-background-clip:text; font-weight:900; font-style:normal; -webkit-text-fill-color:transparent;}
  .footer__tagline {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.875rem; line-height:1.6;}
  .footer__links {display:flex; flex-wrap:wrap; gap:36px;}
  .footer__link {color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.875rem; font-weight:500; transition:color var(--t-fast);}
  .footer__link:hover {color:var(--c-text-primary);}
  .footer__bottom {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; padding-top:32px; border-top:1px solid var(--c-border);}
  .footer__copyright {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.8125rem;}
  .footer__accent-dot {display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:var(--c-accent); vertical-align:middle;}
 /* ============================================
     REQUEST MODAL
     ============================================ */
  .modal-overlay {display:flex; justify-content:center; align-items:center; visibility:hidden; position:fixed; z-index:2000; inset:0; padding:24px; background:rgba(61, 50, 41, 0.45); opacity:0; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:opacity 0.35s var(--ease-out-expo), visibility 0.35s;}
  .modal-overlay.is-active {visibility:visible; opacity:1;}
  .modal {width:100%; max-width:580px; max-height:90vh; overflow-y:auto; border:1px solid var(--c-border); border-radius:var(--r-xl); background:var(--c-bg-card); box-shadow:0 24px 64px rgba(100, 80, 60, 0.18), 0 8px 20px rgba(100, 80, 60, 0.08); transform:translateY(24px) scale(0.97); transition:transform 0.4s var(--ease-out-expo);}
  .modal-overlay.is-active .modal {transform:translateY(0) scale(1);}
 /* Scrollbar */
  .modal::-webkit-scrollbar {width:6px;}
  .modal::-webkit-scrollbar-track {background:transparent;}
  .modal::-webkit-scrollbar-thumb {border-radius:3px; background:var(--c-border);}
 /* Header */
  .modal__header {display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:32px 32px 0;}
  .modal__title {margin-bottom:6px; color:var(--c-text-primary); font-family:var(--f-display); font-size:1.5rem; font-weight:800; letter-spacing:-0.03em; line-height:1.2;}
  .modal__subtitle {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.875rem; font-weight:500; line-height:1.5;}
  .modal__close {display:flex; flex-shrink:0; justify-content:center; align-items:center; width:36px; height:36px; border-radius:50%; color:var(--c-text-tertiary); transition:background var(--t-fast), color var(--t-fast);}
  .modal__close:hover {background:var(--c-surface); color:var(--c-text-primary);}
 /* Form */
  .modal__form {display:flex; flex-direction:column; gap:20px; padding:28px 32px 32px;}
  .modal__row {display:grid; gap:16px; grid-template-columns:1fr 1fr;}
  .modal__field {display:flex; flex-direction:column; gap:6px;}
  .modal__label {color:var(--c-text-primary); font-family:var(--f-body); font-size:0.8125rem; font-weight:700; letter-spacing:0.01em;}
  .modal__optional {margin-left:6px; padding:1px 6px; border-radius:4px; background:var(--c-surface); color:var(--c-text-tertiary); font-size:0.6875rem; font-weight:500;}
  .modal__input {padding:12px 16px; border:1.5px solid var(--c-border); border-radius:var(--r-md); outline:none; background:var(--c-bg); color:var(--c-text-primary); font-family:var(--f-body); font-size:0.9rem; font-weight:500; transition:border-color var(--t-fast), box-shadow var(--t-fast);}
  .modal__input::placeholder {color:var(--c-text-tertiary); font-weight:400;}
  .modal__input:focus {border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent-dim);}
  .modal__textarea {min-height:120px; line-height:1.7; resize:vertical;}
 /* Pills */
  .modal__pills {display:flex; flex-wrap:wrap; gap:8px;}
  .modal__pill {cursor:pointer;}
  .modal__pill input {position:absolute; width:0; height:0; opacity:0;}
  .modal__pill-label {display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border:1.5px solid var(--c-border); border-radius:var(--r-pill); background:var(--c-bg); color:var(--c-text-secondary); font-family:var(--f-body); font-size:0.8125rem; font-weight:600; cursor:pointer; transition:all var(--t-fast);}
  .modal__pill-label:hover {border-color:var(--c-border-hover); background:var(--c-surface);}
  .modal__pill input:checked + .modal__pill-label {border-color:var(--c-accent); background:var(--c-accent-dim); color:var(--c-accent-hover);}
 /* Footer */
  .modal__footer {display:flex; flex-direction:column; gap:16px; padding-top:8px; border-top:1px solid var(--c-border);}
  .modal__info {display:flex; gap:20px;}
  .modal__info-item {display:flex; align-items:center; gap:6px; color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.8125rem; font-weight:600;}
  .modal__info-item iconify-icon {color:var(--c-accent);}
  .modal__submit {display:inline-flex; justify-content:center; align-items:center; gap:10px; width:100%; padding:16px 32px; border-radius:var(--r-pill); background:var(--c-dark); color:var(--c-white); font-family:var(--f-display); font-size:0.95rem; font-weight:800; letter-spacing:0.01em; transition:background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);}
  .modal__submit:hover {background:var(--c-accent); box-shadow:0 8px 24px rgba(196, 149, 106, 0.35); transform:translateY(-2px);}
  .modal__disclaimer {color:var(--c-text-tertiary); font-family:var(--f-body); font-size:0.75rem; font-weight:500; text-align:center;}
 /* Mobile */
  @media (max-width:600px) {
    .modal {max-height:95vh; border-radius:var(--r-lg);}
    .modal__header {padding:24px 20px 0;}
    .modal__form {padding:20px 20px 24px;}
    .modal__row {grid-template-columns:1fr;}
    .modal__title {font-size:1.3rem;}
  }
 /* ============================================
     REDUCED MOTION
     ============================================ */
  @media (prefers-reduced-motion:reduce) {
    *, *::before, *::after {transition-duration:0.01ms !important; animation-duration:0.01ms !important; animation-iteration-count:1 !important;}
    .reveal {opacity:1; transform:none;}
  }