*{box-sizing:border-box;margin:0;padding:0}html{font-feature-settings:"kern" 1;scroll-behavior:smooth;overflow-x:hidden;width:100%}:root{--paper: #f6f4ee;--paper-soft: #efece2;--surface: #ffffff;--ink: #171a1e;--ink-soft: #5a6067;--line: #e4dfd0;--line-strong: #d6cfba;--navy: #1b2733;--navy-soft: #223244;--navy-text: #b9c4cf;--amber: #c1812c;--amber-deep: #a06a20;--amber-soft: #e7b565;--white: #ffffff;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 12px rgba(23, 26, 30, .06);--shadow-md: 0 10px 30px rgba(23, 26, 30, .09);--shadow-lg: 0 24px 60px rgba(23, 26, 30, .16);--font-display: "Fraunces", "Georgia", serif;--font-body: "Inter", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;overflow-wrap:break-word;width:100%}a{color:inherit}.grid-paper{background-image:radial-gradient(var(--line-strong) 1px,transparent 1px);background-size:26px 26px}.annot{display:inline-flex;align-items:center;gap:.5rem;color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.annot:before{content:"";background:var(--amber);width:22px;height:2px;border-radius:2px}.skip-link{position:absolute;top:-999px;left:var(--spacing-sm);z-index:100;background:var(--ink);border-radius:var(--radius-sm);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none}.skip-link:focus{top:var(--spacing-sm)}.header{position:sticky;top:0;z-index:50;background:#f6f4eed1;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid transparent;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.header.scrolled{border-color:var(--line);box-shadow:var(--shadow-sm)}.navbar{display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:var(--spacing-md) var(--spacing-xl);width:100%;max-width:1440px}.navbar-brand{flex-shrink:0;display:flex;align-items:baseline;gap:var(--spacing-sm)}.navbar-brand-logo{color:var(--ink);font-family:var(--font-display);font-style:italic;font-size:1.5rem;font-weight:600}.navbar-brand-tagline{color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.nav-menu{display:flex;align-items:center;gap:var(--spacing-xl);list-style:none}.nav-menu-link{position:relative;background:none;border:none;font-family:var(--font-body);font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;padding:.3rem 0;transition:color var(--transition-base)}.nav-menu-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--amber);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.nav-menu-link:hover{color:var(--ink)}.nav-menu-link:hover:after{transform:scaleX(1)}.nav-menu-link:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:4px}.nav-toggle{display:none;align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);padding:.55rem .9rem;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:500}.hero-cta,.form-submit,.modal-cta{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--ink);border:none;border-radius:999px;color:var(--white);font-family:var(--font-body);font-size:1rem;font-weight:600;padding:1rem var(--spacing-xl);text-decoration:none;cursor:pointer;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.hero-cta:hover,.form-submit:hover,.modal-cta:hover{background:var(--amber-deep);box-shadow:var(--shadow-md);transform:translateY(-2px)}.hero-cta:active,.form-submit:active,.modal-cta:active{transform:translateY(0) scale(.98)}.hero-cta:focus-visible,.form-submit:focus-visible,.modal-cta:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100vh;margin:0;background:#171a1e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-md);overflow-y:auto;animation:fadeIn .25s ease-in-out}@supports (min-height: 100svh){.modal-overlay{min-height:100svh}}.modal-content{position:relative;background:var(--surface);border:none;border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90dvh;margin:auto;overflow-y:auto;padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-content:before{content:"";position:absolute;top:0;left:var(--spacing-2xl);right:var(--spacing-2xl);height:3px;background:linear-gradient(90deg,var(--amber),var(--amber-soft));border-radius:0 0 4px 4px}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:var(--paper-soft);border:1px solid transparent;border-radius:50%;width:36px;height:36px;font-size:1.3rem;line-height:1;cursor:pointer;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base)}.modal-close:hover{background:var(--ink);color:var(--white);transform:rotate(90deg)}.modal-close:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.modal-title{position:relative;color:var(--ink);font-family:var(--font-display);font-style:italic;font-size:1.7rem;font-weight:600;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);padding-right:var(--spacing-xl);border-bottom:1px solid var(--line)}.modal-text{font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-lg);text-align:justify}.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:var(--spacing-2xl);margin:0 auto;background:var(--paper);padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-2xl);min-height:620px;max-width:1440px;overflow:hidden}.hero-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.hero-eyebrow{color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.hero-title{color:var(--ink);font-family:var(--font-display);font-size:3.6rem;font-weight:600;line-height:1.05;letter-spacing:-.01em}.hero-title em{color:var(--amber-deep);font-style:italic}.hero-subtitle{font-size:1.18rem;line-height:1.7;text-align:justify}.hero-meta{display:flex;gap:var(--spacing-xl);margin-top:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:1px solid var(--line);width:100%}.hero-meta-item{display:flex;flex-direction:column;gap:.25rem}.hero-meta-number{color:var(--ink);font-family:var(--font-display);font-size:1.7rem;font-weight:600}.hero-meta-label{font-family:var(--font-mono);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.hero-plan{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);aspect-ratio:4 / 5;box-shadow:var(--shadow-lg)}.hero-plan-image{width:100%;height:100%;object-fit:cover;display:block}.hero-plan-tag{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);background:#171a1eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;color:var(--white);font-family:var(--font-mono);font-size:1rem;letter-spacing:.05em;padding:.5rem .9rem;text-transform:uppercase}.corner-marks{position:relative}.corner-marks:before,.corner-marks:after{content:"";position:absolute;width:22px;height:22px;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.corner-marks:before{top:14px;left:14px;border-top:2px solid var(--amber-soft);border-left:2px solid var(--amber-soft);border-radius:4px 0 0}.corner-marks:after{bottom:14px;right:14px;border-bottom:2px solid var(--amber-soft);border-right:2px solid var(--amber-soft);border-radius:0 0 4px}.corner-marks:hover:before,.corner-marks:hover:after{opacity:1}.section-container{margin:0 auto;padding:0 var(--spacing-xl);max-width:1440px}.section-divider{position:relative;height:1px;background:var(--line);max-width:1440px;margin:0 auto}.section-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.section-header-title{color:var(--ink);font-family:var(--font-display);font-size:2.4rem;font-weight:600;letter-spacing:-.01em}.section-header-text{font-size:1.05rem;max-width:60ch}.services{background:var(--paper);padding:var(--spacing-2xl) 0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--spacing-lg)}.service-card{position:relative;background:var(--surface);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.service-index{color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem;letter-spacing:.1em}.service-card-title{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin:var(--spacing-sm) 0 var(--spacing-md)}.service-description{line-height:1.7;margin-bottom:var(--spacing-lg);text-align:justify}.service-features{list-style:none;border-top:1px solid var(--line);padding-top:var(--spacing-md);padding-left:0}.service-features-item{position:relative;color:var(--ink);font-family:var(--font-mono);font-size:1rem;margin-bottom:var(--spacing-sm);padding-left:var(--spacing-md)}.service-features-item:before{content:"";position:absolute;left:0;top:.5em;width:8px;height:2px;background:var(--amber);border-radius:2px}.portfolio{background:var(--navy);padding:var(--spacing-2xl) 0}.portfolio .section-header-title,.portfolio .hero-eyebrow{color:var(--paper)}.portfolio .hero-eyebrow{color:var(--amber-soft)}.portfolio .section-header-text{color:var(--navy-text);text-wrap:pretty}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,320px));justify-content:center;gap:var(--spacing-xl)}.project-card{appearance:none;-webkit-appearance:none;border:none;border-radius:var(--radius-md);background:var(--surface);overflow:hidden;text-align:left;cursor:pointer;display:block;padding:0;font:inherit;transition:box-shadow var(--transition-base),transform var(--transition-base)}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.project-card:focus-visible{outline:2px solid var(--amber-soft);outline-offset:2px}.project-image-wrapper{position:relative;margin:0;overflow:hidden;height:240px}.project-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--transition-base)}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;margin:0;background:linear-gradient(0deg,rgba(23,26,30,.65),transparent 60%);opacity:0;padding:var(--spacing-md);transition:opacity var(--transition-base)}.project-card:hover .project-overlay{opacity:1}.project-category{background:var(--amber);border-radius:999px;color:var(--white);font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.05em;padding:.35rem .7rem;text-transform:uppercase}.project-info{padding:var(--spacing-lg)}.project-title{color:var(--ink);font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:var(--spacing-xs)}.project-location{font-size:1rem;margin-bottom:var(--spacing-xs)}.project-year{display:block;color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem}.project-modal-overlay{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100vh;margin:0;background:#171a1ead;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-md);overflow-y:auto;animation:fadeIn .25s ease-in-out}@supports (min-height: 100svh){.project-modal-overlay{min-height:100svh}}.project-modal{display:grid;grid-template-columns:1fr 1fr;position:relative;background:var(--surface);border:none;border-radius:var(--radius-lg);overflow:hidden;width:100%;max-width:780px;box-shadow:var(--shadow-lg);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.project-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:1;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;width:36px;height:36px;color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.project-modal-close:hover{background:var(--ink);color:var(--white)}.project-modal-image{display:block;width:100%;height:100%;object-fit:cover;min-height:400px}.project-modal-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl)}.project-modal-category{background:var(--amber);color:var(--white);border-radius:999px;font-family:var(--font-mono);font-size:1rem;letter-spacing:.05em;padding:.35rem .7rem;width:fit-content;text-transform:uppercase}.project-modal-title{color:var(--ink);font-family:var(--font-display);font-size:1.6rem;font-weight:600;margin-top:var(--spacing-md)}.project-modal-location{font-size:1rem}.project-modal-year{color:var(--amber-deep);font-family:var(--font-mono);font-size:1rem}.project-modal-description{border-top:1px solid var(--line);font-size:1rem;line-height:1.8;padding-top:var(--spacing-md)}.about{background:var(--surface);padding:var(--spacing-2xl) 0}.about-container{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:var(--spacing-2xl);margin:0 auto;padding:0 var(--spacing-xl);max-width:1440px}.about-image-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.about-image{width:100%;height:auto;display:block}.about-content{order:2}.about-title{color:var(--ink);font-family:var(--font-display);font-size:2.1rem;font-weight:600;margin-bottom:var(--spacing-lg);letter-spacing:-.01em}.about-text{font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-lg);text-align:justify}.about-text:last-of-type{margin-bottom:var(--spacing-xl)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-top:var(--spacing-xl);border-top:1px solid var(--line);padding-top:var(--spacing-lg)}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-number{color:var(--amber-deep);font-family:var(--font-display);font-size:2.3rem;font-weight:600}.stat-label{font-family:var(--font-mono);font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.testimonials{background:var(--paper);padding:var(--spacing-2xl) 0}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.testimonial-card{background:var(--surface);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.testimonial-rating{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.star{color:var(--amber);font-size:1.1rem}.testimonial-text{color:var(--ink);font-size:1.02rem;line-height:1.8;margin-bottom:var(--spacing-lg);text-align:justify}.testimonial-author{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:var(--spacing-md)}.testimonial-author strong{color:var(--ink);font-weight:600;margin-bottom:var(--spacing-xs)}.testimonial-role{font-family:var(--font-mono);font-size:1rem}.contact{background:var(--navy);padding:var(--spacing-2xl) 0}.contact .section-header-title,.contact .hero-eyebrow{color:var(--paper)}.contact .hero-eyebrow{color:var(--amber-soft)}.contact .section-header-text{color:var(--navy-text);text-align:justify}.contact-container{display:grid;grid-template-columns:1fr 1fr;align-items:start;margin:0 auto;padding:0 var(--spacing-xl);max-width:1440px}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{color:var(--ink);font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:var(--paper-soft);border:1.5px solid transparent;border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-body);font-size:1rem;padding:var(--spacing-md);transition:border-color var(--transition-base),background var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;background:var(--surface);border-color:var(--amber);box-shadow:0 0 0 4px #c1812c24}.form-group textarea{min-height:140px;resize:vertical}.form-group select{appearance:none;background-image:url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"%3E%3Cpath fill="%23171a1e" d="M10 15L5 10h10z"/%3E%3C/svg%3E');background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:18px;padding-right:40px}.form-submit{align-self:flex-start;width:100%;margin-top:var(--spacing-sm)}.contact-info{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);color:var(--paper)}.contact-item h4{color:var(--amber-soft);font-family:var(--font-mono);font-size:1rem;letter-spacing:.05em;font-weight:600;margin-bottom:var(--spacing-sm);text-transform:uppercase}.contact-item-address{color:var(--navy-text);font-size:1rem;font-style:normal;line-height:1.7}.contact-item-link{color:var(--paper);font-size:1rem;text-decoration:none;border-bottom:1px solid rgba(246,244,238,.35);transition:border-color var(--transition-base)}.contact-item-link:hover{border-color:var(--amber-soft)}.contact-item-link:focus-visible{outline:2px solid var(--amber-soft);border-radius:2px;padding:2px 4px}.quote-modal-btn{margin-top:var(--spacing-md);padding:.75rem 1.75rem;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:1rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}.quote-modal-btn:hover,.quote-modal-btn:focus-visible{background-color:var(--ink);color:var(--white)}.quote-modal-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.footer{background:var(--ink);color:var(--paper);padding:var(--spacing-xl);text-align:center}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);margin:0 auto;max-width:1440px}.footer-content p{font-family:var(--font-mono);font-size:1rem;opacity:.55}.footer-nav{display:flex;gap:var(--spacing-xl);justify-content:center}.footer-nav-link{color:var(--paper);font-size:1rem;text-decoration:none;opacity:.85;transition:opacity var(--transition-base)}.footer-nav-link:hover{opacity:1}.footer-nav-link:focus-visible{outline:2px solid var(--amber-soft);border-radius:2px;padding:2px 4px}button.footer-nav-link{background:none;border:none;font:inherit;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}@media print{.header,.hero-cta,.contact-form,.modal-overlay,.project-modal-overlay,.nav-toggle{display:none}body{background:#fff;color:#000}}@media(max-width:767px){.nav-menu{position:fixed;top:0;right:0;z-index:60;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);height:100vh;width:260px;padding:var(--spacing-2xl) var(--spacing-xl);transform:translate(100%);transition:transform var(--transition-base)}.nav-menu.open{transform:translate(0)}.nav-toggle{display:flex}.navbar{padding:var(--spacing-md)}.hero{grid-template-columns:1fr;gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-md);min-height:auto}.hero-plan{order:-1;width:100%;max-width:100%}.hero-title{font-size:2.1rem}.hero-meta{flex-wrap:wrap;gap:var(--spacing-md)}.hero-meta-item{min-width:0}.section-header-title{font-size:1.9rem}.services-grid,.testimonials-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.about-container{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-content{order:2}.about-stats{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.stat{min-width:0}.stat-number{font-size:1.7rem}.stat-label{font-size:1rem;letter-spacing:.02em}.project-modal{grid-template-columns:1fr;max-height:90vh;overflow-y:auto}.project-modal-image{min-height:260px}.contact-container,.contact-info{grid-template-columns:1fr;gap:var(--spacing-xl)}.contact-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(246,244,238,.12)}.contact-item:last-child{padding-bottom:0;border-bottom:none}.modal-overlay{padding:var(--spacing-sm)}.modal-content{padding:var(--spacing-xl);max-height:85vh}.footer-nav{flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-lg)}}@media(min-width:768px)and (max-width:1023px){.hero{grid-template-columns:1fr;gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-lg);min-height:auto}.hero-plan{order:-1;width:100%;max-width:100%;margin:0 auto}.hero-title{font-size:2.7rem}.about-container{grid-template-columns:1fr}.about-content{order:2}.contact-container{grid-template-columns:1fr}}
