*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#eee9df;font-family:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;font-weight:400;letter-spacing:-.018em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(218,166,87,.006) 1px,transparent 1px),linear-gradient(90deg,rgba(218,166,87,.006) 1px,transparent 1px),radial-gradient(circle at 58% 18%,rgba(207,143,45,.055),transparent 26%),radial-gradient(circle at 72% 30%,rgba(190,115,35,.038),transparent 24%),radial-gradient(circle at 47% 56%,rgba(184,112,32,.026),transparent 21%),radial-gradient(circle at 82% 62%,rgba(210,145,45,.024),transparent 20%),linear-gradient(90deg,#070707 0%,#0d0905 28%,#181006 55%,#0d0a06 78%,#050505 100%);background-size:56px 56px,56px 56px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-repeat:repeat,repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;opacity:1}.site-header{position:sticky;top:0;z-index:10;height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 39px;background:rgba(6,6,6,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.085)}a{color:inherit;text-decoration:none}.brand{font-size:13px;font-weight:800;letter-spacing:.27em;color:#fff}.site-header nav{display:flex;gap:44px}.site-header nav a{font-size:12px;font-weight:600;color:rgba(238,233,223,.48);letter-spacing:.16em}.site-header nav a:hover{color:#d9ad68}main{position:relative}.section-grid{min-height:680px;padding:0 39px}.hero{display:flex;align-items:center;position:relative;border-bottom:1px solid rgba(255,255,255,.08);background:transparent}.hero-copy{max-width:720px;margin-top:6px;transform:translateY(-4px)}.eyebrow{display:inline-flex;border:1px solid rgba(218,170,95,.45);color:#d9ad68;padding:7px 13px;font-size:10px;font-weight:500;letter-spacing:.245em;margin:0 0 34px}.hero h1{margin:0;color:#eee9df;font-size:clamp(66px,6.65vw,96px);font-weight:300;line-height:1.03;letter-spacing:-.066em;max-width:760px;text-shadow:none}.hero h1 span{color:#d9ad68;font-weight:300}.lead{max-width:365px;margin:32px 0 42px;color:rgba(238,233,223,.62);font-size:14.5px;font-weight:400;line-height:1.86;letter-spacing:-.018em}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;background:#ddb36f;color:#0d0d0d;font-size:12px;font-weight:700;letter-spacing:-.025em;padding:16px 25px;min-width:151px;transition:.25s ease}.button:hover{transform:translateY(-2px);background:#efc887}.stats{position:absolute;left:39px;right:39px;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.095);border-bottom:1px solid rgba(255,255,255,.05)}.stats div{padding:25px 0 22px;border-right:1px solid rgba(255,255,255,.075)}.stats div:last-child{border-right:0}.stats strong{display:block;color:#d9ad68;font-size:31px;font-weight:600;line-height:1;letter-spacing:-.035em}.stats span{display:block;margin-top:12px;font-size:10px;font-weight:700;color:rgba(238,233,223,.43);letter-spacing:.15em}.portfolio,.about,.services{padding:52px 32px 70px;background:#080808}.section-title{display:flex;align-items:center;gap:18px;margin-bottom:50px}.section-title span{color:#d9ad68;font-size:10px;font-weight:700;letter-spacing:.16em}.section-title h2{font-size:31px;font-weight:700;line-height:1;margin:0;flex:none;letter-spacing:-.045em;color:#f1eee8}.section-title:after{content:"";height:1px;background:rgba(255,255,255,.12);flex:1}.work-grid{display:grid;grid-template-columns:1.38fr 1fr 1fr;grid-auto-rows:248px;border:1px solid rgba(255,255,255,.065);overflow:hidden}.work-card{position:relative;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(0,0,0,.72);border-bottom:1px solid rgba(0,0,0,.72);background:#121212;min-height:230px}.work-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.045),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.025),transparent);opacity:.75}.work-card.large{grid-row:span 2}.work-card div{position:relative;text-align:center;color:rgba(238,233,223,.2);letter-spacing:.18em}.camera{font-size:31px;font-weight:100}.work-card p{margin:11px 0 0;font-size:10px;font-weight:600}.cosmetics{background:linear-gradient(135deg,#1b1006,#2b1a08 60%,#44300e)}.fashion{background:linear-gradient(135deg,#101826,#0b1829 70%,#20334f)}.food{background:linear-gradient(135deg,#111d0d,#1b2914 70%,#313d17)}.product{background:linear-gradient(135deg,#170f0b,#281913 70%,#462b1b)}.interior{background:linear-gradient(135deg,#0c1622,#101e2f 70%,#213954)}.portrait{background:linear-gradient(135deg,#160a1a,#211029 70%,#3b1d50)}.about{min-height:500px;border-top:1px solid rgba(255,255,255,.04)}.about-content{max-width:1180px;margin-top:24px}.about-content h2{font-size:40px;font-weight:400;line-height:1.3;margin:0 0 32px;letter-spacing:-.052em;color:#eee9df}.about-content p{max-width:1160px;color:rgba(238,233,223,.68);line-height:1.92;font-size:15px;font-weight:400;letter-spacing:-.015em;margin:0 0 20px}.about-single-line{white-space:nowrap;max-width:none;font-size:14px;letter-spacing:-.022em}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:31px}.tags span{border:1px solid rgba(218,170,95,.28);color:#d9ad68;padding:7px 13px;font-size:9px;font-weight:600;letter-spacing:.17em}.services{padding-bottom:96px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.065);background:#101010}.service-grid article{padding:41px 34px 45px;min-height:230px;border-right:1px solid rgba(255,255,255,.065)}.service-grid article:last-child{border-right:0}.service-icon{display:block;width:31px;height:31px;margin-bottom:37px;position:relative;color:#d9ad68}.service-icon:before,.service-icon:after{content:"";position:absolute;display:block;box-sizing:border-box}.image-icon:before{left:3px;top:5px;width:23px;height:20px;border:1.5px solid currentColor;border-radius:2px}.image-icon:after{left:9px;top:10px;width:5px;height:5px;background:currentColor;border-radius:50%;box-shadow:none}.image-icon{background:linear-gradient(135deg,transparent 0 49%,currentColor 50% 54%,transparent 55%) 7px 17px/12px 7px no-repeat,linear-gradient(45deg,transparent 0 48%,currentColor 49% 53%,transparent 54%) 14px 17px/11px 7px no-repeat,linear-gradient(currentColor,currentColor) 8px 23px/17px 1.5px no-repeat}.person-icon:before{left:11px;top:4px;width:9px;height:9px;border:1.5px solid currentColor;border-radius:50%}.person-icon:after{left:6px;top:20px;width:19px;height:9px;border:1.5px solid currentColor;border-bottom:0;border-radius:12px 12px 0 0}.cup-icon:before{left:3px;top:9px;width:20px;height:15px;border:1.5px solid currentColor;border-radius:0 0 7px 7px}.cup-icon:after{left:23px;top:12px;width:8px;height:8px;border:1.5px solid currentColor;border-left:0;border-radius:0 8px 8px 0}.cup-icon{background:linear-gradient(currentColor,currentColor) 9px 3px/1.5px 5px no-repeat,linear-gradient(currentColor,currentColor) 15px 2px/1.5px 6px no-repeat,linear-gradient(currentColor,currentColor) 21px 3px/1.5px 5px no-repeat}.service-grid h3{font-size:17px;font-weight:500;letter-spacing:-.025em;margin:0 0 17px;color:#eee9df}.service-grid p{color:rgba(238,233,223,.67);line-height:1.88;font-size:14px;font-weight:400;letter-spacing:-.012em;margin:0}.contact{padding:116px 24px 108px;text-align:center;background:#101010;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.contact h2{font-size:52px;font-weight:300;line-height:1.18;letter-spacing:-.055em;margin:0 0 24px;color:#eee9df}.contact p{color:rgba(238,233,223,.52);font-size:14px;line-height:1.8;margin:0 0 38px}.contact-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}footer{position:relative;display:flex;justify-content:space-between;padding:23px 32px;color:rgba(238,233,223,.38);font-size:10px;font-weight:400;background:#070707}@media(max-width:820px){.site-header{padding:0 22px}.site-header nav{display:none}.section-grid{min-height:640px;padding:0 24px}.hero h1{font-size:56px}.stats{left:24px;right:24px;grid-template-columns:repeat(2,1fr)}.stats div{padding:16px 0}.portfolio,.about,.services{padding:42px 18px}.work-grid{grid-template-columns:1fr;grid-auto-rows:230px}.work-card.large{grid-row:span 1}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.contact h2{font-size:36px}footer{padding:20px;gap:16px;flex-direction:column}}



