:root{ --ink:#111418;--charcoal:#1b2026;--slate:#303842;--red:#c9362b;--red-dark:#92251e; --cream:#f5f2ec;--paper:#fff;--muted:#6b727a;--line:#d7dce0;--max:1180px; } *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6} a{color:inherit;text-decoration:none} img,svg{display:block;max-width:100%} .container{width:min(calc(100% - 36px),var(--max));margin:auto} .skip{position:absolute;left:-9999px}.skip:focus{left:18px;top:18px;background:#fff;padding:12px 15px;z-index:1000;border:2px solid var(--red)} .topline{background:var(--ink);color:#fff;font-size:.84rem}.topline .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topline a{color:#fff;font-weight:700} header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)} .nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px} .brand{display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.16rem} .brand svg{width:48px;height:48px}.brand small{display:block;font:700 .66rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-top:2px} .navlinks{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.92rem}.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--red)} .menu{display:none;background:#fff;border:1px solid var(--line);padding:10px 13px} .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:var(--red);border:2px solid var(--red);color:#fff;font-weight:800;border-radius:4px;transition:.18s ease} .btn:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px)} .btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.secondary:hover{background:var(--ink);color:#fff} .eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--red)} h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05;margin:.2em 0 .45em} h1{font-size:clamp(3.2rem,7vw,6.3rem);letter-spacing:-.045em} h2{font-size:clamp(2.25rem,4.6vw,4.05rem);letter-spacing:-.03em} h3{font-size:1.5rem}.lead{font-size:1.16rem;color:#535b63;max-width:720px} .hero{background:linear-gradient(135deg,var(--cream),#fff);overflow:hidden;border-bottom:1px solid var(--line)} .hero-grid{min-height:690px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:58px;padding:70px 0} .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px} .proof{display:flex;gap:28px;flex-wrap:wrap;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)} .proof div strong{display:block;font-family:Georgia,serif;font-size:1.6rem;color:var(--red)}.proof div span{font-size:.84rem;color:var(--muted)} .roof-art{position:relative;min-height:500px;background:var(--charcoal);overflow:hidden;box-shadow:0 25px 70px rgba(17,20,24,.18)} .roof-art:before{content:"";position:absolute;width:640px;height:330px;left:50%;top:50%;transform:translate(-50%,-40%) rotate(45deg);background:linear-gradient(135deg,#434d58,#23282e);border-left:22px solid #12161a;border-top:22px solid #12161a} .roof-art:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,transparent,#0d1013)} .roof-note{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff;border-left:5px solid var(--red);padding:18px 20px;background:rgba(17,20,24,.88)} .roof-note strong{display:block;font-family:Georgia,serif;font-size:1.55rem}.roof-note span{font-size:.82rem;color:#dce0e4} .section{padding:90px 0}.section.alt{background:var(--cream)} .section-head{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:end;margin-bottom:44px}.section-head p{margin:0;color:var(--muted)} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);padding:30px;background:#fff}.card p{color:var(--muted)} .card .tag{font-size:.72rem;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.14em} .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center} .dark{background:var(--charcoal);color:#fff;padding:45px}.dark p{color:#ccd1d6}.dark .eyebrow{color:#ef7a71}.dark .btn{background:#fff;color:var(--ink);border-color:#fff} .stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.stat{padding:30px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;color:var(--red);font:700 2.2rem Georgia,serif}.stat span{color:var(--muted);font-size:.86rem} .pagehero{padding:105px 0 70px;background:var(--cream);border-bottom:1px solid var(--line)} .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.detail{background:#fff;padding:38px}.detail p{color:var(--muted)} .note{border-left:4px solid var(--red);background:var(--cream);padding:20px 22px;color:#555d64} .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{min-height:220px;background:linear-gradient(145deg,#303842,#171b20);position:relative;overflow:hidden}.tile:before{content:"";position:absolute;width:310px;height:180px;background:#4c5863;transform:rotate(45deg);left:-60px;top:22px}.tile span{position:absolute;left:18px;bottom:18px;right:18px;color:#fff;font-size:.82rem;z-index:2} .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px}.panel{border:1px solid var(--line);padding:32px}.phone{font:700 2rem Georgia,serif;color:var(--red)} .contact-list{list-style:none;padding:0;margin:0}.contact-list li{padding:13px 0;border-bottom:1px solid var(--line)} .mailbox{padding:34px;background:var(--cream);border-top:4px solid var(--red)}.mailbox a{color:var(--red);font-weight:800} .callout{background:var(--red);color:#fff;padding:54px 0}.callout .container{display:flex;justify-content:space-between;gap:30px;align-items:center}.callout h2{margin:0;max-width:760px}.callout .btn{background:#fff;color:var(--ink);border-color:#fff} footer{background:#0d1013;color:#fff;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px}footer p,footer a{color:#c8cdd2;font-size:.9rem}footer a:hover{color:#fff}.copyright{border-top:1px solid #30353b;margin-top:32px;padding-top:18px;color:#8f979e;font-size:.8rem} :focus-visible{outline:3px solid #ee827a;outline-offset:3px} @media(max-width:900px){.menu{display:block}.navlinks{display:none;position:absolute;left:18px;right:18px;top:72px;background:#fff;border:1px solid var(--line);padding:18px;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.hero-grid,.split,.section-head,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:34px;padding:55px 0}.roof-art{min-height:390px}.grid3,.gallery-grid,.stats,.footer-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.callout .container{flex-direction:column;align-items:flex-start}.section-head{gap:18px}} @media(max-width:560px){.container{width:min(calc(100% - 28px),var(--max))}.topline .container{display:block}.topline span:last-child{display:none}.brand{font-size:.95rem}.brand svg{width:40px;height:40px}.section{padding:68px 0}.pagehero{padding:78px 0 54px}h1{font-size:3.35rem}.actions .btn{width:100%}.detail-grid{grid-template-columns:1fr}.panel,.dark{padding:25px}} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}