:root{color-scheme:light;--ink:#111111;--muted:#64615d;--paper:#eeeeec;--panel:#ffffff;--line:#d8d2c8;--accent:#c0266f;--cherry:#c0266f;--font-body:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-title:"Avenir Next Rounded","Avenir Next","Arial Rounded MT Bold",ui-rounded,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.page-shell,.gallery-section,.final-cta{width:min(calc(100% - 40px),1120px);margin:0 auto}.hero{background:var(--paper)}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;border-bottom:1px solid var(--line)}.site-nav div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;color:var(--muted);font-size:14px}.brand{font-family:var(--font-title);font-size:24px;font-weight:800}.hero-grid{display:grid;grid-template-columns:1fr;min-height:430px;padding:64px 0 46px}.hero-content,.section-heading,.final-cta{display:grid;gap:18px}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;font-family:var(--font-title);font-weight:800;line-height:1}h1{max-width:740px;font-size:88px}h1 span{color:var(--cherry)}h2{font-size:42px}.section-heading h2{max-width:100%;font-family:var(--font-title);font-weight:800;font-size:38px}.final-cta h2{font-family:var(--font-title);font-weight:800}.hero-content>p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted);font-size:23px;line-height:1.42}.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button-link{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--cherry);padding:0 18px;box-shadow:0 8px 18px rgba(127,16,32,0.12);font-size:15px;font-weight:750;transition:background 160ms ease,color 160ms ease,transform 160ms ease,box-shadow 160ms ease}.button-link--primary{background:var(--cherry);color:#ffffff}.button-link--secondary{background:#ffffff;color:var(--cherry)}.button-link:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(127,16,32,0.18)}.button-link--secondary:hover{background:#ffffff}.service-list{display:flex;flex-wrap:wrap;gap:10px 18px;max-width:760px;padding-top:2px}.service-list span{color:var(--muted);font-size:15px;font-weight:750}.service-list span:not(:last-child)::after{content:"/";margin-left:18px;color:var(--line);font-weight:500}.trust-line{margin:-4px 0 2px;color:var(--ink);font-size:15px;font-weight:700}.gallery-section{padding:70px 0 88px;border-top:1px solid var(--line)}.section-heading{grid-template-columns:1fr;align-items:end;margin-bottom:30px}.section-heading .eyebrow{grid-column:1 / -1}.section-heading p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:16px;line-height:1.55}.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}.photo-tile{position:relative;grid-column:span 6;overflow:hidden;background:transparent}.photo-tile::before,.photo-tile::after{position:absolute;z-index:1;pointer-events:none;opacity:0;transition:opacity 180ms ease,transform 180ms ease}.photo-tile::before{content:"";inset:0;background:linear-gradient(180deg,rgba(17,17,17,0),rgba(17,17,17,0.28))}.photo-tile::after{content:"View";left:14px;bottom:14px;padding:7px 9px;background:rgba(255,255,255,0.88);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase;transform:translateY(4px)}.photo-tile--wide{grid-column:1 / -1}.photo-tile:nth-child(4){grid-column:1 / -1}.photo-tile img{height:auto;object-fit:contain;transition:transform 280ms ease,filter 280ms ease}.photo-tile:hover img{transform:scale(1.018);filter:contrast(1.03) saturate(1.02)}.photo-tile:hover::before,.photo-tile:hover::after{opacity:1;transform:translateY(0)}.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,0.62));opacity:0;transition:opacity 180ms ease}.photo-tile:hover .photo-caption{opacity:1}.photo-caption span{font-size:14px}.about-line{width:min(calc(100% - 40px),1120px);margin:-42px auto 82px;color:var(--muted);font-size:18px;line-height:1.55}@media (hover:none){.photo-tile::before,.photo-tile::after{content:none}.photo-tile:hover img{transform:none;filter:none}}.final-cta{padding:72px 0 84px;border-top:1px solid var(--line)}.final-cta h2{max-width:980px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}.contact-email{color:var(--muted);font-size:15px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.contact-note{margin:0;color:var(--muted);font-size:15px}@media (max-width:860px){.page-shell,.gallery-section,.final-cta,.about-line{width:min(calc(100% - 32px),1120px)}.site-nav{min-height:70px}.hero-grid{grid-template-columns:1fr;padding:42px 0 40px;min-height:0}h1{font-size:56px}h2{font-size:34px}.section-heading h2{font-size:30px}.hero-content>p:not(.eyebrow){font-size:20px}.gallery-section{padding:48px 0 64px}.section-heading{grid-template-columns:1fr;gap:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tile,.photo-tile--wide,.photo-tile:nth-child(4){grid-column:span 2}.photo-tile:nth-child(2),.photo-tile:nth-child(3),.photo-tile:nth-child(5),.photo-tile:nth-child(6){grid-column:span 1}.final-cta{padding:54px 0 64px}.about-line{margin:-32px auto 58px;font-size:16px}}@media (max-width:520px){.site-nav{display:grid;gap:12px;padding:16px 0}.site-nav div{justify-content:flex-start;gap:14px}.hero-grid{padding:34px 0 34px}h1{font-size:40px}h2{font-size:30px}.section-heading h2{font-size:27px}.final-cta h2{font-size:28px;line-height:1.08}.hero-content>p:not(.eyebrow){font-size:18px}.button-link{width:100%}.photo-grid{gap:8px}}.site-footer{width:min(calc(100% - 40px),1120px);margin:0 auto;padding:28px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}@media (max-width:860px){.site-footer{width:min(calc(100% - 32px),1120px)}}