@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#171719;background:#f9f9f8;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
:focus-visible{outline:2px solid #8c65b6;outline-offset:4px}
.skip{position:absolute;z-index:100;top:-80px;left:16px;background:#fff;color:#111;padding:12px 18px}
.skip:focus{top:12px}
.wrap{width:min(1360px,calc(100% - 96px));margin:auto}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.15em;color:#777;line-height:1.6}
.top{position:absolute;z-index:30;top:0;left:0;width:100%;min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;color:#fff}
.top.solid{position:relative;background:#171719}
.brand{display:inline-flex;align-items:center;gap:13px;font-size:1.12rem;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.mark{width:30px;height:29px;flex:none}
.nav{display:flex;gap:clamp(13px,1.7vw,32px);align-items:center;font-size:.83rem;letter-spacing:.06em;font-weight:700}
.nav a,.foot nav a{transition:opacity .2s}
.nav a:hover,.foot nav a:hover{opacity:.62}
.menu{display:none}
.hero{height:100svh;min-height:680px;position:relative;background:#171719;color:#fff;overflow:hidden;isolation:isolate}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s}
.slide.active{opacity:1}
.slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-inquiry{position:absolute;z-index:4;left:48px;bottom:106px;width:330px;padding:25px;background:#fff;color:#171719;display:flex;flex-direction:column;align-items:flex-start}
.hero-inquiry strong{font-size:1.13rem;line-height:1.45;letter-spacing:-.035em}
.hero-inquiry>span{font-size:.9rem;line-height:1.6;color:#555;margin-top:4px}
.hero-inquiry a{font-size:.9rem;font-weight:800;margin-top:19px;border-bottom:1px solid #171719;padding-bottom:2px}
.hero-inquiry a:hover{opacity:.65}
.hero-meta{position:absolute;z-index:4;left:48px;right:48px;bottom:29px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.hero-controls{display:flex;align-items:center;gap:14px}
.hero-arrow{border:1px solid #fff9;color:#fff;background:#0005;width:40px;height:40px;font-size:1.2rem;line-height:1}
.hero-arrow:hover{background:#fff;color:#171719}
#slide-count{min-width:54px;text-align:center;font-size:.8rem;font-weight:700}
.hero-caption{display:flex;flex-direction:column;gap:4px;text-align:right;text-shadow:0 1px 5px #000c;font-size:.87rem;line-height:1.5}
#hero-name{font-weight:800;letter-spacing:.1em}
.section{padding:112px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:42px}
.section-head h2{font-size:clamp(2rem,3.4vw,3.3rem);letter-spacing:-.045em;line-height:1.12;margin:12px 0 0}
.section-head p{font-size:1rem;line-height:1.6;color:#555;margin:0}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 24px}
.work{min-width:0;scroll-margin-top:28px}
.work a{display:block}
.work-photo{aspect-ratio:1.38;position:relative;overflow:hidden;background:#ddd}
.work-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.work a:hover .work-photo img{transform:scale(1.04)}
.work-number{position:absolute;top:15px;left:15px;color:#fff;background:#171719d9;padding:6px 9px;font-size:.75rem;letter-spacing:.08em}
.work-text{padding-top:19px}
.work-text .kicker{color:#7b6693}
.work h3{font-size:1.18rem;line-height:1.5;font-weight:500;letter-spacing:-.03em;margin:6px 0 14px}
.work h3 strong{font-weight:700}
.work-link{font-size:.88rem;font-weight:700;border-bottom:1px solid #171719;padding-bottom:4px}
.section-end{text-align:right;margin-top:46px}
.text-link{display:inline-flex;gap:10px;align-items:center;font-weight:700;font-size:.98rem;border-bottom:1px solid currentColor;padding:0 0 6px}
.text-link:hover{opacity:.65}
.why{background:#18181b;color:#fff;position:relative;overflow:hidden;padding-block:96px}
.why:before{content:'';position:absolute;right:2%;bottom:2%;width:min(48vw,680px);aspect-ratio:492/228;background:url('images/why-mellowme-logo.png') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.07;pointer-events:none}
.why .wrap{position:relative;z-index:1}
.why .kicker{color:#b99cd4}
.why .section-head p{color:#bdbdc2}
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #59595b;border-left:1px solid #59595b}
.why-card{min-width:0;min-height:278px;border-right:1px solid #59595b;border-bottom:1px solid #59595b;padding:22px 24px;transition:background .25s}
.why-card:hover,.why-card[open]{background:#28272e}
.why-card summary{list-style:none;cursor:pointer;min-height:180px;display:flex;flex-direction:column}
.why-card summary::-webkit-details-marker{display:none}
.why-no{color:#b4a3c7;font-size:.76rem;line-height:1.5;letter-spacing:.07em}
.why-card strong{font-size:1.43rem;line-height:1.5;letter-spacing:-.035em;margin:auto 0 23px}
.why-plus{font-size:1.3rem;line-height:1;align-self:end}
.why-card[open] .why-plus{transform:rotate(45deg)}
.why-card p{font-size:.94rem;line-height:1.75;color:#dedee2;margin:10px 0 0}
.interaction-hint{font-size:.85rem;color:#bdbdc2;margin:18px 0 0}
.services-preview{background:#f0f0ee}
.service-list{border-top:1px solid #aaa}
.service-row{display:grid;grid-template-columns:70px minmax(220px,1fr) minmax(240px,1.2fr) 30px;gap:20px;align-items:center;border-bottom:1px solid #aaa;padding:30px 10px;transition:background .2s}
.service-row:hover{background:#e7e2ec}
.service-row>span:first-child{font-size:.83rem;color:#6d5784}
.service-row strong{font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.035em}
.service-row>span:nth-child(3){font-size:.98rem;color:#555;line-height:1.6}
.service-row b{text-align:right;font-size:1.3rem;font-weight:400}
.cta{background:#26232b;color:#fff;padding:100px 0}
.cta-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:12px 55px;align-items:start}
.cta .kicker{color:#c6a9db;grid-column:1/-1}
.cta h2{font-size:clamp(2.4rem,5.3vw,5.5rem);line-height:1.16;letter-spacing:-.06em;margin:0}
.cta p{font-size:1.05rem;line-height:1.9;color:#dedbe2;margin:8px 0 20px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:54px;padding:0 24px;border:1px solid currentColor;background:transparent;color:inherit;font-size:.92rem;font-weight:700;letter-spacing:.01em}
.btn:hover{background:#fff;color:#171719}
.cta .btn{grid-column:2;justify-self:start}
.btn.dark{background:#171719;color:#fff}
.btn.dark:hover{background:#5e4770}
.foot{background:#141416;color:#fff;padding:70px 0 30px}
.foot-main{display:flex;justify-content:space-between;gap:40px}
.foot-main p{font-size:.89rem;color:#aaa;margin:18px 0 0}
.foot nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 23px;max-width:620px;font-size:.78rem;letter-spacing:.06em}
.foot-info{border-top:1px solid #454549;margin-top:65px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:#aaa;font-size:.82rem;line-height:1.6}
.foot-info a{text-decoration:underline;text-underline-offset:3px}
.page-title{padding:110px 0 70px;border-bottom:1px solid #d5d5d5}
.page-title h1{font-size:clamp(2.5rem,5vw,5.25rem);letter-spacing:-.06em;margin:18px 0 0;line-height:1.15}
.page-title p{font-size:1.1rem;color:#555;line-height:1.75;margin:25px 0 0}
.page-content{padding:78px 0 120px;min-height:50vh}
.about-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);gap:65px}
.about-mark{font-family:'DM Sans',sans-serif;font-size:clamp(15rem,31vw,34rem);line-height:.78;font-weight:800;color:#d5ccd9;overflow:hidden}
.copy{max-width:760px}
.copy h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.4;letter-spacing:-.04em;margin:0 0 32px}
.copy p{font-size:1.05rem;line-height:1.95;color:#4c4c50;margin:0 0 22px}
.copy .text-link{margin-top:24px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{border:1px solid #c3c3c5;background:transparent;color:#333;padding:10px 17px;min-height:44px;font-size:.89rem}
.filters button:hover,.filters button[aria-pressed=true]{background:#171719;color:#fff;border-color:#171719}
.result-count{font-size:.86rem;color:#777;margin:25px 0 32px}
.page-content .work details{border-top:1px solid #ddd;margin-top:20px;padding-top:12px}
.work details summary{cursor:pointer;font-size:.92rem;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.work details summary:after{content:'＋';font-weight:400}
.work details[open] summary:after{content:'−'}
.work details summary::-webkit-details-marker{display:none}
.work details p{font-size:.95rem;line-height:1.8;color:#555}
.work details a{display:inline-block;margin:4px 0 12px;font-size:.9rem;font-weight:700;border-bottom:1px solid}
.work[hidden]{display:none}
.service-details>article{display:grid;grid-template-columns:25% 1fr;border-top:1px solid #c5c5c5;padding:45px 0;scroll-margin-top:20px}
.service-index{color:#795e91;font-size:.88rem;font-weight:700}
.service-details h2{font-size:clamp(1.6rem,2.7vw,2.8rem);line-height:1.25;margin:0 0 20px;letter-spacing:-.04em}
.service-details p{font-size:1.03rem;line-height:1.85;color:#4d4d4d;max-width:670px}
.service-details small{display:block;font-size:.9rem;color:#777;margin:20px 0 28px}
.service-note{background:#eae6ed;padding:45px;margin-top:40px}
.service-note h2{font-size:1.5rem}
.service-note p{margin:20px 0 25px}
.steps{border-top:1px solid #c5c5c5}
.step{display:grid;grid-template-columns:90px minmax(230px,1fr) minmax(290px,1.3fr);gap:24px;align-items:baseline;border-bottom:1px solid #c5c5c5;padding:34px 0}
.step span{font-size:.87rem;color:#795e91;font-weight:700}
.step h2{font-size:1.45rem;letter-spacing:-.03em;margin:0}
.step p{font-size:1rem;color:#555;line-height:1.75;margin:0}
.inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,120px)}
.inquiry-layout h2{font-size:clamp(1.6rem,2.5vw,2.4rem);letter-spacing:-.04em;margin:16px 0}
.inquiry-layout p{font-size:1rem;line-height:1.85;color:#555}
.contact-links{border-top:1px solid #bbb;margin-top:34px}
.contact-links a{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #bbb;padding:21px 0;align-items:center}
.contact-links a:hover{color:#795e91}
.contact-links span{font-size:.91rem;color:#666}
.contact-links strong{font-size:1rem;text-align:right}
.inquiry-layout .source-note{font-size:.85rem;color:#777}
.brief-form{background:#eae6ed;padding:40px;display:flex;flex-direction:column;align-items:stretch}
.brief-form h2{margin:8px 0 4px}
.brief-form>p{margin:0 0 26px;font-size:.91rem}
.brief-form label{font-size:.92rem;font-weight:700;margin:15px 0 8px}
.brief-form input,.brief-form textarea{border:1px solid #bbb;background:#fff;border-radius:0;padding:13px 14px;font-size:1rem;color:#171719;min-width:0;width:100%}
.brief-form textarea{resize:vertical}
.brief-form .btn{margin-top:25px}
.brief-form .form-note{font-size:.82rem;line-height:1.65;color:#666;margin:16px 0 0}
@media(max-width:1100px){
 .top{padding:0 32px}.wrap{width:min(100% - 64px,1360px)}
 .brand{font-size:1rem}.nav{gap:15px;font-size:.76rem}
 .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .why-card{min-height:228px}.why-card summary{min-height:145px}
 .hero-inquiry{left:32px}.hero-meta{left:32px;right:32px}
}
@media(max-width:800px){
 .top{height:72px;min-height:72px;padding:0 22px}
 .menu{width:44px;height:44px;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
 .menu span{width:25px;height:2px;background:currentColor;display:block}
 .menu[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
 .menu[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
 .nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 22px 28px;background:#171719;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 24px #0004}
 .nav.open{display:flex}
 .nav a{font-size:.95rem;padding:14px 0;border-bottom:1px solid #ffffff29}
 .wrap{width:min(100% - 44px,690px)}
 .section{padding:80px 0}
 .why{padding-block:70px}
 .section-head{display:block}
 .section-head p{margin-top:14px}
 .service-row{grid-template-columns:45px 1fr 24px;gap:12px}
 .service-row>span:nth-child(3){grid-column:2;grid-row:2}
 .service-row b{grid-column:3;grid-row:1}
 .cta-inner{grid-template-columns:1fr;gap:10px}
 .cta .kicker,.cta .btn{grid-column:1}
 .cta p{margin:12px 0 18px}
 .foot-main,.foot-info{display:block}
 .foot nav{justify-content:flex-start;margin-top:35px}
 .foot-info span{display:block;margin-top:10px}
 .about-layout{grid-template-columns:1fr;gap:30px}
 .about-mark{font-size:16rem;line-height:.7}
 .step{grid-template-columns:55px 1fr}
 .step p{grid-column:2}
 .inquiry-layout{grid-template-columns:1fr;gap:70px}
}
@media(max-width:560px){
 .wrap{width:calc(100% - 40px)}
 .brand{font-size:.92rem;gap:9px;letter-spacing:.07em}.mark{width:26px}
 .hero{min-height:620px}
 .hero .slide img{object-position:center}
 .hero-inquiry{left:20px;bottom:92px;width:min(270px,calc(100% - 40px));padding:17px 18px}
 .hero-inquiry strong{font-size:.98rem}
 .hero-inquiry>span{font-size:.8rem}
 .hero-inquiry a{font-size:.83rem;margin-top:10px}
 .hero-meta{left:20px;right:20px;bottom:22px;gap:12px}
 .hero-controls{gap:7px}
 .hero-arrow{width:34px;height:34px}
 #slide-count{font-size:.72rem;min-width:47px}
 .hero-caption{font-size:.73rem;max-width:49%}
 .section-head{margin-bottom:32px}
 .works-grid{grid-template-columns:1fr;gap:40px}
 .work-photo{aspect-ratio:1.35}
 .why-grid{grid-template-columns:1fr}
 .why{padding-block:68px}
 .why:before{width:min(75vw,440px);right:0;bottom:2%}
 .why-card{min-height:0;padding:19px 20px}
 .why-card summary{min-height:0;display:grid;grid-template-columns:1fr auto;gap:18px}
 .why-no{grid-column:1/-1}
 .why-card strong{margin:0}
 .why-plus{align-self:end}
 .why-card p{margin-top:18px}
 .interaction-hint{font-size:.78rem}
 .service-row{padding:22px 4px}
 .service-row strong{font-size:1.15rem}
 .service-row>span:nth-child(3){font-size:.88rem}
 .cta{padding:78px 0}
 .foot{padding:60px 0 30px}
 .foot .brand{font-size:1rem}
 .foot nav{gap:14px 20px;font-size:.76rem}
 .page-title{padding:75px 0 55px}
 .page-title p{font-size:1rem}
 .page-content{padding:55px 0 85px}
 .service-details>article{grid-template-columns:1fr;gap:15px;padding:30px 0}
 .service-note{padding:28px 24px}
 .brief-form{padding:25px}
 .contact-links a{align-items:flex-start}
 .contact-links strong{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* HERO logo/menu typography and compact inquiry card. */
.top:not(.solid) .brand{font-size:1.4rem;font-weight:800}.top:not(.solid) .nav{font-size:.98rem}.top:not(.solid) .nav a{font-weight:700}.hero-inquiry{width:248px;padding:16px 17px}.hero-inquiry strong{font-size:.96rem;line-height:1.4}.hero-inquiry>span{font-size:.78rem;line-height:1.5}.hero-inquiry a{font-size:.84rem;font-weight:800;margin-top:13px}@media(max-width:1100px){.top:not(.solid) .brand{font-size:1.22rem}.top:not(.solid) .nav{font-size:.9rem}}@media(max-width:800px){.top:not(.solid) .nav a{font-size:1.08rem}}@media(max-width:560px){.top:not(.solid) .brand{font-size:1.14rem}.hero-inquiry{width:min(205px,calc(100% - 40px));padding:12px 13px}.hero-inquiry strong{font-size:.84rem}.hero-inquiry>span{font-size:.72rem}.hero-inquiry a{font-size:.78rem;margin-top:10px}}

/* Home SELECTED WORKS: larger two-column project portfolio. */
#works .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 34px}#works .work-photo{aspect-ratio:1.38}#works .work-text{padding-top:22px}#works .work h3{font-size:1.28rem;font-weight:600;line-height:1.45;margin:7px 0 3px}#works .work-description{font-size:1.05rem;line-height:1.5;color:#555;margin:0 0 16px}#works .work a:hover .work-photo img{transform:scale(1.025)}@media(max-width:800px){#works .works-grid{grid-template-columns:1fr;gap:48px}}

/* Keep SELECTED WORKS text aligned while preserving its image and grid geometry. */
#works .work a{display:flex;flex-direction:column;height:100%}#works .work-text{display:flex;flex:1;flex-direction:column;align-items:flex-start}#works .work-summary{font-size:.95rem;line-height:1.65;color:#666;margin:0 0 18px}#works .work-link{margin-top:auto}

/* Clients & partners: scoped to the new homepage section. */
.clients-partners{background:#fff;padding-block:88px}
.clients-partners .section-head{margin-bottom:30px}
.clients-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;row-gap:12px}
.client-logo{min-width:0;min-height:150px;display:flex;align-items:center;justify-content:center;padding:12px 8px}
.client-logo img{display:block;width:100%;max-width:285px;height:auto;object-fit:contain}
@media(max-width:800px){
 .clients-partners{padding-block:64px}
 .clients-partners .section-head{margin-bottom:22px}
 .clients-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
 .client-logo{min-height:112px;padding:8px 0}
}
@media(max-width:560px){
 .clients-partners{padding-block:56px}
 .clients-logo-grid{gap:6px 12px}
 .client-logo{min-height:96px}
}

/* SELECTED WORKS desktop content width */
@media(min-width:1101px){#works.section>.wrap{width:min(calc(100% - 96px),max(1360px,85vw))}}
