:root{--color-charcoal: #1C1C1C;--color-cream: #F5F0EB;--color-copper: #C4704E;--color-terracotta: #D4956A;--color-offwhite: #FAF7F2;--color-dark-charcoal: #2A2A2A;--color-warm-gray: #8A8580;--font-heading: "DM Sans", "Helvetica Neue", Arial, sans-serif;--font-body: "Lora", "Georgia", serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 8rem;--max-width: 1200px;--nav-height: 72px;--transition-fast: .2s ease;--transition-base: .35s ease;--transition-slow: .6s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--color-dark-charcoal);background-color:var(--color-cream);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none;outline:none}button{cursor:pointer}h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.15;letter-spacing:-.02em}h1{font-size:clamp(2.25rem,5vw,3.75rem)}h2{font-size:clamp(1.75rem,3.5vw,2.75rem);margin-bottom:var(--space-lg)}h3{font-size:clamp(1.125rem,2vw,1.375rem);font-weight:600}p{max-width:65ch}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}@media(min-width:640px){.container{padding:0 var(--space-lg)}}.section{padding:var(--space-2xl) 0}@media(min-width:640px){.section{padding:var(--space-3xl) 0}}.section-label{font-family:var(--font-heading);font-size:.8125rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-warm-gray);margin-bottom:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.9375rem;font-weight:500;letter-spacing:.02em;padding:.875rem 2rem;border-radius:var(--radius-sm);transition:all var(--transition-base)}.btn-primary{background-color:var(--color-copper);color:var(--color-offwhite)}.btn-primary:hover{background-color:var(--color-terracotta);transform:translateY(-1px);box-shadow:0 4px 16px #c4704e40}.btn-ghost{color:var(--color-warm-gray);padding:.875rem 0;border-bottom:1px solid transparent}.btn-ghost:hover{color:var(--color-copper);border-bottom-color:var(--color-copper)}.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.reveal.visible{opacity:1;transform:translateY(0)}.grain:before{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}::selection{background-color:var(--color-copper);color:var(--color-offwhite)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);display:flex;align-items:center;transition:background-color var(--transition-base),box-shadow var(--transition-base)}.nav.scrolled{background-color:#f5f0ebeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px #2a2a2a0f}.nav-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md);display:flex;align-items:center;justify-content:space-between}@media(min-width:640px){.nav-inner{padding:0 var(--space-lg)}}.nav-wordmark{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;color:var(--color-charcoal);transition:color var(--transition-fast)}.nav-wordmark:hover{color:var(--color-copper)}.nav-link{font-family:var(--font-heading);font-size:.875rem;font-weight:500;letter-spacing:.04em;color:var(--color-warm-gray);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-copper)}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;background-color:var(--color-cream);overflow:hidden}.hero-content{width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-3xl) var(--space-md) var(--space-2xl)}@media(min-width:640px){.hero-content{padding:var(--space-3xl) var(--space-lg) var(--space-2xl)}}.hero h1{color:var(--color-charcoal);max-width:18ch;margin-bottom:var(--space-md)}.hero-sub{font-family:var(--font-body);font-size:clamp(1.0625rem,2vw,1.1875rem);color:var(--color-warm-gray);max-width:44ch;margin-bottom:var(--space-xl);line-height:1.6}.hero-actions{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.hero-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-warm-gray) 20%,var(--color-warm-gray) 80%,transparent);opacity:.15}.portfolio{background-color:var(--color-cream)}.portfolio-grid{display:grid;gap:var(--space-lg)}@media(min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}@media(min-width:968px){.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}}.portfolio-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-offwhite);transition:transform var(--transition-base),box-shadow var(--transition-base)}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1c1c1c14}.portfolio-card a{display:block}.card-browser{position:relative;background:var(--color-charcoal);aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-browser-dots{position:absolute;top:12px;left:14px;display:flex;gap:6px}.card-browser-dots span{width:8px;height:8px;border-radius:50%;background-color:#ffffff1f}.card-browser-url{position:absolute;top:8px;left:50%;transform:translate(-50%);font-family:var(--font-heading);font-size:.6875rem;color:#ffffff4d;background:#ffffff0f;padding:2px 16px;border-radius:4px;letter-spacing:.02em}.card-placeholder{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;color:#ffffff14;text-align:center;padding:var(--space-sm)}.card-browser--yallsome{background:linear-gradient(135deg,#1c1c1c,#2a2520)}.card-browser--alara{background:linear-gradient(135deg,#1c1c1c,#1f2420)}.card-browser--morocco{background:linear-gradient(135deg,#1c1c1c,#201f24)}.card-body{padding:var(--space-md)}.card-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--color-charcoal);margin-bottom:var(--space-xs)}.card-desc{font-size:.9375rem;color:var(--color-warm-gray);line-height:1.6;margin-bottom:var(--space-sm)}.card-tags{display:flex;flex-wrap:wrap;gap:6px}.card-tag{font-family:var(--font-heading);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warm-gray);background:#8a858014;padding:4px 10px;border-radius:var(--radius-sm)}.card-link-indicator{font-family:var(--font-heading);font-size:.8125rem;font-weight:500;color:var(--color-copper);display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-xs);transition:gap var(--transition-fast)}.portfolio-card:hover .card-link-indicator{gap:8px}.card-link-indicator svg{width:14px;height:14px}.card-preview-badge{font-family:var(--font-heading);font-size:.75rem;font-weight:500;color:var(--color-terracotta);margin-top:var(--space-xs)}.process{background-color:var(--color-charcoal);color:var(--color-offwhite);position:relative}.process-grid{display:grid;gap:var(--space-xl)}@media(min-width:968px){.process-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}}.process-step{position:relative}.step-number{font-family:var(--font-heading);font-size:4rem;font-weight:600;color:#c4704e1f;line-height:1;margin-bottom:var(--space-sm);letter-spacing:-.04em}.step-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-offwhite);margin-bottom:var(--space-xs)}.step-desc{font-size:.9375rem;color:#faf7f2a6;line-height:1.7}@media(min-width:968px){.process-step:not(:last-child):after{content:"";position:absolute;top:2rem;right:calc(-1 * var(--space-xl) / 2);width:1px;height:60px;background:linear-gradient(180deg,rgba(196,112,78,.2),transparent)}}.about{background-color:var(--color-cream)}.about-intro{font-size:clamp(1.0625rem,2vw,1.1875rem);color:var(--color-warm-gray);max-width:52ch;margin-bottom:var(--space-xl);line-height:1.7}.about-people{display:grid;gap:var(--space-xl)}@media(min-width:640px){.about-people{grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}}.person{display:flex;gap:var(--space-md);align-items:flex-start}.person-avatar{flex-shrink:0;width:64px;height:64px;border-radius:50%;background-color:var(--color-charcoal);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--color-offwhite);letter-spacing:.02em}.person-name{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--color-charcoal);margin-bottom:4px}.person-role{font-family:var(--font-heading);font-size:.8125rem;font-weight:500;color:var(--color-copper);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-xs)}.person-bio{font-size:.9375rem;color:var(--color-warm-gray);line-height:1.65}.about-studio{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgba(138,133,128,.15);font-size:.9375rem;color:var(--color-warm-gray);max-width:56ch;line-height:1.7}.contact{background-color:var(--color-charcoal);color:var(--color-offwhite);position:relative}.contact-layout{display:grid;gap:var(--space-xl)}@media(min-width:968px){.contact-layout{grid-template-columns:1fr 1.2fr;gap:var(--space-3xl);align-items:start}}.contact-intro p{font-size:1.0625rem;color:#faf7f2a6;line-height:1.7;max-width:40ch}.contact-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-family:var(--font-heading);font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#faf7f280}.form-input,.form-textarea,.form-select{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-offwhite);font-family:var(--font-body);font-size:.9375rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:#faf7f24d}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-copper);background:#ffffff14}.form-textarea{min-height:140px;resize:vertical}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238A8580' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-select option{background:var(--color-charcoal);color:var(--color-offwhite)}.form-submit{align-self:flex-start;margin-top:var(--space-xs)}.form-success{display:none;text-align:center;padding:var(--space-xl) 0}.form-success.visible{display:block}.form-success p{font-size:1.125rem;color:var(--color-offwhite);max-width:36ch;margin:0 auto}.form-success .checkmark{width:48px;height:48px;border-radius:50%;background:var(--color-copper);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md)}.form-success .checkmark svg{width:24px;height:24px;color:var(--color-offwhite)}.footer{background-color:var(--color-charcoal);border-top:1px solid rgba(255,255,255,.06);padding:var(--space-xl) 0}.footer-inner{display:flex;flex-direction:column;gap:var(--space-md);align-items:center;text-align:center}@media(min-width:640px){.footer-inner{flex-direction:row;justify-content:space-between;text-align:left}}.footer-wordmark{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--color-offwhite);letter-spacing:-.01em}.footer-links{display:flex;align-items:center;gap:var(--space-md)}.footer-link{font-family:var(--font-heading);font-size:.8125rem;font-weight:400;color:#faf7f280;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-copper)}.footer-copy{font-family:var(--font-heading);font-size:.75rem;color:#faf7f24d}@media(min-width:640px){.footer-copy{text-align:right}}
