/* International Caulking — bronze, marble and charcoal */
:root{--navy:#201b18;--ink:#29221d;--muted:#70665e;--sand:#d4a278;--paper:#f7f4ef;--line:#ddd3c7;--copper:#925c39;--charcoal:#171614}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
header{background:var(--charcoal);border-bottom:1px solid #5e4433;padding:6px 5%;height:138px;color:#eee7de;gap:30px}
.brand-logo{width:193px;height:125px;object-fit:contain}.header-right{gap:40px}nav{font-size:11px;letter-spacing:1.4px;gap:30px}nav a{padding:10px 0;transition:color .2s}nav a:hover{color:var(--sand)}
.language select{background:#211f1c;border:1px solid #6d5542;color:#f5ece1;padding:12px 10px;font-size:12px}.language select option{background:#211f1c;color:white}
.button{background:var(--charcoal);border-color:var(--charcoal);color:#f7f1e9;padding:18px 25px;font-size:11px;letter-spacing:1px;min-height:51px}.button:hover{background:#493526;border-color:#493526}header>.button{background:transparent;border-color:#ae7c56;color:#e3b991;max-width:220px}.button.light{background:#b58259;border-color:#b58259;color:#181512}.button.light:hover{background:#d1a178;border-color:#d1a178}
.hero{background:#1d1a17;min-height:690px;grid-template-columns:46% 54%;border-bottom:1px solid #5e4433}.hero-copy{background:radial-gradient(ellipse at 3% 100%,#3c2b20 0,transparent 64%),#1d1a17;padding:65px 11% 65px 12.2%;color:#f5eee4}.hero .eyebrow{color:#d4a278;line-height:1.8;font-size:9px;letter-spacing:2.5px}.eyebrow:before{width:32px}.hero h1{font-size:clamp(54px,5.4vw,86px);line-height:1.04;letter-spacing:-2.6px;margin:30px 0}.hero-copy>p{color:#c2b8ac;font-size:14px;line-height:1.9;max-width:370px}.hero .button{background:linear-gradient(110deg,#95603c,#c3956a);border:1px solid #c49872;color:#fff8f0;min-width:200px;text-align:center;justify-content:center}.hero .button:hover{background:#b98960}.hero .micro{color:#bdaa96;font-size:9px;letter-spacing:2.5px;margin-top:36px}.hero-image{min-height:650px;background:#443426}.hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#17110c78 0,transparent 40%)}.hero-image img{filter:saturate(.75) contrast(1.03);object-position:60% center}.image-note{z-index:1;background:transparent;padding:0;border-left:1px solid #d4a278;padding-left:18px;left:30px;bottom:34px;max-width:58%;backdrop-filter:none;line-height:1.7;font-size:10px;color:#f4eee7}.image-note b{color:#e3b68c;font-size:9px}.illustrative{background:#21180f9c;border:1px solid #d5b18c50;color:#efe3d6;z-index:1;letter-spacing:.5px;font-size:8px}.carousel-controls{z-index:2;bottom:32px;right:25px;gap:6px}.carousel-controls button{background:#211810b0;border-color:#d2a37580;width:34px;height:34px}.carousel-controls button:hover{background:#885c3b}.carousel-controls .dot{width:7px;height:7px}.carousel-controls .dot[aria-current="true"]{background:#e3b88e}
.strap{background:#e8dfd3;color:#5a4130;padding:24px 8%;justify-content:center;gap:100px;font-size:10px;letter-spacing:2.5px;border-bottom:1px solid #d4c4b0}.strap span:before{color:#996846}
section{padding-top:100px;padding-bottom:100px}.eyebrow{color:var(--copper);font-size:9px;letter-spacing:2.8px}.section-top{margin-bottom:52px}h2{font-size:clamp(37px,3.7vw,58px);line-height:1.13;letter-spacing:-1.6px}h3{color:#35271e}.section-top p,.service p,.detail p,.step p,details p{color:var(--muted)}.number{color:var(--copper);font-size:10px;letter-spacing:1.7px}.services{border-color:#c9b5a0}.service{padding-top:36px;padding-bottom:38px}.service+.service{border-color:#d9cbbb}.service h3{font-size:31px;margin-top:28px}.service p{font-size:14px;line-height:1.9}.tags{color:#8b664b;font-size:9px;letter-spacing:1.5px}.detail{padding-top:25px;padding-bottom:100px;gap:10%}.detail-image{height:490px}.detail-image img{filter:saturate(.7);transform:scale(1.2)}.checklist li{border-color:#d8cbbb;font-size:12px;padding:17px 0}.checklist span{color:var(--copper)}
.process{background:#25211d;color:#f1e8dc;border-top:1px solid #856347;border-bottom:1px solid #856347}.process .eyebrow,.process .number{color:#c89a71}.process-head p,.process .step p{color:#c0b4a5}.process h3{color:#f3e7d7}.step{border-top-color:#82654d}.step h3{font-size:25px}.process-head p{line-height:1.9}.steps{gap:34px;margin-top:60px}.step p{font-size:13px;line-height:1.9}
.faq{background:#f1ede6;gap:10%}details{border-color:#d7c9b8;padding:24px 0}summary{font-size:14px;line-height:1.6}summary:after{color:var(--copper);font-size:19px}details p{line-height:1.85}
.contact{background:radial-gradient(ellipse at 95% 0%,#fff 0,transparent 55%),#e9e3db;color:#29221d;border-top:1px solid #d0bdab;gap:10%}.contact .eyebrow{color:var(--copper)}.contact h2{font-size:clamp(39px,4vw,59px)}.contact p{color:#65584e}.contact .note{color:#756456;line-height:1.9}.contact a[href^="mailto:"]{color:#875432!important;font-size:clamp(16px,1.6vw,23px)!important}.contact label{font-size:10px;letter-spacing:1px;color:#5b4637}.contact input,.contact select,.contact textarea{color:#2b211a;border-color:#ad9680;font-size:13px;padding:14px 0}.contact input::placeholder,.contact textarea::placeholder{color:#847263}.contact select option{color:#2b211a;background:#f4eee7}.contact .button.light{background:#29211b;border-color:#29211b;color:#f5e7d8}.contact .button.light:hover{background:#815637;border-color:#815637}.contact .result{border-color:#bca68f;background:#f6f0e7}.contact .result p{color:#594738}.contact .result a{color:#815637}
footer{background:var(--charcoal);color:#c8b7a2;padding-top:35px;padding-bottom:35px;border-top:1px solid #8e6745;font-size:10px;letter-spacing:.5px}.brand-footer{width:180px;height:120px}.footer-links a:hover{color:#e5b88e}
@media(min-width:1600px){.hero{min-height:760px}.hero-image{min-height:760px}}
@media(max-width:1100px){header{gap:20px;padding:6px 4%}.header-right{gap:25px}nav{gap:20px;letter-spacing:.7px}.hero-copy{padding-left:11%;padding-right:9%}.hero h1{font-size:66px}.hero{min-height:650px}.hero-image{min-height:650px}.hero .eyebrow{letter-spacing:1.5px}header>.button{display:none}}
@media(max-width:750px){header{height:116px;min-height:116px;padding:5px 5%}.brand-logo{width:159px;height:104px}.header-right{gap:20px}.hero{display:grid;grid-template-columns:1fr;min-height:0}.hero-copy{padding:57px 8% 55px}.hero h1{font-size:66px;max-width:530px}.hero-copy>p{max-width:480px}.hero-image{min-height:470px}.hero .micro{margin-top:27px}.strap{gap:40px;font-size:9px;padding:23px 6%}section{padding-top:70px;padding-bottom:70px}.detail{padding-bottom:70px}.detail-image{height:420px}.process-head p{max-width:350px}.steps{gap:30px 25px}h2{font-size:43px}.contact{gap:40px}.brand-footer{width:155px;height:103px}}
@media(max-width:620px){header{height:110px;min-height:110px}.brand-logo{width:151px;height:99px}.language select{width:118px;min-width:0;padding:11px 7px}.hero-copy{padding:42px 7% 45px}.hero h1{font-size:58px;letter-spacing:-2px;margin:25px 0}.hero-copy>p{font-size:14px}.hero-image{min-height:390px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.strap{gap:25px;font-size:8px;letter-spacing:1.5px;padding:22px 5%}.image-note{left:22px;bottom:85px;max-width:80%}.carousel-controls{left:20px;right:auto;bottom:22px}.illustrative{font-size:7px;max-width:90%}.service h3{font-size:29px}.services .service+.service{border-left:0}.detail-image{height:350px}.step h3{font-size:23px}.contact h2{font-size:43px}.contact .note{font-size:11px}.contact a[href^="mailto:"]{font-size:20px!important}footer{gap:23px}.brand-footer{width:160px;height:107px}h2{font-size:40px}}

/* White header for logo and navigation contrast. */
header{background:#fff;color:#29221d;border-bottom-color:#ddd3c7}
header nav a:hover{color:#925c39}
header .language select{background:#fff;color:#29221d;border-color:#b8a38f}
header .language select option{background:#fff;color:#29221d}
header>.button{background:#fff;color:#805031;border-color:#925c39}
header>.button:hover{background:#f3ebe3;color:#633d25;border-color:#805031}

/* Cream framing, matching the services section. */
header,footer{background:var(--paper);color:var(--ink);border-color:var(--line)}
header .language select,header .language select option,header>.button{background:var(--paper)}
footer .footer-links a:hover{color:var(--copper)}
footer>span{color:#66574a}

/* Fluid layouts for desktop, tablet and phone, in either orientation. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper)}
body{width:100%;max-width:1920px;margin-inline:auto}
img{max-width:100%}
.hero>*,.section-top>*,.services>*,.detail>*,.steps>*,.faq>*,.contact>*,.form-row>*{min-width:0}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
.hero{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
.hero h1{font-size:clamp(48px,5.1vw,86px)}
section{padding-inline:clamp(24px,7vw,134px)}
.contact input,.contact select,.contact textarea{font-size:16px;min-height:48px;max-width:100%}
.contact #email{font-size:14px!important;color:#f5e7d8!important;line-height:1.6}
.button{line-height:1.5;white-space:normal;text-align:center}
header nav a,.footer-links a{display:inline-flex;align-items:center;min-height:44px}
header .language select{min-height:44px}
.carousel-controls{gap:4px;max-width:calc(100% - 40px)}
.carousel-controls button{width:44px;height:44px;flex:0 0 auto;touch-action:manipulation}
.carousel-controls .dot{position:relative;width:26px;height:44px;margin:0;background:transparent;border:0;border-radius:0}
.carousel-controls .dot[aria-current="true"]{background:transparent}
.carousel-controls .dot:after{content:'';position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff80}
.carousel-controls .dot[aria-current="true"]:after{background:#e3b88e}
.image-note{bottom:98px;max-width:calc(100% - 60px)}
.illustrative{max-width:calc(100% - 36px);line-height:1.6}
footer{gap:24px 36px;flex-wrap:wrap}.footer-links{gap:14px 25px;flex-wrap:wrap}
@media(min-width:1600px){.hero-copy{padding-top:85px;padding-bottom:85px}.hero-copy>p{max-width:460px;font-size:16px}.section-top p,.detail p,.service p{font-size:16px}}
@media(min-width:751px) and (max-width:1100px){header{height:auto;min-height:120px;gap:20px}.header-right{gap:20px}header nav{gap:18px}header nav a{font-size:12px}.brand-logo{width:170px;height:113px}.hero-copy{padding:48px 9%}.hero-image{min-height:580px}.hero{min-height:580px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{gap:6%}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:54px 7%}.hero h1{font-size:clamp(45px,7.5vw,68px);max-width:700px}.hero-copy>p{max-width:600px}.hero-image{height:clamp(360px,56vw,520px);min-height:0}.section-top{gap:30px}.detail{gap:6%}.detail-image{height:380px}.contact{grid-template-columns:1fr;gap:36px}.contact>div{max-width:640px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.faq{gap:6%}.process-head{gap:30px}.process-head>*{min-width:0}.process-head p{max-width:280px}}
@media(max-width:750px){header{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:0;padding:8px 6% 0;gap:0 14px}.brand{grid-column:1;grid-row:1;justify-self:start}.brand-logo{width:156px;height:104px}.header-right{display:contents}header .language{grid-column:2;grid-row:1}header .language select{width:120px;min-width:0}header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;flex-wrap:wrap;gap:5px 28px;border-top:1px solid var(--line);width:100%;padding:5px 0}header nav a,header nav a:nth-child(2),header nav a:last-child{display:inline-flex;font-size:12px;letter-spacing:.3px}header>.button{display:none}.section-top,.detail,.faq{grid-template-columns:1fr;gap:30px}.section-top p{max-width:600px}.detail-image{height:clamp(300px,60vw,440px)}.process-head{display:block}.process-head p{margin-top:24px;max-width:550px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.services{grid-template-columns:1fr}.service,.service+.service{padding:30px 0;border-left:0;border-bottom:1px solid var(--line)}.service:last-child{border-bottom:0}.service p{min-height:0}.strap{flex-wrap:wrap;gap:15px 30px}.contact{gap:35px}.contact h2{font-size:clamp(36px,6.2vw,46px)}footer{display:grid;grid-template-columns:auto 1fr;gap:20px 30px;align-items:center}.footer-links{grid-column:1/-1;justify-content:space-between}}
@media(max-width:480px){header{padding-inline:5%;gap:0 10px}.brand-logo{width:145px;height:97px}header .language select{width:110px;font-size:12px}header nav{gap:3px 20px}.hero-copy{padding:40px 7% 44px}.hero h1{font-size:clamp(40px,11.5vw,54px);line-height:1.08;letter-spacing:-1.5px}.hero-image{height:365px;min-height:0}section{padding-inline:7%;padding-top:60px;padding-bottom:60px}.detail{padding-top:0}.section-top{margin-bottom:30px}.form-row{grid-template-columns:1fr;gap:0}.contact label{font-size:12px}.contact .button{width:100%;justify-content:center}.contact a[href^="mailto:"]{font-size:18px!important}.contact #email{font-size:14px!important}.steps{gap:28px 20px}.step h3{font-size:22px}.step p{font-size:13px}h2{font-size:36px;letter-spacing:-1px}.image-note{left:20px;bottom:88px;font-size:10px}.carousel-controls{left:20px;right:auto;bottom:20px}.illustrative{font-size:8px}.strap{letter-spacing:1px;gap:13px 22px}.strap span{line-height:1.8}footer{grid-template-columns:1fr;justify-items:center;text-align:center;padding:26px 7%}.brand-footer{width:175px;height:117px}.footer-links{grid-column:1;justify-content:center;gap:5px 20px}footer>span{line-height:1.7}.contact .result{padding:18px}}
@media(max-width:360px){.steps{grid-template-columns:1fr}.hero .eyebrow{letter-spacing:1px}.hero .button{min-width:0;width:100%}.brand-logo{width:135px;height:90px}}
