
:root,[data-theme="light"]{
  --text-xs:clamp(.75rem,.72rem + .18vw,.875rem);
  --text-sm:clamp(.9rem,.84rem + .2vw,1rem);
  --text-base:clamp(1rem,.96rem + .22vw,1.12rem);
  --text-lg:clamp(1.15rem,1.02rem + .5vw,1.45rem);
  --text-xl:clamp(1.55rem,1.22rem + 1vw,2.3rem);
  --text-2xl:clamp(2.3rem,1.55rem + 2.6vw,4.4rem);
  --text-hero:clamp(3.6rem,2rem + 5vw,7.3rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --color-bg:#f6f2e8;--color-surface:#fbf8f1;--color-surface-2:#fffdf8;--color-surface-offset:#f0eadf;--color-border:rgba(28,28,28,.12);--color-divider:rgba(28,28,28,.08);
  --color-text:#141414;--color-text-muted:#5f605f;--color-text-faint:#898b89;--color-text-inverse:#fffdf7;
  --color-primary:#1c39bb;--color-primary-hover:#142d94;--color-primary-soft:rgba(28,57,187,.09);--color-sky:#87CEEB;--color-gold:#FFBF00;--color-gold-soft:rgba(255,191,0,.18);--color-cream:#FFFDD0;--color-dark:#1C1C1C;
  --radius-sm:.6rem;--radius-md:1rem;--radius-lg:1.4rem;--radius-xl:2rem;--radius-full:999px;
  --shadow-sm:0 10px 28px rgba(20,20,20,.06);--shadow-md:0 16px 50px rgba(20,20,20,.09);--shadow-lg:0 24px 90px rgba(20,20,20,.14);
  --content:1200px;--content-narrow:820px;--transition:220ms cubic-bezier(.16,1,.3,1);
  --font-display:'Cormorant Garamond', Georgia, serif;--font-body:'Manrope', Arial, sans-serif;
}
[data-theme="dark"]{
  --color-bg:#0f1013;--color-surface:#15171c;--color-surface-2:#1b1e25;--color-surface-offset:#101217;--color-border:rgba(255,255,255,.11);--color-divider:rgba(255,255,255,.08);
  --color-text:#f6f2e8;--color-text-muted:#c5c7ce;--color-text-faint:#8f9199;--color-text-inverse:#121317;
  --color-primary:#7d95ff;--color-primary-hover:#99adff;--color-primary-soft:rgba(125,149,255,.14);--color-sky:#9adfff;--color-gold:#f2c464;--color-gold-soft:rgba(242,196,100,.16);--color-cream:#FFFDD0;--color-dark:#1C1C1C;
  --shadow-sm:0 12px 32px rgba(0,0,0,.25);--shadow-md:0 16px 54px rgba(0,0,0,.35);--shadow-lg:0 28px 110px rgba(0,0,0,.45);
}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:radial-gradient(circle at top left, rgba(135,206,235,.16), transparent 28%),radial-gradient(circle at 85% 15%, rgba(255,191,0,.09), transparent 24%),var(--color-bg);text-rendering:optimizeLegibility}.grain:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.05;background-image:radial-gradient(circle at 20% 20%, rgba(255,255,255,.22) 0 1px, transparent 1px),radial-gradient(circle at 80% 50%, rgba(255,255,255,.18) 0 1px, transparent 1px);background-size:18px 18px;mix-blend-mode:soft-light}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;top:1rem;z-index:99;padding:.8rem 1rem;border-radius:var(--radius-sm);background:var(--color-surface-2)}img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{border:0;background:none}p{max-width:68ch}h1,h2,h3,h4{margin:0;line-height:1.02;text-wrap:balance}h1,h2{font-family:var(--font-display)}h1{font-size:var(--text-hero);font-weight:600;letter-spacing:-.045em}h2{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.04em}h3{font-size:var(--text-lg);line-height:1.15}p,li{color:var(--color-text-muted)}::selection{background:var(--color-primary-soft)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px;border-radius:var(--radius-sm)}
.container{width:min(calc(100% - 2rem),var(--content));margin:0 auto}.narrow{width:min(calc(100% - 2rem),var(--content-narrow));margin:0 auto}.section{padding:clamp(4rem,8vw,8rem) 0}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem .95rem;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;font-weight:800}.eyebrow.dark{background:rgba(255,255,255,.08);color:var(--color-cream)}
.site-header{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px);background:color-mix(in srgb,var(--color-bg) 76%, transparent);border-bottom:1px solid var(--color-divider)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px}.brand{display:inline-flex;align-items:center;gap:.9rem;font-weight:800;letter-spacing:.03em}.brand-word{display:flex;flex-direction:column;line-height:1}.brand-word small{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint)}.brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--color-primary),var(--color-dark));color:#fff;box-shadow:var(--shadow-sm)}.brand-mark svg{width:30px;height:30px}.nav-links{display:flex;gap:1.1rem;align-items:center;font-size:var(--text-sm)}.nav-links a{padding:.45rem .2rem;color:var(--color-text-muted)}.nav-links a.active,.nav-links a:hover{color:var(--color-text)}.nav-actions{display:flex;align-items:center;gap:.7rem}.theme-toggle,.menu-toggle{min-width:46px;min-height:46px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;color:var(--color-text)}.menu-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:0 1.3rem;border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);cursor:pointer;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:transparent;border-color:var(--color-border)}.btn-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}
.hero{padding:clamp(3rem,5vw,5rem) 0 clamp(4rem,8vw,7rem)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-10);align-items:end}.hero-copy p{margin:1.3rem 0 0}.hero-title .line{display:block;overflow:hidden}.hero-title .line span{display:block;transform:translateY(110%);animation:rise .9s cubic-bezier(.16,1,.3,1) forwards}.hero-title .line:nth-child(2) span{animation-delay:.12s}.hero-title .line:nth-child(3) span{animation-delay:.24s}@keyframes rise{to{transform:translateY(0)}}.hero-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.meta-card{padding:1rem 1.1rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.meta-card strong{display:block;font-size:var(--text-lg);color:var(--color-text)}
.hero-visual{position:relative;min-height:720px;border-radius:2.1rem;overflow:hidden;box-shadow:var(--shadow-lg);background:#111}.hero-stack{position:absolute;inset:0;display:grid;place-items:center;padding:1.4rem}.hero-panel,.floating-card,.showcase-card{position:absolute;border-radius:1.6rem;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg);background:rgba(255,255,255,.05);backdrop-filter:blur(14px)}.hero-panel img,.showcase-card img{width:100%;height:100%;object-fit:cover}.hero-panel.primary{inset:1rem auto 7rem 1rem;width:58%;}.hero-panel.secondary{right:1rem;top:1.5rem;width:36%;height:38%}.hero-panel.tertiary{right:1.5rem;bottom:1.4rem;width:44%;height:38%}.floating-card{left:6%;bottom:5%;padding:1rem 1.1rem;max-width:250px;color:#fff;background:rgba(12,12,17,.45)}.floating-card strong{display:block;font-size:1.4rem;margin-bottom:.3rem}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(135,206,235,.26), transparent 24%),radial-gradient(circle at 75% 15%, rgba(255,191,0,.16), transparent 22%),linear-gradient(135deg,#11151f 0%,#1c1c1c 100%)}
.section-head{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end;margin-bottom:2rem}.section-head p{margin:0}.cards-3,.cards-2,.services-grid,.work-grid,.stats-grid,.logo-grid{display:grid;gap:1.2rem}.cards-3,.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-2,.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.work-grid{grid-template-columns:1.2fr .8fr .8fr}.panel, .work-card, .service-card, .contact-card, .legal-card, .logo-card, .about-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.panel,.service-card,.contact-card,.legal-card,.logo-card,.about-card{padding:1.3rem}.service-card small,.work-card small,.logo-card small{display:inline-flex;margin-bottom:.8rem;color:var(--color-primary);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-xs)}
.work-card{overflow:hidden}.work-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#191d2c,#252734)}.work-media img{width:100%;height:100%;object-fit:cover}.work-body{padding:1.2rem 1.2rem 1.4rem}.work-card.large .work-media{aspect-ratio:5/4}.work-card:hover .work-media img{transform:scale(1.03)}.work-media img,.gallery img{transition:transform 800ms cubic-bezier(.16,1,.3,1)}
.quote-band{padding:2rem;border-radius:2rem;background:linear-gradient(135deg,var(--color-primary),#111723);color:#fff;box-shadow:var(--shadow-lg)}.quote-band p{font-size:clamp(1.35rem,1.1rem + 1vw,2rem);font-family:var(--font-display);color:#fff;max-width:20ch;margin:.8rem 0 0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.3rem}.about-visual{min-height:620px;position:relative;border-radius:2rem;overflow:hidden;box-shadow:var(--shadow-lg);background:#0f1016}.about-visual img{width:100%;height:100%;object-fit:cover}.about-overlay{position:absolute;inset:auto 1.4rem 1.4rem 1.4rem;padding:1rem 1.2rem;border-radius:1.4rem;background:rgba(10,10,14,.44);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);color:#fff}.checklist{display:grid;gap:.95rem;margin-top:1.4rem}.check{display:flex;gap:.8rem;padding:1rem;border-radius:1.1rem;background:var(--color-surface-2);border:1px solid var(--color-border)}.check i{width:1.6rem;height:1.6rem;border-radius:999px;background:var(--color-primary);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.85rem;flex:0 0 auto;margin-top:.08rem}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery figure{margin:0;border-radius:1.6rem;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.gallery figure img{width:100%;height:100%;object-fit:cover}.gallery .a{grid-column:span 5;aspect-ratio:4/5}.gallery .b{grid-column:span 3;aspect-ratio:4/5}.gallery .c{grid-column:span 4;aspect-ratio:4/5}.gallery .d{grid-column:span 4;aspect-ratio:4/5}.gallery .e{grid-column:span 4;aspect-ratio:4/5}.gallery .f{grid-column:span 4;aspect-ratio:4/5}
.contact-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:1.3rem}.contact-panel{padding:1.4rem;border-radius:2rem;background:linear-gradient(135deg,#10131e 0%,#1c39bb 100%);color:#fff;box-shadow:var(--shadow-lg)}.contact-panel p,.contact-panel h2{color:#fff}.contact-form{padding:1.4rem;border-radius:2rem;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.field{display:grid;gap:.45rem;margin-bottom:1rem}.field label{font-size:var(--text-sm);font-weight:700;color:var(--color-text)}.field input,.field textarea{width:100%;padding:1rem 1rem;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-surface-2)}.field textarea{min-height:170px;resize:vertical}.notice{padding:1rem;border-radius:1rem;margin-bottom:1rem}.notice.success{background:rgba(92,181,120,.12);border:1px solid rgba(92,181,120,.26);color:#1a6a34}.notice.error{background:rgba(190,60,60,.12);border:1px solid rgba(190,60,60,.24);color:#7e1f1f}
.footer{padding:1.8rem 0 2.5rem}.footer-row{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-divider);color:var(--color-text-muted);font-size:var(--text-sm)}
.parallax{will-change:transform;transform:translate3d(0,0,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:translateY(0)}
@media (max-width:1080px){.hero-grid,.about-grid,.contact-wrap,.work-grid,.services-grid,.cards-3,.cards-2,.stats-grid,.logo-grid,.section-head{grid-template-columns:1fr}.hero-visual{min-height:560px}.hero-meta{grid-template-columns:1fr}.gallery .a,.gallery .b,.gallery .c,.gallery .d,.gallery .e,.gallery .f{grid-column:span 12;aspect-ratio:4/5}}
@media (max-width:880px){.nav-links{display:none;position:absolute;top:82px;left:1rem;right:1rem;flex-direction:column;align-items:flex-start;padding:1rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:1rem;box-shadow:var(--shadow-lg)}.nav-links.open{display:flex}.menu-toggle{display:inline-grid;place-items:center}.hero-visual{min-height:500px}.hero-panel.primary{width:66%;inset:1rem auto 8rem 1rem}.hero-panel.secondary{width:38%}.hero-panel.tertiary{width:50%}}
@media (max-width:620px){h1{font-size:clamp(2.75rem,1.7rem + 5vw,4.4rem)}.hero-panel.primary{width:68%}.hero-panel.secondary{top:1rem;width:40%;height:30%}.hero-panel.tertiary{width:56%;height:30%}.floating-card{left:1rem;right:1rem;max-width:none} .footer-row{flex-direction:column}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.parallax,.reveal,.hero-title .line span{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

.real-photo,.gallery-photo,.hero-photo{width:100%;height:100%;object-fit:cover;display:block}.hero-panel,.work-media,.about-visual,.gallery figure{overflow:hidden}.gallery figure{background:var(--color-surface-offset)} .about-visual>img{min-height:100%;object-fit:cover}.hero-panel{min-height:240px}