.logo-frame[data-astro-cid-ehi7cz4i]{background:#fff8f7;border:2px solid #fff8f7;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;display:flex;overflow:hidden}.logo-frame[data-astro-cid-ehi7cz4i] img[data-astro-cid-ehi7cz4i]{object-fit:contain;width:100%;height:100%;display:block}.brand-link[data-astro-cid-ehi7cz4i]{align-items:center;text-decoration:none;display:flex}:root{color-scheme:light;--color-primary:#fe5f55;--color-primary-strong:#b32926;--color-secondary:#777da7;--color-accent:#94c9a9;--color-soft:#c6ecae;--color-ink:#885053;--color-background:#fff8f7;--color-surface:#fff;--color-surface-soft:#fff0f0;--color-surface-tint:#ffe1e1;--color-surface-strong:#ffdada;--color-text:#360e12;--color-text-muted:#5a413e;--color-border:#e2beba;--color-shadow:#88505324;--font-heading:"Sora", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--container:80rem;--gutter:clamp(1.25rem, 4vw, 4rem);--section-space:clamp(5rem, 10vw, 7.5rem);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.5rem;--radius-xl:3rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}body.menu-open{overflow:hidden}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--color-primary);color:#fff}.site-shell{overflow:hidden}.container{width:min(100% - (var(--gutter) * 2), var(--container));margin-inline:auto}.section{padding-block:var(--section-space)}.section-soft{background:var(--color-surface-soft)}.eyebrow{color:var(--color-primary-strong);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;line-height:1.2;display:inline-flex}.eyebrow-dot{background:var(--color-primary);border-radius:999px;width:.5rem;height:.5rem}.headline-xl,.headline-lg,.headline-md{font-family:var(--font-heading);color:var(--color-text);letter-spacing:0;margin:0}.headline-xl{max-width:13ch;font-size:clamp(3rem,9vw,5rem);font-weight:800;line-height:1.05}.headline-lg{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2}.headline-md{font-size:clamp(1.75rem,4vw,2rem);font-weight:700;line-height:1.3}.text-muted{color:var(--color-text-muted)}.text-gradient{background:linear-gradient(135deg, var(--color-primary-strong), var(--color-primary));color:#0000;-webkit-background-clip:text;background-clip:text}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3.25rem;padding:.9rem 1.75rem;font-weight:700;line-height:1.2;transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)scale(.98)}.button-primary{background:var(--color-primary);color:#fff;box-shadow:0 1rem 2rem #fe5f5538}.button-secondary{border-color:var(--color-primary);color:var(--color-primary-strong)}.button-secondary:hover{background:#fe5f5514}.button-inverse{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 1rem 2rem #360e1229}.glass-card{box-shadow:0 1.25rem 3rem -1.25rem var(--color-shadow);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #8850531f}.brand-mark{background:radial-gradient(circle at 50% 50%, transparent 28%, var(--color-primary) 30% 36%, transparent 38%), conic-gradient(from 15deg, var(--color-primary), var(--color-secondary), var(--color-accent), var(--color-primary));border-radius:50%;place-items:center;width:2rem;height:2rem;display:inline-grid}.brand-wordmark{font-family:var(--font-heading);color:var(--color-primary-strong);letter-spacing:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;line-height:1}.skip-link{z-index:100;background:var(--color-text);color:#fff;padding:.75rem 1rem;position:absolute;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:50;backdrop-filter:blur(14px);background:#fff8f747;border-bottom:1px solid #0000;transition:background-color .2s,border-color .2s,box-shadow .2s;position:fixed;inset:0 0 auto}.site-header.is-scrolled,.site-header.menu-active{background:#fff8f7e6;border-color:#e2beba6b;box-shadow:0 .75rem 2rem #88505314}.nav-inner{justify-content:space-between;align-items:center;height:5rem;display:flex}.brand-link{align-items:center;gap:.625rem;display:inline-flex}.nav-links{align-items:center;gap:2rem;display:none}.nav-link{color:var(--color-text-muted);font-size:.875rem;font-weight:700;line-height:1.2;position:relative}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-primary-strong)}.nav-link[aria-current=page]:after{background:var(--color-primary);content:"";border-radius:50%;width:.3rem;height:.3rem;position:absolute;bottom:-.55rem;left:50%;transform:translate(-50%)}.menu-toggle{background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-text);border:1px solid #e2bebab3;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.menu-icon{width:1.125rem;height:.75rem;position:relative}.menu-icon:before,.menu-icon:after{content:"";background:currentColor;border-radius:999px;width:100%;height:2px;transition:transform .18s;position:absolute;left:0}.menu-icon:before{top:0}.menu-icon:after{bottom:0}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(5px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(-5px)rotate(-45deg)}.mobile-panel{padding:0 0 var(--gutter);display:none}.mobile-panel.is-open{display:block}.mobile-panel-inner{border-radius:var(--radius-lg);background:#fffffff0;border:1px solid #e2beba8c;gap:1rem;padding:1.25rem;display:grid;box-shadow:0 1rem 2.5rem #8850531f}.hero{padding-block:clamp(8rem, 15vw, 10rem) var(--section-space);position:relative}.hero-grid{align-items:center;gap:3rem;display:grid}.hero-copy{z-index:2;gap:2rem;display:grid;position:relative}.availability{background:var(--color-surface-tint);border:1px solid #e2beba80;border-radius:999px;width:fit-content;padding:.45rem 1rem}.hero-description{max-width:38rem;color:var(--color-text-muted);margin:0;font-size:clamp(1.125rem,2vw,1.25rem)}.hero-actions{flex-direction:column;gap:1rem;display:flex}.hero-visual{isolation:isolate;position:relative}.hero-visual:before,.hero-visual:after{z-index:-1;filter:blur(48px);opacity:.52;content:"";border-radius:999px;width:16rem;height:16rem;position:absolute}.hero-visual:before{background:#fe5f5538;top:-3rem;right:-2rem}.hero-visual:after{background:#94c9a947;bottom:-3rem;left:-2rem}.hero-image-frame{aspect-ratio:1;border-radius:var(--radius-xl);padding:1rem}.hero-image,.mosaic-image,.project-image,.testimonial-avatar{object-fit:cover;width:100%;height:100%}.hero-image{border-radius:2rem}.intro{text-align:center}.intro .headline-lg{max-width:56rem;margin:1rem auto 0}.section-heading-row{gap:1.5rem;margin-bottom:2rem;display:grid}.section-heading-row p{max-width:32rem;margin:0}.card-grid{gap:1.5rem;display:grid}.service-card{border-radius:var(--radius-lg);gap:1rem;padding:2rem;transition:transform .22s;display:grid}.service-card:hover{transform:translateY(-.5rem)}.service-icon,.feature-icon{border-radius:var(--radius-md);width:3rem;height:3rem;color:var(--color-primary-strong);background:#fe5f551c;place-items:center;font-weight:800;display:inline-grid}.service-card h3,.project-card h3,.feature-item h3{font-family:var(--font-heading);color:var(--color-text);letter-spacing:0;margin:0}.service-card h3{font-size:1.2rem;line-height:1.3}.service-card p,.feature-item p{color:var(--color-text-muted);margin:0}.why-grid{align-items:center;gap:clamp(3rem,8vw,7.5rem);display:grid}.feature-list{gap:1.5rem;margin-top:2rem;display:grid}.feature-item{grid-template-columns:auto 1fr;gap:1rem;display:grid}.feature-icon{width:2.25rem;height:2.25rem}.mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.mosaic-column{gap:1.25rem;display:grid}.mosaic-column:first-child{padding-top:2rem}.mosaic-tile{border-radius:var(--radius-lg);background:var(--color-surface-tint);overflow:hidden}.mosaic-tall{aspect-ratio:4/5}.mosaic-square{aspect-ratio:1}.projects-heading{margin-inline:auto;text-align:center;max-width:48rem;margin-bottom:2rem}.project-card{display:block}.project-media{aspect-ratio:16/10;border-radius:var(--radius-lg);margin-bottom:1rem;position:relative;overflow:hidden}.project-image{transition:transform .6s}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{opacity:0;background:#fe5f5538;place-items:center;transition:opacity .2s;display:grid;position:absolute;inset:0}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{opacity:1}.project-overlay span{background:var(--color-surface);color:var(--color-primary-strong);border-radius:999px;padding:.75rem 1.25rem;font-weight:700;box-shadow:0 1rem 2rem #360e1229}.project-card h3{font-size:1.5rem;line-height:1.25}.project-category{color:var(--color-primary-strong);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .25rem;font-size:.875rem;font-weight:700}.testimonial{text-align:center;justify-items:center;gap:2rem;max-width:52rem;display:grid}.quote-mark{color:var(--color-primary-strong);font-family:var(--font-heading);font-size:5rem;font-weight:800;line-height:.65}.testimonial blockquote{font-family:var(--font-heading);margin:0;font-size:clamp(1.5rem,4vw,2rem);font-style:italic;font-weight:600;line-height:1.35}.testimonial-author{text-align:left;align-items:center;gap:1rem;display:inline-flex}.testimonial-avatar-wrap{background:var(--color-border);border-radius:999px;width:4rem;height:4rem;overflow:hidden}.testimonial-author strong,.testimonial-author span{display:block}.testimonial-author span{color:var(--color-text-muted);font-size:.9rem}.final-cta{border-radius:var(--radius-xl);background:var(--color-primary);color:#fff;text-align:center;padding:clamp(3rem,8vw,6rem);position:relative;overflow:hidden}.final-cta:before{content:"";opacity:.18;background:radial-gradient(circle at 20%,#ffffff6b,#0000 38%);position:absolute;inset:0}.final-cta>*{z-index:1;position:relative}.final-cta h2{color:#fff}.final-cta p{color:#ffffffd6;max-width:42rem;margin:1rem auto 2rem;font-size:1.125rem}.site-footer{padding-block:var(--section-space) 2rem;background:var(--color-surface);border-top:1px solid #e2beba80}.footer-grid{gap:2rem;display:grid}.footer-brand{gap:1rem;display:grid}.footer-brand p{max-width:20rem;color:var(--color-text-muted);margin:0}.footer-group h2{letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:.875rem}.footer-group ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.footer-group a{color:var(--color-text-muted);transition:color .18s,transform .18s}.footer-group a:hover{color:var(--color-primary-strong);transform:translate(.25rem)}.social-links{gap:1rem;display:flex}.social-links a{background:var(--color-surface-soft);width:2.5rem;height:2.5rem;color:var(--color-text);border-radius:999px;place-items:center;font-weight:800;display:inline-grid}.footer-bottom{color:#5a413eb8;border-top:1px solid #e2beba59;flex-direction:column;gap:.75rem;margin-top:3rem;padding-top:1.5rem;font-size:.8rem;display:flex}.footer-legal{gap:1rem;display:flex}@media (width>=640px){.hero-actions{flex-direction:row}}@media (width>=768px){.nav-links{display:flex}.menu-toggle,.mobile-panel{display:none}.section-heading-row{grid-template-columns:1fr auto;align-items:end}.section-heading-row p{text-align:right}.card-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.footer-bottom{flex-direction:row;justify-content:space-between}}@media (width>=1024px){.hero-grid,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
