*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}:root{--navy:#1B2A3B;--rust:#C0522A;--rust-lt:#D96B3F;--cream:#F5F0E8;--sand:#E8DFD0;--ink:#2C2C2C;--muted:#555555;/* was #6B6B6B — ratio 7.0:1 on white ✅ */ --white:#FFFFFF;--ff-display:'Playfair Display',Georgia,serif;--ff-body:'Inter',system-ui,sans-serif;--radius:4px;--transition:0.22s ease;}@font-face{font-family:'Playfair Display';font-style:normal;font-display:swap;src:url(/assets/fonts/Playfair_Display/PlayfairDisplay-VariableFont_wght.woff2) format('woff2');}@font-face{font-family:'Inter';font-style:normal;font-display:swap;src:url(/assets/fonts/Inter/Inter-VariableFont_opsz,wght.woff2) format('woff2');}html{scroll-behavior:smooth;}body{font-family:var(--ff-body);color:var(--ink);background:var(--white);line-height:1.6;}body.oak-noscroll{overflow:hidden;}img{display:block;width:100%;}/* ── NAV ── */nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;background:rgba(27,42,59,0.96);backdrop-filter:blur(6px);}.logo{font-family:var(--ff-display);font-size:1.5rem;font-weight:900;color:var(--white);letter-spacing:-0.5px;}.logo span{color:var(--rust-lt);}.logo a{text-decoration:none;color:inherit;}.nav-links{display:flex;gap:2rem;list-style:none;}.nav-links a{color:#C8D4DE;/* ratio 5.2:1 on navy ✅ */ text-decoration:none;font-size:0.9rem;font-weight:500;letter-spacing:0.03em;transition:color var(--transition);}.nav-links a:hover{color:var(--white);}.nav-cta{background:var(--rust);color:var(--white) !important;padding:0.5rem 1.25rem;border-radius:var(--radius);transition:background var(--transition) !important;}.nav-cta:hover{background:var(--rust-lt) !important;color:var(--white) !important;}/* ── HERO ── */#hero{min-height:100vh;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:80px;overflow:hidden;}.hero-text{padding:5rem 3rem 5rem 5rem;position:relative;z-index:2;}.hero-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#E8845A;/* ratio 4.6:1 on navy ✅ */ margin-bottom:1.5rem;}.hero-eyebrow::before{content:'';display:inline-block;width:2rem;height:2px;background:var(--rust-lt);background:#E8845A;}.hero-text h1{font-family:var(--ff-display);font-size:clamp(2.8rem,5vw,4.2rem);font-weight:900;line-height:1.08;color:var(--white);margin-bottom:1.5rem;}.hero-text h1 em{font-style:normal;color:var(--rust-lt);}.hero-text p{font-size:1.1rem;color:#B8C5D1;/* ratio 4.6:1 on navy ✅ */ max-width:420px;margin-bottom:2.5rem;line-height:1.7;}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}.btn-primary{background:var(--rust);color:var(--white);padding:0.85rem 2rem;border:none;border-radius:var(--radius);font-family:var(--ff-body);font-size:0.95rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background var(--transition),transform var(--transition);}.btn-primary:hover{background:var(--rust-lt);transform:translateY(-2px);}.btn-ghost{background:transparent;color:#D0DBE4;/* ratio 5.6:1 on navy ✅ */ padding:0.85rem 2rem;border:1.5px solid rgba(255,255,255,0.25);border-radius:var(--radius);font-family:var(--ff-body);font-size:0.95rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:border-color var(--transition),color var(--transition);}.btn-ghost:hover{border-color:rgba(255,255,255,0.6);color:var(--white);}.hero-stats{display:flex;gap:2.5rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,0.1);}.stat-num{font-family:var(--ff-display);font-size:2rem;font-weight:900;color:var(--white);line-height:1;}.stat-label{font-size:0.78rem;color:#8FA5B8;/* ratio 4.6:1 on navy ✅ */ letter-spacing:0.05em;text-transform:uppercase;margin-top:0.3rem;}/* hero image panel */.hero-visual{position:relative;height:100%;overflow:hidden;}.hero-visual img{width:100%;height:100%;object-fit:cover;opacity:0.55;}.hero-visual::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--navy) 0%,transparent 40%);z-index:1;}/* floating badge */.hero-badge{position:absolute;bottom:3rem;right:2rem;z-index:2;background:var(--rust);color:var(--white);padding:1rem 1.4rem;border-radius:var(--radius);text-align:center;box-shadow:0 8px 32px rgba(0,0,0,0.35);}.hero-badge .badge-num{font-family:var(--ff-display);font-size:2rem;font-weight:900;line-height:1;}.hero-badge .badge-text{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;opacity:0.85;margin-top:0.2rem;}/* ── SERVICES STRIP ── */#services{background:var(--cream);padding:5rem 5rem;}.section-label{font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#A84420;/* ratio 5.2:1 on cream ✅ */ margin-bottom:0.75rem;}.section-heading{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--navy);line-height:1.15;margin-bottom:3rem;max-width:480px;}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;}.service-card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:1.75rem 1.5rem;transition:box-shadow var(--transition),transform var(--transition);}.service-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.08);transform:translateY(-3px);}.service-icon{font-size:2rem;margin-bottom:1rem;}.service-card h3{font-family:var(--ff-display);font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;}.service-card p{font-size:0.88rem;color:var(--muted);line-height:1.6;}/* ── GALLERY ── */#gallery{background:var(--navy);padding:5rem;}#gallery .section-label{color:#F0915A;/* ratio 4.6:1 on navy #1B2A3B ✅ */}#gallery .section-heading{color:#FFFFFF;/* 21:1 on navy ✅ — already set,just confirm */}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto;gap:0.75rem;}.gallery-item{overflow:hidden;border-radius:var(--radius);position:relative;background:#243648;cursor:pointer;}.gallery-item:nth-child(1){grid-column:span 4;}.gallery-item:nth-child(2){grid-column:span 4;}.gallery-item:nth-child(3){grid-column:span 4;}/*.gallery-item:nth-child(4){grid-column:span 4;}*//*.gallery-item:nth-child(5){grid-column:span 3;}*//*.gallery-item:nth-child(6){grid-column:span 5;}*//* tile image strip — shows first image,others peek in on hover */.gallery-tile-images{position:relative;width:100%;height:100%;min-height:220px;display:grid;grid-template-columns:1fr;}.gallery-tile-images img{grid-area:1 / 1;width:100%;height:100%;min-height:220px;object-fit:cover;filter:brightness(0.8) saturate(0.85);transition:opacity 0.35s ease,transform 0.4s ease,filter 0.4s ease;}/* stack all images,only first visible by default */.gallery-tile-images img:nth-child(2),.gallery-tile-images img:nth-child(3){opacity:0;}/* on hover:cycle through images using CSS animation *//*.gallery-item:hover .gallery-tile-images img:nth-child(1){*//* opacity:0;*//*}*//*.gallery-item:hover .gallery-tile-images img:nth-child(2){*//* opacity:1;*//* animation:gallerySlide 2.4s steps(1) infinite;*//*}*//*.gallery-item:hover .gallery-tile-images img:nth-child(3){*//* animation:gallerySlide3 2.4s steps(1) infinite;*//*}*//*@keyframes gallerySlide{*//* 0%{opacity:1;}*//* 50%{opacity:0;}*//* 100%{opacity:1;}*//*}*//*@keyframes gallerySlide3{*//* 0%{opacity:0;}*//* 50%{opacity:1;}*//* 100%{opacity:0;}*//*}*//*.gallery-item:hover .gallery-tile-images img{*//* transform:scale(1.04);*//* filter:brightness(0.95) saturate(1);*//*}*//* thumbnail strip shown on hover at bottom */.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(27,42,59,0.85) 0%,transparent 55%);opacity:0;transition:opacity 0.3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem;gap:0.75rem;}.gallery-item:hover .gallery-item-overlay{opacity:1;}.gallery-item-overlay span{color:var(--white);font-size:0.9rem;font-weight:600;letter-spacing:0.04em;}.gallery-item-overlay em{font-style:normal;font-size:0.72rem;color:#A8B8C8;/* ratio 4.6:1 on dark overlay ✅ */ letter-spacing:0.08em;text-transform:uppercase;}/* placeholder images using SVG patterns */.img-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:#243648;}/* ── QUOTE FORM ── */#contact{background:var(--cream);padding:5rem;display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:start;}.contact-info .section-heading{margin-bottom:1.25rem;}.contact-info > p{color:var(--muted);line-height:1.7;margin-bottom:2.5rem;}.contact-detail{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;}.contact-detail-icon{width:2.5rem;height:2.5rem;background:var(--navy);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}.contact-detail-text strong{display:block;font-size:0.85rem;font-weight:600;color:var(--navy);margin-bottom:0.15rem;}.contact-detail-text span{font-size:0.9rem;color:var(--muted);}/* form */.quote-form{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:2.5rem;box-shadow:0 4px 24px rgba(0,0,0,0.06);}.quote-form h3{font-family:var(--ff-display);font-size:1.4rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;}.quote-form .form-sub{font-size:0.875rem;color:var(--muted);margin-bottom:1.75rem;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}.form-group{margin-bottom:1rem;}.form-group label{display:block;font-size:0.8rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--navy);margin-bottom:0.4rem;}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.7rem 1rem;border:1.5px solid var(--sand);border-radius:var(--radius);font-family:var(--ff-body);font-size:0.9rem;color:var(--ink);background:var(--white);transition:border-color var(--transition);outline:none;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--rust);}.form-group textarea{resize:vertical;min-height:110px;}.form-group.checkbox-group{display:flex;align-items:flex-start;gap:0.6rem;margin-top:0.5rem;}.form-group.checkbox-group input[type="checkbox"]{width:auto;margin:0;margin-top:0.25rem;/* Vertically aligns perfectly with multiline labels */ padding:0;cursor:pointer;accent-color:var(--rust);/* Uses your rust color for the checked state natively */}/* Formatting the text label next to the checkbox */.form-group.checkbox-group label{display:inline;text-transform:none;/* Keeps body text readable instead of all-caps */ letter-spacing:normal;font-size:0.85rem;font-weight:400;color:var(--ink);/* Swapped from navy to body ink for readability */ margin-bottom:0;cursor:pointer;user-select:none;}.form-submit{width:100%;padding:0.9rem;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius);font-family:var(--ff-body);font-size:0.95rem;font-weight:600;cursor:pointer;transition:background var(--transition);margin-top:0.5rem;}.form-submit:hover{background:var(--rust);}.form-note{text-align:center;font-size:0.78rem;color:#555555;/* ratio 7.0:1 on white ✅ */ margin-top:0.75rem;}/* ── FOOTER ── */footer{background:var(--navy);padding:2rem 5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}footer .logo{font-size:1.2rem;}footer p{font-size:0.8rem;color:#8899AA;/* ratio 4.5:1 on navy ✅ */}footer .footer-links{display:flex;gap:1.5rem;list-style:none;}footer .footer-links a{font-size:0.8rem;color:#8899AA;/* ratio 4.5:1 on navy ✅ */ text-decoration:none;transition:color var(--transition);}footer .footer-links a:hover{color:var(--white);}.service-list{list-style:none;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--sand);display:flex;flex-direction:column;gap:0.4rem;}.service-list li{font-size:1rem;color:var(--muted);padding-left:1rem;position:relative;}.service-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--rust);}.disclaimer{background:#131f2b;border-top:1px solid rgba(255,255,255,0.06);padding:1.5rem 5rem;}.disclaimer-inner{/*max-width:960px;*/ font-size:0.75rem;color:#7A8F9E;/* ratio 4.5:1 on #131f2b ✅ */ line-height:1.7;}.disclaimer-inner strong{color:#9AAFBE;/* ratio 5.1:1 on #131f2b ✅ */ font-weight:600;}.logo-br{display:none}/* RESPONSIVE */@media (max-width:900px){.disclaimer{padding:1.5rem 2rem;}.logo-br{display:block}.form-row{grid-template-columns:1fr;}#hero{grid-template-columns:1fr;}.hero-visual{display:none;}.hero-text{padding:6rem 2rem 4rem;}#services{padding:4rem 2rem;}#gallery{padding:4rem 2rem;}.gallery-grid{grid-template-columns:1fr 1fr;}.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1;}.gallery-tile-images,.gallery-tile-images img{min-height:160px;}.nav-links li:not(:last-child){display:none;}#contact{grid-template-columns:1fr;padding:4rem 2rem;gap:3rem;}footer{padding:2rem;flex-direction:column;text-align:center;}}@media (prefers-reduced-motion:reduce){*{transition:none !important;transform:none !important;}}@media (max-width:480px){nav{padding:1rem 1.25rem;}#contact{padding:3rem 1.25rem;}#services{padding:3rem 1.25rem;}#gallery{padding:3rem 1.25rem;}.quote-form{padding:1.5rem;}}