/* Portfolio category gallery */
.portfolio-intro{margin:-28px 0 28px;color:rgba(238,233,223,.58);font-size:14px;line-height:1.8}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.category-card{appearance:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;position:relative;min-height:360px;overflow:hidden;background:#141414;display:flex;align-items:flex-end}.category-card img{width:100%;height:100%;object-fit:cover;display:block}.category-card img{position:absolute;inset:0;opacity:.78;filter:saturate(.88) contrast(1.05);transition:transform .45s ease,opacity .45s ease}.category-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.76));z-index:1}.category-card div{position:relative;z-index:2;padding:26px}.category-card span{color:#d9ad68;font-size:10px;font-weight:800;letter-spacing:.16em}.category-card h3{margin:10px 0 8px;color:#fff;font-size:28px;font-weight:400;letter-spacing:-.04em}.category-card p{margin:0;color:rgba(238,233,223,.58);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.category-card:hover img,.category-card:focus-visible img{transform:scale(1.06);opacity:.95}.category-card:focus-visible{outline:2px solid #d9ad68;outline-offset:3px}.modal-open{overflow:hidden}.gallery-modal{position:fixed;inset:0;z-index:100;display:none}.gallery-modal[aria-hidden="false"]{display:block}.gallery-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}.gallery-dialog{position:absolute;inset:34px;max-width:1180px;margin:auto;background:#0b0b0b;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;max-height:calc(100vh - 68px)}.gallery-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 20px;border-bottom:1px solid rgba(255,255,255,.1);flex:none}.gallery-modal-header .eyebrow{margin:0 0 10px}.gallery-modal-header h2{margin:0;color:#eee9df;font-size:38px;font-weight:300;letter-spacing:-.05em}.gallery-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#eee9df;font-size:30px;line-height:1;cursor:pointer}.gallery-close:hover{background:#d9ad68;color:#090909}.gallery-scroll{padding:28px;overflow-y:auto}@media(max-width:980px){.category-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:300px}.gallery-dialog{inset:18px;max-height:calc(100vh - 36px)}.gallery-scroll{padding:18px}}@media(max-width:640px){.category-grid{grid-template-columns:1fr}.category-card{min-height:260px}.gallery-modal-header{padding:18px}.gallery-modal-header h2{font-size:30px}.gallery-dialog{inset:10px;max-height:calc(100vh - 20px)}}


/* Mobile About text fix */
.mobile-break{display:none}.desktop-break{display:inline}.about-content{overflow-wrap:break-word}.about-single-line{white-space:normal}@media(min-width:821px){.about-single-line{white-space:nowrap;max-width:none}}@media(max-width:820px){.about-content p,.about-single-line{white-space:normal;max-width:100%;font-size:14px;line-height:1.9;word-break:keep-all;overflow-wrap:break-word}.mobile-break{display:block}.desktop-break{display:none}}




/* Vertical scrolling masonry gallery — no crop */
.gallery-scroll{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  align-items:start !important;
  gap:18px !important;
  padding:28px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  column-count:initial !important;
  columns:initial !important;
}
.gallery-scroll img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  background:#080808 !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
@media(max-width:980px){
  .gallery-scroll{
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:18px !important;
    overflow-x:hidden !important;
  }
}
