:root{--paper:#f7f3ed;--white:#fffefa;--ink:#171a17;--muted:#6e6d67;--line:#e7e0d6;--clay:#a66f50;--deep:#242c23}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-nav{background:rgba(247,243,237,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eae3da;padding:13px 0}.wordmark{font-size:15px;line-height:.9;font-weight:700;letter-spacing:-.04em}.wordmark span{font-weight:500;letter-spacing:.02em}.wordmark small{display:block;font-size:7px;letter-spacing:.12em;margin-top:6px;text-transform:uppercase;color:var(--muted)}.navbar-nav{gap:10px}.nav-link{font-size:11px;padding:8px!important}.nav-link:hover{color:var(--clay)}.nav-cta{font-size:11px;padding:11px 18px}.hero{padding:50px 0 48px;overflow:hidden}.eyebrow{font-size:9px;letter-spacing:.24em;font-weight:700;color:var(--muted);margin-bottom:17px}.hero h1,.discipline h2,.about h2,.work h2,.process h2,.contact h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.055em}.hero h1{font-size:clamp(4rem,6vw,6.4rem);line-height:.8;margin:0 0 25px}.hero h1 em,.process h2 em{color:var(--clay);font-style:normal}.lead-copy{font-size:13px;line-height:1.7;color:#555650;max-width:330px}.text-link{display:inline-flex;gap:22px;border-bottom:1px solid var(--clay);padding:12px 0 8px;font-size:12px;font-weight:700}.text-link span{font-size:20px;color:var(--clay)}.mini-services{display:flex;flex-wrap:wrap;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:34px}.mini-services span{font-size:9px;color:#66665e}.hero-art{height:430px;position:relative}.portrait{position:absolute;z-index:2;left:9%;bottom:0;width:48%;height:94%;overflow:hidden;border-radius:180px 180px 3px 3px;background:#e7d9cd}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.78)}.signature{position:absolute;z-index:3;top:16%;left:48%;font:italic 24px/.9 'Cormorant Garamond',serif;transform:rotate(-8deg)}.fashion-tile,.web-tile{position:absolute;overflow:hidden;background:#e6ddd2}.fashion-tile{top:0;right:0;width:39%;height:49%}.web-tile{bottom:0;right:0;width:47%;height:44%;border:7px solid var(--paper)}.fashion-tile img,.web-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.fashion-tile span,.web-tile span{position:absolute;bottom:0;left:0;background:rgba(255,254,250,.94);padding:10px 12px;font-size:8px;line-height:1.35;letter-spacing:.13em;font-weight:700}.disciplines{background:var(--white);border-block:1px solid var(--line)}.discipline{display:flex;min-height:300px;align-items:stretch;overflow:hidden}.discipline+ .discipline{border-left:1px solid var(--line)}.discipline-media{flex:0 0 40%;position:relative;overflow:hidden}.discipline-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.discipline>div{flex:1;padding:32px clamp(18px,3vw,45px)}.discipline small{font-size:9px;letter-spacing:.14em;color:var(--clay)}.discipline h2{font-size:clamp(2rem,3vw,3.25rem);line-height:.86;margin:22px 0 14px}.discipline p{font-size:11px;color:var(--muted);line-height:1.6;max-width:230px}.discipline a{font-size:10px;font-weight:700;border-bottom:1px solid var(--clay);padding-bottom:5px}.section-pad{padding:70px 0}.about{background:#f4eee6}.about h2,.work h2{font-size:clamp(2.8rem,4vw,4.2rem);line-height:.92;margin:0 0 20px}.about p:not(.eyebrow){max-width:440px;color:#5f605a;line-height:1.8;font-size:13px;margin-bottom:23px}.about .btn{font-size:11px;padding:12px 20px}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}.capabilities article{display:flex;gap:12px;align-items:center}.capabilities h3{font-size:12px;font-weight:700;margin:0 0 5px}.capabilities p{font-size:10px!important;line-height:1.5!important;margin:0!important;color:var(--muted)}.icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;font-size:20px;font-style:normal}.blush{background:#f5ded8;color:#ad6c58}.mint{background:#d7eee4;color:#487e69}.lilac{background:#e6e1f2;color:#7770a1}.sand{background:#f4e8cf;color:#9c7b42}.work{background:var(--white)}.category-title{font-size:12px;font-weight:700;border-bottom:1px solid var(--line);padding:10px 0 13px;margin:26px 0 18px}.category-title span{margin-left:12px}.project-media{height:245px;overflow:hidden;position:relative}.project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .4s}.project{overflow:hidden}.project:hover img{transform:scale(1.035)}.project h4{font-size:12px;font-weight:700;margin:13px 0 4px}.project p{font-size:10px;color:var(--muted)}.process{background:var(--deep);color:#f8f4ed;padding:52px 0}.process .eyebrow{color:#c4b4a2}.process h2{font-size:clamp(2.7rem,4vw,4rem);line-height:.88}.process h2 em{color:#b7d9ca}.process b{display:inline-flex;width:35px;height:35px;border:1px solid #b7d9ca;border-radius:50%;align-items:center;justify-content:center;color:#b7d9ca;font-size:10px;margin-bottom:15px}.process h3{font-size:12px}.process p{font-size:10px;line-height:1.6;color:#c6c7bf;max-width:130px}.tools{padding-top:50px;padding-bottom:55px}.tools h2{font:500 2.5rem 'Cormorant Garamond',serif;margin-bottom:20px}.tool-list{display:flex;flex-wrap:wrap;gap:9px}.tool-list span{border:1px solid var(--line);background:var(--white);border-radius:5px;padding:13px 17px;font-size:11px}.note{font-size:10px;color:var(--muted);margin-top:15px}.contact{background:#242c23;color:#f8f4ed;padding:58px 0 18px}.contact h2{font-size:clamp(2.8rem,4.5vw,4.5rem);line-height:.86}.contact p{font-size:11px;line-height:1.7;color:#d2d2c9}.contact .eyebrow{color:#c4b4a2}.contact .btn{font-size:11px;margin-top:6px}.contact-info p{display:flex;gap:12px;align-items:center;margin-bottom:9px}.contact-info p span{width:28px;height:28px;border:1px solid #ffffff40;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.social{display:flex;gap:18px;font-size:10px;margin-top:16px}.contact a:hover{color:#b7d9ca}.footer-line{border-top:1px solid #ffffff2e;margin-top:42px;padding-top:15px;display:flex;justify-content:space-between;gap:12px;color:#c6c7bf;font-size:9px}@media(max-width:991.98px){.navbar-nav{padding:12px 0}.nav-cta{display:inline-block;margin-bottom:10px}.hero{padding-top:35px}.hero-art{margin-top:10px}.section-pad{padding:55px 0}.discipline>div{padding:24px 20px}}@media(max-width:767.98px){.hero{padding:36px 0 30px}.hero h1{font-size:clamp(3.8rem,15vw,5.2rem)}.hero-art{height:350px}.discipline{min-height:245px}.discipline+.discipline{border-left:0;border-top:1px solid var(--line)}.discipline img{width:38%}.discipline-media{flex-basis:38%}.discipline>div{padding:22px 17px}.discipline h2{font-size:clamp(1.8rem,7vw,2.5rem)}.capabilities{gap:20px 12px}.capabilities article{align-items:flex-start;gap:9px}.icon{flex-basis:40px;width:40px;height:40px}.project-media{height:230px}.footer-line{flex-wrap:wrap}}@media(max-width:480px){.hero-art{height:300px}.mini-services{gap:10px}.mini-services span{font-size:8px}.discipline>div{padding:18px 12px}.discipline h2{font-size:1.75rem}.discipline p{font-size:10px}.capabilities{grid-template-columns:1fr}.project-media{height:220px}.tool-list span{padding:10px 12px}.contact{padding-top:44px}}


/* Graceful image fallbacks and restrained parallax motion */
img[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.045); will-change: transform; }
.project img[data-parallax] { transition: transform .35s ease; }
.project:hover img[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.075); }
.image-fallback { object-fit: cover; background: #e9ded0; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  img[data-parallax] { transform: none !important; will-change: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   Enhancements: scroll-reveal animation, parallax backgrounds,
   nav + interaction polish, entrance motion, responsive refinements
   ============================================================ */

/* Scroll reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);will-change:transform,opacity}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
.capabilities article:nth-child(2){transition-delay:.08s}
.capabilities article:nth-child(3){transition-delay:.16s}
.capabilities article:nth-child(4){transition-delay:.24s}
.col-md-4:nth-child(2) .project{transition-delay:.08s}
.col-md-4:nth-child(3) .project{transition-delay:.16s}
.col-6.col-md-3:nth-child(2){transition-delay:.08s}
.col-6.col-md-3:nth-child(3){transition-delay:.16s}
.col-6.col-md-3:nth-child(4){transition-delay:.24s}

/* Decorative parallax background blobs */
.hero,.about,.process,.tools,.contact{position:relative}
.bg-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bg-decor .blob{position:absolute;border-radius:50%;filter:blur(1px);opacity:.6;transform:translate3d(0,var(--parallax-bg-y,0px),0)}
.hero>.container,.about>.container,.process>.container,.tools>.container,.contact>.container{position:relative;z-index:1}
.hero .blob-a{top:-12%;right:-6%;width:320px;height:320px;background:radial-gradient(circle at 30% 30%,#f5ded8,transparent 70%)}
.hero .blob-b{bottom:-18%;left:-8%;width:240px;height:240px;background:radial-gradient(circle at 60% 40%,#d7eee4,transparent 70%)}
.about .blob-a{top:-14%;left:-10%;width:300px;height:300px;background:radial-gradient(circle,#e6e1f2,transparent 70%)}
.process .blob-a{top:8%;right:-10%;width:360px;height:360px;background:radial-gradient(circle,rgba(183,217,202,.25),transparent 70%)}
.tools .blob-a{bottom:-20%;right:-6%;width:280px;height:280px;background:radial-gradient(circle,#f4e8cf,transparent 70%)}
.contact .blob-a{top:-16%;left:8%;width:320px;height:320px;background:radial-gradient(circle,rgba(183,217,202,.18),transparent 70%)}

/* Nav + micro-interaction polish */
.site-nav{transition:box-shadow .35s ease}
.site-nav.is-scrolled{box-shadow:0 10px 30px -18px rgba(23,26,23,.35)}
.nav-link{position:relative}
.nav-link::after{content:'';position:absolute;left:8px;right:8px;bottom:2px;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-cta,.btn{transition:transform .3s ease,box-shadow .3s ease}
.nav-cta:hover,.btn:hover{transform:translateY(-2px)}
.icon{transition:transform .35s ease}
article:hover .icon{transform:rotate(-8deg) scale(1.08)}
.project{position:relative}
.project-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(23,26,23,.5));opacity:0;transition:opacity .4s ease;pointer-events:none}
.project:hover .project-media::after{opacity:1}
.tool-list span{transition:transform .3s ease,background .3s ease,color .3s ease}
.tool-list span:hover{transform:translateY(-3px);background:var(--deep);color:#f8f4ed}
.discipline{transition:background .4s ease}
.discipline:hover{background:#faf6ef}
.discipline img{transition:transform .6s ease}
.discipline:hover img{transform:scale(1.04)}
.social a{transition:transform .3s ease,color .3s ease}
.social a:hover{transform:translateX(3px)}
.text-link span{display:inline-block;transition:transform .3s ease}
.text-link:hover span{transform:translate(4px,-3px)}

/* Hero entrance */
.hero .eyebrow,.hero h1,.hero .lead-copy,.hero .text-link,.hero .mini-services,.hero-art{animation:heroIn .9s cubic-bezier(.16,.84,.44,1) both}
.hero h1{animation-delay:.06s}
.hero .lead-copy{animation-delay:.16s}
.hero .text-link{animation-delay:.26s}
.hero .mini-services{animation-delay:.34s}
.hero-art{animation-delay:.18s}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Back-to-top button */
.scroll-top-btn{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--deep);color:#f8f4ed;display:flex;align-items:center;justify-content:center;font-size:17px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,visibility .3s,background .3s ease;z-index:60;box-shadow:0 14px 30px -14px rgba(23,26,23,.5)}
.scroll-top-btn.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top-btn:hover{background:var(--clay)}

/* Responsive refinements */
@media(max-width:575.98px){
  .discipline{flex-direction:column}
  .discipline-media{flex:none;width:100%;height:190px}
  .bg-decor .blob{width:180px!important;height:180px!important}
  .hero-art{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;animation:none}
  .portrait{position:static;grid-column:1 / -1;width:100%;height:240px;border-radius:20px}
  .fashion-tile,.web-tile{position:static;width:100%;height:140px;border:0}
  .signature{display:none}
}
@media(max-width:380px){
  .portrait{height:200px}
  .fashion-tile,.web-tile{height:120px}
  .hero h1{font-size:clamp(3rem,13vw,4rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero .eyebrow,.hero h1,.hero .lead-copy,.hero .text-link,.hero .mini-services,.hero-art{animation:none}
  [data-reveal]{opacity:1;transform:none;transition:none}
  .bg-decor .blob{transform:none}
}
