@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171717;--copper:#333333;--paper:#f5f5f5;--line:#dedede}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:white}.brand{font-family:Manrope,sans-serif;font-size:39px;font-weight:800;line-height:1;letter-spacing:-2px}.brand span{color:var(--copper)}.brand small{display:block;font:9px/1.5 'DM Sans',sans-serif;letter-spacing:1.3px;margin-top:8px}nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.navcontact{border:1px solid var(--line);padding:10px 23px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:660px;background:#f5f5f5;color:var(--ink)}.hero-copy{padding:80px 10% 35px 11.5%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 25px;color:var(--copper)}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;letter-spacing:-1.8px;font-weight:500;margin:0}h1{font-size:clamp(38px,4.3vw,65px)}h1 em{font-style:normal;color:#333333}.intro{font-size:17px;max-width:480px;color:#555555;margin:27px 0 32px}.button{display:inline-block;align-self:flex-start;background:var(--copper);color:white;padding:15px 23px;border:0;font:600 14px 'DM Sans',sans-serif;cursor:pointer;line-height:1.5}.button:hover{background:#111111}.hero-bottom{display:flex;gap:25px;border-top:1px solid #dddddd;margin-top:65px;padding-top:22px;font-size:12px;color:#555555}.hero-image{position:relative;min-height:550px;overflow:hidden;background:#eeeeee}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#101010a6)}.image-label{position:absolute;bottom:40px;left:40px;display:flex;gap:20px;align-items:center;z-index:1}.image-label>span{font:700 32px Manrope;border-right:1px solid #ffffff60;padding-right:20px}.image-label p{font-size:14px;line-height:1.5}.section{padding:95px 6%}h2{font-size:clamp(30px,3vw,45px)}.section-top{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:35px;align-items:start;margin-bottom:55px}.section-top p:last-child{margin:0;color:#5a5a5a;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.number{color:var(--copper);font-size:14px}h3{font-size:24px;margin:25px 0 18px;letter-spacing:-.7px}.service-grid p{color:#5a5a5a;font-size:15px;margin-bottom:28px}.service-tag{font-size:10px;letter-spacing:1.3px;font-weight:700}.service-last{background:var(--paper)}.hotel{background:#f5f5f5;color:var(--ink);display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.hotel>div>p:not(.eyebrow){max-width:540px;color:#555555}.hotel-list{align-self:center}.hotel-list>div{border-bottom:1px solid #d8d8d8;display:flex;gap:24px;padding:15px 0}.hotel-list span{color:#333333;font-size:13px;margin-top:19px}.hotel-list p{font-size:19px}.hotel-list small{display:block;font-size:14px;color:#666666;margin-top:5px}.about{display:grid;grid-template-columns:1fr 2.4fr;gap:40px;background:var(--paper)}.about>div{max-width:780px}.about h2{margin-bottom:27px}.about p:not(.eyebrow){color:#5a5a5a}.location{font-size:12px;letter-spacing:2px;font-weight:700;display:block;margin-top:30px}.project{display:grid;grid-template-columns:1fr 1fr;gap:100px}.project p:not(.eyebrow){max-width:450px;color:#5a5a5a}form label{font-size:14px;font-weight:600;display:block;margin-bottom:8px}select,textarea{width:100%;border:1px solid var(--line);padding:13px;font:16px 'DM Sans',sans-serif;color:var(--ink);background:var(--paper);margin-bottom:23px;border-radius:0}textarea{resize:vertical}#result{margin-top:30px}#copy{border:1px solid var(--line);background:white;padding:12px 17px;color:var(--ink);cursor:pointer;font:600 14px 'DM Sans',sans-serif}footer{padding:45px 6%;background:#f5f5f5;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:35px}footer p,footer>span{font-size:13px;color:#555555}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #777777;outline-offset:4px}@media(max-width:900px){header{height:95px}nav{gap:18px}.hero-copy{padding:55px 8%}.hero{min-height:590px}.hero-bottom{flex-direction:column;gap:6px;margin-top:35px}.section-top{grid-template-columns:1fr 2fr}.section-top>p:last-child{grid-column:2}.service-grid{grid-template-columns:repeat(2,1fr)}.hotel,.project{gap:40px}.section{padding:65px 6%}}@media(max-width:620px){header{height:auto;padding:22px 6%;flex-wrap:wrap;gap:25px}.brand{font-size:34px}nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}.navcontact{padding:6px 10px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6%}.hero-image{min-height:360px}.hero-bottom{flex-direction:row;flex-wrap:wrap;gap:20px}.section-top{display:block}.section-top h2{margin-bottom:24px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:28px}.hotel,.about,.project{grid-template-columns:1fr;gap:30px}.hotel-list p{font-size:17px}.section{padding:55px 6%}footer{align-items:flex-start;flex-direction:column;gap:12px}footer p{margin:10px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{display:block;width:148px;height:auto;letter-spacing:normal}.brand small{font-size:9px;letter-spacing:1px}.footer-brand{background:#fff;padding:12px 16px}.image-label .image-brand{border:0;padding:0;background:#fff;line-height:0}.image-brand img{width:90px;height:auto;padding:8px;display:block}@media(max-width:620px){.brand-logo{width:132px}}

