:root{--primary: #2b5478;--primary-dark: #21405c;--accent: #c8a05a;--dark: #2a2a2a;--text: #555555;--heading: #333333;--cream: #f5f2ec;--light: #f7f7f7;--white: #ffffff;--border: #e6e6e6;--max: 1100px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Quicksand,sans-serif;color:var(--text);font-size:15px;line-height:1.8;background:var(--white);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;color:var(--heading);font-weight:600;line-height:1.3;margin:0 0 .5em}p{margin:0 0 1.2em}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}img{max-width:100%;display:block}.container{max-width:var(--max);margin:0 auto;padding:0 20px;width:100%}.section{padding:75px 0}.section--cream{background:var(--cream)}.section--light{background:var(--light)}.heading-accent{text-align:center;margin-bottom:45px}.heading-accent h2{font-size:30px;margin-bottom:16px}.heading-accent:after,.accent-line{content:"";display:block;width:60px;height:2px;background:var(--accent);margin:14px auto 0}.btn{display:inline-block;padding:14px 30px;font-family:Quicksand,sans-serif;font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;border-radius:2px;cursor:pointer;border:none;transition:all .2s ease}.btn--dark{background:var(--dark);color:#fff}.btn--dark:hover{background:#000;color:#fff}.btn--hero{background:#fff;color:var(--dark);font-family:Playfair Display,serif;font-size:17px;font-weight:600;letter-spacing:.6px;text-transform:none;padding:16px 38px;box-shadow:0 6px 20px #0000002e}.btn--hero:hover{background:var(--dark);color:#fff}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark);color:#fff}.btn--outline{background:transparent;color:#fff;border:2px solid #fff}.btn--outline:hover{background:#fff;color:var(--dark)}.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:18px 20px}.site-header__logo img{height:38px;width:auto}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{position:relative;font-family:Quicksand,sans-serif;font-size:14px;font-weight:500;color:var(--heading);letter-spacing:.3px;transition:color .2s ease,font-weight .2s ease}.main-nav a:hover,.main-nav a.active{color:#000;font-weight:700}.nav-toggle{display:none;background:none;border:none;color:var(--heading);cursor:pointer;padding:4px}.hero{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:#00000026}.hero--home{min-height:calc(96vh - 75px);align-items:flex-end;padding-bottom:70px;background-position:center 35%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero__inner{position:relative;z-index:1;padding:60px 20px}.hero__tagline{font-family:Dancing Script,cursive;font-size:58px;font-weight:600;color:#fff;margin:0 0 28px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.4)}.page-banner{position:relative;background:var(--primary);background-size:cover;background-position:center;color:#fff;text-align:center;padding:70px 20px}.page-banner:before{content:"";position:absolute;inset:0;background:#21405cb3}.page-banner h1{position:relative;z-index:1;color:#fff;font-size:38px;margin:0}.page-banner__crumb{position:relative;z-index:1;margin-top:10px;font-size:13px;color:#ffffffd9}.page-banner__crumb a{color:#ffffffd9}.intro{text-align:center;max-width:720px;margin:0 auto}.intro h2{font-size:24px;font-weight:400;color:var(--heading);line-height:1.5}.intro__sub{font-family:Quicksand,sans-serif;font-style:normal;font-weight:500;font-size:18px;letter-spacing:.3px;line-height:1.7;color:var(--text);margin-top:18px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.value-prop{text-align:center}.value-prop__icon{color:var(--accent);margin-bottom:16px}.value-prop h3{font-size:18px;margin-bottom:10px}.value-prop p{font-size:13px;line-height:1.7}.center{text-align:center}.mt-40{margin-top:40px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px}.project-card{text-align:center}.project-card__img{overflow:hidden;border-radius:2px;aspect-ratio:4 / 3}.project-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-card__img img{transform:scale(1.05)}.project-card__title{margin-top:14px;font-family:Playfair Display,serif;font-size:15px;color:var(--heading)}.testimonial{max-width:760px;margin:0 auto;text-align:center}.testimonial__quote{font-style:italic;color:#777;font-size:15px;line-height:1.9}.testimonial__author{font-family:Quicksand,sans-serif;color:var(--primary);font-weight:500;margin-top:10px}.testimonial__dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.testimonial__dot{width:10px;height:10px;border-radius:50%;border:1px solid #bbb;background:transparent;cursor:pointer;padding:0}.testimonial__dot.active{background:var(--primary);border-color:var(--primary)}.cta-band{position:relative;background-size:cover;background-position:center;text-align:center;padding:55px 20px;color:#fff}.cta-band:before{content:"";position:absolute;inset:0;background:#21405c8c}.cta-band__inner{position:relative;z-index:1}.cta-band__title{font-family:Playfair Display,serif;color:var(--accent);font-size:20px;margin-bottom:8px}.cta-band__phone{font-family:Quicksand,sans-serif;font-size:34px;font-weight:700;color:#fff}.cta-band__phone a{color:#fff}.cta-band__phone .num{color:var(--accent);display:inline-flex;align-items:center;gap:10px}.num__icon{flex-shrink:0}.site-footer{background:var(--dark);color:#aaa;padding:22px 20px}.site-footer__inner{max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:36px}.footer-nav a{color:#fff;font-family:Quicksand,sans-serif;font-size:14px}.footer-nav a:hover{color:var(--accent)}.site-footer__bottom-inner{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px}.footer-social{display:flex;gap:10px}.footer-social a{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border-radius:3px}.footer-social a:hover{background:var(--accent);color:#fff}.about-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:stretch}.about-intro__photo{width:100%;height:100%;object-fit:cover;border-radius:4px}.about-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:48px 50px;text-align:center}.about-card .accent-line{display:inline-block}.about-card h2{font-size:26px}.content-cols{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.content-cols img{border-radius:3px;width:100%}.content-cols h2{font-size:26px}.founder{text-align:center;max-width:940px;margin:0 auto}.founder img{border-radius:4px;margin-bottom:20px}.founder__name{font-family:Playfair Display,serif;font-size:20px;color:var(--heading);margin-bottom:2px}.founder__role{color:var(--accent);font-family:Quicksand,sans-serif;font-size:14px}.founder__bio{margin-top:20px;text-align:left}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:40px}.value-card{background:#fff;border:1px solid var(--border);padding:28px;border-radius:3px}.value-card h3{font-size:17px;color:var(--primary);margin-bottom:10px}.value-card p{font-size:13px;margin:0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.process-step{text-align:center;padding:30px 20px;background:#fff;border:1px solid var(--border);border-radius:3px}.process-step__icon{width:64px;height:64px;border-radius:50%;background:var(--primary);border:2px solid var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.process-step h3{font-size:18px;margin-bottom:10px}.process-step p{font-size:13px;margin:0}.services-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 30px;margin-top:40px}.services-list li{list-style:none;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:3px;font-family:Quicksand,sans-serif;font-size:14px;color:var(--heading);display:flex;align-items:center;gap:10px}.services-list li svg{color:var(--accent);flex-shrink:0}ul.plain{padding-left:0;margin:0}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.blog-card{background:#fff;border:1px solid var(--border);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.blog-card__img{aspect-ratio:16 / 10;overflow:hidden}.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.blog-card:hover .blog-card__img img{transform:scale(1.05)}.blog-card__body{padding:22px;flex:1;display:flex;flex-direction:column}.blog-card__meta{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.blog-card__title{font-size:18px;margin-bottom:12px}.blog-card__title a{color:var(--heading)}.blog-card__title a:hover{color:var(--primary)}.blog-card__excerpt{font-size:13px;flex:1}.blog-card__more{margin-top:14px;font-family:Quicksand,sans-serif;font-size:13px;font-weight:500}.article{max-width:800px;margin:0 auto}.article__meta{color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.5px;margin-bottom:14px}.article__hero{border-radius:3px;margin-bottom:30px;width:100%}.article h2{font-size:23px;margin-top:32px}.article p{font-size:15px;line-height:1.9}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.contact-info h3{font-size:20px;margin-bottom:16px}.contact-info__item{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start}.contact-info__item svg{color:var(--accent);flex-shrink:0;margin-top:3px}.contact-picker{margin-bottom:50px}.contact-picker__lead{text-align:center;font-family:Playfair Display,serif;font-size:22px;color:var(--heading);margin-bottom:24px}.contact-card-links{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:820px;margin:0 auto}.contact-pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 26px;background:var(--primary);color:#fff;border:2px solid var(--primary);border-radius:6px;text-align:center;transition:transform .18s ease,box-shadow .18s ease}.contact-pick svg{color:#fff;margin-bottom:8px}.contact-pick:hover{transform:translateY(-4px);box-shadow:0 14px 30px #21405c40}.contact-pick h3{color:#fff;font-size:22px;margin-bottom:4px}.contact-pick p{font-size:14px;color:#ffffffd9;margin:0}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-form label{font-family:Quicksand,sans-serif;font-size:13px;color:var(--heading);margin-bottom:6px;display:block}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:3px;font-family:Quicksand,sans-serif;font-size:14px;color:var(--heading);background:#fff}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary)}.contact-form textarea{resize:vertical;min-height:130px}.form-note{font-size:12px;color:#999}.lead{font-size:17px;color:var(--text);line-height:1.8}.not-found{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}@media(max-width:900px){.value-grid,.project-grid,.process-grid,.services-list,.blog-grid{grid-template-columns:repeat(2,1fr)}.content-cols,.about-intro,.contact-grid{grid-template-columns:1fr;gap:30px}}@media(max-width:640px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid var(--border);padding:8px 0}.main-nav.open{display:flex}.main-nav a{padding:12px 24px;width:100%}.site-header__inner{position:relative}.hero__tagline{font-size:40px}.value-grid,.project-grid,.process-grid,.services-list,.blog-grid,.values-grid,.contact-card-links{grid-template-columns:1fr}.page-banner h1{font-size:28px}.section{padding:50px 0}.footer-nav{gap:18px}.site-footer__bottom-inner{flex-direction:column;text-align:center}}
