@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#102140;--stone:#BF9E78;--ink:#213049;--off:#f5f3ef;--text:#374459;--border:#e2e3e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Mona Sans","DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 44px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:30}.nav{height:100px;display:flex;align-items:center;gap:35px;justify-content:space-between}.logo{width:160px;height:88px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:32px;font-weight:650;font-size:14px}.nav-links a:hover,.link:hover{color:#997550}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--stone);color:#102140;padding:14px 24px;border:1px solid var(--stone);font-size:13px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;cursor:pointer}.btn:hover{background:#d2b28e}.btn-outline{background:transparent;border-color:#fff;color:#fff}.btn-outline:hover{background:#fff;color:var(--navy)}.nav-cta{padding:12px 17px}.menu-btn{display:none;background:none;border:0;font-size:25px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800;color:var(--stone)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.2vw,79px);line-height:1.06;letter-spacing:-.045em}h2{font-size:clamp(31px,3.4vw,48px);line-height:1.18;letter-spacing:-.036em}h3{font-size:23px;line-height:1.28}.lead{font-size:19px;max-width:610px;line-height:1.75}.hero{position:relative;min-height:670px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(9,22,42,.94) 0%,rgba(9,22,42,.79) 42%,rgba(9,22,42,.20) 100%),url('assets/DeckReplacementAfter1.webp') center 54%/cover}.hero .container{padding:95px 0}.hero h1{max-width:760px;margin:18px 0 25px}.hero p{max-width:585px;color:#e6eaf0}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:35px}.section{padding:104px 0}.section.alt{background:var(--off)}.section.navy{background:var(--navy);color:#fff}.section-head{max-width:780px;margin-bottom:43px}.section-head p{color:var(--text)}.section.navy p{color:#e2e7ef}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split img{width:100%;height:455px;object-fit:cover}.split p{color:var(--text)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--border);background:#fff;padding:38px 30px;min-height:260px}.service .num{font-size:13px;color:#a07a54;letter-spacing:.15em;font-weight:800}.service p{color:var(--text);font-size:15px}.small-link{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--stone);padding-bottom:5px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project{background:#fff}.project img{height:265px;object-fit:cover;width:100%}.project h3{margin:20px 0 7px}.project p{color:var(--text)}.project .tag{font-size:11px;text-transform:uppercase;color:#9c794f;font-weight:800;letter-spacing:.12em}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.trust h3{font-size:20px;margin:14px 0}.trust .rule{width:40px;height:3px;background:var(--stone)}.cta{background:var(--navy);color:#fff;padding:77px 0}.cta-flex{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{margin:10px 0}.footer{background:#0a182e;color:#cbd3df;padding:48px 0 20px}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer h3{color:#fff}.footer a:hover{color:var(--stone)}.footer-bottom{border-top:1px solid #354255;margin-top:35px;padding-top:18px;font-size:12px}.page-hero{background:var(--navy);color:#fff;padding:85px 0}.page-hero h1{max-width:890px;margin:18px 0}.page-hero p{max-width:740px;color:#dfe5ee}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.gallery-card{background:#fff;border:1px solid var(--border);overflow:hidden}.pair{display:grid;grid-template-columns:1fr 1fr}.pair figure{margin:0;position:relative}.pair img{height:320px;width:100%;object-fit:cover}.pair figcaption{position:absolute;bottom:12px;left:12px;background:#102140e8;color:#fff;font-size:11px;font-weight:800;padding:5px 10px;text-transform:uppercase;letter-spacing:.1em}.gallery-copy{padding:25px}.gallery-copy p{color:var(--text)}.narrow{max-width:840px}.prose p{color:var(--text);font-size:18px}.prose h2{margin-top:45px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.form{background:#f7f6f3;padding:36px;border:1px solid #e8e4dd}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:19px}.field label{font-size:13px;font-weight:700}.field input,.field textarea,.field select{width:100%;padding:13px;border:1px solid #cdd2d8;background:#fff;font:inherit;color:var(--ink)}.field textarea{min-height:135px}.notice{font-size:13px;color:var(--text)}.bullet{padding-left:21px;color:var(--text)}.mini{font-size:13px} @media(max-width:850px){.nav{height:80px}.logo{width:125px;height:70px}.menu-btn{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:80px;background:#fff;flex-direction:column;align-items:stretch;padding:20px 28px;box-shadow:0 12px 18px #1112}.nav-links.open{display:flex}.hero{min-height:585px;background-position:center}.split,.contact-grid{grid-template-columns:1fr;gap:32px}.service-grid,.projects,.trust{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.section{padding:72px 0}.cta-flex,.footer-inner{flex-direction:column;align-items:flex-start}} @media(max-width:560px){.hero h1{font-size:45px}.service-grid,.projects,.trust{grid-template-columns:1fr}.split img{height:310px}.pair img{height:200px}.container{width:min(100% - 34px,1180px)}.hero .container{padding:80px 0}.section{padding:60px 0}.page-hero{padding:62px 0}.form{padding:22px}}