/* Light monochrome finish */
header{border-bottom:1px solid var(--line)}.hero{background:#fff}.hero-copy{background:#fff}.hero-image{color:#fff}.hotel{background:#f3f3f3;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hotel-list>div{border-bottom-color:#d8d8d8}footer{background:#f7f7f7;border-top:1px solid var(--line)}.footer-brand{padding:0;background:transparent}.service-grid article{background:#fff}.service-grid .service-last{background:#f6f6f6}.image-label p{color:white}.navcontact:hover,#copy:hover{background:#eee}

.portfolio{background:#fafafa;border-top:1px solid var(--line)}.portfolio>h3{margin:40px 0 24px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-grid figure{margin:0}.photo-open{display:block;padding:0;border:0;width:100%;background:#e9e9e9;cursor:zoom-in;overflow:hidden}.photo-open img{display:block;width:100%;height:340px;object-fit:cover;transition:transform .2s}.photo-open:hover img{transform:scale(1.025)}figcaption{font-size:14px;margin-top:12px;color:#555}#photo-dialog{border:0;max-width:94vw;max-height:94vh;padding:18px;background:white;color:#171717}#photo-dialog::backdrop{background:#000c}#photo-close{display:block;margin:0 0 14px auto;padding:10px 18px;background:#171717;color:#fff;border:0;font:600 14px 'DM Sans',sans-serif;cursor:pointer}#photo-large{display:block;max-width:85vw;max-height:72vh;object-fit:contain;margin:auto}#photo-caption{margin:14px 0 0;font-size:14px}header nav{gap:24px}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header nav{gap:12px}}@media(max-width:620px){.photo-grid{grid-template-columns:1fr}.photo-open img{height:auto;max-height:560px;object-fit:contain}header nav{flex-wrap:wrap;justify-content:flex-start;gap:14px}.portfolio .section-top{margin-bottom:32px}}@media(prefers-reduced-motion:reduce){.photo-open img{transition:none}}

.interior-projects{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.interior-projects>h3{margin:40px 0 24px}.project-story{max-width:780px;color:#555;margin:0 0 28px;font-size:16px}

/* Keep the logo below the caption and out of the hero image positioning. */
.image-label{bottom:24px;flex-direction:column-reverse;align-items:flex-start;gap:12px}.image-label p{margin:0}.hero-image .image-brand img{position:static;display:block;width:90px;height:auto;object-fit:contain;padding:8px}.image-brand{flex-shrink:0}@media(max-width:620px){.image-label{left:24px;bottom:20px}}

.visit-counter{display:inline-block;margin-top:12px;font-size:13px;color:#555}

.contact-details{font-style:normal;margin-top:28px;color:#333}.contact-phone{margin-top:20px}
