/* profile-creator: Cream · Terracotta · Center editorial, circle photo */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
:root{
  --bg:#FBF8F3;--surface:#F3EDE4;--card:#FFFFFF;
  --terra:#C4622D;--terra-lt:#DA8050;--terra-dk:#9A4820;
  --ink:#1E1E1E;--ink-2:#545454;--ink-3:#909090;
  --border:rgba(30,30,30,0.10);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter','Noto Sans TC',system-ui,sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);overflow-x:hidden;line-height:1.7;font-size:16px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 5vw;display:flex;align-items:center;justify-content:space-between;transition:background .3s,padding .3s;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(251,248,243,.96);backdrop-filter:blur(16px);padding:12px 5vw;border-bottom-color:var(--border)}
.nav-name{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink)}
.nav-name em{font-style:italic;font-weight:400;color:var(--ink-3);margin-left:4px}
.nav-links{display:flex;gap:4px;list-style:none}
.nav-links li a{font-size:.82rem;color:var(--ink-2);padding:6px 16px;border-radius:50px;transition:color .15s,background .15s}
.nav-links li a:hover{color:var(--terra)}
.nav-cta{border:1px solid var(--border)!important;color:var(--ink)!important}
.nav-cta:hover{background:var(--ink)!important;color:var(--bg)!important}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:38px;height:38px;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:50%;cursor:pointer}
.nav-toggle span{width:16px;height:1px;background:var(--ink);display:block;transition:.3s}

/* HERO — centered editorial */
#hero{min-height:100svh;display:flex;align-items:center;padding-top:80px;background:var(--bg)}
.hero-wrap{width:100%;max-width:600px;margin:0 auto;text-align:center;padding:60px 5vw}
.hero-tag{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:600;margin-bottom:28px}
.hero-circle-wrap{display:inline-block;margin-bottom:28px}
.hero-circle{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:top;filter:sepia(5%);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--border),0 12px 40px rgba(30,30,30,.1)}
.hero-name{font-family:var(--serif);font-size:clamp(52px,8vw,96px);font-weight:400;color:var(--ink);line-height:1;margin-bottom:8px;letter-spacing:-.01em}
.hero-name em{font-style:italic;color:var(--terra)}
.hero-role{font-size:.88rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px}
.hero-desc{font-size:clamp(14px,1.5vw,16px);color:var(--ink-2);line-height:1.85;margin-bottom:24px;max-width:440px;margin-left:auto;margin-right:auto}
.hero-socials{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.82rem;color:var(--ink-3);margin-bottom:32px}
.hero-socials a{color:var(--terra);font-weight:500;transition:color .15s}
.hero-socials a:hover{color:var(--terra-dk)}
.hero-scroll-cta{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1.5px solid var(--ink);padding-bottom:3px;transition:color .2s,border-color .2s}
.hero-scroll-cta:hover{color:var(--terra);border-color:var(--terra)}

/* SEC */
.sec-eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-bottom:10px}
.sec-title{font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:400;color:var(--ink);margin-bottom:8px}

/* WORKS — horizontal scroll */
#works{background:var(--surface);padding:100px 0}
.works-header{max-width:1200px;margin:0 auto;padding:0 5vw;margin-bottom:40px}
.works-scroll-outer{overflow-x:auto;padding:0 5vw;scrollbar-width:none}
.works-scroll-outer::-webkit-scrollbar{display:none}
.works-scroll-inner{display:flex;gap:16px;width:max-content;padding-bottom:4px}
.work-item{position:relative;width:280px;flex-shrink:0;border-radius:4px;overflow:hidden;cursor:pointer}
.work-tall{width:200px}
.work-item img{width:100%;height:320px;object-fit:cover;transition:transform .6s var(--ease)}
.work-tall img{height:400px}
.work-item:hover img{transform:scale(1.05)}
.wi-label{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;background:linear-gradient(to top,rgba(30,30,30,.6),transparent);color:#fff;transform:translateY(8px);opacity:0;transition:opacity .3s,transform .3s}
.work-item:hover .wi-label{opacity:1;transform:none}
.wi-label span{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:600}
.wi-label em{font-size:.72rem;font-style:normal;opacity:.8}

/* SERVICES — left/right layout */
#services{background:var(--bg);padding:100px 5vw}
.svc-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:80px;align-items:start}
.svc-left{position:sticky;top:100px}
.svc-item{padding:28px 0;border-bottom:1px solid var(--border)}
.svc-item:last-child{border-bottom:none}
.si-head{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}
.si-num{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--terra);min-width:28px}
.si-head h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink)}
.svc-item p{font-size:.88rem;color:var(--ink-2);line-height:1.78;margin-bottom:12px;padding-left:44px}
.si-price{font-size:.85rem;font-weight:600;color:var(--terra);padding-left:44px}

/* CONTACT */
#contact{background:var(--surface);padding:100px 5vw}
.contact-split{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.cs-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;filter:sepia(5%)}
.contact-title{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:16px;margin-top:12px}
.contact-title em{font-style:italic;color:var(--terra)}
.contact-sub{font-size:16px;color:var(--ink-2);line-height:1.85;margin-bottom:28px;font-weight:400}
.c-links{display:flex;flex-direction:column;gap:12px}
.c-link{font-size:.9rem;color:var(--ink-2);padding-bottom:12px;border-bottom:1px solid var(--border);transition:color .2s;font-weight:400}
.c-link:hover{color:var(--terra)}

.creator-footer{background:var(--ink);padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.cf-name{font-family:var(--serif);font-size:.9rem;color:rgba(251,248,243,.8);font-style:italic}
.cf-copy{font-size:.72rem;color:rgba(251,248,243,.3)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){.svc-wrap{grid-template-columns:1fr}.svc-left{position:static}.contact-split{grid-template-columns:1fr;gap:48px}}
@media(max-width:640px){.nav-links{display:none}.nav-toggle{display:flex}}
