:root{--ink:#1a1a1a;--ink-soft:#3a3a3a;--ink-muted:#6b6560;--paper:#fff;--cream:#f6f1ea;--cream-deep:#efe7dc;--red:#a5121d;--red-dark:#8a0f19;--gold:#b07a1e;--gold-soft:rgba(176,122,30,.14);--rule:#e6dfd5;--primary-color:var(--red);--primary-dark:var(--red-dark);--secondary-color:var(--ink);--text-color:var(--ink);--text-light:var(--ink-muted);--bg-light:var(--cream);--bg-white:var(--paper);--border-color:var(--rule);--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 2px 4px rgba(26,26,26,.06);--shadow-md:0 6px 16px rgba(26,26,26,.1);--shadow-lg:0 18px 40px rgba(26,26,26,.16);--transition:all 0.25s ease;--focus-ring:0 0 0 3px rgba(165,18,29,.35)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:var(--ink);font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.15}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}.eyebrow{align-items:center;color:var(--gold);display:inline-flex;font-family:var(--font-body);font-size:.78rem;font-weight:600;gap:.6rem;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{background:var(--gold);content:"";height:1px;width:28px}.container{margin:0 auto;max-width:1200px;padding:0 20px}.btn{align-items:center;border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.01em;line-height:1;min-height:44px;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:var(--transition)}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.btn-large{font-size:1.05rem;min-height:52px;padding:1rem 2rem}.btn-sm{font-size:.88rem;min-height:40px;padding:0 1.1rem}.section-title{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:1rem;text-align:center}.section-subtitle{color:var(--ink-muted);font-size:1.1rem;margin:0 auto 3rem;max-width:58ch;text-align:center}.trust-signals{background:var(--paper);border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);padding:2.25rem 0}.trust-title{color:var(--ink-muted);display:flex;font-family:var(--font-body);font-size:.78rem;font-weight:600;justify-content:center;letter-spacing:.14em;margin-bottom:1.75rem;text-transform:uppercase}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2rem;align-items:center;gap:2rem}.trust-item{align-items:center;display:flex;flex-direction:column;gap:.75rem;text-align:center}.trust-item img{filter:grayscale(100%);max-height:48px;opacity:.75;transition:var(--transition);width:auto}.trust-item:hover img{filter:none;opacity:1}.trust-item p{color:var(--ink-muted);font-size:.85rem;font-weight:500;margin:0}.contact{background:var(--bg-light);padding:5rem 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;align-items:start;gap:4rem}.contact .contact-info{padding-right:0}.contact .contact-info h2{color:var(--text-color);font-size:2.25rem;line-height:1.2;margin-bottom:.75rem}.contact .contact-info>p{color:var(--text-light);font-size:1.05rem;line-height:1.7;margin:0;max-width:44ch}.contact .contact-details{display:grid;margin-top:2rem;grid-gap:.75rem;gap:.75rem}.contact .contact-item{align-items:flex-start;background:var(--bg-white);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:1rem;margin:0;padding:1.25rem;transition:var(--transition)}.contact .contact-item:hover{border-color:rgba(165,18,29,.35);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.contact .contact-item svg{background:rgba(165,18,29,.08);border-radius:10px;box-sizing:border-box;color:var(--primary-color);flex:0 0 auto;height:40px;margin:0;padding:10px;width:40px}.contact .contact-item>div{flex:1;min-width:0}.contact .contact-item strong{color:var(--text-color);display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.contact .contact-item p{color:var(--text-light);line-height:1.55;margin:0}.contact .contact-item a{align-items:center;color:var(--primary-color);display:inline-flex;font-weight:600;min-height:44px;text-decoration:none}.contact .contact-item a:hover{text-decoration:underline}.contact-form{background:var(--bg-white);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-sm);padding:2rem}.contact-form .btn-sm{font-size:.88rem;min-height:40px;padding:0 1.1rem}.btn-full{width:100%}.form-group{margin-bottom:1.5rem;position:relative}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;padding:1rem;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none}.form-group label{color:var(--text-light);left:1rem;pointer-events:none;position:absolute;top:1rem;transition:var(--transition)}.form-group input:not(:-moz-placeholder)+label,.form-group textarea:not(:-moz-placeholder)+label{background:#fff;color:var(--primary-color);font-size:.875rem;left:.75rem;padding:0 .25rem;top:-.5rem}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{background:#fff;color:var(--primary-color);font-size:.875rem;left:.75rem;padding:0 .25rem;top:-.5rem}.form-message{border-radius:8px;display:none;margin-top:1rem;padding:1rem}.form-message.success{background:#d4edda;color:#155724;display:block}.form-message.error{background:#f8d7da;color:#721c24;display:block}.footer{background:var(--secondary-color);color:hsla(0,0%,100%,.75);padding:4rem 0 1.5rem}.footer-content{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;grid-gap:2.5rem;gap:2.5rem;margin-bottom:2.5rem}.footer-logo img{background:#fff;border-radius:10px;box-sizing:content-box;display:block;height:auto;margin-bottom:1.25rem;padding:.75rem 1rem;width:180px}.footer-logo p{line-height:1.7;margin:0;max-width:34ch}.footer h4{color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.25rem;text-transform:uppercase}.footer ul{list-style:none;margin:0;padding:0}.footer ul li+li{margin-top:.65rem}.footer a{color:hsla(0,0%,100%,.75);text-decoration:none;transition:var(--transition)}.footer ul a,.footer-contact a{align-items:center;display:inline-flex;min-height:44px}.footer ul li+li{margin-top:0}.footer a:hover{color:#fff}.footer-links a:hover,.footer-services a:hover{padding-left:4px}.footer-contact p{line-height:1.6;margin:0 0 .75rem}.footer-contact p:last-child{margin-bottom:0}.footer-bottom{align-items:center;border-top:1px solid hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.55);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem 1.5rem;justify-content:space-between;padding-top:1.5rem}.footer-bottom p{margin:0}@media (max-width:768px){.contact-grid{gap:2rem;grid-template-columns:1fr}.contact .contact-info h2{font-size:1.75rem}.contact .contact-details{margin-top:1.5rem}.contact .contact-form{padding:1.5rem}.footer-content{gap:2rem;grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}.footer-bottom{justify-content:center;text-align:center}}@media (max-width:480px){.footer-content{grid-template-columns:1fr}}.header{background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;transition:box-shadow .25s ease;z-index:1000}.header.scrolled{box-shadow:var(--shadow-md)}.header.scrolled .header-main{padding:.6rem 0}.header.scrolled .logo img{height:44px}.header-top{background:var(--cream);border-bottom:1px solid var(--rule);font-size:.8rem}.header-top-content{align-items:center;display:flex;gap:1.25rem;justify-content:space-between;min-height:40px}.header-contact-info{align-items:center;display:flex;gap:0}.header-contact-item{align-items:center;color:var(--ink-muted);display:inline-flex;font-weight:500;gap:.45rem}.header-contact-item svg{color:var(--gold);flex:0 0 auto;height:13px;width:13px}.header-contact-item+.header-contact-item:before{color:var(--gold);content:"·";margin:0 .9rem}.header-badges{align-items:center;display:flex;gap:.5rem}.header-badge{align-items:center;border:1px solid var(--gold);border-radius:999px;color:var(--gold);display:inline-flex;font-size:.66rem;font-weight:700;height:24px;letter-spacing:.08em;padding:0 .65rem;text-transform:uppercase}.header-main{padding:.9rem 0;transition:padding .25s ease}.nav{align-items:center;display:flex;gap:1.5rem;justify-content:space-between}.logo{display:inline-flex;flex:0 0 auto}.logo img{height:52px;transition:height .25s ease;width:auto}.nav-center{display:flex;flex:1;justify-content:center}.nav-menu{align-items:center;display:flex;gap:2.25rem;list-style:none;margin:0;padding:0}.nav-link{align-items:center;color:var(--ink);display:inline-flex;font-size:.95rem;font-weight:500;gap:.4rem;min-height:44px;padding:0 .15rem;position:relative;text-decoration:none;transition:color .2s ease}.nav-link:after{background:var(--gold);bottom:6px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-link.active,.nav-link:hover{color:var(--red)}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.nav-link svg{height:12px;transition:transform .25s ease;width:12px}.has-dropdown:focus-within .nav-link svg,.has-dropdown:hover .nav-link svg{transform:rotate(180deg)}.nav-actions{align-items:center;display:flex;gap:.75rem;position:relative;z-index:960}.nav-toggle{background:none;border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;display:none;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:0 10px;width:44px}.nav-toggle span{background:var(--ink);border-radius:1px;display:block;height:2px;transition:var(--transition)}.nav-toggle.active span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.has-dropdown{position:relative}.mega-dropdown{background:var(--paper);border:1px solid var(--rule);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:2px solid var(--gold);box-shadow:var(--shadow-lg);left:50%;min-width:780px;opacity:0;padding:2rem 2.25rem;position:absolute;top:calc(100% - 4px);transform:translateX(-50%) translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;visibility:hidden;z-index:1000}.has-dropdown:focus-within .mega-dropdown,.has-dropdown:hover .mega-dropdown{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.dropdown-content{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2rem;gap:2rem}.dropdown-section h4{border-bottom:1px solid var(--rule);color:var(--gold);font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:.85rem;padding-bottom:.6rem;text-transform:uppercase}.dropdown-section a{color:var(--ink-soft);display:block;font-size:.92rem;padding:.4rem 0;text-decoration:none;transition:color .2s ease,padding-left .2s ease}.dropdown-section a:hover{color:var(--red);padding-left:.35rem}.nav-overlay{background:rgba(26,26,26,.45);inset:0;opacity:0;position:fixed;transition:var(--transition);visibility:hidden;z-index:900}.nav-overlay.active{opacity:1;visibility:visible}@media (max-width:992px){.header-top{display:none}.nav-toggle{display:flex}.nav-center{background:var(--paper);border-left:1px solid var(--rule);box-shadow:var(--shadow-lg);height:100vh;height:100dvh;justify-content:flex-start;overflow-y:auto;padding:5.5rem 1.75rem 2rem;position:fixed;right:-100%;top:0;transition:right .3s ease;width:min(85vw,400px);z-index:950}.nav-center.active{right:0}.nav-menu{align-items:stretch;flex-direction:column;gap:0;width:100%}.nav-link{border-bottom:1px solid var(--rule);font-family:var(--font-display);font-size:1.3rem;font-weight:600;min-height:52px;padding:0}.nav-link:after{display:none}.mega-dropdown{background:transparent;border:none;border-radius:0;box-shadow:none;min-width:0;opacity:1;padding:.75rem 0 1rem;position:static;transform:none;visibility:visible}.dropdown-content{gap:1.25rem;grid-template-columns:1fr 1fr}.nav-actions .btn{font-size:.85rem;min-height:40px;padding:0 .9rem}.logo img{height:40px}.header.scrolled .logo img{height:36px}.nav-actions{gap:.5rem}}@media (max-width:480px){.dropdown-content{grid-template-columns:1fr}}.hero{background:var(--cream);isolation:isolate;overflow:hidden;padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3rem,7vw,5.5rem);position:relative}.hero:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;opacity:.045;pointer-events:none;position:absolute;z-index:-1}.hero .container{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(2.5rem,6vw,5rem);align-items:center;gap:clamp(2.5rem,6vw,5rem)}.hero .hero-badge{align-items:center;color:var(--gold);display:inline-flex;font-size:.78rem;font-weight:600;gap:.6rem;letter-spacing:.14em;margin-bottom:1.5rem;text-transform:uppercase}.hero .hero-badge:before{background:var(--gold);content:"";height:1px;width:28px}.hero .hero-title{font-size:clamp(2.6rem,5.2vw,4.25rem);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin-bottom:1.5rem;max-width:14ch}.hero .hero-title .highlight{color:var(--red);font-style:italic;font-weight:600}.hero .hero-subtitle{color:var(--ink-soft);font-size:1.15rem;line-height:1.7;margin-bottom:1.75rem;max-width:50ch}.hero .hero-features{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-bottom:2.25rem}.hero .hero-feature{align-items:center;color:var(--ink);display:inline-flex;font-size:.95rem;font-weight:500;gap:.6rem}.hero .hero-feature-icon{align-items:center;background:var(--gold-soft);border-radius:50%;color:var(--gold);display:inline-flex;height:22px;justify-content:center;width:22px}.hero .hero-feature-icon svg{height:12px;width:12px}.hero .hero-cta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 1.75rem;margin-bottom:2.25rem}.hero .hero-phone{align-items:center;border-bottom:1.5px solid var(--gold);color:var(--ink);display:inline-flex;font-size:1.05rem;font-weight:600;gap:.5rem;min-height:44px;text-decoration:none;transition:var(--transition)}.hero .hero-phone:hover{border-bottom-color:var(--red);color:var(--red)}.hero .hero-phone svg{color:var(--gold)}.hero .hero-trust{border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:.5rem 0;padding-top:1.5rem}.hero .hero-trust-item{align-items:center;color:var(--ink-muted);display:inline-flex;font-size:.82rem;font-weight:500;gap:.45rem}.hero .hero-trust-item+.hero-trust-item:before{color:var(--gold);content:"·";margin:0 .9rem}.hero .hero-trust-icon{color:var(--gold);height:14px;width:14px}.hero .hero-image{aspect-ratio:1/1;margin-left:auto;max-width:560px;position:relative;width:100%}.hero .hero-proof{background:var(--paper);border:6px solid var(--paper);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);overflow:hidden;position:absolute}.hero .hero-proof img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.hero .hero-proof-main{height:74%;right:0;top:6%;transform:rotate(1.5deg);width:74%;z-index:2}.hero .hero-proof-alt{bottom:4%;height:46%;left:0;transform:rotate(-4deg);width:46%;z-index:3}.hero .hero-proof-back{height:44%;left:10%;opacity:.9;top:0;transform:rotate(-7deg);width:44%;z-index:1}.hero .hero-stats{background:var(--ink);border-radius:var(--radius-sm);bottom:0;box-shadow:var(--shadow-md);color:var(--cream);padding:1.1rem 1.35rem;position:absolute;right:4%;z-index:4}.hero .hero-stats-number{color:var(--gold);font-family:var(--font-display);font-size:1.9rem;font-weight:600;line-height:1;white-space:nowrap}.hero .hero-stats-label{color:hsla(35,40%,94%,.8);font-size:.78rem;font-weight:500;letter-spacing:.04em;line-height:1.35;margin-top:.35rem;text-transform:uppercase}@media (max-width:992px){.hero .container{gap:3rem;grid-template-columns:1fr}.hero .hero-title{max-width:none}.hero .hero-image{margin:0 auto;max-width:480px}}@media (max-width:576px){.hero .hero-cta{align-items:stretch;flex-direction:column}.hero .hero-cta .btn{width:100%}.hero .hero-phone{justify-content:center}.hero .hero-trust-item+.hero-trust-item:before{margin:0 .6rem}.hero .hero-stats{padding:.9rem 1.1rem}.hero .hero-stats-number{font-size:2rem}}@media (max-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr)}}.services{background:var(--paper);padding:clamp(4rem,8vw,6.5rem) 0}.services .section-head{align-items:end;display:grid;grid-template-columns:1fr auto;grid-gap:2rem;gap:2rem;margin-bottom:3rem}.services .section-title{margin-bottom:.5rem;text-align:left}.services .section-subtitle{margin:0;max-width:48ch;text-align:left}.services-list{border-top:1px solid var(--ink)}.services .service-row{display:grid;grid-template-columns:72px minmax(0,1.1fr) minmax(0,1.4fr) auto;grid-gap:2rem;align-items:center;border-bottom:1px solid var(--rule);gap:2rem;padding:2rem .75rem;transition:background .25s ease}.services .service-row:hover{background:var(--cream)}.services .service-number{color:var(--gold);font-family:var(--font-display);font-size:1.6rem;font-weight:600;line-height:1}.services .service-heading{display:flex;flex-direction:column;gap:.5rem}.services .service-badge{align-items:center;color:var(--gold);display:inline-flex;font-size:.7rem;font-weight:700;gap:.45rem;letter-spacing:.12em;text-transform:uppercase}.services .service-row.popular .service-badge{color:var(--red)}.services .service-title{align-items:center;display:flex;gap:.75rem}.services .service-title h3{font-size:1.5rem;line-height:1.2;transition:color .2s ease}.services .service-row:hover h3{color:var(--red)}.services .service-icon{color:var(--ink-muted);display:inline-flex;flex:0 0 auto}.services .service-icon svg{height:20px;width:20px}.services .service-row p{color:var(--ink-muted);font-size:.98rem;line-height:1.65;margin:0}.services .service-actions{align-items:center;display:flex;gap:1.25rem;white-space:nowrap}.services .service-link{align-items:center;border-bottom:1.5px solid var(--gold);color:var(--ink);display:inline-flex;font-size:.9rem;font-weight:600;gap:.35rem;min-height:44px;text-decoration:none;transition:color .2s ease,border-color .2s ease}.services .service-link:hover{border-bottom-color:var(--red);color:var(--red)}.services .service-link svg{height:14px;width:14px}.services .service-quote-btn{align-items:center;background:transparent;border:1.5px solid var(--ink);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.88rem;font-weight:600;justify-content:center;min-height:44px;padding:0 1.1rem;transition:var(--transition)}.services .service-quote-btn:hover{background:var(--red);border-color:var(--red);color:#fff}@media (max-width:992px){.services .service-row{grid-template-areas:"num head" "num desc" "num actions";grid-template-columns:56px 1fr;row-gap:.85rem}.services .service-number{align-self:start;grid-area:num}.services .service-heading{grid-area:head}.services .service-row p{grid-area:desc}.services .service-actions{grid-area:actions}}@media (max-width:576px){.services .section-head,.services .service-row{grid-template-columns:1fr}.services .service-row{grid-template-areas:"num" "head" "desc" "actions";padding:1.5rem 0}.services .service-actions{flex-wrap:wrap;white-space:normal}}.section-head{align-items:end;display:grid;grid-template-columns:1fr auto;grid-gap:2rem;gap:2rem;margin-bottom:2.75rem}.section-head .section-title{margin-bottom:.5rem;text-align:left}.section-head .section-subtitle{margin:0;max-width:48ch;text-align:left}.filter-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--ink-muted);cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:600;min-height:44px;padding:0 .15rem;transition:color .2s ease,border-color .2s ease}.filter-btn:hover{color:var(--ink)}.filter-btn.active{border-bottom-color:var(--gold);color:var(--ink)}.portfolio-filters,.vendor-filters{display:flex;flex-wrap:wrap;gap:0 1.5rem}.portfolio{background:var(--cream);padding:clamp(4rem,8vw,6.5rem) 0}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}.portfolio .portfolio-item{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);display:flex;flex-direction:column;margin:0;overflow:hidden;transition:var(--transition)}.portfolio .portfolio-item:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.portfolio .portfolio-item.is-wide,.portfolio .portfolio-item:first-child{grid-column:span 2}.portfolio .portfolio-media{aspect-ratio:1/1;background:var(--cream-deep);overflow:hidden}.portfolio .portfolio-item.is-wide .portfolio-media,.portfolio .portfolio-item:first-child .portfolio-media{aspect-ratio:2.06/1}.portfolio .portfolio-media img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease;width:100%}.portfolio .portfolio-item:hover .portfolio-media img{transform:scale(1.04)}.portfolio .portfolio-caption{border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem 1.15rem}.portfolio .portfolio-caption h3{font-size:1.1rem}.portfolio .portfolio-item:first-child .portfolio-caption h3{font-size:1.4rem}.portfolio .portfolio-caption p{color:var(--ink-muted);font-size:.9rem;line-height:1.5;margin:0}.portfolio .portfolio-caption .btn{align-self:flex-start;border:none;border-bottom:1.5px solid var(--gold);border-radius:0;color:var(--ink);font-size:.85rem;margin-top:.25rem;min-height:44px;padding:0}.portfolio .portfolio-caption .btn:hover{background:none;border-bottom-color:var(--red);box-shadow:none;color:var(--red);transform:none}.portfolio-modal{max-width:880px;overflow:hidden;padding:0}.portfolio-modal-content{display:grid;grid-template-columns:1.1fr 1fr}.portfolio-modal-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.portfolio-modal-info{padding:2.5rem 2.25rem}.portfolio-modal-info h2{font-size:1.9rem;margin-bottom:.5rem}.portfolio-category{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:1rem;text-transform:uppercase}.portfolio-description{color:var(--ink-muted);line-height:1.7;margin-bottom:1.75rem}.portfolio-modal-actions{display:flex;flex-wrap:wrap;gap:.75rem}.additional-services{background:var(--paper);border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);padding:clamp(3rem,6vw,4.5rem) 0}.services-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);grid-gap:3rem;align-items:start;gap:3rem}.services-overview h3{font-size:1.9rem;margin-bottom:.75rem}.services-overview>p{color:var(--ink-muted);line-height:1.65;margin:0;max-width:34ch}.services-overview .services-list{border-top:1px solid var(--ink);-moz-columns:3;column-count:3;-moz-column-gap:2.5rem;column-gap:2.5rem}.services-overview .service-tag{align-items:center;border-bottom:1px solid var(--rule);color:var(--ink-soft);display:flex;font-size:.95rem;gap:.65rem;padding:.7rem 0;page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.services-overview .service-tag:before{background:var(--gold);content:"";flex:0 0 auto;height:1px;width:10px}.about{background:var(--ink);padding:clamp(4rem,8vw,6.5rem) 0}.about,.about .section-title,.about h3{color:var(--cream)}.about .about-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(2.5rem,6vw,5rem);align-items:center;gap:clamp(2.5rem,6vw,5rem);margin-bottom:3.5rem}.about .section-subtitle{color:var(--gold);font-size:.78rem;font-weight:600;letter-spacing:.14em;margin:0 0 .85rem;text-align:left;text-transform:uppercase}.about .section-subtitle:before{background:var(--gold);content:"";display:inline-block;height:1px;margin-right:.6rem;vertical-align:middle;width:28px}.about .section-title{margin-bottom:1.25rem;max-width:16ch;text-align:left}.about .about-intro p{color:hsla(35,40%,94%,.8);font-size:1.1rem;line-height:1.8;max-width:58ch}.about .about-photo{background:var(--paper);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);justify-self:end;margin:0;max-width:560px;padding:8px 8px 0;transform:rotate(-1.5deg);width:100%}.about .about-photo img{aspect-ratio:3/2;border-radius:2px;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.about .about-photo figcaption{color:var(--ink-muted);font-family:var(--font-display);font-size:.9rem;font-style:italic;padding:.75rem .5rem .85rem;text-align:center}.about .about-stats{border-bottom:1px solid hsla(35,40%,94%,.18);border-top:1px solid hsla(35,40%,94%,.18);display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 3.5rem;padding:2.5rem 0}.about .stat-item{padding:0 1.5rem;text-align:center}.about .stat-item+.stat-item{border-left:1px solid hsla(35,40%,94%,.18)}.about .stat-number{color:var(--gold);font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.25rem);font-weight:600;line-height:1;margin-bottom:.6rem}.about .stat-label{color:hsla(35,40%,94%,.7);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.about .about-features{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2.5rem;gap:2.5rem}.about .feature-card{text-align:left}.about .feature-icon{align-items:center;border:1px solid rgba(176,122,30,.6);border-radius:50%;color:var(--gold);display:inline-flex;height:44px;justify-content:center;margin-bottom:1rem;width:44px}.about .feature-icon svg{height:20px;width:20px}.about .feature-card h3{font-size:1.15rem;margin-bottom:.5rem}.about .feature-card p{color:hsla(35,40%,94%,.7);font-size:.95rem;line-height:1.6;margin:0}.vendors{background:var(--cream);padding:clamp(4rem,8vw,6.5rem) 0}.vendors .vendor-filters{margin-bottom:2rem}.vendors .vendors-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.vendors .vendor-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:1.5rem 1.5rem 1.35rem;transition:var(--transition)}.vendors .vendor-card:hover{border-color:rgba(176,122,30,.6);box-shadow:var(--shadow-md);transform:translateY(-3px)}.vendors .vendor-logo{align-items:center;border-bottom:1px solid var(--rule);display:flex;height:56px;margin-bottom:1rem;padding-bottom:1rem}.vendors .vendor-logo img{filter:grayscale(100%);height:auto;max-height:40px;max-width:140px;opacity:.8;transition:var(--transition);width:auto}.vendors .vendor-card:hover .vendor-logo img{filter:none;opacity:1}.vendors .vendor-wordmark{color:var(--ink-muted);font-family:var(--font-display);font-size:1.05rem;font-style:italic;font-weight:600;line-height:1.2}.vendors .vendor-info{display:flex;flex:1;flex-direction:column}.vendors .vendor-info h3{font-size:1.15rem;margin-bottom:.35rem}.vendors .vendor-description{color:var(--ink-muted);font-size:.92rem;line-height:1.55;margin:0 0 .75rem}.vendors .vendor-specialties{display:flex;flex-wrap:wrap;gap:.25rem 0;margin-bottom:1.25rem}.vendors .specialty-tag{color:var(--ink-muted);font-size:.8rem}.vendors .specialty-tag+.specialty-tag:before{color:var(--gold);content:"·";margin:0 .5rem}.vendors .vendor-actions{align-items:center;border-top:1px solid var(--rule);display:flex;gap:1rem;justify-content:space-between;margin-top:auto;padding-top:1rem}.vendors .vendor-actions .btn-sm{font-size:.82rem;min-height:44px}.vendors .vendor-actions .btn-outline{border:none;border-radius:0;min-height:44px;padding:0;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:5px}.vendors .vendor-actions .btn-outline:hover{background:none;color:var(--red);text-decoration-color:var(--red)}.vendors .vendor-actions .btn-primary{padding:0 1rem}.faq{background:var(--paper);padding:clamp(4rem,8vw,6.5rem) 0}.faq .container{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);grid-gap:clamp(2.5rem,6vw,5rem);align-items:start;gap:clamp(2.5rem,6vw,5rem)}.faq .section-title{margin-bottom:.75rem;text-align:left}.faq .section-subtitle{margin:0;max-width:30ch;text-align:left}.faq .faq-grid{border-top:1px solid var(--ink)}.faq .faq-item{border-bottom:1px solid var(--rule)}.faq .faq-question{align-items:center;background:none;border:none;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-display);font-size:1.2rem;font-weight:600;gap:1.5rem;justify-content:space-between;line-height:1.3;min-height:44px;padding:1.35rem 0;text-align:left;transition:color .2s ease;width:100%}.faq .faq-item.active .faq-question,.faq .faq-question:hover{color:var(--red)}.faq .faq-icon{color:var(--gold);flex:0 0 auto;height:18px;transition:transform .3s ease;width:18px}.faq .faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq .faq-answer p{color:var(--ink-muted);line-height:1.75;margin:0;max-width:62ch;padding:0 0 1.5rem}.contact .contact-form{border-radius:var(--radius-md)}.contact .contact-item{border-radius:var(--radius-sm)}.footer h4{font-family:var(--font-body)}.modal{align-items:center;background:rgba(26,26,26,.6);display:none;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2000}.modal.active{display:flex}.modal-content{animation:slideIn .25s ease;background:var(--paper);border-radius:var(--radius-md);border-top:3px solid var(--red);box-shadow:var(--shadow-lg);max-height:90vh;max-width:520px;overflow-y:auto;padding:2.5rem 2.25rem 2.25rem;position:relative;width:100%}.modal-content>h2{font-size:1.9rem;margin-bottom:1.5rem}.modal-close{background:none;border:none;border-radius:50%;color:var(--ink-muted);cursor:pointer;font-size:1.75rem;height:44px;line-height:1;position:absolute;right:.75rem;top:.75rem;transition:var(--transition);width:44px;z-index:1}.modal-close:hover{background:var(--cream);color:var(--ink)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .55s ease both}@media (prefers-reduced-motion:reduce){.animate-in,.modal-content{animation:none}}@media (max-width:992px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.about .about-photo{justify-self:start;max-width:100%;transform:none}.services-overview{gap:1.75rem;grid-template-columns:1fr}.services-overview .services-list{-moz-columns:2;column-count:2}.about .about-lead{grid-template-columns:1fr}.about .about-features,.vendors .vendors-grid{grid-template-columns:repeat(2,1fr)}.faq .container{gap:2rem}.faq .container,.portfolio-modal-content{grid-template-columns:1fr}.portfolio-modal-image{max-height:320px}}@media (max-width:576px){.section-head{gap:1.25rem}.portfolio-grid,.section-head{grid-template-columns:1fr}.portfolio .portfolio-item.is-wide,.portfolio .portfolio-item:first-child{grid-column:auto}.portfolio .portfolio-item.is-wide .portfolio-media,.portfolio .portfolio-item:first-child .portfolio-media{aspect-ratio:1/1}.services-overview .services-list{-moz-columns:2;column-count:2;-moz-column-gap:1.25rem;column-gap:1.25rem}.services-overview .service-tag{font-size:.88rem;padding:.55rem 0}.about .about-stats{grid-template-columns:1fr;row-gap:1.5rem}.about .stat-item+.stat-item{border-left:none;border-top:1px solid hsla(35,40%,94%,.18);padding-top:1.5rem}.about .about-features{gap:1.75rem;grid-template-columns:1fr}.faq .faq-question{font-size:1.05rem}.vendors .vendors-grid{grid-template-columns:1fr}}