*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5f0;color:#202321;font-family:'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button,a{transition:.25s}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1360px;margin:auto;padding-left:5%;padding-right:5%}.section{padding-top:120px;padding-bottom:120px}.header{position:absolute;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:27px 5%;color:white;border-bottom:1px solid #ffffff33}.brand{display:flex;align-items:center;gap:12px}.brand-icon{font-family:Manrope,sans-serif;font-size:21px;border:1px solid #b69a76;padding:13px 10px;font-weight:800;letter-spacing:-2px}.brand-icon span{color:#bd9b6e}.brand-words{font-size:15px;letter-spacing:.15em;font-weight:500;line-height:1.3}.brand-words b{font-weight:800}.brand-words small{display:block;font-size:8px;letter-spacing:.21em;color:#ddd;margin-top:5px}.header nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700;letter-spacing:.06em}.header nav a:not(.nav-cta):hover{color:#d8b68a}.nav-cta{padding:15px 21px;background:#a8794f;color:white}.nav-cta span{padding-left:13px}.menu-button{display:none;background:transparent;border:0;color:white;font-size:27px}.hero{min-height:820px;height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;color:white;overflow:hidden;background:#171c1a}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 56%;transform:scale(1.01)}.hero-content{position:relative;z-index:1;width:100%;padding-top:100px}.eyebrow{color:#9d744f;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin:0 0 28px}.eyebrow.light{color:#d9b894}.line{display:inline-block;width:36px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px}h1,h2,h3,p{margin-top:0}h1,h2,.craft h2,.contact h2{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.065em}h1{font-size:clamp(65px,8.7vw,145px);line-height:.98;margin-bottom:29px}h1 em,h2 em{font-style:normal;color:#c49c6c}h1 em{color:#e4bd8a}.hero-content>p{font-size:16px;line-height:1.9;max-width:530px;color:#e2e4df}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;gap:27px;padding:18px 27px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;cursor:pointer}.button.gold{background:#ad8055;color:white}.button.gold:hover,.nav-cta:hover{background:#89603d}.button.outline{border-color:#ffffff99;color:white}.button.outline:hover{background:#ffffff24}.hero-foot{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:#e1d8ca;z-index:1}.hero-foot a:hover{color:#fff}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:13%}.section h2{font-size:clamp(40px,5.2vw,77px);line-height:1.14}.intro-right{padding-top:58px;color:#656b66;font-size:15px;line-height:1.9}.intro-right .lead{font-size:25px;font-weight:600;color:#202321;line-height:1.5}.text-link{display:inline-block;color:#9d744f;font-weight:800;font-size:12px;letter-spacing:.07em;margin-top:15px;border-bottom:1px solid #9d744f;padding-bottom:10px}.feature-image{position:relative}.feature-image img{height:530px;width:100%;object-fit:cover;object-position:center}.feature-label{position:absolute;bottom:0;right:5%;background:#202c26;color:white;padding:35px 42px}.feature-label span,.feature-label strong{display:block}.feature-label span{font-size:10px;letter-spacing:.2em;color:#c8a781;margin-bottom:12px}.feature-label strong{font-size:23px}.services{background:#eae8e2;margin-top:120px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:50px}.section-head h2{margin:0}.section-head>p{max-width:360px;line-height:1.8;color:#666c67;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c8c0;border-left:1px solid #c9c8c0}.service-grid article{min-height:280px;padding:31px;border-right:1px solid #c9c8c0;border-bottom:1px solid #c9c8c0}.service-num{font-size:11px;color:#8b8d84}.service-symbol{font-size:33px;color:#a8794f;margin:21px 0}.service-grid h3{font-size:19px;letter-spacing:-.03em}.service-grid p{font-size:13px;color:#6a6f69;line-height:1.8}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #d7d4cb;background:transparent;padding:12px 17px;color:#59605a;font-size:12px;cursor:pointer}.filters button.active,.filters button:hover{background:#26322b;color:white}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.project-card{background:#fff;cursor:pointer;overflow:hidden}.project-card img{height:285px;width:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.045)}.project-card .caption{padding:22px}.project-card .caption span{font-size:10px;color:#a8794f;letter-spacing:.15em;text-transform:uppercase}.project-card h3{font-size:18px;margin:10px 0 0}.project-note,.transform-disclaimer{font-size:11px;color:#868982;line-height:1.6;margin-top:20px}.craft{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#25332c;color:white}.craft-photo{background-size:cover;background-position:center}.craft-content{padding:110px 10%;display:flex;flex-direction:column;justify-content:center}.craft h2{font-size:clamp(39px,4.1vw,67px);line-height:1.12}.craft-content>p:not(.eyebrow){color:#d4ddd4;line-height:1.9;max-width:520px}.signature{font-size:12px;color:#d5b58d;letter-spacing:.12em;margin-top:30px}.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.transform-image{position:relative;overflow:hidden}.transform-image img{width:100%;height:430px;object-fit:cover}.transform-image span{position:absolute;bottom:20px;left:20px;padding:10px 15px;background:#19231dcf;color:white;font-size:11px;letter-spacing:.1em}.contact{background:#202c26;color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.contact h2{font-size:clamp(44px,5.1vw,80px);line-height:1.1}.contact-grid>div>p:not(.eyebrow):not(.small-note){max-width:360px;line-height:1.8;color:#d4dcd4}.contact-detail{margin-top:36px;display:flex;flex-direction:column;gap:8px}.contact-detail strong{font-size:10px;letter-spacing:.18em;color:#d3b188}.contact-detail span,.contact-detail a{font-size:17px}.small-note{font-size:10px;color:#aebbb1;margin-top:25px;line-height:1.5}.quote-form{background:#f7f5f0;color:#202321;padding:40px}.quote-form h3{font-size:27px;margin-bottom:9px}.quote-form>p{font-size:13px;color:#6e746e;line-height:1.6}.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.06em;font-weight:800;margin:18px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form input,.quote-form select,.quote-form textarea{background:white;border:1px solid #d8d9d2;padding:13px;width:100%;min-width:0;outline-color:#a8794f;font-size:13px}.quote-form .form-status{font-size:11px;margin:15px 0 0}.footer-top{display:flex;justify-content:space-between;gap:20px;padding-top:55px;padding-bottom:55px}.footer-brand{font-size:22px;letter-spacing:.08em}.footer-brand small{display:block;font-size:9px;letter-spacing:.16em;color:#777;margin-top:10px}.footer-links{display:flex;gap:25px;font-size:12px;align-items:center}.footer-bottom{border-top:1px solid #ddd;padding-top:22px;padding-bottom:25px;display:flex;justify-content:space-between;color:#888;font-size:11px}.modal{position:fixed;inset:0;background:#0a0f0ceb;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:65px 20px 30px}.modal[hidden]{display:none}.modal img{max-width:90vw;max-height:75vh;object-fit:contain}.modal p{color:white;text-align:center;margin-top:15px}.modal button{position:absolute;right:25px;top:12px;color:white;background:none;border:0;font-size:45px;cursor:pointer}@media(max-width:850px){.header{padding:18px 5%}.menu-button{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#1d2922;padding:25px 5%;flex-direction:column;align-items:stretch;gap:24px}.header nav.open{display:flex}.hero{min-height:700px}.hero-foot{gap:20px}.intro,.contact-grid{grid-template-columns:1fr;gap:20px}.intro-right{padding-top:0}.section{padding-top:75px;padding-bottom:75px}.services{margin-top:75px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.craft{grid-template-columns:1fr}.craft-photo{min-height:350px}.craft-content{padding:70px 7%}.section-head{align-items:start;flex-direction:column;gap:15px}.feature-image img{height:370px}.transform-image img{height:290px}}@media(max-width:570px){h1{font-size:clamp(48px,12vw,72px)}.hero{min-height:700px}.hero-content{padding-top:90px}.hero-foot{font-size:8px}.section h2{font-size:clamp(36px,10vw,55px)}.service-grid,.project-grid,.transform-grid,.form-row{grid-template-columns:1fr}.project-card img{height:270px}.feature-label{left:5%;padding:20px}.feature-label strong{font-size:17px}.quote-form{padding:25px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{flex-wrap:wrap}.craft-photo{min-height:300px}}
/* v2.1 Architectural Soul: carefully restrained warmth, rhythm and tactile movement */
:root{--soul-bronze:#c49561;--soul-ink:#202321}
.hero-photo{background-position:center 53%;animation:hero-arrive 1.5s ease-out both}
@keyframes hero-arrive{from{transform:scale(1.07);filter:brightness(.8)}to{transform:scale(1.01);filter:brightness(1)}}
.hero h1{font-size:clamp(62px,8.15vw,132px);max-width:1100px;text-shadow:0 3px 30px #0003}
.hero .eyebrow{letter-spacing:.24em}
.hero .button.gold,.contact .button.gold{background:#b7834f;box-shadow:0 10px 26px #0002}
.hero .button.gold:hover,.contact .button.gold:hover{background:#d19b60;transform:translateY(-3px)}
.manifesto{background:#e9dfd1;border-bottom:1px solid #d4c5b3;border-top:4px solid #b7834f}
.manifesto-inner{display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:34px;padding-top:65px;padding-bottom:67px}
.manifesto-mark{font-size:52px;color:#a77645;line-height:1}
.manifesto .eyebrow{margin-bottom:15px}
.manifesto h2{font-family:Manrope,sans-serif;font-size:clamp(30px,3.1vw,52px);line-height:1.14;letter-spacing:-.05em;margin-bottom:16px}
.manifesto h2 em,.detail-copy h3 em{font-style:normal;color:#a57447}
.manifesto p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:680px;color:#595b54;margin:0}
.manifesto-link{align-self:end;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.1em;border-bottom:1px solid #9e754e;padding-bottom:10px;color:#8a603c}
.manifesto-link:hover{color:#1c2821;transform:translateX(3px)}
.detail-interlude{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8%;padding-top:105px;padding-bottom:105px}
.detail-copy h3{font-family:Manrope,sans-serif;font-size:clamp(36px,4vw,64px);letter-spacing:-.06em;line-height:1.1;margin-bottom:25px}
.detail-copy>p:not(.eyebrow){font-size:15px;color:#636963;line-height:1.85;max-width:410px}
.detail-photo{position:relative;overflow:hidden;box-shadow:20px 20px 0 #e9dfd1}
.detail-photo img{width:100%;height:470px;object-fit:cover;transition:transform .8s ease}
.detail-photo:hover img{transform:scale(1.055)}
.detail-photo span{position:absolute;bottom:0;left:0;background:#202c26;color:#e9c39b;padding:19px 25px;font-size:10px;letter-spacing:.15em;font-weight:800}
.service-grid article{transition:background .3s,transform .3s}
.service-grid article:hover{background:#f8f5ef;transform:translateY(-3px)}
.project-card{transition:box-shadow .3s,transform .3s}
.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #25332c1c}
.section{scroll-margin-top:35px}
@media(max-width:1000px){.manifesto-inner{grid-template-columns:55px 1fr}.manifesto-link{grid-column:2;justify-self:start}.detail-interlude{gap:6%}}
@media(max-width:700px){.hero h1{font-size:clamp(47px,11vw,76px)}.hero-photo{background-position:57% center}.manifesto-inner{grid-template-columns:1fr;gap:15px;padding-top:45px;padding-bottom:50px}.manifesto-mark{font-size:37px}.manifesto-link{grid-column:1;margin-top:10px}.detail-interlude{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:80px}.detail-photo img{height:350px}.detail-photo{box-shadow:12px 12px 0 #e9dfd1}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}.detail-photo img,.project-card,.service-grid article{transition:none}}

/* 2.2 — expressive yet restrained service cards */
.service-grid{gap:16px;border:0}
.service-grid article{position:relative;isolation:isolate;overflow:hidden;min-height:315px;padding:36px 34px;border:1px solid #d7d1c7;background:#f8f6f1;box-shadow:0 8px 22px #222d2610;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s}
.service-grid article::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--accent,#a8794f)}
.service-grid article::after{content:"";position:absolute;right:-52px;top:-65px;width:175px;height:175px;border-radius:50%;background:var(--wash,#e9e0d3);opacity:.75;z-index:-1;transition:transform .4s}
.service-grid article:nth-child(1){--accent:#a8794f;--wash:#ead9c4}
.service-grid article:nth-child(2){--accent:#6f7e73;--wash:#dce4dc}
.service-grid article:nth-child(3){--accent:#b78555;--wash:#f0dfc9}
.service-grid article:nth-child(4){--accent:#8b6d59;--wash:#e7dcd3}
.service-grid article:nth-child(5){--accent:#637b77;--wash:#d7e3df}
.service-grid article:nth-child(6){--accent:#a17b5d;--wash:#e8d9c9}
.service-grid article:hover{transform:translateY(-6px);background:#fffdfa;border-color:var(--accent);box-shadow:0 20px 45px #222d2626}
.service-grid article:hover::after{transform:scale(1.22)}
.service-grid .service-num{font-weight:800;color:#766f64;letter-spacing:.14em}
.service-grid .service-symbol{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--wash);border-radius:50%;color:#423e36;font-size:32px;margin:27px 0 25px}
.service-grid h3{font-size:21px;line-height:1.3;margin-bottom:15px;color:#242d28}
.service-grid p{font-size:14px;color:#565f59;line-height:1.75;max-width:310px}
@media(max-width:570px){.service-grid{gap:14px}.service-grid article{min-height:270px;padding:28px}}

/* v2.4 form safeguards */
.form-consent{display:flex!important;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.5}.form-consent input{width:auto!important;min-width:16px;margin-top:4px;accent-color:#b7895c}.form-honey{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form-status{min-height:1.5em}

/* v2.5 Founder story: documentary photograph and clear role attribution */
.founder-photo{position:relative;min-height:650px;overflow:hidden;background:#252b26}
.founder-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 27%;filter:saturate(.83) contrast(1.03)}
.founder-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(15,22,18,.72));pointer-events:none}
.founder-photo-label{position:absolute;z-index:1;bottom:40px;left:7%;color:#fff;display:flex;flex-direction:column;gap:6px}
.founder-photo-label span{font-size:10px;letter-spacing:.18em;color:#e2c39d}
.founder-photo-label strong{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-.04em}
.founder-photo-label small{font-size:12px;letter-spacing:.08em;color:#f2e6d6}
.founder-story .craft-content>p strong{color:#fff;font-weight:700}
@media(max-width:850px){.founder-photo{min-height:510px}}
@media(max-width:570px){.founder-photo{min-height:420px}.founder-photo-label{bottom:26px}}

/* 2.8 — original stairway photography restored as a visual breathing space */
.stairway-moment{position:relative;overflow:hidden;background:#27352d;height:clamp(420px,55vw,730px)}
.stairway-moment>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 51%}
.stairway-caption{position:absolute;left:5%;bottom:35px;background:rgba(28,42,34,.88);color:#fff;padding:22px 29px;max-width:min(460px,85%)}
.stairway-caption span{display:block;color:#d6b68d;font-size:10px;letter-spacing:.18em;margin-bottom:9px}
.stairway-caption strong{font-size:19px;font-weight:600;line-height:1.4}
@media(max-width:570px){.stairway-moment{height:430px}.stairway-caption{bottom:18px;padding:16px 19px}.stairway-caption strong{font-size:15px}}

/* 3.1: clearer contractor navigation, calmer commercial hierarchy */
.business-strip{background:#f0ebe3;border-bottom:1px solid #d9d1c5}.business-strip-inner{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;gap:25px;align-items:center;padding-top:25px;padding-bottom:25px}.business-strip-inner>div{display:flex;flex-direction:column;gap:7px}.business-strip small{font-size:10px;font-weight:800;letter-spacing:.16em;color:#8b6c4d}.business-strip strong,.business-strip a:not(.strip-cta){font-size:14px;font-weight:800;color:#29332b}.strip-cta{padding:15px 18px;background:#26352d;color:white;font-size:11px;letter-spacing:.05em;font-weight:800;white-space:nowrap}.strip-cta:hover{background:#946b45}.hero{min-height:700px;height:90svh}.hero h1{font-size:clamp(58px,7.3vw,118px)}.hero-content>p{max-width:560px}.manifesto-inner{padding-top:72px;padding-bottom:72px}.section{padding-top:95px;padding-bottom:95px}.founder-story{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:unset;align-items:stretch}.founder-photo{min-height:700px;background:#1b2620;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 35px 118px;overflow:hidden}.founder-photo img{position:relative;inset:auto;width:auto;max-width:100%;height:auto;max-height:600px;object-fit:contain;object-position:center;filter:none;box-shadow:0 20px 45px #0003}.founder-photo:after{display:none}.founder-photo-label{bottom:27px;left:8%}.founder-story .craft-content{padding:80px clamp(35px,5vw,85px)}.founder-story .craft-content>p:not(.eyebrow){max-width:610px;font-size:15px;line-height:1.85;margin-bottom:24px}.founder-story .craft-content h2{font-size:clamp(38px,4vw,63px);margin-bottom:35px}.founder-story .craft-content>p:nth-of-type(3){border-left:2px solid #c39a70;padding-left:23px;color:#f1e6d6;font-size:17px}.header nav{gap:23px}.service-grid article{min-height:260px}
@media(max-width:1000px){.business-strip-inner{grid-template-columns:repeat(2,1fr)}.founder-story{grid-template-columns:1fr}.founder-photo{min-height:unset;padding:45px 20px 118px}.founder-photo img{max-height:620px}.founder-story .craft-content{padding:65px 7%}}
@media(max-width:570px){.business-strip-inner{grid-template-columns:1fr 1fr;gap:20px}.strip-cta{grid-column:1/-1;text-align:center}.business-strip strong,.business-strip a:not(.strip-cta){font-size:12px}.hero{height:auto;min-height:700px}.founder-photo{padding:25px 15px 112px}.founder-photo img{max-height:none;width:100%}.founder-photo-label strong{font-size:29px}.founder-story .craft-content{padding:65px 7%}.founder-story .craft-content>p:nth-of-type(3){font-size:16px}}

/* 3.2 brand identity: architectural Option B */
.brand-logo-mark{width:54px;height:51px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 2px #0004)}
.brand-words{font-family:Manrope,Arial,sans-serif;font-size:16px;letter-spacing:.11em;font-weight:900;white-space:nowrap}
.brand-words b{color:#e7a07c;font-weight:900}
.brand-words small{font-size:8px;letter-spacing:.16em;color:#e7e9e5}
.footer-brand img{width:205px;height:auto;max-width:100%}
@media(max-width:540px){.brand-logo-mark{width:43px;height:42px}.brand-words{font-size:12px;letter-spacing:.06em}.brand-words small{font-size:6.5px;letter-spacing:.1em}.footer-brand img{width:175px}}

/* 3.4: exact approved logo artwork, no SVG reinterpretation */
.brand-logo-mark{width:70px;height:62px;object-fit:contain;background:#fff;border-radius:4px;padding:3px;filter:none}
.footer-brand img{width:255px;height:auto;background:#fff}
@media(max-width:570px){.brand-logo-mark{width:52px;height:49px;padding:2px}.footer-brand img{width:220px}}

/* 3.5: official English wordmark; do not translate brand */
.brand-company{display:block;white-space:nowrap;font-weight:900;letter-spacing:.075em}
.brand-words{display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:clamp(12px,1.12vw,16px);letter-spacing:0}
.brand-words b{color:#e7a07c}
.brand-words small{display:block;font-size:clamp(6px,.6vw,8px);letter-spacing:.12em;margin:0}
@media(max-width:570px){.brand-words{font-size:12px}.brand-words small{font-size:6px;letter-spacing:.07em}.header{gap:10px}}
