:root { --black:#080808; --ink:#121212; --white:#f7f7f4; --silver:#b7b7b2; --line:#d9d9d4; --font-display:"Cormorant Garamond",serif; --font-sans:"Manrope",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; padding:0 5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:#050505; color:white; border-bottom:1px solid #272727; position:relative; z-index:5; }
.brand img { width:230px; height:58px; object-fit:contain; object-position:left center; }
nav { display:flex; gap:34px; font-size:12px; letter-spacing:.08em; }
nav a { opacity:.72; transition:.2s; } nav a:hover{opacity:1}
.header-cta { justify-self:end; padding:13px 18px; border:1px solid #555; font-size:12px; display:flex; gap:20px; }
.hero { min-height:calc(100vh - 92px); background:radial-gradient(circle at 72% 42%,#242424 0,#0c0c0c 27%,#050505 65%); color:white; padding:11vh 8vw 38px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; }
.hero-glow { position:absolute; width:520px; height:520px; border:1px solid #363636; border-radius:50%; right:7vw; top:9%; box-shadow:0 0 100px rgba(255,255,255,.04) inset; }
.hero-copy { position:relative; z-index:2; max-width:830px; }
.eyebrow,.section-label { font-size:11px; letter-spacing:.25em; font-weight:600; color:#8b8b88; margin:0 0 30px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:var(--font-display),serif; font-size:clamp(62px,7.4vw,118px); line-height:.88; letter-spacing:-.04em; font-weight:400; margin-bottom:35px; }
h1 em { font-weight:400; color:#bcbcb7; }
.hero-description { max-width:585px; font-size:17px; line-height:1.8; color:#b8b8b4; }
.hero-actions { display:flex; gap:34px; align-items:center; margin-top:46px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; min-width:235px; padding:17px 20px; font-size:12px; font-weight:700; letter-spacing:.04em; transition:.25s; }
.button-light { background:#f3f3ef; color:#111; }.button-light:hover{background:#c8c8c4}
.text-link { font-size:12px; color:#aaa; }
.hero-mark { position:relative; z-index:2; justify-self:center; text-align:center; color:#aaa; text-transform:uppercase; letter-spacing:.28em; font-size:9px; }
.orb { width:210px; height:210px; border-radius:50%; display:grid; place-items:center; border:1px solid #474747; box-shadow:inset 0 0 45px #282828,0 18px 80px #000; margin-bottom:25px; }
.orb span { font-family:var(--font-display),serif; color:#d4d4cf; font-size:70px; letter-spacing:-.08em; font-style:italic; }
.hero-footer { grid-column:1/-1; align-self:end; display:flex; align-items:center; justify-content:center; gap:25px; color:#7d7d79; font-size:9px; letter-spacing:.18em; text-transform:uppercase; padding-top:70px; }
.hero-footer i { width:3px;height:3px;background:#666;border-radius:50%; }
.intro,.contact { padding:120px 8vw; }
.intro-title { display:grid; grid-template-columns:1.1fr .7fr; gap:12vw; align-items:end; }
.intro h2,.services-heading h2,.experience h2,.contact h2 { font:500 clamp(42px,5vw,76px)/1 var(--font-display),serif; letter-spacing:-.035em; }
.intro-title>p,.services-heading>p,.experience-copy>p { color:#666; line-height:1.85; font-size:15px; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid var(--line); }
.principles article { padding:35px 4vw 20px 0; border-right:1px solid var(--line); }
.principles article+article { padding-left:4vw; }.principles article:last-child{border-right:0}
.principles strong,.service-number { color:#999; font-size:10px; letter-spacing:.15em; }
.principles h3 { font:500 26px var(--font-display),serif; margin:35px 0 15px; }.principles p{font-size:13px;color:#777;line-height:1.7}
.services-section { background:#0a0a0a; color:white; padding:120px 8vw; }
.section-label.light { color:#777; }
.services-heading { display:grid; grid-template-columns:1.1fr .6fr; gap:14vw; align-items:end; }.services-heading>p{color:#8d8d88}
.service-grid { margin-top:75px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #303030; border-bottom:1px solid #303030; }
.service-card { padding:42px 3.2vw 50px 0; border-right:1px solid #303030; }.service-card+.service-card{padding-left:3.2vw}.service-card:last-child{border-right:0}
.service-card h3 { font:500 31px var(--font-display),serif; margin:28px 0 18px; }.service-card>p{color:#848480;font-size:13px;line-height:1.75;min-height:70px}
.service-card ul { list-style:none;padding:0;margin:28px 0 0 }.service-card li{padding:13px 0;border-top:1px solid #242424;font-size:12px;color:#bcbcb7}
.all-services summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; padding:25px 0; color:#aaa; font-size:12px; }.all-services summary::-webkit-details-marker{display:none}.all-services[open] summary span{transform:rotate(45deg)}
.service-list { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#292929 }.service-list p{background:#111;padding:20px;font-size:11px;color:#aaa;margin:0}
.experience { display:grid; grid-template-columns:1fr 1fr; min-height:750px; }
.experience-art { background:linear-gradient(145deg,#0a0a0a,#2a2a2a); display:grid;place-items:center;position:relative;overflow:hidden}.experience-art:before,.experience-art:after{content:"";position:absolute;border:1px solid #4a4a4a;border-radius:50%;width:500px;height:500px}.experience-art:after{width:350px;height:350px}.experience-art span{font:italic 170px var(--font-display),serif;color:#aaa;z-index:1}.experience-art div{position:absolute;width:1px;height:80%;background:#444;transform:rotate(38deg)}
.experience-copy { padding:120px 8vw 100px; align-self:center; }.experience-copy h2{font-size:clamp(45px,5vw,68px)}
.experience-points { margin-top:50px;border-top:1px solid var(--line);display:flex;flex-direction:column}.experience-points span{padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.experience-points span:before{content:"✓";color:#999;margin-right:18px}
.contact { text-align:center; }.contact h2{max-width:850px;margin:0 auto 40px}.button-dark{background:#111;color:white;margin:auto}.button-dark:hover{background:#333}
.contact-grid { text-align:left;display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line)}.contact-grid>div{padding:28px 25px 0;border-right:1px solid var(--line)}.contact-grid>div:first-child{padding-left:0}.contact-grid>div:last-child{border:0}.contact-grid span{display:block;font-size:9px;letter-spacing:.2em;color:#999;margin-bottom:18px}.contact-grid p,.contact-grid a{font:500 15px/1.7 var(--font-display),serif}
footer { background:#050505;color:white;padding:65px 8vw 35px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px}footer img{width:300px}footer p{color:#777;font-size:12px;max-width:350px;justify-self:end}footer span{grid-column:1/-1;padding-top:35px;border-top:1px solid #222;color:#555;font-size:9px;letter-spacing:.12em}
.floating-whatsapp{position:fixed;z-index:10;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#f2f2ee;color:#111;box-shadow:0 10px 30px #0003;font-size:11px;font-weight:800}
@media(max-width:850px){
  .site-header{height:76px;grid-template-columns:1fr auto;padding:0 20px}.brand img{width:190px;height:48px}nav{display:none}.header-cta{padding:11px 12px}.header-cta span{display:none}
  .hero{min-height:calc(100vh - 76px);padding:12vh 24px 30px;display:block}.hero-glow{right:-280px;top:20%}.hero h1{font-size:clamp(58px,17vw,82px)}.hero-description{font-size:15px}.hero-mark{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-footer{position:absolute;bottom:28px;left:24px;right:24px;padding:0;gap:12px;justify-content:flex-start;flex-wrap:wrap}.hero-footer span{font-size:7px}
  .intro,.contact,.services-section{padding:85px 24px}.intro-title,.services-heading{grid-template-columns:1fr;gap:28px}.intro h2,.services-heading h2,.contact h2{font-size:48px}.principles,.service-grid{grid-template-columns:1fr;margin-top:55px}.principles article,.principles article+article,.service-card,.service-card+.service-card{padding:30px 0;border-right:0;border-bottom:1px solid var(--line)}.service-card,.service-card+.service-card{border-color:#303030}.service-card>p{min-height:0}.service-list{grid-template-columns:1fr 1fr}
  .experience{grid-template-columns:1fr;min-height:0}.experience-art{min-height:420px}.experience-copy{padding:80px 24px}.experience-copy h2{font-size:48px}.contact-grid{grid-template-columns:1fr 1fr;margin-top:70px}.contact-grid>div,.contact-grid>div:first-child{padding:25px 15px;border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr;padding:55px 24px 30px}footer img{width:250px}footer p{justify-self:start}
}
@media(max-width:520px){.header-cta{font-size:0}.header-cta:before{content:"CITA";font-size:10px}.contact-grid{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.hero-footer{display:none}}
