:root{
  --beige:#EBE0DA; --white:#FFFFFF; --ink:#000000; --grey:#929292; --line:rgba(0,0,0,.18); --oak:#CAA88E;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --serif:'Tiro Kannada','Cormorant Garamond',Georgia,serif;
  --roboto:'Roboto',-apple-system,'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--beige);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.2;letter-spacing:-.32px}
img{display:block;max-width:100%}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3,h4,p{margin:0}
::selection{background:var(--ink);color:var(--beige)}
html.no-motion [data-reveal]{opacity:1 !important;transform:none !important}
html.no-motion [data-rl]{transform:none !important}
[data-zoom]{overflow:hidden}
[data-zoom] .mdd-zoom{transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
[data-zoom]:hover .mdd-zoom{transform:scale(1.04)}
.mdd-underline{position:relative;display:inline-block;padding-bottom:2px}
.mdd-underline::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(1);transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1)}
.mdd-navlink::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1)}
.mdd-navlink{position:relative}
.mdd-navlink:hover::after{transform:scaleX(1)}
.mdd-social{transition:color .35s ease}
.mdd-social:hover{color:var(--oak)}
.mdd-tab{background:transparent;border:none;cursor:pointer;font-family:var(--sans);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--grey);padding:0 0 4px;border-bottom:1px solid transparent;transition:color .35s ease,border-color .35s ease}
.mdd-tab[data-active="true"]{color:var(--ink);border-bottom-color:var(--oak)}
.mdd-tab:hover{color:var(--ink)}
[data-portfolio]>a:nth-child(even){margin-top:72px}
[data-field]{transition:border-color .4s ease}
[data-field]:focus{outline:none;border-color:var(--ink)}
[data-field]::placeholder{color:var(--grey)}
[data-menu]{transition:transform .8s cubic-bezier(.76,0,.24,1),opacity .5s ease}
[data-hamburger]{display:none}
@media(max-width:900px){
  [data-navlinks]{display:none !important}
  [data-hamburger]{display:inline-flex !important}
  [data-captions]{grid-template-columns:1fr !important;gap:22px !important}
  [data-discover]{grid-template-columns:1fr !important;gap:36px !important}
  [data-proj]{width:100% !important;margin-left:0 !important;margin-right:0 !important}
  [data-triptych]{grid-template-columns:1fr !important}
  [data-pubwrap]{position:static !important;margin-top:56px !important;max-width:520px !important}
  [data-contactgrid]{grid-template-columns:1fr !important;gap:40px !important}
  [data-footcols]{grid-template-columns:1fr 1fr !important;gap:36px !important}
  [data-line2]{margin-left:0 !important}
  [data-prow]{grid-template-columns:1fr !important;gap:48px !important}
  [data-pright]{margin-top:0 !important}
  [data-portfolio]{grid-template-columns:1fr !important;row-gap:48px !important}
  [data-portfolio]>a:nth-child(even){margin-top:0 !important}
}
@media(max-width:520px){[data-footcols]{grid-template-columns:1fr !important}}
@media(max-width:768px){#testimonials [data-thead]{align-items:flex-start}#testimonials [data-ttitle]{flex-direction:column;gap:12px;margin-left:0;padding-left:0}#testimonials [data-ttitle] span{padding-top:0 !important}#portfolios [data-tabs]{margin-left:0 !important;align-self:flex-start !important}}
@media(max-width:600px){#inspirations h2[data-insp="type"]{font-size:26px !important;line-height:1.1 !important;letter-spacing:-.03em !important;max-width:none}}
@media(max-width:768px){#top [data-herorow]{grid-template-columns:1fr !important;align-items:flex-start}}
/* Sketch-to-reality reveal */
.reveal{cursor:none}
.reveal-color,.reveal-sketch{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.reveal-color{filter:saturate(1.05) contrast(1.04) brightness(1.03)}
.reveal-sketch{background:#fff;--core:150px;--feather:18px;will-change:-webkit-mask-image,mask-image;
  -webkit-mask-image:radial-gradient(circle calc((var(--core) + var(--feather)) * var(--rs,0)) at var(--mx,50%) var(--my,50%), transparent 0, transparent calc(var(--core) * var(--rs,0)), #000 calc((var(--core) + var(--feather)) * var(--rs,0)));
  mask-image:radial-gradient(circle calc((var(--core) + var(--feather)) * var(--rs,0)) at var(--mx,50%) var(--my,50%), transparent 0, transparent calc(var(--core) * var(--rs,0)), #000 calc((var(--core) + var(--feather)) * var(--rs,0)))}
.reveal-glow{position:absolute;left:0;top:0;width:320px;height:320px;border-radius:50%;pointer-events:none;transform:translate3d(calc(var(--mx,50%) - 160px),calc(var(--my,50%) - 160px),0);background:radial-gradient(circle,rgba(255,255,255,.15) 0%,rgba(255,255,255,.06) 34%,rgba(255,255,255,0) 68%);filter:blur(6px);opacity:var(--go,0);transition:opacity .45s cubic-bezier(.19,1,.22,1);will-change:transform,opacity}
.reveal-glow::after{content:"";position:absolute;inset:0;margin:auto;width:60%;height:60%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 70%);animation:revealBreath 3.4s ease-in-out infinite}
@keyframes revealBreath{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.12);opacity:1}}
.reveal-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);font-family:var(--sans);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(0,0,0,.45);pointer-events:none;transition:opacity .6s ease}
.reveal:hover .reveal-hint{opacity:0}
@media(max-width:1024px){.reveal-sketch{--core:120px}}
@media(prefers-reduced-motion:reduce){.reveal{cursor:default}.reveal-sketch{-webkit-mask-image:none !important;mask-image:none !important;transition:opacity .3s ease}.reveal:hover .reveal-sketch{opacity:0}.reveal-glow{display:none}}
@media(hover:none),(max-width:768px){.reveal{cursor:default}.reveal-sketch,.reveal-glow,.reveal-hint{display:none !important}}

/* ---- Motion utilities ---- */
/* Progressive enhancement: the hidden state is JS-gated, so if JS never runs
   the class is never added and every [data-reveal] block stays visible. */
html.js-anim [data-reveal]{opacity:0}
/* Card hover lift (tactile, restrained) */
a[data-proj]{transition:transform .5s cubic-bezier(.19,1,.22,1)}
a[data-proj]:hover{transform:translateY(-6px)}
/* CTA micro-interactions: subtle lift, gentle press */
a[style*="9999px"]:not([aria-label="Chat on WhatsApp"]),button[style*="9999px"]{transition:background .4s ease,color .4s ease,box-shadow .4s ease,transform .35s cubic-bezier(.19,1,.22,1) !important}
a[style*="9999px"]:not([aria-label="Chat on WhatsApp"]):hover,button[style*="9999px"]:hover{transform:translateY(-2px)}
a[style*="9999px"]:not([aria-label="Chat on WhatsApp"]):active,button[style*="9999px"]:active{transform:translateY(0) scale(.985)}
@media(prefers-reduced-motion:reduce){
  html.js-anim [data-reveal]{opacity:1 !important;transform:none !important}
  a[data-proj]:hover,a[style*="9999px"]:hover,button[style*="9999px"]:hover{transform:none}
}
[data-field]:focus{outline:none;border-color:#F3EDE4}
[data-field]::placeholder{color:rgba(243,237,228,.4)}
