:root{--paper:#fff9f6;--cream:#fffdfb;--blush:#f5e6e1;--rose:#a35c4f;--rose-dark:#7d4038;--ink:#27353b;--muted:#5e686b;--line:#e9cfc7;--serif:Italiana,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}.skip-link{position:absolute;top:-100px;left:16px;z-index:50;padding:8px;background:var(--cream)}.skip-link:focus{top:12px}.site-header{height:90px;padding:0 clamp(22px,5.5vw,95px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,249,246,.98);border-bottom:1px solid var(--line);position:relative;z-index:10}.wordmark{text-decoration:none;display:flex;flex-direction:column;line-height:1}.wordmark-title,.footer-name{font:46px/1 var(--serif);color:var(--rose-dark)}.wordmark-sub{font-size:11px;letter-spacing:.35em;color:var(--muted);margin-top:5px}.site-header nav{display:flex;gap:clamp(14px,2.4vw,36px);align-items:center}.site-header nav a{font-size:14px;text-decoration:none;font-weight:600}.site-header nav a:hover,.text-link:hover,.footer-links a:hover{color:var(--rose)}.site-header nav .nav-contact{border:1px solid var(--rose);color:var(--rose-dark);padding:8px 18px}.menu-button{display:none;background:none;border:1px solid var(--rose);color:var(--ink);padding:7px 13px}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:640px;max-width:1720px;margin:auto;align-items:center;gap:clamp(20px,5vw,90px);padding:45px clamp(22px,5.5vw,95px) 72px}.hero-art{position:relative;background:var(--cream);border:1px solid #ecd2ca;box-shadow:0 24px 70px rgba(125,64,56,.09);overflow:hidden;aspect-ratio:1.18;display:grid;place-items:center}.hero-art:before{content:'';position:absolute;inset:11px;border:1px solid #e9cfc7;pointer-events:none}.hero-art img{display:block;width:100%;height:100%;object-fit:contain}.hero-copy{max-width:635px}.eyebrow{font-size:12px;color:var(--rose-dark);font-weight:700;letter-spacing:.21em;text-transform:uppercase;margin:0 0 20px}.hero h1,h2{font:clamp(50px,5.5vw,92px)/1.02 var(--serif);font-weight:400;letter-spacing:-.015em;margin:0 0 24px}.hero h1 em,h2 em{color:var(--rose-dark);font-style:normal}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:570px}.hero-notice{background:#fff;box-shadow:inset 4px 0 var(--rose);padding:13px 18px;font-size:16px!important;margin:26px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:52px;padding:12px 22px;display:inline-flex;align-items:center;gap:30px;justify-content:center;text-decoration:none;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.025em;border:1px solid var(--rose)}.button-primary{background:var(--rose-dark);color:#fff;border-color:var(--rose-dark)}.button-primary:hover{background:#603029}.button-outline{background:transparent;color:var(--rose-dark)}.button-outline:hover{background:var(--blush)}.ribbon{background:var(--rose-dark);color:#fff;display:flex;justify-content:center;align-items:center;gap:clamp(12px,3vw,50px);padding:16px;letter-spacing:.24em;font-size:14px;font-weight:600;flex-wrap:wrap}.diamond{color:#f8d6c8;font-size:22px}.section{padding:105px clamp(22px,6vw,105px)}.section-heading{max-width:760px;margin-bottom:48px}.section-heading h2,.dry-heading h2,.about h2,.inquiry h2,.faq h2{font-size:clamp(47px,5.1vw,77px)}.section-heading>p:last-child{max-width:660px;color:var(--muted);font-size:18px}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:var(--paper);border:1px solid var(--line);padding:38px;min-height:290px}.card-number{color:var(--rose);font:26px var(--serif)}h3{font:34px/1.15 var(--serif);font-weight:400;margin:30px 0 15px;color:var(--rose-dark)}.service-card p,.dry-panel p,.step-grid p,.about-text p{color:var(--muted)}.dry-section{background:var(--blush);padding:105px clamp(22px,6vw,105px)}.dry-heading{text-align:center;max-width:720px;margin:auto auto 45px}.dry-heading>p:last-child{font-size:18px;color:var(--muted)}.dry-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px;margin:auto}.dry-panel{background:var(--cream);padding:clamp(30px,4vw,58px);border-top:4px solid var(--rose)}.panel-label{font-size:12px;letter-spacing:.2em;color:var(--rose-dark);font-weight:700}.dry-panel h3{font-size:49px;margin:18px 0}.dry-panel p{font-size:17px}.dry-panel strong{color:var(--ink)}.dry-footnote{text-align:center;margin:28px 0 0;font-size:16px}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,105px);align-items:center;background:#fff}.about-photo{min-height:560px;background:linear-gradient(0deg,rgba(105,45,35,.12),rgba(105,45,35,.12)),url('assets/final-pour-hero.png') 75% center/cover}.about-text{max-width:630px}.about-text p{font-size:17px}.text-link{display:inline-block;margin-top:18px;font-weight:700;color:var(--rose-dark);text-decoration-thickness:1px;text-underline-offset:6px}.process{background:var(--paper)}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step-grid article{border-top:1px solid var(--rose);padding-top:24px}.step-grid span{font:48px var(--serif);color:var(--rose)}.step-grid h3{margin:16px 0}.inquiry{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,110px);background:var(--blush)}.inquiry-intro>p:not(.eyebrow){font-size:17px;max-width:470px}.contact-list{display:grid;gap:0;margin-top:36px}.contact-list a{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid #d9b9af;text-decoration:none;overflow-wrap:anywhere;font-weight:600;font-size:16px}.contact-list a:hover{color:var(--rose-dark)}.contact-list span{color:var(--rose-dark);font-size:12px;letter-spacing:.08em}.quote-form{background:var(--cream);padding:clamp(24px,4vw,50px);border:1px solid var(--line);display:grid;gap:18px;align-self:start}.form-intro{display:flex;align-items:center;gap:15px;color:var(--rose-dark);font-weight:700;letter-spacing:.14em;font-size:14px}.form-intro span{font-size:29px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:grid;gap:6px;color:var(--ink);font-size:14px;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{border:1px solid #d8c6c1;border-radius:0;background:#fff;padding:12px 13px;width:100%;color:var(--ink);font-size:16px;min-height:48px}.quote-form textarea{resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--rose-dark)}.form-note{font-size:14px;color:var(--rose-dark);background:var(--paper);padding:12px 16px;margin:0}.quote-form button{justify-self:start}.form-status{margin:0;color:var(--rose-dark);font-size:14px}.faq{background:var(--cream)}.faq-list{max-width:950px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font:27px/1.25 var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rose-dark);font:28px var(--sans)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:800px;color:var(--muted);font-size:16px}footer{padding:70px clamp(22px,6vw,105px) 25px;background:var(--rose-dark);color:#fff;display:grid;grid-template-columns:1fr auto;gap:25px}footer .footer-name{color:#fff;text-decoration:none;font-size:57px}footer p{margin:5px 0;font-size:14px}.footer-links{display:flex;gap:24px;align-items:start}.footer-links a{color:#fff;font-size:14px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.3);padding-top:20px;margin-top:30px}
@media(max-width:1000px){.site-header nav{gap:13px}.site-header nav a{font-size:13px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(48px,5vw,68px)}}
@media(max-width:760px){.site-header{height:76px}.wordmark-title{font-size:39px}.wordmark-sub{font-size:9px}.menu-button{display:block;font-size:14px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 25px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{font-size:16px;padding:7px 0}.hero{grid-template-columns:1fr;padding-top:24px;gap:34px}.hero-art{aspect-ratio:1.35}.hero-copy>p:not(.eyebrow){font-size:16px}.hero h1{font-size:clamp(50px,11vw,68px)}.ribbon{gap:10px;font-size:12px;letter-spacing:.1em}.section,.dry-section{padding-top:75px;padding-bottom:75px}.service-grid,.dry-panels,.step-grid,.about,.inquiry{grid-template-columns:1fr}.service-card{min-height:auto}.about-photo{min-height:360px}.about{gap:34px}.form-grid{grid-template-columns:1fr}.contact-list a{grid-template-columns:85px 1fr}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.copyright{grid-column:1}}
@media(max-width:400px){.ribbon .diamond{display:none}.ribbon{font-size:11px;gap:8px}.hero-art{aspect-ratio:1.1}.hero h1{font-size:48px}.button{width:100%}.faq-list summary{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Readability: stronger type and contrast at normal and enlarged text sizes. */
:root{--muted:#39474b;--rose:#854438;--rose-dark:#69332c;--blush:#f9efeb;--line:#c9a99f}
body{font-size:18px;line-height:1.65}
.hero h1,h2{font-family:Georgia,serif;font-weight:700;line-height:1.12}
h3{font:700 29px/1.25 var(--sans)}
.dry-panel h3{font-size:clamp(30px,3vw,42px)}
.hero-notice{font-size:18px!important}
.wordmark-sub,.eyebrow,.panel-label,.contact-list span{font-size:14px;letter-spacing:.12em;font-weight:700}
.site-header nav a,.button,.form-intro,.quote-form label,.form-note,.form-status,.footer-links a,footer p{font-size:16px}
.ribbon{font-size:16px;letter-spacing:.1em}
.section-heading>p:last-child,.dry-heading>p:last-child,.hero-copy>p:not(.eyebrow){font-size:19px}
.service-card p,.dry-panel p,.step-grid p,.about-text p,.inquiry-intro>p:not(.eyebrow),.dry-footnote{font-size:18px}
.faq-list summary{font:700 23px/1.4 var(--sans);color:var(--ink);min-height:52px}
.faq-list summary span{font:700 30px/1 var(--sans);flex:none}
.faq-list details p{font-size:18px;line-height:1.65;margin:12px 40px 12px 0;color:var(--ink)}
.faq-list summary:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px}
@media(max-width:760px){.site-header nav a{font-size:18px}.hero-copy>p:not(.eyebrow){font-size:18px}.ribbon{font-size:14px}.faq-list summary{font-size:21px}}
@media(max-width:400px){.ribbon{font-size:14px}.faq-list summary{font-size:20px}}
