:root{--black:#070707;--white:#f8f7f3;--paper:#efeee9;--ink:#111;--muted:#6f6d67;--hair:rgba(17,17,17,.18);--hair-dark:rgba(255,255,255,.2);--accent:#9c3425;--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.serif{font-family:Baskerville,"Iowan Old Style","Times New Roman",serif;font-style:italic}.site-header{height:72px;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;border-bottom:1px solid var(--hair);background:rgba(239,238,233,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}.wordmark{font-size:19px;line-height:1;font-weight:700;letter-spacing:-.055em;justify-self:start}.wordmark span{font-size:8px;vertical-align:top;margin-left:2px}.main-nav{display:flex;gap:30px;font-size:12px}.main-nav a,.lang-link{position:relative}.main-nav a:after,.lang-link:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .2s ease}.main-nav a:hover:after,.lang-link:hover:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:20px;font-size:12px}.header-cta{background:var(--black);color:#fff;padding:11px 17px}.hero{min-height:calc(100svh - 72px);background:var(--black);color:var(--white);display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden}.hero-copy{padding:clamp(70px,9vw,150px) 4vw 58px 32px;display:flex;flex-direction:column;justify-content:center}.overline{margin:0 0 30px;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#b8b3a8}.overline.dark{color:#6f665b}.hero h1{font-size:clamp(58px,7.8vw,130px);line-height:.9;letter-spacing:-.072em;font-weight:500;margin:0;max-width:920px}.hero h1 span{font-family:Baskerville,"Iowan Old Style","Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-.055em;color:#e7ded1}.hero-lead{max-width:670px;font-size:18px;line-height:1.62;color:rgba(255,255,255,.62);margin:42px 0 0;letter-spacing:-.01em}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;font-size:13px;font-weight:650}.btn-light{background:#fff;color:#0b0b0b}.text-action{font-size:12px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}.text-action span{margin-left:12px}.hero-visual{position:relative;min-height:680px;border-left:1px solid var(--hair-dark);color:#e9e3d7;display:flex;align-items:flex-end;justify-content:center;padding:90px 5vw 44px;background:#0a0a0a}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:76px 76px;opacity:.5}.visual-meta{position:absolute;top:28px;left:28px;right:28px;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.45)}.parroquia{width:min(88%,640px);height:auto;max-height:76vh;position:relative;z-index:2;filter:drop-shadow(0 40px 50px rgba(0,0,0,.3))}.visual-caption{position:absolute;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;font-family:Baskerville,"Times New Roman",serif;font-size:17px;font-style:italic;color:rgba(255,255,255,.58)}.intro-strip{padding:24px 32px 26px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;border-bottom:1px solid var(--hair);background:var(--paper)}.intro-strip p{margin:0;font-size:13px;line-height:1.5;max-width:680px}.areas-line{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#696761}.services{padding:115px 32px 135px;background:var(--paper)}.section-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;margin-bottom:70px}.section-heading .overline{margin-top:12px}.section-heading h2{font-size:clamp(60px,8vw,130px);line-height:.84;letter-spacing:-.075em;font-weight:500;margin:0}.service-catalogue{border-top:1px solid #151515}.service-line{min-height:125px;display:grid;grid-template-columns:70px minmax(240px,.9fr) 1fr 44px;align-items:center;gap:20px;border-bottom:1px solid #151515;transition:background .18s ease,color .18s ease,padding .18s ease}.service-line:hover{background:var(--black);color:var(--white);padding-left:18px;padding-right:18px}.service-index{font-size:10px;letter-spacing:.16em;color:#756e64}.service-name{font-size:clamp(45px,5.2vw,84px);line-height:.9;letter-spacing:-.06em;font-weight:540}.service-name.serif{font-weight:400;letter-spacing:-.04em}.service-detail{font-size:12px;color:#6f6b64;transition:color .18s ease}.service-line:hover .service-detail,.service-line:hover .service-index{color:rgba(255,255,255,.55)}.service-arrow{font-size:28px;text-align:right}.statement{background:var(--accent);color:#f8f0e9;padding:120px 32px 135px}.statement-kicker{font-size:10px;letter-spacing:.2em;margin:0 0 70px}.statement blockquote{margin:0;font-size:clamp(48px,6.3vw,104px);line-height:.97;letter-spacing:-.06em;font-weight:500;max-width:1280px}.statement blockquote em{font-family:Baskerville,"Iowan Old Style","Times New Roman",serif;font-weight:400}.concierge{background:var(--black);color:#fff;padding:120px 32px 130px;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.concierge-intro{position:sticky;top:115px;align-self:start}.concierge-intro h2{font-size:clamp(48px,5.5vw,82px);line-height:.94;letter-spacing:-.055em;font-weight:500;margin:0 0 34px}.concierge-intro h2 span{font-family:Baskerville,"Iowan Old Style","Times New Roman",serif;font-style:italic;font-weight:400;color:#d8d0c3}.concierge-intro>p:last-child{max-width:470px;color:rgba(255,255,255,.52);line-height:1.65;font-size:15px}.concierge-form{border-top:1px solid var(--hair-dark)}.form-step{display:grid;grid-template-columns:125px 1fr;gap:30px;padding:28px 0 34px;border-bottom:1px solid var(--hair-dark)}.step-label{display:flex;gap:14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4)}.step-label p,.step-label label{margin:0}.route-selector{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}.route-selector label{border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}.route-selector input{position:absolute;opacity:0;pointer-events:none}.route-selector span{display:block;padding:16px;text-align:center;font-size:11px;letter-spacing:.13em;cursor:pointer;transition:.16s}.route-selector input:checked+span{background:#fff;color:#111}.concierge-form input[type=text],.concierge-form textarea{width:100%;background:transparent;border:0;color:#fff;outline:0;border-bottom:1px solid rgba(255,255,255,.3);border-radius:0;padding:8px 0 14px;font-size:21px}.concierge-form textarea{min-height:150px;resize:vertical;line-height:1.45}.concierge-form input::placeholder,.concierge-form textarea::placeholder{color:#53514e}.form-submit{padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.form-submit p{margin:0;color:rgba(255,255,255,.4);font-size:11px}.form-submit button{border:0;background:#fff;color:#111;padding:17px 20px;min-width:260px;display:flex;justify-content:space-between;font-weight:700;cursor:pointer}.seo-section{padding:120px 32px 140px;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;background:#f7f6f2}.seo-heading h2{font-size:clamp(48px,5.6vw,88px);line-height:.97;letter-spacing:-.06em;font-weight:500;margin:0}.seo-heading h2 span{font-family:Baskerville,"Iowan Old Style","Times New Roman",serif;font-style:italic;font-weight:400}.seo-copy>p{max-width:700px;font-size:18px;line-height:1.65;color:#57544f;margin:0 0 58px}.seo-nav{border-top:1px solid var(--hair)}.seo-nav a{display:flex;justify-content:space-between;gap:30px;padding:18px 0;border-bottom:1px solid var(--hair);font-size:13px}.site-footer{padding:32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;border-top:1px solid var(--hair);font-size:11px;background:var(--paper)}.site-footer p{margin:0;text-align:center;color:#6d6962}.site-footer>div{display:flex;justify-content:flex-end;gap:26px}.footer-wordmark{font-size:17px}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto;padding:0 18px;height:64px}.main-nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:680px;padding:86px 18px 54px}.hero h1{font-size:clamp(58px,16vw,92px)}.hero-lead{font-size:16px}.hero-visual{min-height:620px;border-left:0;border-top:1px solid var(--hair-dark);padding-left:18px;padding-right:18px}.visual-meta{left:18px;right:18px}.visual-caption{left:18px;right:18px}.intro-strip{grid-template-columns:1fr;padding:22px 18px}.areas-line{justify-self:start;justify-content:flex-start;gap:12px}.services{padding:82px 18px 95px}.section-heading{grid-template-columns:1fr;gap:15px;margin-bottom:45px}.section-heading h2{font-size:70px}.service-line{grid-template-columns:38px 1fr 34px;gap:10px;min-height:98px}.service-detail{display:none}.service-name{font-size:clamp(42px,13vw,68px)}.statement{padding:85px 18px 95px}.statement-kicker{margin-bottom:45px}.concierge{grid-template-columns:1fr;padding:85px 18px 95px;gap:55px}.concierge-intro{position:static}.form-step{grid-template-columns:1fr;gap:18px}.route-selector{grid-template-columns:repeat(2,1fr)}.form-submit{align-items:stretch;flex-direction:column}.form-submit button{width:100%;min-width:0}.seo-section{grid-template-columns:1fr;padding:85px 18px 95px;gap:55px}.site-footer{grid-template-columns:1fr;padding:26px 18px;gap:14px}.site-footer p{text-align:left}.site-footer>div{justify-content:flex-start}}
@media(max-width:520px){.header-cta{display:none}.hero-copy{min-height:620px}.hero h1{font-size:clamp(54px,15.5vw,76px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-visual{min-height:520px}.visual-caption{font-size:14px}.section-heading h2{font-size:58px}.route-selector{grid-template-columns:1fr 1fr}.concierge-form input[type=text],.concierge-form textarea{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-line,.route-selector span{transition:none}}
.service-header{background:var(--black);color:#fff;border-color:var(--hair-dark)}.subhero{min-height:720px;background:var(--black);color:#fff;display:grid;grid-template-columns:1.15fr .85fr}.subhero-copy{padding:120px 32px 90px;display:flex;flex-direction:column;justify-content:center}.subhero-copy h1{font-size:clamp(56px,7.2vw,118px);line-height:.9;letter-spacing:-.068em;font-weight:500;margin:0;max-width:1050px}.subhero-copy>p:not(.overline){max-width:710px;font-size:18px;line-height:1.62;color:rgba(255,255,255,.58);margin:36px 0 28px}.subhero-copy .btn{align-self:flex-start}.subhero-mark{border-left:1px solid var(--hair-dark);display:flex;align-items:center;justify-content:center;overflow:hidden}.subhero-mark span{font-family:Baskerville,"Times New Roman",serif;font-size:clamp(120px,18vw,300px);font-style:italic;color:rgba(255,255,255,.06);letter-spacing:-.08em}.service-content{padding:110px 32px 130px;display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;background:#f7f6f2}.service-aside{font-size:12px;line-height:1.6;color:#716d65}.service-body{max-width:880px}.service-body section{padding:0 0 72px;border-bottom:1px solid var(--hair);margin-bottom:62px}.service-body h2{font-size:clamp(38px,4.7vw,68px);line-height:1;letter-spacing:-.05em;font-weight:500;margin:0 0 24px}.service-body p{font-size:18px;line-height:1.72;color:#57534d;margin:0}.related-links{display:flex;justify-content:space-between;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:960px){.subhero{grid-template-columns:1fr;min-height:auto}.subhero-copy{min-height:650px;padding:90px 18px 70px}.subhero-mark{min-height:300px;border-left:0;border-top:1px solid var(--hair-dark)}.service-content{grid-template-columns:1fr;padding:80px 18px 95px;gap:40px}.service-body section{padding-bottom:52px;margin-bottom:46px}.related-links{flex-direction:column}}
