:root{--sand:#f5f2ea;--paper:#fff;--ink:#111;--muted:#686762;--line:rgba(17,17,17,.14);--blue:#174cff;--charcoal:#141414;--rose:#f4c2bd;--radius:28px;--pad:clamp(1rem,4vw,4.5rem);--max:1320px;--ease:cubic-bezier(.22,.8,.26,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--sand);color:var(--ink);font-family:Inter,Arial,"Helvetica Neue",sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:200;background:#fff;padding:.75rem 1rem;border-radius:99px}.skip-link:focus{top:1rem}
.container{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}
.section{padding:clamp(5rem,10vw,9rem) 0}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.055em;line-height:.95}
h1{font-size:clamp(3.8rem,9vw,9.4rem)}
h2{font-size:clamp(2.8rem,6vw,6.4rem)}
h3{font-size:clamp(1.5rem,2.4vw,2.4rem)}
.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.6;max-width:720px}
.muted{color:var(--muted)}
.brand-name{font-family:"Arial Black",Inter,Arial,sans-serif;font-weight:900;letter-spacing:-.06em}

/* Header */
.site-header{position:fixed;z-index:100;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 2rem),1440px);height:90px;padding:0 clamp(1rem,3vw,2.25rem);transition:transform .45s var(--ease),opacity .3s,top .35s,background .35s,box-shadow .35s,border-radius .35s;border:1px solid transparent}
.site-header.floating{top:12px;height:72px;background:rgba(245,242,234,.94);backdrop-filter:blur(14px);border-color:rgba(17,17,17,.08);box-shadow:0 14px 42px rgba(17,17,17,.08);border-radius:999px}
.site-header.hidden{transform:translate(-50%,-140%);opacity:0;pointer-events:none}
.brand{display:flex;align-items:center;gap:.6rem;font-size:1.75rem;font-weight:900;letter-spacing:-.055em;white-space:nowrap}
.brand img{width:42px;height:42px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.1rem);font-size:1rem;font-weight:650}
.main-nav a{position:relative}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s}.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{right:0}
.languages{display:flex;gap:.55rem;margin-left:.25rem;font-size:.76rem}.languages a{opacity:.55}.languages a.active{opacity:1;font-weight:850}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:50%;cursor:pointer}.menu-button span,.menu-button::before,.menu-button::after{content:"";display:block;width:22px;height:2px;margin:5px auto;background:#111;transition:.25s}

/* Hero */
.hero{min-height:80vh;padding:clamp(10rem,16vw,15rem) var(--pad) clamp(5rem,8vw,7rem);text-align:center;display:grid;place-items:center}
.hero-inner{max-width:1280px}.hero h1{margin:1.5rem auto 2rem}.hero p{margin-inline:auto}
.hero-visual{width:calc(100% - clamp(1rem,3vw,3rem));max-width:1800px;margin:0 auto clamp(6rem,10vw,10rem);position:relative;overflow:hidden;border-radius:clamp(22px,3vw,44px);background:#0d0e12}
.hero-visual picture,.hero-visual img{width:100%}.hero-visual img{aspect-ratio:16/7;object-fit:cover}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(23,76,255,.16),transparent 60%);transform:translateX(-110%);animation:sheen 8s ease-in-out infinite}
@keyframes sheen{0%,35%{transform:translateX(-110%)}70%,100%{transform:translateX(110%)}}

