@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:#183b34;--paper:#f7f6f0;--muted:#5b6860;--line:#d6dbd0;--accent:#dce6c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a27222;outline-offset:5px}header{min-height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.brandmark{font-family:Manrope,Arial,sans-serif;font-size:31px;font-weight:800;letter-spacing:-2px;line-height:1}.brandmark span{display:block;font-size:12px;letter-spacing:5px;margin-top:7px}.brandline{border-left:1px solid var(--line);padding-left:14px;font-size:9px;letter-spacing:2px;max-width:110px;line-height:1.7}nav,.headright{display:flex;align-items:center;gap:28px}nav a{font-size:13px}nav a:hover,.textlink:hover{text-decoration:underline;text-underline-offset:5px}.headright{gap:24px}.headercall{font-size:13px;font-weight:700}.headercall span{margin-left:10px}.languages{display:flex;gap:7px;align-items:center;font-size:11px}.languages button{border:0;background:none;padding:8px 3px;opacity:.5}.languages button[aria-pressed=true]{opacity:1;font-weight:700;border-bottom:1px solid}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;padding:44px 5% 56px;gap:5%}.herocopy{padding:45px 0 15px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.8;margin:0 0 26px}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(52px,6.2vw,94px);line-height:1.04;letter-spacing:-5px;font-weight:500;margin:0 0 28px}h1 em{font-family:Georgia,serif;font-weight:400}p{line-height:1.7}.intro{font-size:15px;color:var(--muted);max-width:390px;margin:0 0 30px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:white;padding:18px 24px;font-size:12px;transition:background .2s}.button:hover{background:#315a4c}.textlink{font-size:12px;font-weight:500;display:inline-flex;gap:18px;align-items:center}.small{font-size:10px;color:var(--muted);margin-top:23px}.heroart{position:relative;margin:0;background:#d9dece;min-width:0}.heroart svg{width:100%;height:100%;max-height:650px;display:block;object-fit:cover}.heroart figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:17px 22px;font-size:8px;letter-spacing:1px;background:#f7f6f0e8}.strip{padding:23px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-size:12px}.strip>span:nth-child(even){color:#7b8d68}.section{padding:100px 8%;max-width:1600px;margin:auto}.sectiontop{display:grid;grid-template-columns:1fr 1.8fr 1.3fr;gap:30px;align-items:start;margin-bottom:50px}.sectiontop .eyebrow{padding-top:8px}h2{font-size:clamp(32px,3.4vw,50px);font-weight:500;line-height:1.15;letter-spacing:-2px;margin:0 0 24px}.sectiontop>p:last-child{font-size:13px;color:var(--muted);margin:5px 0}.servicegrid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.service{display:grid;grid-template-columns:34px 1fr 20px;gap:16px;border-top:1px solid var(--line);padding:27px 0}.service>span{font-size:10px;padding-top:7px;color:var(--muted)}.service h3{font-size:20px;font-weight:500;margin:0 0 10px;letter-spacing:-.5px}.service p{font-size:12px;color:var(--muted);margin:0;max-width:370px}.service .arrow{font-size:22px;color:var(--ink)}.service:hover .arrow{transform:translate(3px,-3px)}.process{background:#ecefe5;display:grid;grid-template-columns:1fr 1fr;gap:12%}.process ol{margin:0;padding:0;list-style:none}.process li{display:flex;gap:25px;padding:23px 0;border-top:1px solid #cbd3c4}.process li>span{font-size:11px;padding-top:5px}.process h3{font-size:18px;font-weight:500;margin:0 0 8px}.process li p{font-size:13px;margin:0;color:var(--muted)}.area{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%}.area p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:400px}.areagraphic{position:relative;min-height:330px;display:grid;place-content:center;background:#e5e9dc;overflow:hidden}.ring{position:absolute;border:1px solid #aab99c;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.r1{width:150px;height:150px}.r2{width:270px;height:270px}.r3{width:390px;height:390px}.austin{z-index:1;font-size:16px;font-weight:600;letter-spacing:3px;background:#e5e9dc;padding:10px}.around{position:absolute;bottom:25px;left:25px;font-size:9px;letter-spacing:2px}.contact{background:var(--ink);color:var(--paper);padding:76px 8%;text-align:center}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:clamp(39px,5vw,70px);letter-spacing:-3px}.bigphone{display:inline-flex;gap:35px;font-size:clamp(24px,3vw,40px);border-bottom:1px solid #70897e;padding:10px 0}.bigphone:hover{color:var(--accent)}.contact>p:last-child{font-size:11px;color:#c7d5c8}footer{padding:35px 5%;display:flex;gap:25px;align-items:center;flex-wrap:wrap;justify-content:space-between}.footerbrand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px}.footerbrand>span>span{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.footericon{width:38px;height:38px;flex:none}footer p,footer small{font-size:10px;color:var(--muted)}footer small:last-child{flex-basis:100%;font-size:9px;text-align:right;margin-top:-12px}.skip{position:fixed;top:-100px;left:15px;background:var(--ink);color:white;padding:15px;z-index:100}.skip:focus{top:10px}@media(min-width:1600px){header,.strip,footer{padding-left:max(0px,calc((100vw - 1440px)/2));padding-right:max(0px,calc((100vw - 1440px)/2))}}@media(max-width:1050px){nav{gap:16px}.headercall{display:none}h1{letter-spacing:-3px}.herocopy{padding-top:20px}.hero{gap:4%;padding-top:30px}.section{padding:70px 6%}.sectiontop{grid-template-columns:1fr 2fr}.sectiontop>p:last-child{grid-column:2}.process{gap:7%}.servicegrid{column-gap:30px}.actions{gap:18px}}@media(max-width:680px){header{min-height:85px;gap:12px;flex-wrap:wrap;padding:15px 0}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}nav a{font-size:12px}.brandline{font-size:8px}.brandmark{font-size:26px}.headright{margin-left:auto}.hero{grid-template-columns:1fr;padding:30px 6% 35px;gap:30px}.herocopy{padding:5px 0 0}h1{font-size:62px;letter-spacing:-3px}.eyebrow{font-size:9px;margin-bottom:22px}.intro{font-size:14px}.heroart{height:390px}.heroart svg{object-fit:cover;object-position:50% 55%}.heroart figcaption{font-size:7px;padding:14px}.strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:10px;gap:14px}.strip>span:nth-child(even){display:none}.section{padding:55px 6%}.sectiontop{display:block;margin-bottom:30px}h2{font-size:36px;letter-spacing:-1.5px}.sectiontop>p:last-child{font-size:13px;max-width:380px}.servicegrid,.process,.area{grid-template-columns:1fr}.servicegrid{gap:0}.service{padding:23px 0;gap:10px;grid-template-columns:27px 1fr 20px}.service h3{font-size:19px}.process{gap:35px}.area{gap:35px}.areagraphic{min-height:280px}.contact{padding:60px 6%}.contact h2{font-size:43px;letter-spacing:-2px}.bigphone{font-size:26px;gap:20px}footer{gap:14px}footer p{width:100%;margin:0}footer small:last-child{text-align:left;margin:0}.small{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contactemail{display:block;width:fit-content;max-width:100%;margin:22px auto 0;font-size:clamp(12px,1.4vw,18px);overflow-wrap:anywhere;text-underline-offset:5px}.contactemail:hover{text-decoration:underline}
.brandicon{width:46px;height:46px;flex:none;display:block}@media(max-width:680px){.brandicon{width:38px;height:38px}.brand{gap:10px}}
/* Fotos, movimiento y detalles */
.heroart{overflow:hidden;min-height:520px}.heroart img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:herozoom 14s cubic-bezier(.2,.6,.2,1) both}
@keyframes herozoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.herobadge{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f7f6f0e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-weight:600;letter-spacing:.3px;animation:rise .9s .5s cubic-bezier(.2,.7,.2,1) both}
.herobadge .dot{width:8px;height:8px;border-radius:50%;background:#4f8a5b;box-shadow:0 0 0 0 #4f8a5b80;animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px #4f8a5b00}100%{box-shadow:0 0 0 0 #4f8a5b00}}
.heroart figcaption{z-index:1}
.herocopy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.herocopy>:nth-child(2){animation-delay:.08s}.herocopy>:nth-child(3){animation-delay:.16s}.herocopy>:nth-child(4){animation-delay:.24s}.herocopy>:nth-child(5){animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.button{position:relative;overflow:hidden}.button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff2e 50%,transparent 70%);transform:translateX(-100%);transition:transform .7s}.button:hover:after{transform:translateX(100%)}
.strip{display:block;overflow:hidden;padding-left:0;padding-right:0}.striptrack{display:flex;width:max-content;animation:marquee 38s linear infinite}.strip:hover .striptrack{animation-play-state:paused}.stripset{display:flex;gap:56px;padding-right:56px;white-space:nowrap}.stripset>span:nth-child(even){color:#7b8d68}
@keyframes marquee{to{transform:translateX(-50%)}}
.servicegrid{grid-template-columns:repeat(3,1fr);column-gap:40px;row-gap:8px}.service{grid-template-columns:28px 1fr 20px;align-content:start}.servicephoto{grid-column:1/-1;margin:0 0 8px;aspect-ratio:4/3;overflow:hidden;background:#e5e9dc}.servicephoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.service:hover .servicephoto img{transform:scale(1.06)}.service .arrow{transition:transform .3s}
.processphoto{margin:0 0 34px;aspect-ratio:3/2;overflow:hidden;background:#dfe5d6}.processphoto img{width:100%;height:100%;object-fit:cover;display:block}
.ring{animation:breathe 5s ease-in-out infinite}.r2{animation-delay:.6s}.r3{animation-delay:1.2s}
@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.06);opacity:.55}}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}.js .reveal.in{opacity:1;transform:none}
.floatcall{position:fixed;right:16px;bottom:16px;z-index:60;display:none;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:700;box-shadow:0 10px 30px #183b3459;transform:translateY(140%);opacity:0;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .4s}.floatcall svg{width:18px;height:18px}.floatcall.show{transform:none;opacity:1}
@media(min-width:681px){header{position:sticky;top:0;z-index:50;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax -40px);transition:min-height .3s}header:after{content:"";position:absolute;left:-100vmax;right:-100vmax;top:100%;height:24px;background:linear-gradient(#183b3414,transparent);opacity:0;transition:opacity .3s;pointer-events:none}header.scrolled:after{opacity:1}}
@media(max-width:1050px){.floatcall{display:inline-flex}.servicegrid{grid-template-columns:1fr 1fr;column-gap:30px}.heroart{min-height:440px}}
@media(max-width:680px){.heroart{min-height:0;height:420px}.servicegrid{grid-template-columns:1fr}.strip{display:block;font-size:11px}.herobadge{top:14px;left:14px;font-size:10px;padding:8px 12px}.processphoto{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.striptrack,.heroart img,.ring,.herobadge,.herobadge .dot,.herocopy>*{animation:none!important}.js .reveal{opacity:1;transform:none}.service:hover .servicephoto img{transform:none}}
html,body{overflow-x:clip}