/* Distinct editorial feature: The Tenacity Approach */
.approach-section{background:#edeae4;border-top:7px solid var(--stone);border-bottom:1px solid #d8d2c7;padding:112px 0 120px}
.approach-header{display:grid;grid-template-columns:1fr .85fr;gap:75px;align-items:end;margin-bottom:55px}
.approach-header h2{margin:14px 0 0;font-size:clamp(40px,4.8vw,66px);line-height:1.08;max-width:570px}
.approach-period{color:#a57f57}
.approach-intro{border-left:3px solid var(--stone);padding-left:29px;max-width:500px}
.approach-intro p{color:#3b4656;font-size:17px;line-height:1.75;margin-bottom:22px}
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.approach-card{background:#fff;border:1px solid #dcd7ce;padding:39px 33px 36px;min-height:275px;box-shadow:0 5px 0 rgba(16,33,64,.055)}
.approach-number{display:block;color:#9f7c55;font-weight:800;font-size:13px;letter-spacing:.13em;margin-bottom:31px}
.approach-card h3{font-size:22px;margin-bottom:12px;color:var(--navy)}
.approach-card p{font-size:15px;color:#475365;margin-bottom:0}
@media(max-width:850px){.approach-header{gap:25px;grid-template-columns:1fr}.approach-grid{grid-template-columns:1fr}.approach-card{min-height:0}.approach-section{padding:77px 0}}
@media(max-width:560px){.approach-section{padding:64px 0}.approach-card{padding:28px 25px}.approach-header h2{font-size:42px}}

/* Version 3: quieter, more organic approach feature */
.approach-section{background:#f5f3ef;border-top:1px solid #e5e1da;border-bottom:0;padding:89px 0 96px}
.approach-header{align-items:center;gap:64px;margin-bottom:36px}
.approach-header h2{font-size:clamp(35px,4.1vw,55px)}
.approach-intro{border-left:0;padding-left:0}
.approach-grid{gap:0;border-top:1px solid #dedbd4}
.approach-card{background:transparent;border:0;border-right:1px solid #dedbd4;padding:32px 32px 12px;min-height:0;box-shadow:none}
.approach-card:first-child{padding-left:0}.approach-card:last-child{border-right:0}
.approach-number{margin-bottom:20px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.portfolio-card{display:block;background:#fff;border:1px solid #e6e2dc;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #10214017}
.portfolio-image{position:relative;overflow:hidden}
.portfolio-image img{width:100%;height:320px;object-fit:cover}
.portfolio-action{position:absolute;right:0;bottom:0;background:var(--navy);color:#fff;padding:12px 18px;font-size:12px;font-weight:750}
.portfolio-copy{padding:25px 28px 30px}
.portfolio-copy h2{font-size:26px;margin:10px 0}
.portfolio-copy p{color:var(--text);margin:0}
.back-link{display:inline-block;color:#d4dbe8;margin-bottom:24px;text-decoration:underline;text-underline-offset:5px}
.detail-photo-group{margin-bottom:62px}
.photo-group-title{display:flex;align-items:baseline;gap:25px;flex-wrap:wrap;margin-bottom:20px;border-bottom:2px solid var(--navy);padding-bottom:14px}
.photo-group-title h2{margin:0}.photo-group-title p{margin:0;color:var(--text)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.detail-grid figure{margin:0;background:#f5f3ef}
.detail-grid img{height:370px;width:100%;object-fit:contain;background:#ebe9e5}
.detail-grid figcaption{padding:11px 14px;color:var(--text);font-size:14px}
.detail-divider{height:1px;background:#ddd6ce;margin:55px 0}
.detail-end{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
@media(max-width:850px){.approach-grid{grid-template-columns:1fr}.approach-card,.approach-card:first-child{padding:25px 0;border-right:0;border-bottom:1px solid #dedbd4}.portfolio-grid{grid-template-columns:1fr}}
@media(max-width:560px){.detail-grid{grid-template-columns:1fr}.portfolio-image img{height:245px}.detail-grid img{height:auto;max-height:450px}.approach-section{padding:65px 0}}

/* Version 4: integrate established brand mark into the hero transition */
.brand-signature{position:relative;background:#f5f3ef}
.brand-signature-inner{display:flex;align-items:center;gap:24px;max-width:1120px;padding-top:22px;padding-bottom:26px;border-bottom:1px solid #dfd9ce}
.brand-signature-mark{width:145px;min-width:145px;height:100px;overflow:hidden;display:flex;justify-content:center;align-items:center}
.brand-signature-mark img{width:205px;min-width:205px;height:205px;object-fit:contain}
.brand-signature-copy{max-width:790px}
.brand-signature-copy p{margin:6px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:#23334c}
.brand-signature-copy strong{font-weight:750}
.footer-logo-wrap{width:120px;height:85px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f3ef;border-radius:2px;margin-bottom:14px}
.footer-logo-wrap img{width:180px;min-width:180px;height:180px}
.portfolio-comparison{display:grid;grid-template-columns:1fr 1fr;height:320px;overflow:hidden}
.portfolio-comparison .comparison-side{position:relative;overflow:hidden;min-width:0}
.portfolio-comparison .comparison-before{border-right:3px solid #f4f1e9}
.portfolio-comparison .comparison-side img{height:100%;width:100%;object-fit:cover;transition:transform .35s ease}
.portfolio-card:hover .comparison-side img{transform:scale(1.035)}
.comparison-label{position:absolute;top:14px;left:14px;background:#102140dd;color:white;padding:7px 11px;font-size:11px;font-weight:800;letter-spacing:.11em}
.comparison-after .comparison-label{background:#BF9E78;color:#102140}
.portfolio-comparison .portfolio-action{z-index:2;font-size:12px}
.featured-split{display:grid;grid-template-columns:1fr 1fr;height:250px;gap:3px;background:#fff}
.featured-split>span{position:relative;min-width:0;overflow:hidden}
.featured-split img{width:100%;height:100%;object-fit:cover}
.featured-split b{position:absolute;left:12px;top:12px;padding:6px 11px;background:#102140e8;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.featured-split>span+span b{background:#BF9E78;color:#102140}
@media(max-width:700px){.brand-signature-inner{gap:12px}.brand-signature-mark{width:105px;min-width:105px;height:90px}.brand-signature-mark img{width:175px;min-width:175px;height:175px}.portfolio-comparison{height:250px}.featured-split{height:205px}}

/* V5: subtle emblem watermark, not an additional logo panel */
.brand-signature{display:none}
.footer-logo-wrap{display:none}
.approach-section{position:relative;isolation:isolate;overflow:hidden}
.approach-section::before{content:"";pointer-events:none;position:absolute;z-index:-1;right:-75px;top:3%;width:min(48vw,600px);height:90%;background:url("assets/tenacity-mark-watermark.svg") center / contain no-repeat;opacity:.065;transform:rotate(0deg)}
.approach-section>.container{position:relative}
@media(max-width:700px){.approach-section::before{width:90vw;right:-35vw;top:10%;opacity:.045}}

/* V6: integrated emblem on the About page, kept behind the owner's story */
.about-story{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.about-story::before{content:"";pointer-events:none;position:absolute;z-index:-1;right:max(-125px,calc((100vw - 1180px)/2 - 220px));top:4%;width:clamp(390px,45vw,670px);height:84%;background:url("assets/tenacity-mark-watermark.svg") center / contain no-repeat;opacity:.055}
.about-story>.container{position:relative}
@media(max-width:700px){.about-story::before{width:92vw;right:-44vw;top:14%;opacity:.038}}

/* v9: project galleries and campaign pages */
.photo-open{padding:0;border:0;display:block;width:100%;cursor:zoom-in;background:transparent}
.photo-open img{transition:filter .15s}.photo-open:hover img{filter:brightness(.95)}
.photo-dialog{padding:12px;border:0;background:#0b1526;color:#fff;width:min(1120px,94vw);max-height:94vh;box-shadow:0 14px 90px #0008}
.photo-dialog::backdrop{background:rgba(5,12,22,.88)}
.photo-dialog img{width:100%;max-height:76vh;object-fit:contain}
.lightbox-close{position:absolute;right:12px;top:9px;background:#102140;color:#fff;border:0;font-size:26px;cursor:pointer;padding:0px 12px}
.lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 4px 3px}
.lightbox-footer button{background:none;border:1px solid #708099;color:#fff;padding:6px 15px;font-size:21px;cursor:pointer}
.lightbox-caption{font-size:13px;text-align:center}
.ad-hero{background:var(--navy);color:#fff;padding:92px 0;overflow:hidden}
.ad-hero-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:center}
.ad-hero h1{font-size:clamp(42px,5.1vw,70px);max-width:690px;margin:16px 0 26px}
.ad-hero .lead{color:#ecf0f6;margin-bottom:35px}
.ad-note{font-size:13px;color:#c9d1dc;margin-top:28px}
.ad-hero-aside{background:#1b304f;border-left:3px solid var(--stone);padding:40px;min-height:320px;position:relative;overflow:hidden}
.ad-hero-aside h2{position:relative;z-index:1;font-size:31px;margin:15px 0 18px}
.ad-hero-aside p{position:relative;z-index:1;color:#e1e7ee}
.ad-mark{position:absolute;right:-85px;bottom:-185px;width:420px;height:420px;background:url('assets/tenacity-mark-watermark.svg') center/contain no-repeat;opacity:.10}
.renovation-visual img{width:100%;height:460px;object-fit:cover}
.ad-process{background:#f7f6f3}
.process-panel{padding:36px;background:#fff;border-top:4px solid var(--stone)}
.process-step{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid #d9dce0}
.process-step:last-child{border-bottom:0}
.process-step strong{font-size:13px;color:var(--navy)}.process-step span{color:var(--text)}
.ad-hero .btn-outline{border-color:#d8dee9}
@media(max-width:850px){.ad-hero-grid{grid-template-columns:1fr;gap:28px}.ad-hero{padding:65px 0}.renovation-visual img{height:360px}}
@media(max-width:560px){.ad-hero-aside{padding:26px;min-height:250px}.renovation-visual img{height:270px}.process-step{grid-template-columns:1fr;gap:5px}}
