.landing{display:flex;flex-direction:column;min-height:100dvh;margin:0;background:var(--color-dark)}@media (min-width: 768px){.landing{flex-direction:row}}.landing__half{position:relative;flex:1;min-height:50dvh;display:flex;overflow:hidden;color:var(--color-on-dark);text-decoration:none;outline:none}@media (min-width: 768px){.landing__half{min-height:100dvh}}.landing__half--left{border-bottom:1px solid rgba(245,244,240,.08)}@media (min-width: 768px){.landing__half--left{border-bottom:none;border-right:1px solid rgba(245,244,240,.08)}}.landing__inner{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1)}.landing__media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.landing__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .5s cubic-bezier(.22,1,.36,1)}.landing__tint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:var(--color-accent);opacity:.52;transition:opacity .5s cubic-bezier(.22,1,.36,1)}.landing__title{position:relative;z-index:2;margin:0;padding:1.5rem;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;letter-spacing:-.02em;text-align:center;text-shadow:0 8px 32px rgba(26,26,26,.45);transition:transform .5s cubic-bezier(.22,1,.36,1),color .3s ease}@media (hover: hover) and (pointer: fine){.landing__half:hover .landing__inner,.landing__half:focus-visible .landing__inner{transform:scale(1.04)}.landing__half:hover .landing__media img,.landing__half:focus-visible .landing__media img{transform:scale(1.14)}.landing__half:hover .landing__tint,.landing__half:focus-visible .landing__tint{opacity:0}.landing__half:hover .landing__title,.landing__half:focus-visible .landing__title{transform:scale(1.5);color:#ff6b03}}.landing__half:focus-visible{box-shadow:inset 0 0 0 3px var(--color-on-dark)}.legal-page{min-height:100vh;background:var(--color-bg);padding:clamp(4rem,10vw,6rem) var(--gutter)}.legal-page__inner{max-width:720px;margin-inline:auto}.legal-page__title{margin:0 0 .5rem;font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em}.legal-page__meta{margin:0 0 2.5rem;font-size:.875rem;color:var(--color-text-muted)}.legal-page__section{margin-bottom:2rem}.legal-page__section h2{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.legal-page__section p{margin:0;font-size:.97rem;line-height:1.7;color:var(--color-text-muted)}.legal-page__section a{color:var(--color-accent);font-weight:500}.app{overflow-x:hidden}.page-stack{display:flex;flex-direction:column;gap:var(--section-gap);padding-block:var(--section-gap)}.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding:1.1rem var(--gutter);display:flex;align-items:center;justify-content:center;color:var(--color-on-dark);transition:background .35s ease,box-shadow .35s ease,color .25s ease}.nav--hero{background:transparent}.nav--solid{background:#1a1a1aeb;box-shadow:0 12px 40px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav__logo{display:block}.nav__logo img{display:block;height:120px;width:auto;transition:height .35s ease}.nav--solid .nav__logo img{height:36px}.hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;padding:clamp(4rem,10vw,8rem) var(--gutter) clamp(2rem,5vw,3.5rem);color:var(--color-on-dark);background:var(--color-dark);overflow:hidden}@media (min-width: 768px){.hero{min-height:min(100vh,900px)}}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;display:none}@media (min-width: 768px){.hero__bg{display:block}}.hero__bg canvas{width:100%!important;height:100%!important;display:block}.hero__content{position:relative;z-index:1;width:min(var(--max),100%);margin-inline:auto;display:grid;gap:1.5rem}.hero__kicker{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.85}.hero__title-stack{display:flex;flex-wrap:wrap;gap:.25em .5em;align-items:baseline}.hero__title{margin:0;font-size:clamp(2.75rem,6.5vw,5rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.hero__title--accent{color:var(--color-accent)}.hero__subtitle{margin:0;max-width:38ch;font-size:1rem;line-height:1.55;opacity:.88}.hero__bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-top:.5rem}.hero__scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#f5f4f080;animation:scrollBounce 1.8s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translate(-50%) translateY(0);opacity:.5}50%{transform:translate(-50%) translateY(8px);opacity:1}}.hero__dots{display:flex;gap:.45rem;align-items:center}.hero__dot{width:7px;height:7px;border-radius:50%;background:#f5f4f059}.hero__dot--active{background:var(--color-accent);transform:scale(1.25)}.hero__arrows{display:flex;gap:.5rem}.hero__arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(245,244,240,.35);color:var(--color-on-dark);display:grid;place-items:center;transition:background .2s ease,border-color .2s ease}.hero__arrow:hover{background:#f5f4f01f;border-color:#f5f4f08c}.services{background:var(--color-white);border-radius:var(--radius-lg);margin-inline:var(--gutter);padding:var(--section-gap);box-shadow:var(--shadow-soft);text-align:center}.services__grid{display:grid;gap:var(--section-gap);grid-template-columns:1fr}@media (min-width: 900px){.services__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch}}.services__title{margin:0 0 var(--section-gap);font-size:clamp(1.75rem,3.2vw,2.35rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}.services__pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--section-gap);justify-content:center}.services__pill{padding:.45rem 1rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;background:var(--color-bg-muted);color:var(--color-text);border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease}.services__pill--active{background:#ff6b001f;color:var(--color-accent);border-color:#ff6b0059}.services__cards{display:flex;flex-wrap:wrap;gap:1rem;margin-top:var(--section-gap);justify-content:center}.service-card{background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,107,3,.3);border-radius:var(--radius-md);padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;width:200px}.service-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);background:#ff6b031a;color:var(--color-accent);flex-shrink:0}.service-card__icon svg{width:28px;height:28px}.service-card__text{margin:0;font-size:1rem;font-weight:500;line-height:1.5;color:var(--color-text)}.services__panel{margin-top:var(--section-gap);padding:1.75rem 2rem;background:var(--color-bg-muted);border-radius:var(--radius-md);min-height:480px}.services__panel-desc{margin:1rem 0 0;font-size:1rem;color:var(--color-text-muted);line-height:1.6}.services__panel-list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.services__panel-list li{display:flex;align-items:center;gap:.65rem;font-size:.95rem;font-weight:500}.services__panel-list li:before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.services__mini{display:grid;grid-template-columns:minmax(0,120px) 1fr;gap:1rem;align-items:center}.services__mini-img{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:3 / 4;box-shadow:var(--shadow-soft)}.services__mini-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.services__mini:hover .services__mini-img img{transform:scale(1.04)}.services__mini h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.services__mini p{margin:0;font-size:.92rem;color:var(--color-text-muted)}.services__card{background:var(--color-dark);color:var(--color-on-dark);border-radius:var(--radius-lg);padding:var(--section-gap);display:flex;flex-direction:column;gap:var(--section-gap);height:100%}.services__card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.services__card h3{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;line-height:1.2;max-width:20ch}.services__card-media{flex:1;border-radius:var(--radius-md);overflow:hidden}.services__card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.services__card:hover .services__card-media img{transform:scale(1.03)}.about{background:var(--color-bg-muted);border-radius:var(--radius-lg);margin-inline:var(--gutter);padding:clamp(3rem,8vw,5rem) var(--section-gap);position:relative}.about__body+.about__body{margin-top:1rem}.about__inner{max-width:720px;margin-inline:auto;text-align:center}.about__badge-wrap{display:flex;justify-content:flex-start;margin-bottom:1rem}@media (min-width: 700px){.about__badge-wrap{position:absolute;left:var(--section-gap);top:var(--section-gap)}.about__inner{padding-top:.25rem}}.about__lead{margin:0 0 var(--section-gap);font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700;line-height:1.35}.about__body{margin:0;font-size:1rem;color:var(--color-text-muted)}.featured{background:var(--color-dark);color:var(--color-on-dark);margin-inline:var(--gutter);border-radius:var(--radius-lg);padding:var(--section-gap)}.featured__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--section-gap);margin-bottom:var(--section-gap)}.featured__eyebrow{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-dark-muted)}.featured__grid{display:grid;gap:var(--section-gap);grid-template-columns:1fr}@media (min-width: 900px){.featured__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}}.featured__media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4 / 5;max-height:520px}.featured__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.featured__media:hover img{transform:scale(1.04)}.featured__counter{margin:0 0 .75rem;font-size:.82rem;font-weight:600;letter-spacing:.08em;color:var(--color-on-dark-muted)}.featured__title{margin:0 0 var(--section-gap);font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.featured__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--section-gap)}.featured__tag{padding:.35rem .85rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;background:#f5f4f014;border:1px solid rgba(245,244,240,.14)}.featured__desc{margin:0 0 var(--section-gap);font-size:.98rem;line-height:1.65;color:var(--color-on-dark-muted);max-width:48ch}.portfolio__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--section-gap);margin-bottom:var(--section-gap)}.portfolio__title{margin:0;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;letter-spacing:-.02em;max-width:18ch;line-height:1.1}.portfolio__grid{display:grid;gap:var(--section-gap);grid-template-columns:repeat(2,1fr)}@media (min-width: 900px){.portfolio__grid{grid-template-columns:repeat(4,1fr)}}.portfolio__cell{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1;isolation:isolate}.portfolio__cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio__cell:hover img{transform:scale(1.06)}.portfolio__cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(26,26,26,.75),transparent 55%);pointer-events:none}.portfolio__label{position:absolute;left:.85rem;bottom:.85rem;z-index:1;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-on-dark)}.cta{margin-inline:var(--gutter);background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-lg);padding:var(--section-gap);text-align:center;box-shadow:0 28px 70px #ff6b0059}.cta__title{margin:.75rem auto;font-size:clamp(1.75rem,3.5vw,2.6rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;max-width:18ch}.cta__hint{margin:0 auto var(--section-gap);max-width:42ch;font-size:.95rem;opacity:.92}.cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.cta__form{display:flex;max-width:520px;margin-inline:auto;padding:.35rem;border-radius:var(--radius-pill);background:var(--color-white);gap:.35rem}.cta__input{flex:1;border:none;padding:.65rem 1rem;font:inherit;min-width:0;background:transparent;color:var(--color-dark)}.cta__input::placeholder{color:#1a1a1a73}.cta__input:focus{outline:none}.cta__submit{width:48px;height:48px;border-radius:50%;background:var(--color-dark);color:var(--color-on-dark);display:grid;place-items:center;flex-shrink:0;transition:transform .2s ease,background .2s ease}.cta__submit:hover{transform:scale(1.05)}.footer{position:relative;background:var(--color-dark);color:var(--color-on-dark);margin-inline:var(--gutter);margin-bottom:var(--gutter);border-radius:var(--radius-lg);padding:var(--section-gap);overflow:hidden}.footer__top{display:flex;flex-wrap:wrap;gap:var(--section-gap);justify-content:space-between;align-items:flex-start}.footer__brand h2{margin:0 0 .75rem;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800;line-height:1.15;max-width:16ch}.footer__brand{display:flex;flex-direction:column}.footer__brand a{font-weight:600;color:var(--color-accent)}.footer__quick-links{display:flex;gap:.75rem;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.footer__bottom{margin-top:var(--section-gap);padding-top:var(--section-gap);border-top:1px solid rgba(245,244,240,.1);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.8rem;color:var(--color-on-dark-muted)}.footer__legal{display:flex;gap:1.25rem}.footer__watermark{position:absolute;left:50%;bottom:-18%;transform:translate(-50%);font-size:clamp(4.5rem,18vw,11rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f5f4f00a;pointer-events:none;white-space:nowrap}:root{--color-dark: #1a1a1a;--color-accent: #FF6B03;--color-bg: #f5f4f0;--color-bg-muted: #ebe9e4;--color-white: #faf9f6;--color-text: #1a1a1a;--color-text-muted: rgba(26, 26, 26, .62);--color-on-dark: #f5f4f0;--color-on-dark-muted: rgba(245, 244, 240, .72);--radius-lg: 28px;--radius-md: 18px;--radius-pill: 999px;--shadow-soft: 0 24px 60px rgba(26, 26, 26, .12);--font: "Inter", system-ui, -apple-system, sans-serif;--max: 1200px;--gutter: clamp(1.25rem, 4vw, 2.5rem);--section-gap: 1.5rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}#root{min-height:100vh}.shell{width:min(var(--max),100% - var(--gutter) * 2);margin-inline:auto}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .9rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pill--dark{background:#1a1a1a14;color:var(--color-text)}.pill--light{background:#f5f4f01f;color:var(--color-on-dark)}.pill--accent{background:var(--color-accent);color:var(--color-white)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.15rem;border-radius:var(--radius-pill);font-weight:600;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:active{transform:scale(.98)}.btn--ghost-light{background:#f5f4f024;color:var(--color-on-dark);border:1px solid rgba(245,244,240,.28)}.btn--ghost-light:hover{background:#f5f4f038}.btn--accent{background:var(--color-accent);color:var(--color-white);box-shadow:0 12px 28px #ff6b0059}.btn--accent:hover{filter:brightness(1.05)}.btn--dark{background:var(--color-dark);color:var(--color-on-dark)}.btn--white{background:var(--color-white);color:var(--color-dark);box-shadow:0 8px 24px #0000002e}.btn--white:hover{filter:brightness(.96)}.btn--black{background:#0a0a0a;color:var(--color-white);box-shadow:0 8px 24px #00000059}.btn--black:hover{filter:brightness(1.15)}.btn--dark:hover{filter:brightness(1.08)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--color-text-muted)}.on-dark-muted{color:var(--color-on-dark-muted)}
