:root{--ink: #f2efe7;--ink-soft: #b3ac9d;--paper: #0e0d0a;--paper-deep: #181610;--line: #2b271f;--accent: #c09a5e;--accent-dark: #a07f48;--white: #ffffff;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--max-w: 1200px;--pad-x: clamp(1.25rem, 4vw, 2.5rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.65;font-size:1.0625rem;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,5.5vw,4.2rem)}h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}a{color:inherit}.wrap{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x)}.section{padding-block:clamp(3.5rem,8vw,6.5rem)}.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink-soft);max-width:38em}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.9rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.04em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:var(--accent);color:#14110b}.btn-ghost{border-color:currentColor;color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-light{border-color:#ffffffb3;color:var(--white);background:transparent}.btn-light:hover{background:var(--white);color:var(--ink);border-color:var(--white)}.site-header{position:sticky;top:0;z-index:50;background:#0e0d0aeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem}.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}.logo svg{width:2.5rem;height:auto;display:block;flex-shrink:0}.logo .word{font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem)}.site-nav a{font-size:.92rem;font-weight:500;letter-spacing:.05em;text-decoration:none;color:var(--ink-soft);transition:color .15s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav .btn{padding:.6rem 1.2rem;font-size:.85rem}.site-nav a.btn-solid,.site-nav a.btn-solid:hover{color:var(--white)}.nav-toggle,.header-call{display:none}@media(max-width:760px){.nav-toggle{display:grid;place-items:center;width:2.6rem;height:2.6rem;background:none;border:1px solid var(--line);cursor:pointer;font-size:1.2rem;line-height:1}.header-call{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;margin-right:.7rem;padding:.5rem .85rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:.04em}.header-call:active{background:var(--accent);color:#14110b}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem var(--pad-x) 1.5rem;gap:1rem}.site-nav.open{display:flex}.site-nav a{font-size:1.05rem;padding-block:.3rem}}.hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;color:var(--white);isolation:isolate}.hero picture,.hero>img,.hero .hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#0c0a06b8,#0c0a0640 45%,#0c0a0626)}.hero .hero-inner{width:100%;padding-block:clamp(3rem,7vw,5.5rem)}.hero h1{max-width:13em;text-wrap:balance}.hero .lead{color:#ffffffe0;margin-top:1.2rem}.hero .actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}.hero .hero-inner>*{opacity:0;animation:rise-in .9s cubic-bezier(.2,.7,.3,1) forwards}.hero .hero-inner>:nth-child(1){animation-delay:.15s}.hero .hero-inner>:nth-child(2){animation-delay:.3s}.hero .hero-inner>:nth-child(3){animation-delay:.45s}.hero .hero-inner>:nth-child(4){animation-delay:.6s}@keyframes rise-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.intro-active .hero .hero-inner>*{animation-play-state:paused}.hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:ken-burns 30s linear infinite;will-change:opacity,transform}@keyframes ken-burns{0%{opacity:0;transform:scale(1.02)}4%{opacity:1}21%{opacity:1}27%{opacity:0;transform:scale(1.13)}27.1%{transform:scale(1.02)}to{opacity:0;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.hero-slides img{animation:none}.hero-slides img:first-child{opacity:1}.hero .hero-inner>*{animation:none;opacity:1}}.intro{position:fixed;inset:0;z-index:200;background:#000;display:grid;place-items:center;transition:opacity .85s ease}.intro video{height:100%;max-width:100vw;object-fit:contain}.intro.out{opacity:0;pointer-events:none}.intro-skip{position:absolute;top:1.4rem;right:1.4rem;background:#00000073;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.08em;padding:.7rem 1.3rem;cursor:pointer;z-index:1;transition:background .2s ease,border-color .2s ease}.intro-skip:hover{background:#000c;border-color:#fff}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}.reveal.in{opacity:1;transform:none}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:900px){.grid-3{grid-template-columns:1fr}}@media(max-width:700px){.grid-2{grid-template-columns:1fr}}.project-card{position:relative;display:block;overflow:hidden;text-decoration:none;background:#000;aspect-ratio:4 / 3}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .4s ease;opacity:.92}.project-card:hover img{transform:scale(1.04);opacity:.75}.project-card .card-label{position:absolute;inset-inline:0;bottom:0;padding:1.4rem 1.5rem;background:linear-gradient(to top,rgba(10,8,5,.78),transparent);color:var(--white)}.project-card .card-label h3{font-size:1.35rem}.project-card .card-label p{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9;margin-top:.25rem}.service-card{background:var(--paper-deep);border:1px solid var(--line);padding:2.2rem 2rem;display:flex;flex-direction:column;gap:.9rem}.service-card .num{font-family:var(--font-display);font-size:1rem;color:var(--accent);letter-spacing:.1em}.service-card p{color:var(--ink-soft);font-size:.98rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.gallery-grid a{display:block;overflow:hidden;background:var(--paper-deep)}.gallery-grid img{width:100%;height:100%;aspect-ratio:3 / 2;object-fit:cover;transition:transform .4s ease}.gallery-grid a:hover img{transform:scale(1.03)}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:#0a0805ed;padding:2rem}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;background:none;border:none;color:#ffffffd9;font-size:2.2rem;cursor:pointer;padding:1rem;line-height:1}.lightbox button:hover{color:var(--white)}.lightbox .lb-close{top:1rem;right:1.5rem}.lightbox .lb-prev{left:.5rem;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:.5rem;top:50%;transform:translateY(-50%)}.cta-band{position:relative;color:var(--white);isolation:isolate;text-align:center}.cta-band .bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.cta-band:after{content:"";position:absolute;inset:0;z-index:-1;background:#0e0b07ad}.cta-band .lead{margin-inline:auto;color:#ffffffe0}.trust-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(2rem,6vw,5rem);text-align:center}.trust-bar .stat .big{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--ink)}.trust-bar .stat .small{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:.3rem}.process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:900px){.process{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.process{grid-template-columns:1fr}}.process .step{border-top:2px solid var(--ink);padding-top:1.2rem}.process .step:before{counter-increment:step;content:"0" counter(step);font-family:var(--font-display);font-size:1.1rem;color:var(--accent);display:block;margin-bottom:.6rem}.process .step h3{font-size:1.15rem;margin-bottom:.4rem}.process .step p{font-size:.95rem;color:var(--ink-soft)}.form-grid{display:grid;gap:1.1rem}.form-grid label{display:block;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;color:var(--ink-soft)}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:.85rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-status{padding:.95rem 1.15rem;border:1px solid var(--line);font-size:.95rem;line-height:1.5}.form-status.sending{color:var(--ink-soft)}.form-status.ok{border-color:var(--accent);background:#c09a5e1a;color:var(--ink)}.form-status.err{border-color:#b06a55;background:#b06a5524;color:#f0c9bd}.form-status a{color:var(--accent);font-weight:600}.site-footer{background:#080705;color:#ffffffc7;padding-block:3.5rem 2rem;font-size:.95rem}.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}@media(max-width:800px){.site-footer .cols{grid-template-columns:1fr 1fr}}@media(max-width:520px){.site-footer .cols{grid-template-columns:1fr}}.site-footer h4{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:1rem;font-family:var(--font-body)}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--white)}.site-footer ul{list-style:none;display:grid;gap:.5rem}.site-footer .legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.82rem;color:#ffffff80}.testimonials{display:grid;gap:2rem}.testimonial{max-width:52rem;margin:0 auto;text-align:center}.testimonial .stars{color:var(--accent);font-size:1.15rem;letter-spacing:.18em;margin-bottom:1.6rem}.testimonial blockquote{margin:0;position:relative}.testimonial blockquote:before{content:"“";display:block;font-family:var(--font-display);font-size:5rem;line-height:.5;color:var(--line);margin-bottom:1rem}.testimonial blockquote p{font-family:var(--font-display);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:400;line-height:1.55;color:var(--ink);margin-bottom:1rem;text-wrap:pretty}.testimonial blockquote p:last-child{margin-bottom:0}.testimonial figcaption{margin-top:1.8rem;display:flex;flex-direction:column;gap:.2rem}.testimonial .t-name{font-weight:700;letter-spacing:.04em;color:var(--ink)}.testimonial .t-source{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.testimonial[hidden]{display:none}.testimonial .t-mark{font-size:2rem;color:var(--accent);margin-bottom:1.2rem;line-height:1}.t-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem}.t-arrow{width:2.6rem;height:2.6rem;display:grid;place-items:center;background:none;border:1px solid var(--line);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.t-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.t-dots{display:flex;gap:.6rem}.t-dot{width:.6rem;height:.6rem;padding:0;border-radius:50%;border:none;background:var(--line);cursor:pointer;transition:background .2s ease,transform .2s ease}.t-dot.on{background:var(--accent);transform:scale(1.25)}.faq{max-width:48rem}.faq-item{border-bottom:1px solid var(--line);padding:.4rem 0}.faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-family:var(--font-display);font-size:1.18rem;color:var(--ink)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--accent);transition:transform .25s ease;line-height:1}.faq-item[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq-item p{color:var(--ink-soft);padding:0 2.5rem 1.2rem 0;margin:0;max-width:42em}.band-deep{background:var(--paper-deep)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}@media(max-width:860px){.split{grid-template-columns:1fr}}.split img{width:100%;height:100%;object-fit:cover}.checklist{list-style:none;display:grid;gap:.8rem;margin-top:1.5rem}.checklist li{padding-left:1.8rem;position:relative;color:var(--ink-soft)}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.kh-bar[data-astro-cid-tvrurpns]{animation:kh-rise .7s cubic-bezier(.2,.7,.3,1) backwards}.kh-b1[data-astro-cid-tvrurpns]{animation-delay:.05s}.kh-b2[data-astro-cid-tvrurpns]{animation-delay:.15s}.kh-b3[data-astro-cid-tvrurpns]{animation-delay:.25s}.kh-b4[data-astro-cid-tvrurpns]{animation-delay:.35s}@keyframes kh-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.kh-bar[data-astro-cid-tvrurpns]{animation:none}}
