@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f5f1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}:root{--brand-blue:#1f4e79;--brand-gold:#f3a712;--brand-cream:#f8f5f1;--text-color:#1f2933;--muted-text:#4a5568;--card-shadow:0 20px 45px #1f4e791f;--radius-large:24px;--radius-medium:16px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#f8f5f1;background:var(--brand-cream);color:#1f2933;color:var(--text-color);font-family:inherit;margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.hero{background:linear-gradient(140deg,#1f4e79,#163b5c 60%,#10263d);color:#fff;overflow:hidden;padding:2.5rem clamp(1.5rem,5vw,6rem) 5rem;position:relative}.hero:before{aspect-ratio:1/1;background-image:none;background-image:var(--hero-logo,none);background-position:50%;background-repeat:no-repeat;background-size:contain;filter:grayscale(1) contrast(.35) brightness(2);inset:-18% -15% auto 35%;max-width:62rem;mix-blend-mode:screen;opacity:.18;transform:rotate(-8deg)}.hero:after,.hero:before{content:"";pointer-events:none;position:absolute;z-index:0}.hero:after{background:radial-gradient(circle at center,#f3a71247,#0000 65%);height:46rem;inset:28% -30% auto auto;width:46rem}.nav{display:flex;justify-content:space-between;margin-bottom:4rem;z-index:1}.brand,.nav{align-items:center;position:relative}.brand{background:linear-gradient(120deg,#f6d28b,#f3a712 55%,#ffe8bf);-webkit-background-clip:text;background-clip:text;color:#f3a712;color:var(--brand-gold);display:inline-flex;font-family:Playfair Display,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;gap:.75rem;letter-spacing:.08em;padding-bottom:.35rem;text-decoration:none;text-shadow:0 8px 28px #00000059;text-transform:uppercase}.brand:before{background:radial-gradient(circle at 35% 35%,#fff 0,#ffe3a0 45%,#f3a71233 100%);border-radius:50%;box-shadow:0 0 18px #f3a71299;content:"";height:14px;width:14px}.brand:after{background:linear-gradient(90deg,#ffe8bf00,#ffe8bfd9 45%,#f3a712e6);border-radius:999px;content:"";filter:drop-shadow(0 8px 12px rgba(0,0,0,.25));height:3px;inset:auto 0 -.6rem;position:absolute}@supports ((-webkit-background-clip:text) or (background-clip:text)){.brand{color:#0000}}.brand-text{display:inline-block}.nav-actions{align-items:center;display:flex;gap:1.5rem}.nav-phone{color:#ffffffeb;cursor:default;font-weight:800;letter-spacing:.02em}.cta{background:#f3a712;background:var(--brand-gold);border-radius:999px;box-shadow:0 15px 25px #0000002e;color:#10263d;font-weight:600;padding:.9rem 1.6rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.cta:hover{box-shadow:0 20px 35px #00000038;transform:translateY(-2px)}.hero-content{max-width:720px;position:relative;z-index:1}.tagline{color:#ffffffbf;font-size:.85rem;font-weight:600;letter-spacing:.28em;margin-bottom:1.5rem;text-transform:uppercase}.hero h1{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.2;margin:0 0 1.1rem}.hero-copy{color:#ffffffd9;font-size:clamp(1.05rem,2.1vw,1.25rem);line-height:1.7;margin-bottom:2.5rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.primary-button,.secondary-button{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;padding:.95rem 1.8rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-button{background:#f3a712;background:var(--brand-gold);box-shadow:0 18px 35px #f3a71252;color:#10263d}.primary-button:hover{box-shadow:0 22px 45px #f3a71261;transform:translateY(-2px)}.secondary-button{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff59;color:#fff}.secondary-button:hover{background:#ffffff47;transform:translateY(-2px)}main{gap:4.5rem}.quote-main,main{display:flex;flex:1 1;flex-direction:column;padding:4rem clamp(1.5rem,5vw,6rem) 5rem}.quote-main{background:#f8f5f1;background:var(--brand-cream)}.section{background:#fff;border-radius:24px;border-radius:var(--radius-large);box-shadow:0 20px 45px #1f4e791f;box-shadow:var(--card-shadow);padding:clamp(2rem,3.5vw,3.5rem);position:relative}.section.gallery{background:linear-gradient(160deg,#f8f5f1cc,#fff 65%);box-shadow:none}.portfolio-grid{grid-gap:1.8rem;display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.portfolio-grid.expanded{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.portfolio-card{background:#fff;border-radius:16px;border-radius:var(--radius-medium);box-shadow:0 20px 45px #1f4e791f;box-shadow:var(--card-shadow);display:flex;flex-direction:column;margin:0;overflow:hidden}.portfolio-card img{height:220px;object-fit:cover;width:100%}.portfolio-card figcaption{padding:1.4rem 1.6rem 1.8rem}.portfolio-card h3{font-size:1.25rem;margin:0 0 .75rem}.portfolio-card p{color:#4a5568;color:var(--muted-text);line-height:1.6;margin:0}.portfolio-actions{margin-top:2.5rem;text-align:center}.portfolio-link{align-items:center;background:#fff;border:1px solid #1f4e7940;border-radius:999px;box-shadow:0 15px 30px #1f4e791f;color:#1f4e79;color:var(--brand-blue);display:inline-flex;font-weight:600;gap:.5rem;padding:.85rem 1.6rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.portfolio-link:hover{border-color:#1f4e7966;box-shadow:0 22px 40px #1f4e792e;transform:translateY(-2px)}.portfolio-page main{flex:1 1}.portfolio-page .hero-actions{justify-content:flex-start}.portfolio-page .section.gallery{background:linear-gradient(145deg,#f8f5f1e6,#fff 60%)}.portfolio-page .portfolio-card img{height:260px}.section.accent{background:linear-gradient(145deg,#1f4e7914,#1f4e7905);box-shadow:none}.section-header{margin-bottom:2.5rem;max-width:640px}.section-header h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 1rem}.section-header p{color:#4a5568;color:var(--muted-text);font-size:1.05rem;line-height:1.7;margin:0}.card-grid{grid-gap:1.8rem;display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:#fff;border-radius:16px;border-radius:var(--radius-medium);box-shadow:0 20px 45px #1f4e791f;box-shadow:var(--card-shadow);color:inherit;display:block;padding:1.8rem;text-align:left;text-decoration:none}.card h3{font-size:1.3rem;margin-bottom:.9rem;margin-top:0}.card p{color:#4a5568;color:var(--muted-text);line-height:1.6;margin:0}.service-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.service-card:focus,.service-card:hover{box-shadow:0 18px 38px #1f4e792e;transform:translateY(-4px)}.service-card:focus{outline:none}.service-card:focus-visible{outline:3px solid #1f4e7966;outline-offset:3px}.services-note{color:#4a5568;color:var(--muted-text);font-weight:600;margin-top:2.5rem;text-align:center}.highlight{background:#ffffffe6;border:1px solid #1f4e791a;border-radius:16px;border-radius:var(--radius-medium);box-shadow:0 15px 35px #1f4e791a;padding:1.6rem}.highlight h3{font-size:1.2rem;margin:0 0 .8rem}.highlight p{color:#4a5568;color:var(--muted-text);line-height:1.6;margin:0}.card-grid.compact{gap:1.4rem}.testimonials{background:#0f253b;box-shadow:none;color:#f8f9fb}.testimonials .section-header p{color:#f8f9fbbf}.testimonial-grid{grid-gap:1.8rem;display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.testimonial{background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;border-radius:var(--radius-medium);margin:0;padding:1.8rem}.testimonial blockquote{font-size:1.05rem;line-height:1.7;margin:0 0 1.5rem}.testimonial figcaption{color:#ffffffd9;font-style:normal;font-weight:600;letter-spacing:.04em}.quote-hero{background:linear-gradient(140deg,#1f4e79,#163b5c 60%,#10263d);padding-bottom:4rem}.quote-page .hero-actions{margin-top:2rem}.quote-section{background:#fff;box-shadow:0 20px 45px #1f4e791f;box-shadow:var(--card-shadow)}.quote-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-field{display:flex;flex-direction:column;gap:.6rem}.form-field span{color:#4a5568;color:var(--muted-text);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-field input,.form-field textarea{background:#fdfdfd;border:1px solid #1f4e7940;border-radius:12px;color:#1f2933;color:var(--text-color);font-family:inherit;font-size:1rem;padding:.85rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus,.form-field textarea:focus{border-color:#1f4e7999;box-shadow:0 0 0 3px #1f4e7926;outline:none}.form-field textarea{min-height:160px;resize:vertical}.form-status{font-weight:600;margin:0}.form-status.success{color:#0c8751}.form-status.error{color:#c12b3a}.footer{background:#0b1828;color:#fff;margin-top:auto;padding:4rem clamp(1.5rem,5vw,6rem) 3rem}.footer-content{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:3rem}@media (max-width:1023px){.contact-info{justify-self:center;text-align:center}.contact-info,.contact-item{align-items:center}.contact-value{text-align:center}.footer .primary-button{align-self:center}}@media (max-width:640px){.footer-content{justify-items:center}.contact-label,.footer-content,.footer-content>div:first-child{text-align:center}}@media (min-width:1024px){.footer-content{column-gap:3.5rem;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.contact-info{justify-self:end;margin-left:auto;max-width:360px}.footer .primary-button{align-self:flex-end}}@media (max-width:1024px){.hero:before{inset:-6% -32% auto 26%}}.contact-info{gap:1.1rem}.contact-info,.contact-item{display:flex;flex-direction:column}.contact-item{gap:.35rem}.contact-label{color:#fff9;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}.contact-value{font-size:1.1rem;font-weight:600}.footer .primary-button{align-self:flex-start;letter-spacing:.12em;text-transform:uppercase}.footer-note{color:#ffffffa6;font-size:.9rem;margin:0;text-align:center}@media (max-width:768px){.hero:before{inset:10% -48% auto 18%;max-width:38rem;opacity:.14;transform:rotate(-6deg)}.hero:after{height:32rem;inset:55% -45% auto auto;width:32rem}.nav{flex-direction:column;gap:1.5rem;text-align:center}.brand{justify-content:center}.nav-actions{align-items:center;flex-direction:column;gap:1rem;width:100%}.cta,.nav-phone{width:auto}.cta{align-self:center}.hero{padding:2.5rem 1.5rem 4rem}.hero-actions{align-items:stretch;flex-direction:column}main{padding:3rem 1.25rem 4rem}.section{padding:2rem 1.5rem}}