/* Sections and cards */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,5rem)}.section-head h2{max-width:850px;margin:.8rem 0 0}.section-head p{max-width:450px;margin:0;color:var(--muted)}
.dark-band{background:var(--charcoal);color:#fff;border-radius:0}.dark-band .muted,.dark-band .section-head p{color:#bcbcbc}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem)}
.project-card{grid-column:span 4;margin-bottom:2rem}.project-card.wide{grid-column:span 6}.project-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);transition:transform .45s var(--ease)}.project-card:hover img{transform:translateY(-6px) scale(.99)}.project-card small{display:block;margin-top:1rem;color:#bcbcbc}.project-card h3{font-size:clamp(1.35rem,2vw,2rem);margin:.5rem 0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card-body{padding:1.5rem}.service-card h3{margin-bottom:.8rem}.service-card p{color:#42413e;margin-bottom:0}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:1.2rem 0}.marquee-track{display:flex;width:max-content;animation:marquee 27s linear infinite}.marquee-group{display:flex;align-items:center;gap:clamp(3rem,7vw,7rem);padding-right:clamp(3rem,7vw,7rem)}.marquee img{width:auto;max-width:160px;height:42px;object-fit:contain}@keyframes marquee{to{transform:translateX(-50%)}}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-step{padding:1.5rem 2rem 1rem 0;border-bottom:1px solid var(--line)}.process-step b{color:var(--blue)}.process-step h3{font-size:1.5rem;margin:2.5rem 0 .7rem}.process-step p{color:var(--muted)}

/* Inner pages */
.page-hero{padding:clamp(10rem,15vw,14rem) var(--pad) clamp(4rem,7vw,7rem)}.page-hero>div{max-width:1100px}.page-hero h1{font-size:clamp(3.8rem,8vw,8rem);margin:1.2rem 0 2rem}.page-hero p{max-width:740px}
.detail-list{display:grid;gap:clamp(5rem,10vw,9rem)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);padding-bottom:clamp(4rem,7vw,6rem);border-bottom:1px solid var(--line)}.service-detail .visual{background:#eee9f5;border-radius:var(--radius);overflow:hidden;aspect-ratio:2/1;display:grid;place-items:center}.service-detail .visual img{width:100%;height:100%;object-fit:contain}.service-detail h2{font-size:clamp(2.6rem,4vw,4.5rem);margin:1rem 0 1.4rem}.detail-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.detail-grid div{padding:1.5rem 1.5rem 1.5rem 0;border-bottom:1px solid var(--line)}.detail-grid small{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.detail-grid p{margin:.7rem 0 0;color:#2a2927}.expand-button{display:none}
.company-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center;margin-bottom:clamp(5rem,9vw,8rem)}.company-stage{position:relative;overflow:hidden;padding:clamp(1rem,2vw,2rem);border-radius:clamp(28px,5vw,64px);background:radial-gradient(circle at 20% 20%,#e75b55,transparent 35%),radial-gradient(circle at 85% 80%,#f08b85,transparent 38%),linear-gradient(145deg,#fff0ed,#f4beb9)}.company-stage img{position:relative;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius);box-shadow:0 25px 55px rgba(95,25,20,.15)}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#353535}.value{padding:2rem;background:#171717}.value b{color:#79a1ff}.value h3{margin:2rem 0 .8rem;font-size:1.5rem}.value p{color:#bdbdbd;margin:0}
.faq-list{max-width:1000px;margin:auto;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;gap:2rem;text-align:left;border:0;background:transparent;padding:1.6rem 0;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:750;cursor:pointer}.faq-question span:last-child{font-size:1.8rem;font-weight:400;transition:transform .25s}.faq-question[aria-expanded="true"] span:last-child{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s var(--ease),opacity .25s}.faq-answer>div{overflow:hidden}.faq-answer p{max-width:780px;color:#3c3b38;padding:0 0 1.7rem}.faq-answer.open{grid-template-rows:1fr;opacity:1}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,4vw,4rem)}.blog-card .blog-visual{display:grid;place-items:center;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden}.blog-card:nth-child(3n+1) .blog-visual{background:#e8f0ff}.blog-card:nth-child(3n+2) .blog-visual{background:#f0e9fd}.blog-card:nth-child(3n) .blog-visual{background:#ffeddf}.blog-card img{width:100%;height:100%;object-fit:contain;padding:1rem;mix-blend-mode:multiply}.blog-card h2{font-size:clamp(2rem,3.5vw,3.4rem);margin:1.3rem 0 1rem}.blog-card p{color:#3a3936;line-height:1.75}

/* Contact */
.contact-page{background:#fff}.contact-wrap{max-width:720px;margin:auto;padding:clamp(10rem,15vw,14rem) 1rem clamp(7rem,12vw,11rem)}.contact-intro{text-align:center;margin-bottom:clamp(5rem,10vw,9rem)}.contact-intro h1{font-size:clamp(3.7rem,7vw,6.8rem)}.contact-form fieldset{border:0;padding:0;margin:0 0 3.5rem}.contact-form legend,.field-label{display:block;font-weight:800;margin-bottom:1rem}.chips{display:flex;flex-wrap:wrap;gap:.55rem}.chip{border:1px solid #111;background:#fff;border-radius:999px;padding:.55rem .9rem;cursor:pointer}.chip.selected,.chip[aria-pressed="true"]{background:#111;color:#fff}.field{display:block;margin-bottom:3.2rem}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #aaa;border-radius:0;background:transparent;padding:1rem 0 .7rem;font-size:1.08rem;outline:none}.field input:focus,.field textarea:focus{border-bottom-color:#111}.field textarea{min-height:100px;resize:vertical}.link-row{display:grid;grid-template-columns:1fr auto;gap:1rem}.remove-link{align-self:center;width:34px;height:34px;border:1px solid #aaa;border-radius:50%;background:#fff;cursor:pointer}.add-link{border:0;border-bottom:1px solid #111;background:transparent;padding:.35rem 0;margin-top:-1rem;font-weight:750;cursor:pointer}.submit-button{border:1px solid #111;background:#fff;border-radius:999px;padding:.8rem 1.35rem;cursor:pointer;transition:.2s}.submit-button:hover{background:#111;color:#fff}.privacy-note{max-width:520px;margin-top:1.2rem;color:var(--muted);font-size:.78rem}.form-message{display:none;margin-top:1rem;font-weight:700}.form-message.show{display:block}

/* Legal */
.legal{max-width:880px}.legal h2{font-size:2rem;margin-top:3rem}.legal p,.legal li{color:#343330;line-height:1.75}

/* Footer */
.site-footer{background:#0f0f0f;color:#fff;padding:clamp(4rem,8vw,7rem) 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-brand{font-size:2rem}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.footer-contact a:hover{opacity:.72}.instagram-link{display:flex;align-items:center;gap:.65rem}.instagram-link img{width:24px;height:24px;object-fit:contain}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid #333;color:#a8a8a8;font-size:.78rem}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){.main-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;align-items:flex-start;background:#111;color:#fff;padding:2rem;border-radius:24px}.main-nav.open{display:flex}.menu-button{display:block}.languages{margin:1rem 0 0}.service-grid{grid-template-columns:repeat(2,1fr)}.project-card{grid-column:span 6}.process-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:repeat(2,1fr)}.site-header:has(.main-nav.open){background:var(--sand);border-radius:24px}}
@media(max-width:760px){.section-head{display:block}.section-head p{margin-top:1.5rem}.hero{min-height:auto}.hero-visual img{aspect-ratio:4/5}.project-card,.project-card.wide{grid-column:span 12}.service-grid{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.company-block{grid-template-columns:1fr}.company-block:nth-child(even) .company-stage{order:-1}.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:.5rem}}
@media(max-width:520px){:root{--radius:20px}.site-header{width:calc(100% - 1rem);height:70px}.site-header.floating{top:7px;height:64px;border-radius:22px}.brand{font-size:1.35rem}.brand img{width:32px;height:32px}.hero{padding-top:8rem}.hero h1{font-size:clamp(3.4rem,16vw,5rem)}.page-hero{padding-top:8rem}.page-hero h1{font-size:clamp(3.2rem,15vw,4.8rem)}.process-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-links{grid-template-columns:1fr}.marquee img{max-width:110px;height:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.marquee-track{animation:none}.marquee-group[aria-hidden="true"]{display:none}}
