:root{--ink:#172633;--ink2:#243642;--muted:#60717b;--accent:#E18763;--accent-dark:#E18763;--cream:#f1f2f0;--surface:#fff;--sand:#e8e9e6;--line:#dcdedc;--white:#fff;--width:1240px;--r:14px;--shadow:0 24px 75px rgba(25,34,40,.12)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--ink);background:var(--surface);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65}body.menu-open,body.lightbox-open{overflow:hidden}::selection{background:#E18763;color:var(--ink)}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #E18763;outline-offset:4px}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{line-height:1.13;font-weight:600;letter-spacing:-.052em}h1{font-size:clamp(3.1rem,6vw,6.8rem)}h2{font-size:clamp(2.4rem,4.2vw,4.5rem)}h3{font-size:clamp(1.27rem,1.75vw,1.8rem)}p{color:var(--muted)}small{font-size:.8rem}strong{font-weight:650}.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.018em}.accent-text{color:var(--accent)}.container{width:min(calc(100% - 72px),var(--width));margin-inline:auto}.section{padding:112px 0}.section-sm{padding:76px 0}.section--sand{background:var(--cream)}.section--dark{background:var(--ink);color:#fff}.section--dark p{color:#bdc9cf}.section-label{display:flex;gap:12px;align-items:center;color:var(--accent);font-size:.73rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;margin-bottom:21px}.section-label::before{content:'';display:block;width:25px;height:1px;background:currentColor}.section--dark .section-label{color:#E18763}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading h2{max-width:840px}.section-heading p{max-width:390px}.section-lead{font-size:1.13rem;max-width:600px;line-height:1.85}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.muted{color:var(--muted)}.overline{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent)}.i{width:19px;height:19px;display:inline-block;flex:none;vertical-align:middle}.i-arrow{width:18px;height:18px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:0 22px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:.81rem;font-weight:750;letter-spacing:.012em;border-radius:5px;transition:transform .3s,background .3s,border-color .3s,box-shadow .3s;white-space:nowrap}.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);box-shadow:0 9px 22px rgba(225,135,99,.16)}.btn-outline{background:transparent;color:var(--ink);border-color:#97a3a8}.btn-outline:hover{background:var(--ink);border-color:var(--ink);color:white;box-shadow:none}.btn-light{background:white;color:var(--ink);border-color:white}.btn-light:hover{background:var(--sand);color:var(--ink);border-color:var(--sand)}.btn-link{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:750;font-size:.83rem;padding:10px 0;border-bottom:1px solid var(--accent);transition:gap .24s}.btn-link:hover{gap:19px}.section--dark .btn-link{color:white}.btn-group{display:flex;flex-wrap:wrap;gap:12px}.skip-link{position:absolute;left:14px;top:-100px;z-index:999;padding:10px;background:#fff}.skip-link:focus{top:10px}
/* Navigation */
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);border-bottom:1px solid #e7e9e9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 8px 26px rgba(22,40,52,.07)}.nav-shell{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none}.brand img{width:108px;height:47px;object-fit:contain}.brand strong{border-left:1px solid #d9dedf;padding-left:13px;line-height:1.1;font-size:.58rem;letter-spacing:.11em;color:#748088;font-weight:850;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:clamp(15px,2.1vw,32px);height:100%;margin-left:auto}.main-nav>a,.nav-drop>button{position:relative;background:none;border:0;color:#334550;font-size:.77rem;font-weight:750;letter-spacing:.015em;display:flex;gap:5px;align-items:center;height:100%;padding:0;white-space:nowrap}.main-nav>a::after,.nav-drop>button::after{content:'';position:absolute;bottom:21px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s}.main-nav>a:hover::after,.main-nav>a[aria-current=page]::after,.nav-drop>button:hover::after{width:100%}.main-nav>a[aria-current=page]{color:var(--accent)}.nav-drop{height:100%;position:relative}.nav-drop>button .i{width:14px;height:14px;transition:transform .24s}.nav-drop:hover>button .i,.nav-drop:focus-within>button .i{transform:rotate(180deg)}.dropdown{position:absolute;top:80px;left:-25px;width:310px;padding:12px;background:white;border:1px solid #e1e4e4;border-radius:9px;box-shadow:var(--shadow);display:grid;gap:2px;opacity:0;transform:translateY(8px);visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}.nav-drop:hover .dropdown,.nav-drop:focus-within .dropdown,.nav-drop.open .dropdown{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.dropdown a{padding:13px 12px;font-size:.82rem;font-weight:650;border-radius:4px;transition:background .2s,color .2s}.dropdown a:hover{background:var(--cream);color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-actions .btn{min-height:43px;padding-inline:17px;font-size:.73rem}.menu-toggle{display:none;border:1px solid #dfe4e6;border-radius:5px;background:#fff;width:44px;height:44px;align-items:center;justify-content:center}.mobile-overlay,.mobile-panel{display:none}
/* Hero */
.hero{overflow:hidden;background:var(--cream)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(45px,5vw,92px);align-items:center;padding-top:88px;padding-bottom:95px;min-height:655px}.hero .section-label{margin-bottom:28px}.hero h1{max-width:760px;line-height:1.035;font-size:clamp(3.5rem,5.4vw,6.3rem)}.hero h1 .serif{white-space:nowrap}.hero-copy{max-width:510px;margin:27px 0 32px;font-size:1.08rem;line-height:1.87}.hero-under{display:flex;align-items:center;gap:18px;margin-top:44px;font-size:.73rem;color:#748089;letter-spacing:.085em;text-transform:uppercase;font-weight:750}.hero-under::before{content:'';width:43px;height:1px;background:#b9c2c3}.hero-visual{position:relative;min-height:580px}.hero-main-photo{width:91%;height:555px;object-fit:cover;border-radius:3px;filter:saturate(.8)}.hero-photo-line{position:absolute;left:10%;right:0;bottom:-20px;height:2px;background:var(--accent)}.hero-inset{position:absolute;right:-1%;bottom:4%;width:41%;height:230px;object-fit:cover;border:9px solid var(--cream);border-radius:2px;box-shadow:0 18px 38px #17263322}.hero-stamp{position:absolute;top:20px;right:-18px;width:126px;height:126px;display:grid;place-items:center;text-align:center;background:var(--ink);color:#fff;border-radius:50%;font-size:.69rem;font-weight:800;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;transform:rotate(12deg)}.hero-caption{position:absolute;bottom:25px;left:25px;padding:11px 16px;background:rgba(255,255,255,.93);color:#304550;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;border-radius:2px}.hero-stripe{border-top:1px solid #deded9;background:var(--cream)}.hero-stripe-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:78px}.hero-stripe-inner span{font-size:.73rem;font-weight:800;letter-spacing:.13em;color:#54636a;text-transform:uppercase}.hero-stripe-inner .dot{width:4px;height:4px;border-radius:50%;background:var(--accent);flex:none}
/* Images/cards/layout */
.editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw}.editorial-photo{height:530px;object-fit:cover;object-position:center;border-radius:3px;filter:saturate(.85)}.photo-frame{position:relative}.photo-frame::after{content:'';position:absolute;right:-15px;bottom:-15px;width:40%;height:40%;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);pointer-events:none}.editorial-copy h2{margin-bottom:24px}.editorial-copy p{margin-bottom:22px;line-height:1.95}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.stat-item strong{display:block;font-size:1.04rem;letter-spacing:-.035em}.stat-item small{color:var(--muted);display:block;margin-top:4px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.service-card{background:#fff;display:flex;flex-direction:column;border:1px solid #e8e9e7;transition:transform .34s,box-shadow .34s,border-color .3s;overflow:hidden}.service-card:hover{transform:translateY(-7px);border-color:#d1c7c0;box-shadow:var(--shadow)}.service-card__photo{height:255px;overflow:hidden}.service-card__photo img{height:100%;object-fit:cover;transition:transform .6s;filter:saturate(.8)}.service-card:hover .service-card__photo img{transform:scale(1.045)}.service-card__body{padding:27px 27px 30px;display:flex;flex-direction:column;flex:1}.service-card__num{font-size:.7rem;font-weight:850;letter-spacing:.1em;color:var(--accent);margin-bottom:16px}.service-card__body h3{margin-bottom:11px}.service-card__body p{font-size:.88rem;line-height:1.8;margin-bottom:24px}.service-card__body .btn-link{margin-top:auto;align-self:start}.service-card--featured{grid-column:span 2;display:grid;grid-template-columns:1.07fr .93fr}.service-card--featured .service-card__photo{height:100%;min-height:350px;order:2}.service-card--featured .service-card__body{justify-content:center;padding:48px}.service-card--featured h3{font-size:clamp(1.9rem,2.8vw,3rem)}.service-card--featured p{font-size:1rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.project-card{min-width:0}.project-card__media{position:relative;display:block;overflow:hidden;background:#e5e6e4;aspect-ratio:1.14}.project-card__media img{height:100%;object-fit:cover;transition:transform .7s;filter:saturate(.82)}.project-card__media:hover img{transform:scale(1.06)}.project-card__arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:44px;height:44px;background:#fff;color:var(--ink);border-radius:50%;transition:transform .2s,background .2s}.project-card__media:hover .project-card__arrow{transform:translate(2px,-2px);background:var(--accent);color:#fff}.project-card__info{padding:19px 0;display:flex;justify-content:space-between;gap:14px}.project-card h3{font-size:1.3rem;margin:5px 0}.project-card p{font-size:.84rem}.project-category{font-size:.69rem;color:var(--accent);font-weight:850;letter-spacing:.12em;text-transform:uppercase}.project-card__count{color:#899399;font-size:.78rem;font-weight:750;flex:none}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.feature{border-top:1px solid #627380;padding-top:28px}.feature .i{width:27px;height:27px;color:#E18763;margin-bottom:25px}.feature h3{color:white;margin-bottom:16px;font-size:1.42rem}.feature p{font-size:.91rem;line-height:1.8}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.process-step{padding:26px 32px 33px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:230px}.process-step:nth-child(3n){border-right:none}.process-step:nth-child(n+4){border-bottom:1px solid var(--line)}.process-step b{display:block;color:var(--accent);font-size:.75rem;letter-spacing:.08em;margin-bottom:28px}.process-step h3{font-size:1.33rem;margin-bottom:13px}.process-step p{font-size:.87rem}.quote-panel{padding:45px 55px;background:#fff;border:1px solid var(--line)}.quote-panel blockquote{font-size:1.4rem;line-height:1.55;font-weight:500;letter-spacing:-.025em;color:var(--ink);max-width:740px}.quote-panel footer{font-size:.81rem;color:var(--muted);font-weight:650;margin-top:22px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
/* Page head / text */
.page-hero{background:var(--cream);padding:85px 0 82px;overflow:hidden}.page-hero__row{display:flex;align-items:end;justify-content:space-between;gap:50px}.page-hero h1{max-width:900px;font-size:clamp(3.25rem,5.6vw,6.2rem)}.page-hero p{max-width:410px;font-size:1.05rem;line-height:1.9}.page-hero .section-label{margin-bottom:28px}.page-hero--photo{position:relative;min-height:445px;display:flex;align-items:end;background:var(--ink);padding-bottom:62px;color:white}.page-hero--photo>.page-hero__bg{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.37;filter:saturate(.75)}.page-hero--photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,28,36,.82),rgba(15,28,36,.13))}.page-hero--photo .container{position:relative;z-index:1}.page-hero--photo p{color:#e1e5e5}.page-hero--photo .section-label{color:#E18763}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:.73rem;letter-spacing:.04em;color:#7c888f;margin-bottom:18px}.breadcrumbs a:hover{color:var(--accent)}.page-hero--photo .breadcrumbs{color:#d3d8d9}.page-hero--photo h1{font-size:clamp(3.5rem,6.5vw,7rem)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro-grid h2{max-width:650px}.intro-grid p{margin-bottom:19px;font-size:1.05rem;line-height:1.9}.vline-list{display:grid;gap:0}.vline-list>div{padding:24px 0;border-top:1px solid var(--line)}.vline-list>div:last-child{border-bottom:1px solid var(--line)}.vline-list h3{margin-bottom:7px;font-size:1.16rem}.pictorial{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch}.pictorial img{height:550px;object-fit:cover}.pictorial img:last-child{height:450px;margin-top:100px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-card{padding:32px 30px;border:1px solid var(--line);min-height:225px}.value-card .i{color:var(--accent);width:26px;height:26px;margin-bottom:30px}.value-card h3{margin-bottom:11px}.value-card p{font-size:.88rem}.timeline{border-left:1px solid var(--accent);margin-left:13px}.timeline-step{position:relative;padding:0 0 49px 45px}.timeline-step:before{content:'';position:absolute;left:-7px;top:0;width:13px;height:13px;background:var(--accent);border:3px solid var(--cream);border-radius:50%;box-shadow:0 0 0 1px var(--accent)}.timeline-step span{font-size:.74rem;font-weight:800;letter-spacing:.11em;color:var(--accent)}.timeline-step h3{font-size:1.75rem;margin:12px 0}.timeline-step p{max-width:640px}.service-detail__image{width:100%;height:560px;object-fit:cover;filter:saturate(.83)}.check-list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 23px}.check-list li{display:flex;gap:12px;align-items:start;border-top:1px solid var(--line);padding-top:15px;font-size:.89rem;font-weight:650}.check-list svg{color:var(--accent);margin-top:4px;width:16px;height:16px}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 0;font-weight:700;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .i{transition:transform .25s}.faq-item[open] summary .i{transform:rotate(45deg)}.faq-item p{padding:0 0 22px;max-width:830px}
/* Portfolio filters/detail */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 38px}.filter-btn{border:1px solid #d5dcdd;background:white;padding:10px 16px;border-radius:40px;font-size:.78rem;font-weight:700;color:#52636d;transition:background .2s,color .2s,border .2s}.filter-btn:hover,.filter-btn.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-count{font-size:.8rem;color:#6c7b83;margin:-25px 0 25px}.project-card[hidden]{display:none!important}.detail-meta{display:flex;flex-wrap:wrap;gap:30px;margin:30px 0 0;border-top:1px solid var(--line);padding-top:20px}.detail-meta div{min-width:150px}.detail-meta dt{font-size:.71rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.12em}.detail-meta dd{margin:5px 0 0;font-size:.96rem;font-weight:700}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-trigger{padding:0;background:none;border:0;display:block;aspect-ratio:1.2;overflow:hidden;position:relative}.gallery-trigger:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-trigger img{height:100%;object-fit:cover;transition:transform .45s}.gallery-trigger:hover img{transform:scale(1.055)}.gallery-trigger:after{content:'↗';position:absolute;right:14px;bottom:14px;background:#fff;color:#1b2d39;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;opacity:0;transition:opacity .3s}.gallery-trigger:hover:after{opacity:1}.compare{position:relative;aspect-ratio:1.9;overflow:hidden;background:#e3e1dc;border-radius:3px}.compare>img,.compare .compare-top img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.compare .compare-top{position:absolute;inset:0;width:50%;overflow:hidden}.compare .compare-top img{width:calc(var(--compare-base, 100%) * 2);max-width:none;object-fit:cover;object-position:center}.compare-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none}.compare-handle:after{content:'↔';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;background:#fff;color:var(--ink);border-radius:50%;font-size:24px;box-shadow:0 5px 18px #15202e44}.compare input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-tag{position:absolute;bottom:18px;z-index:3;padding:7px 11px;background:#172633cd;color:#fff;font-size:.71rem;font-weight:800;border-radius:2px;pointer-events:none}.compare-tag.left{left:18px}.compare-tag.right{right:18px}.gallery-modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:20px;background:rgba(7,15,21,.96);color:white;border:0;z-index:300}.gallery-modal::backdrop{background:rgba(7,15,21,.9)}.gallery-modal__close{position:absolute;right:20px;top:20px;z-index:5;border:1px solid #65727b;background:#21313b;color:white;width:44px;height:44px;border-radius:50%}.gallery-modal__view{height:calc(100% - 64px);display:flex;align-items:center;justify-content:center;gap:20px}.gallery-modal__view img{max-width:min(100%,1150px);width:auto;max-height:100%;object-fit:contain}.gallery-modal__nav{flex:none;border:1px solid #5f6f77;background:#1d2e38;color:white;border-radius:50%;width:45px;height:45px;display:grid;place-items:center}.gallery-modal__caption{text-align:center;color:#c5cdd1;font-size:.82rem}
/* Contact / CTA / Footer */
.cta-band{position:relative;background:var(--accent);color:white;padding:70px 0;overflow:hidden}.cta-band:before{content:'';position:absolute;right:-10%;top:-200px;width:650px;height:650px;border:1px solid #ffffff38;border-radius:50%;pointer-events:none}.cta-band__row{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:1}.cta-band h2{font-size:clamp(2.45rem,4.6vw,4.5rem);max-width:750px}.cta-band p{color:#f9e2d7;margin-top:12px}.contact-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:70px}.contact-lead{margin-bottom:34px;font-size:1.05rem}.contact-methods{display:grid;gap:14px}.contact-method{display:flex;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid #e4e5e3}.contact-method .i{color:var(--accent);width:23px;height:23px}.contact-method small{display:block;color:var(--muted);font-size:.74rem}.contact-method b{font-size:.95rem;font-weight:700}.contact-socials{display:flex;gap:12px;margin-top:32px}.social-link{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cad2d4;border-radius:50%;transition:background .2s,color .2s}.social-link:hover{background:var(--ink);color:white}.contact-form{padding:44px;background:var(--cream);border:1px solid #eae5dc}.form-title{font-size:1.64rem;letter-spacing:-.035em;margin-bottom:9px}.form-subtitle{margin-bottom:29px;font-size:.89rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-field{display:grid;gap:7px}.form-field.span-2{grid-column:span 2}.form-field label{font-size:.75rem;font-weight:800;color:#324550}.form-field label em{font-style:normal;color:var(--accent)}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #d7dddc;border-radius:3px;background:white;padding:13px 14px;color:var(--ink);outline:none;font-size:.86rem;min-height:48px}.form-field textarea{resize:vertical;min-height:124px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent)}.form-help{font-size:.77rem;line-height:1.7;margin:18px 0 22px}.form-check{display:flex;gap:10px;align-items:flex-start;color:#52626b;font-size:.76rem;margin-bottom:18px}.form-check input{margin-top:5px;accent-color:var(--accent)}.contact-form .btn{width:100%}.form-status{margin-top:14px;min-height:1.1em;font-size:.77rem;color:var(--accent)}.footer{background:#111f29;color:white;padding:75px 0 25px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr .85fr 1fr;gap:35px;padding-bottom:64px}.footer-brand{width:110px;filter:brightness(0) invert(1);height:52px;object-fit:contain;object-position:left center;margin-bottom:22px}.footer-desc{color:#aebcc3;max-width:285px;font-size:.85rem}.footer h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;font-weight:750;margin:0 0 20px;color:#f2e3dc}.footer-links{display:grid;align-content:start;gap:12px}.footer-links a,.footer-contact a{color:#b2c0c6;font-size:.85rem;line-height:1.6;transition:color .2s}.footer-links a:hover,.footer-contact a:hover{color:#fff}.footer-contact p{color:#b2c0c6;font-size:.85rem;margin-bottom:12px}.footer-bottom{border-top:1px solid #33444d;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#9cacb3;font-size:.73rem}.footer-bottom a:hover{color:#fff}.footer-socials{display:flex;gap:15px}.footer-socials .i{width:19px;height:19px}
/* Smart WhatsApp widget */
.wa-widget{position:fixed;right:23px;bottom:22px;z-index:120;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.wa-fab{display:flex;align-items:center;gap:12px;border:0;padding:12px 17px;background:#244b42;color:#fff;border-radius:36px;box-shadow:0 12px 35px #0b2a2355;transition:transform .2s,background .2s}.wa-fab:hover{background:#1b3c32;transform:translateY(-3px)}.wa-fab svg{width:24px;height:24px}.wa-fab span{font-weight:800;font-size:.78rem;letter-spacing:.02em}.wa-card{width:min(355px,calc(100vw - 32px));background:#fff;border:1px solid #e0e6e5;border-radius:13px;box-shadow:0 18px 65px #1328322e;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom right;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s}.wa-widget.is-open .wa-card{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.wa-card__top{background:var(--ink);color:#fff;padding:21px 22px;display:flex;gap:12px;align-items:center}.wa-card__icon{width:39px;height:39px;display:grid;place-items:center;background:#ffffff1e;border-radius:50%;flex:none}.wa-card__top strong{display:block;font-size:.92rem}.wa-card__top small{display:block;color:#bfd2d2;font-size:.73rem;margin-top:3px}.wa-card__intro{padding:17px 20px 8px;font-size:.83rem;color:#576972}.wa-quick{display:grid;gap:7px;padding:8px 14px 18px}.wa-quick a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;background:#f5f6f4;border-radius:7px;font-size:.8rem;font-weight:750;transition:background .2s}.wa-quick a:hover{background:#ebece8;color:var(--accent)}.wa-quick a .i{width:16px;height:16px}.wa-card__bottom{background:#eef3f0;border-top:1px solid #e0e6e0;padding:9px 20px;font-size:.68rem;color:#61766a}.wa-widget.is-hidden{opacity:0;pointer-events:none}
/* Responsive */
@media(max-width:1100px){.main-nav{gap:17px}.nav-actions .btn{padding-inline:13px}.nav-shell{gap:17px}.brand strong{display:none}.hero-grid{gap:35px}.hero-visual{min-height:520px}.hero-main-photo{height:520px}.section{padding:92px 0}.contact-grid{gap:35px}}
@media(max-width:900px){.container{width:min(calc(100% - 44px),var(--width))}.main-nav,.nav-actions>.btn{display:none}.menu-toggle{display:flex}.nav-shell{height:72px}.brand img{width:100px;height:43px}.mobile-overlay{display:block;position:fixed;inset:0;background:#0e1d29a6;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:93}.mobile-panel{display:flex;position:fixed;top:0;bottom:0;right:0;width:min(390px,90vw);z-index:95;background:var(--cream);padding:25px;flex-direction:column;box-shadow:var(--shadow);transform:translateX(104%);transition:transform .38s cubic-bezier(.2,.7,.25,1);overflow-y:auto}.menu-open .mobile-overlay{opacity:1;visibility:visible}.menu-open .mobile-panel{transform:translateX(0)}.mobile-panel__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.mobile-panel__top img{width:105px}.mobile-close{width:44px;height:44px;display:grid;place-items:center;background:white;border:1px solid var(--line)}.mobile-links{display:grid}.mobile-links>a,.mobile-service-links summary{padding:15px 4px;border-bottom:1px solid #deded9;font-weight:750;font-size:1.17rem;letter-spacing:-.025em}.mobile-service-links summary{list-style:none;cursor:pointer}.mobile-service-links summary::-webkit-details-marker{display:none}.mobile-service-links a{display:block;font-size:.82rem;padding:11px 17px;color:#5f6a72}.mobile-panel .btn{margin-top:35px}.mobile-panel__fine{margin-top:auto;padding-top:35px;color:#89939a;font-size:.75rem}.hero-grid{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:55px}.hero h1{max-width:760px;font-size:clamp(3.7rem,8.8vw,6rem)}.hero-visual{min-height:485px;max-width:760px}.hero-main-photo{height:485px;width:87%}.hero-inset{height:220px;width:35%}.editorial-grid,.intro-grid{gap:40px}.section-heading{align-items:start;flex-direction:column;gap:16px}.services-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card--featured{grid-column:span 2}.feature-list{gap:25px}.process-steps{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(3n){border-right:1px solid var(--line)}.process-step:nth-child(2n){border-right:0}.process-step:nth-child(n+4){border-bottom:0}.process-step:nth-child(n+5){border-bottom:1px solid var(--line)}.footer-top{grid-template-columns:1.2fr 1fr;gap:40px}.contact-grid{grid-template-columns:1fr}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-info>.section-label,.contact-info>h2,.contact-info>.contact-lead,.contact-info>.contact-socials{grid-column:span 2}.contact-methods{grid-column:span 2;grid-template-columns:1fr 1fr}.page-hero__row{display:block}.page-hero p{margin-top:26px}.pictorial img{height:450px}.pictorial img:last-child{height:370px;margin-top:80px}}
@media(max-width:640px){:root{--width:100%}.container{width:calc(100% - 34px)}body{font-size:14px}h1{font-size:3.3rem}h2{font-size:2.64rem}.section{padding:70px 0}.section-sm{padding:53px 0}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(2.3rem,10vw,3.1rem)}.section-lead{font-size:.98rem}.btn{min-height:50px;padding-inline:17px}.hero-grid{padding:54px 0 58px;gap:37px}.hero h1{font-size:clamp(3.1rem,12.3vw,4.7rem)}.hero h1 .serif{white-space:normal}.hero-copy{font-size:.97rem;margin:23px 0 27px}.hero-under{margin-top:28px;font-size:.64rem}.hero-visual{min-height:350px;max-height:390px}.hero-main-photo{height:350px;width:91%}.hero-inset{width:44%;height:158px;border-width:6px;bottom:0;right:0}.hero-stamp{width:86px;height:86px;font-size:.52rem;right:0;top:10px}.hero-caption{left:11px;bottom:16px;padding:7px 9px;font-size:.52rem}.hero-stripe-inner{min-height:80px;flex-wrap:wrap;align-content:center;justify-content:center;column-gap:13px;row-gap:4px}.hero-stripe-inner span{font-size:.62rem;letter-spacing:.08em}.editorial-grid,.intro-grid{grid-template-columns:1fr;gap:32px}.editorial-photo{height:350px}.photo-frame:after{right:-8px;bottom:-8px}.editorial-copy h2{margin-bottom:20px}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px}.stat-item strong{font-size:.9rem}.stat-item small{font-size:.67rem}.services-grid,.project-grid{grid-template-columns:1fr;gap:20px}.service-card--featured{grid-column:span 1;display:flex}.service-card--featured .service-card__photo{order:0;min-height:0;height:255px}.service-card--featured .service-card__body{padding:27px}.service-card--featured h3{font-size:1.6rem}.service-card__photo{height:248px}.service-card__body{padding:25px}.project-card__media{aspect-ratio:1.35}.project-card__info{padding:12px 0}.feature-list,.value-grid,.quote-grid{grid-template-columns:1fr;gap:30px}.feature{padding-top:24px}.feature .i{margin-bottom:16px}.process-steps{grid-template-columns:1fr}.process-step{border-right:0!important;min-height:0;padding:23px 0 26px;border-bottom:0!important}.process-step:last-child{border-bottom:1px solid var(--line)!important}.process-step b{margin-bottom:15px}.quote-panel{padding:30px 26px}.quote-panel blockquote{font-size:1.18rem}.page-hero{padding:65px 0}.page-hero h1{font-size:clamp(3rem,12.1vw,4.8rem)}.page-hero--photo{min-height:400px;padding-bottom:42px}.page-hero--photo p{font-size:.97rem}.breadcrumbs{font-size:.68rem}.pictorial{grid-template-columns:1fr 1fr;gap:10px}.pictorial img{height:320px}.pictorial img:last-child{height:260px;margin-top:60px}.check-list{grid-template-columns:1fr;gap:12px}.service-detail__image{height:320px}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-trigger:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:1.5}.gallery-trigger{aspect-ratio:1}.gallery-modal{padding:8px}.gallery-modal__view{gap:5px}.gallery-modal__nav{width:34px;height:34px}.gallery-modal__nav .i{width:15px}.compare{aspect-ratio:1.1}.cta-band{padding:54px 0}.cta-band__row{flex-direction:column;align-items:start;gap:25px}.cta-band h2{font-size:2.7rem}.contact-info{display:block}.contact-grid{gap:31px}.contact-methods{display:grid;grid-template-columns:1fr;gap:0}.contact-socials{margin-top:21px}.contact-form{padding:27px 20px}.form-grid{grid-template-columns:1fr;gap:15px}.form-field.span-2{grid-column:span 1}.form-subtitle{margin-bottom:22px}.footer{padding:56px 0 24px}.footer-top{grid-template-columns:1fr 1fr;column-gap:20px;row-gap:40px;padding-bottom:46px}.footer-top>div:first-child{grid-column:span 2}.footer h4{margin-bottom:14px}.footer-bottom{align-items:start;flex-direction:column;gap:10px}.wa-widget{right:14px;bottom:14px;gap:9px}.wa-fab{padding:12px 15px}.wa-fab span{display:none}.wa-fab svg{width:27px;height:27px}.wa-card{max-height:min(600px,calc(100dvh - 110px));overflow:auto}.wa-quick{padding-bottom:13px}.wa-quick a{min-height:45px}.filters{gap:7px;margin-bottom:34px}.filter-btn{font-size:.74rem;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notice{padding:17px 21px;background:var(--cream);border-left:3px solid var(--accent);font-size:.84rem;color:var(--muted)}
@media(max-width:640px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top>div{min-width:0}.footer-links a,.footer-contact a{overflow-wrap:anywhere}}

/* RMH brand refresh · remove nonfunctional editorial strokes site-wide. */
:root { --accent:#E18763; --accent-dark:#E18763; }
.section-label::before, .hero-under::before, .photo-frame::after, .hero-photo-line {content:none;display:none;}
.section-label {gap:0;}
.hero-under {gap:0;}
.btn-link {border-bottom:none;}
.stats-row {border-top:none;}
/* Preserve functional borders for forms, navigation, galleries and footer. */

/* RMH · typography refinements (2026-10-08): same family as the main heading,
   lighter weight, with the parent headline's color rather than cursive accent color. */
.serif {
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: -.055em;
  color: inherit;
}
.serif.accent-text { color: inherit; }
/* WhatsApp launcher: the supplied second logo, no caption and no pill behind it. */
.wa-fab, .wa-fab:hover {
  width: 70px; height: 70px; min-width: 70px; min-height: 70px;
  display: grid; place-items: center;
  gap: 0; padding: 0; border: 0; border-radius: 0;
  color: inherit; background: transparent; box-shadow: none;
  line-height: 0;
}
.wa-fab img { display: block; width: 100%; height: 100%; object-fit: contain;
  filter: drop-shadow(0 7px 13px rgba(12, 36, 25, .24));
  transition: filter .2s ease, transform .2s ease;
}
.wa-fab:hover img { transform: scale(1.06); filter: drop-shadow(0 9px 17px rgba(12, 36, 25, .28)); }
.wa-card__icon { width: 44px; height: 44px; background: transparent; flex: 0 0 44px; }
.wa-card__icon img { width: 100%; height: 100%; object-fit: contain; }
@media(max-width:640px) {
  .wa-fab, .wa-fab:hover { width: 60px; height: 60px; min-width: 60px; min-height: 60px; padding: 0; }
}
@media(prefers-reduced-motion: reduce) { .wa-fab img { transition: none; } }

/* WA overlay fix: the visually closed card must not intercept footer links. */
.wa-widget { pointer-events:none; transition:opacity .24s ease,transform .24s ease,visibility .24s ease; }
.wa-widget .wa-fab,.wa-widget.is-open .wa-card {pointer-events:auto;}
.wa-widget.is-hidden {opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;}
.wa-widget.is-hidden .wa-fab,.wa-widget.is-hidden .wa-card {pointer-events:none;}
@media(prefers-reduced-motion:reduce){.wa-widget{transition:none;}}

/* Contacto (general) and Cotización (technical) are now separate experiences. */
.rmh-general-form__heading{margin-bottom:19px;}
.rmh-general-form__heading .section-label{margin-bottom:12px;}
.rmh-general-form .form-subtitle a{color:#612027;text-decoration:underline;text-underline-offset:3px;font-weight:700;}
.rmh-general-form__actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;}
.rmh-general-form__actions .form-subtitle{max-width:46ch;line-height:1.5;}
.rmh-general-form textarea{resize:vertical;min-height:145px;}

/* 2026-10-10 — Prevent document-level horizontal scrollbar without affecting pinned GSAP sections. */
html, body {max-width:100%;overflow-x:clip;}
@supports not (overflow:clip) {html, body {overflow-x:hidden;}}
/* Scrollbar styles (Firefox and Chromium/WebKit): narrow RMH wine thumb. */
html {scrollbar-width:thin;scrollbar-color:#612027 #f7f5f1;}
html::-webkit-scrollbar {width:7px;}
html::-webkit-scrollbar:horizontal {height:0;}
html::-webkit-scrollbar-track {background:#f7f5f1;}
html::-webkit-scrollbar-thumb {background:#612027;border-radius:10px;}
html::-webkit-scrollbar-thumb:hover {background:#7b3740;}


/* Galerías de proyecto: mosaico cuadrado en escritorio.
   El visor ampliado continúa mostrando la fotografía sin recortes. */
@media(min-width:901px){
 .gallery-grid .gallery-trigger{aspect-ratio:1/1}
 .gallery-grid .gallery-trigger:first-child{aspect-ratio:1/1}
 .gallery-grid .gallery-trigger img{width:100%;height:100%;object-fit:cover}
}


/* 2026-10-11 — unify gray backgrounds */
.section--sand,.hero,.hero-stripe,.notice,.mobile-panel{background:var(--cream);}
html::-webkit-scrollbar-track {background:var(--cream);}

.rmh-inline-arrow-up-right{display:inline-block;width:.95em;height:.95em;vertical-align:-.12em;flex:none;color:currentColor}.rmh-inline-arrow-up-right path{vector-effect:non-scaling-stroke}