/* Warm paper, graphite and real construction photos; shared across all services. */
:root{--muted:#595d55;--contact-green:#185b3d}body{background:#fcfbf8}.photo-open{overflow:hidden}
.pilot-bar{background:#eeeadf;color:#5c584f;font-size:11px;letter-spacing:.025em}.pilot-bar .wrap{min-height:32px}.pilot-bar a{font-weight:600;text-decoration:none;line-height:32px}
.site-header{height:102px;position:relative}.site-header nav{gap:25px}.site-header nav>a{min-height:44px;display:inline-flex;align-items:center}
.site-header .button svg,.hero-contact svg,.contact-number svg,.footer-phone svg,.contact-dock svg,.whatsapp-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero-background{background:radial-gradient(ellipse at 92% 65%,#e8deca 0,transparent 48%),linear-gradient(125deg,#faf9f5,#f0ebdf)}
.hero,.portfolio-page .portfolio-hero{gap:54px;padding-top:40px;padding-bottom:62px;min-height:0;grid-template-columns:1.13fr 1fr;align-items:center}.hero-copy{min-width:0}
.hero h1,.portfolio-page .hero h1{font-size:clamp(36px,4.05vw,58px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance;margin-bottom:23px;hyphens:none}
@media(min-width:801px){.portfolio-page .hero:not(.hub-hero) h1{font-size:clamp(36px,3.5vw,50px)}}
.hero-copy>p,.portfolio-page .hero-copy>p{font-size:17px;line-height:1.7;max-width:590px;margin-bottom:25px;color:#5d6057}
.breadcrumb,.portfolio-page .breadcrumb{font-size:11px;line-height:1.7;margin-bottom:24px;color:#92502e;display:block;max-width:95%}
.hero-actions{gap:17px}.hero-actions .button{font-size:14px;padding:15px 23px;min-height:51px}.hero-actions .text-link{font-size:13px;min-height:44px}
.hero-contact{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:19px;color:#57584f;font-size:13px}.hero-contact>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500}.hero-contact>a:hover{color:#9b470d}.hero-contact>span{font-size:11px;color:#7c7b72}.hero-contact svg{width:17px;height:17px}
.hero-note,.portfolio-page .hero-note{font-size:11px;line-height:1.7;margin-top:12px;padding-top:14px;border-top:1px solid #d9d0be}
.service-photo,.photo-hero{margin:0;position:relative;align-self:center;width:100%;max-width:none}.service-photo img,.hero-photo{height:500px;width:100%;object-fit:cover;border-radius:8px 55px 8px 8px;box-shadow:0 24px 48px -30px #30291e70}
.service-photo figcaption,.photo-hero figcaption{font-size:10px;letter-spacing:.04em;color:#666354;margin:13px 0 0;text-align:left;display:flex;align-items:center;gap:9px}.service-photo figcaption:before,.photo-hero figcaption:before{content:'';width:18px;height:1px;background:#a26e43}
.architectural-scene{border-radius:8px 55px 8px 8px;background:linear-gradient(150deg,#f9f6ee,#e5dbc7);border:1px solid #d7ccb7}
.eyebrow{color:#795f41}.section-space{padding-block:76px}.scope-section{padding-top:64px;background:linear-gradient(140deg,#fff,#f6f3eb)}.scope-card{border-color:#e2dacb;border-radius:6px;padding:27px;box-shadow:0 10px 26px -25px #6a573b70}.scope-card.highlighted{background:linear-gradient(135deg,#f6eddb,#e9dcc4)}.scope-card p{color:#5d6057}.scope-foot{padding-bottom:36px}.scope-card svg.mono-icon{border-radius:12px;background:#97744f}
.project-gallery,.photo-section{padding-block:67px}.project-gallery .section-intro h2{font-size:34px}.project-photo-grid{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo-grid:has(>figure:last-child:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-zoom,.photo-grid img{border-radius:6px}.photo-zoom img,.photo-grid img{transition:transform .35s ease;object-fit:cover}.photo-zoom>span{background:#242620db;color:#fff;font-size:10px;backdrop-filter:blur(4px)}.project-photo-grid figcaption{padding:17px 0 0}.project-photo-grid h3{font-size:21px;margin-bottom:8px}.project-photo-grid p{font-size:13px}.photo-grid img{height:240px}
.customer-start{background:linear-gradient(120deg,#f3ede0,#e9e3d5);padding-block:66px;border-top:1px solid #e2d8c6}.customer-heading{gap:55px;margin-bottom:34px}.customer-heading h2{font-size:35px}.customer-heading p{font-size:15px;line-height:1.8}.customer-steps{gap:32px}.customer-steps li{border-top:1px solid #c9b99a}.customer-step{font-size:13px;color:#876437}.customer-steps h3{font-size:23px;margin:15px 0 12px}.customer-steps p{font-size:14px;line-height:1.8;color:#575b52}.customer-next{margin-top:26px;padding-top:25px}
.detail-section{background:linear-gradient(130deg,#faf8f3,#f1eadc);padding-block:68px}.topic-section{padding-block:65px}.topic-heading h2,.wall-topic-heading h2{font-size:34px}.topic-items h3{font-size:23px}.topic-items p{font-size:15px;line-height:1.8}.topic-layout,.wall-topic-layout{gap:65px}
.case-study{background:linear-gradient(130deg,#33372f,#252a25);color:#f5f2e9;padding-block:65px}.case-study h2{font-size:35px}.case-study .eyebrow{color:#e4b17d}.case-study p{color:#d2d4c9}.case-study .text-link{color:#f1c390;border-color:#8b7a5a}.case-study .wall-editorial-photo figcaption,.case-study .wall-editorial-photo small{color:#c1c3b6}.case-details article{border-color:#717564}.case-details h3{color:#f4ede0}
.customer-price{padding-block:62px}.customer-price h2{font-size:34px}.customer-price-layout{gap:65px}.customer-price h3{font-size:22px}.customer-price p{font-size:15px}.faq-section{padding-block:65px}.faq-layout summary{min-height:65px}.faq-layout details p{font-size:15px;line-height:1.8}.faq-layout{gap:60px}
.service-directory{padding-top:66px}.directory-grid{gap:22px}.service-tile{border-radius:7px;padding:25px;background:linear-gradient(140deg,#fff,#f4efe4);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.service-tile svg{width:49px;height:49px;padding:10px;border-radius:10px;margin-bottom:20px}.service-tile h3{font-size:25px}.service-tile .service-kind{font-size:9px}.service-tile p{color:#5d6057}.tile-photo{width:calc(100% + 50px);max-width:none;height:190px;object-fit:cover;margin:-25px -25px 24px;order:-1}.service-tile:has(.tile-photo) .tile-number{top:205px}.service-tile:has(.tile-photo) svg{display:none}.tile-link{min-height:44px}.related-card{border-radius:5px;font-size:17px;min-height:88px}
.inquiry{background:radial-gradient(ellipse at 5% 80%,#3b4033,transparent 65%),#242824;padding-block:80px}.inquiry-grid{gap:80px;grid-template-columns:1fr 1fr;align-items:center}.inquiry-copy h2,.portfolio-page .inquiry-copy h2{font-size:40px;line-height:1.17}.inquiry-copy>p{font-size:16px;line-height:1.8}
.contact-number{display:flex;align-items:center;gap:15px;margin-top:34px;font-size:36px;line-height:1.3;font-weight:500;letter-spacing:-.025em;color:#f5c48c;width:fit-content;min-height:50px}.contact-number svg{width:27px;height:27px}.inquiry-copy .contact-number-note{font-size:12px;color:#b7bcad;margin:8px 0 0}.contact-reassurance{display:flex;gap:18px;align-items:flex-start;margin-top:32px;padding-top:24px;border-top:1px solid #5a604f}.contact-reassurance>span{color:#e8b685;font-size:11px;margin-top:4px}.contact-reassurance p{font-size:14px;color:#c9cbbf;margin:0}
.contact-compose{padding:34px;border:1px solid #e3dccd;border-radius:8px;background:linear-gradient(135deg,#fffcf7,#f0ebdf);color:#30362e}.contact-compose>.eyebrow{color:#8a6241}.contact-compose h3{font-size:28px;line-height:1.2;margin-bottom:14px}.contact-compose>p{font-size:14px;line-height:1.7;margin-bottom:25px;color:#63675d}.contact-compose form,.inquiry .contact-compose form{padding:0;background:none;border:0;box-shadow:none}.contact-compose label{font-size:13px}.contact-compose input,.contact-compose textarea{font-size:16px;border-radius:4px;border-color:#cecaba;background:#fffefb;padding:12px}.contact-compose input::placeholder,.contact-compose textarea::placeholder{font-size:13px;color:#787c71}.contact-compose .optional{font-size:11px;color:#6b6e63}.contact-compose .form-privacy{font-size:11px;line-height:1.75;color:#666b5f;margin:13px 0 0}.whatsapp-button{background:var(--contact-green);color:#fff;width:100%;gap:10px;margin-top:24px;min-height:52px;font-size:13px}.whatsapp-button:hover{box-shadow:0 8px 20px #185b3d25}.whatsapp-button svg{width:19px;height:19px}.whatsapp-button svg:last-child{margin-left:auto;width:16px}
.footer-phone{margin-left:auto;display:inline-flex;align-items:center;gap:16px;font-size:20px;font-weight:500;min-height:44px}.footer-bottom a{min-height:32px;display:inline-flex;align-items:center}.contact-dock{display:none}
.company-details{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-bottom:26px;font-size:12px;line-height:1.9;color:#625f54}.company-details span,.company-details strong{display:block}.company-details strong{font-weight:500;color:#41463b}
.photo-dialog{border:0;border-radius:8px;background:#21251f;color:#fff;padding:20px;width:min(1100px,calc(100vw - 32px));max-height:94dvh}.photo-dialog::backdrop{background:#121710e8;backdrop-filter:blur(6px)}.photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.photo-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:15px}.photo-dialog-bar p{font-size:12px;color:#dedfd5;margin:0}.photo-dialog button{border:1px solid #7d8172;background:transparent;color:#fff;min-width:44px;min-height:44px;border-radius:24px;padding:8px 15px}.photo-dialog img{max-height:70dvh;width:100%;height:100%;object-fit:contain}.photo-dialog-caption{font-size:13px;color:#dedfd5;margin:0;line-height:1.6}.photo-dialog-controls{display:flex;gap:10px}
.price-variant .hero h1{font-size:clamp(36px,3.8vw,52px)}.price-variant .hero-price{padding:14px 18px;background:#ece1cd;border-left:2px solid #ae7748;border-radius:0 5px 5px 0;margin-top:21px}.price-variant .price-line strong{font-size:32px}.price-variant .hero-photo{height:550px}.price-variant .hero-copy>.price-draft-note{font-size:13px;line-height:1.65}.price-variant .hero-copy>.price-exclusions{font-size:11px}
@media(hover:hover){.photo-zoom:hover img{transform:scale(1.025)}.photo-zoom:hover>span{background:#95683b;color:#fff}.service-tile:hover{transform:translateY(-3px);box-shadow:0 15px 25px -20px #53453455;border-color:#bc9e72}.contact-number:hover,.footer-phone:hover{color:#e98944}}
@media(max-width:1100px){.hero,.portfolio-page .portfolio-hero{gap:28px}.hero h1,.portfolio-page .hero h1{font-size:42px}.hero-actions{gap:12px}.hero-actions .button{font-size:13px;padding-inline:18px}.service-photo img,.hero-photo{height:470px}.inquiry-grid{gap:40px}.contact-number{font-size:30px}.contact-compose{padding:28px}.topic-layout,.wall-topic-layout{gap:35px}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-tile{padding:22px}.service-tile h3{font-size:22px}.tile-photo{width:calc(100% + 44px);margin:-22px -22px 22px;height:160px}.service-tile:has(.tile-photo) .tile-number{top:176px}}
@media(max-width:800px){.site-header{height:88px}.site-header nav{top:80px!important;left:-20px;right:-20px}.site-header nav>a{display:block}.site-header nav>a.button{display:flex}.hero,.portfolio-page .portfolio-hero{grid-template-columns:1fr;padding-top:24px;padding-bottom:40px;gap:26px}.hero h1,.portfolio-page .hero h1,.price-variant .hero h1{font-size:clamp(32px,5.5vw,46px);max-width:620px}.hero-copy{max-width:none}.hero-copy>p,.portfolio-page .hero-copy>p{font-size:16px}.hero-contact{margin-top:10px;gap:20px}.service-photo,.photo-hero{max-width:none;margin:0}.service-photo img,.hero-photo,.price-variant .hero-photo{height:360px;border-radius:5px 38px 5px 5px}.hero-note,.portfolio-page .hero-note{max-width:none;margin-top:8px}.hero-contact>span{display:none}.project-photo-grid,.project-photo-grid:has(>figure:last-child:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo-grid>figure:last-child:nth-child(3){grid-column:1/-1}.project-photo-grid>figure:last-child:nth-child(3) img{aspect-ratio:2/1}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-grid{grid-template-columns:1fr;gap:35px}.contact-number{font-size:35px}.contact-compose{max-width:650px;width:100%}.customer-heading{gap:28px}.customer-heading h2{font-size:31px}.customer-price-layout{gap:30px}.footer-phone{margin-left:0}.section-space{padding-block:54px}}
@media(max-width:600px){body{padding-bottom:75px}.wrap{width:calc(100% - 40px)}.pilot-bar .wrap{font-size:10px;min-height:30px}.wordmark{font-size:35px}.wordmark small{font-size:6px}.hero h1,.portfolio-page .hero h1,.price-variant .hero h1{font-size:35px;line-height:1.15;text-wrap:pretty}.hero-copy h1 br{display:none}.breadcrumb,.portfolio-page .breadcrumb{font-size:10px;margin-bottom:20px}.hero-actions .button{font-size:13px;min-height:49px}.hero-actions .text-link{font-size:12px}.hero-contact{font-size:12px;gap:20px}.hero-note,.portfolio-page .hero-note{font-size:10px}.service-photo img,.hero-photo,.price-variant .hero-photo{height:300px}.portfolio-page .hero-copy>p,.hero-copy>p{font-size:16px;line-height:1.75}.hero-actions{align-items:center}.scope-section{padding-top:48px}.scope-card{padding:22px;grid-template-columns:44px 1fr;gap:0 18px}.scope-card h3,.portfolio-page .scope-card h3{font-size:23px}.scope-card p{font-size:14px}.scope-number{font-size:9px}.scope-card svg.mono-icon{width:44px;height:44px}.section-intro h2,.portfolio-page .section-intro h2,.project-gallery .section-intro h2{font-size:30px;line-height:1.2}.project-gallery,.photo-section{padding-block:48px}.project-photo-grid,.project-photo-grid:has(>figure:last-child:nth-child(3)){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:0 0 20px}.project-photo-grid figure{flex:0 0 86%;scroll-snap-align:start}.project-photo-grid figure:last-child:nth-child(3) img,.photo-zoom img{aspect-ratio:4/3}.project-photo-grid h3{font-size:21px}.project-photo-grid p{font-size:13px}.project-gallery .section-intro>p{font-size:13px}.customer-start{padding-block:48px}.customer-heading{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.customer-heading h2{font-size:30px}.customer-heading p{font-size:15px;line-height:1.8}.customer-steps{gap:23px}.customer-steps h3{font-size:21px}.customer-steps p{font-size:14px}.customer-next{gap:18px}.detail-section,.topic-section,.case-study,.customer-price,.faq-section{padding-block:48px}.topic-heading h2,.wall-topic-heading h2,.case-study h2,.wall-case-layout h2,.customer-price h2{font-size:30px}.topic-items h3{font-size:22px}.topic-items p{font-size:14px;line-height:1.8}.case-lead{font-size:16px}.case-details h3{font-size:22px}.case-role,.case-details p{font-size:14px}.directory-grid{grid-template-columns:1fr;gap:16px}.service-tile{padding:25px}.tile-photo{width:calc(100% + 50px);margin:-25px -25px 22px;height:190px}.service-tile:has(.tile-photo) .tile-number{top:205px}.service-tile h3{font-size:26px}.service-tile p{font-size:14px!important;margin-bottom:17px}.service-tile .service-kind{margin-bottom:10px}.service-tile:not(:has(.tile-photo)){padding-left:84px}.service-tile:not(:has(.tile-photo)) svg{position:absolute;left:22px;top:26px;width:43px;height:43px}.service-tile:not(:has(.tile-photo)) .tile-number{display:none}.service-tile:not(:has(.tile-photo)) h3{font-size:23px}.inquiry{padding-block:55px}.inquiry-copy h2,.portfolio-page .inquiry-copy h2{font-size:33px}.contact-number{font-size:32px}.contact-number-note{font-size:11px!important}.contact-compose{padding:25px 22px}.contact-compose h3{font-size:25px}.contact-compose .eyebrow{font-size:10px}.contact-compose .fields{grid-template-columns:1fr}.contact-compose .whatsapp-button{font-size:12px;padding-inline:15px}.inquiry-grid{gap:32px}.contact-dock{position:fixed;z-index:25;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fcfbf6f5;border-top:1px solid #ddd7c9;backdrop-filter:blur(12px);box-shadow:0 -5px 25px #282a2010}.contact-dock a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;background:#e8e0cf;color:#30352c;border-radius:25px;font-size:13px;font-weight:500}.contact-dock a:last-child{background:var(--contact-green);color:#fff}.contact-dock svg{width:18px;height:18px}.footer-main{align-items:flex-start;gap:20px}.footer-main p{font-size:14px}.footer-phone{font-size:21px}.footer-bottom{font-size:10px}.photo-dialog{padding:13px;width:calc(100vw - 20px)}.photo-dialog-caption{font-size:12px}.photo-dialog-bar p{font-size:11px}.photo-dialog-controls{gap:5px}.photo-dialog button{padding:8px 12px}.price-variant .hero-price{padding:12px 14px}.price-variant .price-line strong{font-size:28px}.price-variant .hero-copy>.price-draft-note{font-size:13px}}
@media(max-width:360px){.hero h1,.portfolio-page .hero h1,.price-variant .hero h1{font-size:31px}.hero-actions .button{font-size:12px;padding-inline:16px}.hero-contact{gap:12px}.hero-contact svg{width:15px}.contact-number{font-size:29px}.contact-compose{padding:22px 18px}.contact-compose .whatsapp-button{font-size:11px;gap:6px}.service-tile:not(:has(.tile-photo)){padding-left:75px}.service-tile:not(:has(.tile-photo)) svg{left:18px}.service-tile:not(:has(.tile-photo)) h3{font-size:22px}}
.contact-email,.contact-whatsapp,.compose-whatsapp{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;font-weight:500}.contact-email{font-size:23px;color:#f5c48c;margin-top:8px;overflow-wrap:anywhere}.contact-whatsapp{font-size:14px;margin-top:18px;color:#e1e4d9}.contact-email svg,.contact-whatsapp svg,.compose-whatsapp svg,.email-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.email-button{width:100%;gap:10px;margin-top:24px;min-height:52px;font-size:14px}.email-button svg:last-child{margin-left:auto;width:17px}.compose-whatsapp{font-size:13px;color:var(--contact-green);margin:15px auto 0}.contact-compose .contact-fields-help{font-size:11px;color:#666b5f;margin:8px 0 21px}.contact-email:hover,.contact-whatsapp:hover{color:#e98944}.compose-whatsapp:hover{text-decoration:underline}@media(max-width:600px){.contact-email{font-size:22px}.contact-compose .email-button{font-size:12px;padding-inline:16px}.contact-compose .contact-fields-help{margin-top:0}}
@media(prefers-reduced-motion:reduce){.photo-zoom img,.service-tile{transition:none!important}.photo-zoom:hover img,.service-tile:hover{transform:none!important}}
/* Direct enquiry delivery: clear states and discreet privacy information. */
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-compose .form-status{font-size:15px;line-height:1.6;padding:15px 17px;border:1px solid #9cb9a2;border-radius:5px;background:#edf5ed;color:#24583a;margin:18px 0}
.contact-compose .form-status.is-error{border-color:#c99a85;background:#fff0e8;color:#833817}
.contact-compose .form-status[hidden]{display:none}
.contact-compose .email-button:disabled{cursor:default;opacity:.75}
.contact-compose .form-data-info{margin:10px 0 20px;font-size:11px;line-height:1.7;color:#666a60;border:0}
.contact-compose .form-data-info summary{font-size:12px;min-height:36px;cursor:pointer;color:#725638;padding:7px 0}
.contact-compose .form-data-info p{font-size:11px;line-height:1.7;margin:10px 0}
