@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/serif-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/serif.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/sans-regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/sans-medium.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/sans-semibold.ttf) format('truetype');
}
:root{--coal:#242923;--stone:#d9d6c8;--ivory:#ece8dc;--orange:#df6847;--ink:#191d17;--line:#24292355;--gutter:clamp(28px,4.4vw,80px);--serif:'DM Serif Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body,button,input{font-size:15px}button,input{font-family:var(--sans)}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.5}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:6px}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{display:inline-block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:absolute;top:-150px;left:20px;z-index:100;background:var(--ivory);padding:18px}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,h2{letter-spacing:-.045em;line-height:1}em{font-weight:400}p{line-height:1.75}button{border:0;background:none}.section-pad{padding-left:var(--gutter);padding-right:var(--gutter)}.section-label{font-family:var(--sans);font-size:11px;letter-spacing:2.5px;line-height:1.6;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;padding:13px 23px;border:1px solid currentColor;font-size:14px;font-weight:500;line-height:1.5;transition:background .25s,color .25s}.button .icon{width:23px;height:23px;transition:transform .25s}.button:hover .icon{transform:translateX(4px)}.button-accent{color:var(--orange);border-color:var(--orange)}.button-accent:hover{background:var(--orange);color:var(--coal)}.button-dark:hover{background:var(--coal);color:var(--ivory)}.editorial-link{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--coal);padding:20px 0 0;font-family:var(--serif);font-size:clamp(23px,2.1vw,32px);line-height:1.3}.editorial-link .icon{color:var(--orange);width:29px;height:29px;transition:transform .3s}.editorial-link:hover .icon{transform:translate(3px,-3px)}
.site-header{height:104px;padding:12px var(--gutter);background:var(--coal);color:var(--ivory);display:flex;align-items:center;gap:45px;border-bottom:1px solid #ece8dc65;position:relative;z-index:10}.brand{display:block;line-height:.85;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:66px;letter-spacing:-4px;display:block}.brand small{display:block;font-size:9px;letter-spacing:4px;margin-top:12px;padding-left:3px}#main-nav{display:flex;align-items:center;gap:40px;margin-left:auto}#main-nav a{font-size:15px;position:relative;padding:12px 0}#main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}#main-nav a:hover:after{transform:scaleX(1)}.header-contact{min-width:165px}.header-contact:hover{background:var(--ivory);color:var(--coal)}.menu-toggle{display:none}
.hero{position:relative;display:grid;grid-template-columns:55% 45%;height:calc(100svh - 162px);min-height:660px;max-height:1020px;background:var(--coal);color:var(--ivory);isolation:isolate}.hero-copy{padding:55px 75px 70px var(--gutter);display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:2}.hero h1{font-size:clamp(100px,10.7vw,176px);line-height:.92;letter-spacing:-.045em}.hero h1>span,.hero h1>em{display:block}.hero h1>em{padding-bottom:.03em}.hero h1>span{animation:enter-title 1s both}.hero h1>span:nth-child(2){animation-delay:.1s}.hero h1>em{animation:enter-title 1s .2s both}.hero-description{margin-top:38px;max-width:460px}.hero-description p{font-size:15px;line-height:1.6;margin-bottom:30px}.hero-description .button{min-width:315px}.hero-film{position:relative;overflow:hidden;background:#a2957b}.hero-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 69%}.hero-invitation{position:absolute;left:55%;bottom:70px;transform:translateX(-50%);width:128px;height:128px;z-index:3;padding:0}.hero-invitation>span:first-child{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:30px;letter-spacing:-1px}.round-arrow{width:128px;height:128px;background:var(--orange);color:var(--coal);display:grid;place-items:center;border-radius:50%;transition:transform .5s}.round-arrow .icon{width:58px;height:58px;stroke-width:1}.hero-invitation:hover .round-arrow{transform:rotate(45deg)}.hero-rail{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:58px;border-top:1px solid #ece8dc66;background:var(--coal);color:var(--ivory);padding:16px var(--gutter);font-size:9px;font-weight:500;letter-spacing:1.7px}.hero-rail a{display:flex;align-items:center;gap:10px}.hero-rail .icon{width:15px;height:15px;transform:rotate(90deg)}
.approach{padding-top:95px;padding-bottom:70px;background:var(--stone)}.approach .section-label{margin-bottom:30px}.approach-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:7%}.approach h2{font-size:clamp(70px,8.1vw,125px);line-height:.98;letter-spacing:-.045em}.approach-copy{padding-top:8px;align-self:center}.approach-copy p{font-size:clamp(17px,1.5vw,22px);line-height:1.55;margin-bottom:25px;max-width:520px}.approach-copy .editorial-link{margin-top:38px}.detail{background:var(--stone)}.detail img{display:block;width:100%;height:clamp(300px,32vw,520px);object-fit:cover;object-position:center 38%}.detail figcaption{padding:23px var(--gutter);font-size:10px;letter-spacing:3px;border-bottom:1px solid var(--line)}
.about{padding-top:105px;padding-bottom:90px;display:grid;grid-template-columns:.87fr 1.13fr;gap:7%;align-items:center}.portrait{aspect-ratio: .86;background:#c7c3b8;overflow:hidden}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 13%;transition:transform .8s}.portrait:hover img{transform:scale(1.02)}.about-copy .section-label{margin-bottom:24px;color:#9d452d}.about h2{font-size:clamp(65px,6.4vw,100px);line-height:.98;margin-bottom:35px}.about-copy>p:not(.section-label){font-size:clamp(16px,1.45vw,20px);line-height:1.6;max-width:650px;margin-bottom:20px}.about-signoff{display:flex;align-items:center;gap:35px;justify-content:space-between;margin-top:30px}.about-signoff .button{font-size:13px;gap:18px;min-width:300px}.signature{font-family:var(--serif);font-style:italic;font-size:41px;transform:rotate(-9deg);border-bottom:1px solid;line-height:1.3;white-space:nowrap;margin-right:10px}
.first-visit{display:grid;grid-template-columns:.8fr 2fr;gap:7%;padding-top:0;padding-bottom:95px}.first-visit>h2{border-top:1px solid var(--coal);padding-top:30px;font-size:clamp(52px,5vw,78px)}.visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.visit-steps article{border-top:1px solid var(--coal);padding-top:25px}.visit-steps article>span{font-family:var(--serif);font-size:19px;color:#b24b30}.visit-steps h3{font-size:clamp(25px,2.6vw,40px);line-height:1.05;letter-spacing:-1px;margin:12px 0 23px}.visit-steps p{font-size:13px;line-height:1.65;max-width:260px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:80px;padding-bottom:90px;border-top:1px solid var(--line)}.faq>h2{font-size:clamp(46px,5.3vw,80px);line-height:1.05}.faq-list{border-top:1px solid var(--coal)}details{border-bottom:1px solid var(--coal);padding:20px 0}summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;font-family:var(--serif);font-size:clamp(21px,2vw,29px);line-height:1.2;cursor:pointer}summary::-webkit-details-marker{display:none}summary .icon{width:20px;height:20px;transition:transform .3s}details[open] summary .icon{transform:rotate(45deg)}details p{font-size:14px;line-height:1.8;margin-top:20px;max-width:550px;padding-right:35px}details .editorial-link{border:0;padding-top:18px;font-size:21px;text-align:left;width:100%}
.contact{background:var(--coal);color:var(--ivory);padding-top:55px;padding-bottom:0}.contact-title{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ece8dc80;padding-bottom:25px}.contact h2{font-size:clamp(110px,17.8vw,270px);line-height:1.03;letter-spacing:-.055em}.contact h2>span{color:var(--orange)}.contact-disc{background:var(--orange);color:var(--coal);border-radius:50%;width:110px;height:110px;flex-shrink:0;display:grid;place-items:center;margin:20px 15px 0 0;transition:transform .4s}.contact-disc .icon{width:50px;height:50px;stroke-width:1}.contact-disc:hover{transform:rotate(45deg)}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:50px 0 65px}.contact-info>div+div{padding-left:55px;border-left:1px solid #ece8dc70}.contact h3{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:2px;margin-bottom:22px}.contact address{font-family:var(--serif);font-style:normal;font-size:clamp(25px,3vw,44px);line-height:1.3;letter-spacing:-1px}.contact-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:28px;color:var(--orange);padding:15px 0 8px;border-bottom:1px solid var(--orange)}.demo-phone{font-family:var(--serif);font-size:clamp(28px,3.4vw,50px);letter-spacing:-1px;line-height:1.2;white-space:nowrap}.demo-note{font-size:12px;line-height:1.7;margin-top:10px;opacity:.75}.contact-info .button{margin-top:25px;font-family:var(--serif);font-size:22px;min-width:270px}.contact footer{border-top:1px solid #ece8dc70;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0 95px}.footer-brand{font-family:var(--serif);font-size:46px;letter-spacing:-2px;line-height:1}.contact footer>div{display:flex;gap:30px;align-items:center;font-size:10px}.contact footer button{font-size:10px;color:var(--ivory);border-left:1px solid #ece8dc80;padding-left:30px}
#chat-launcher{position:fixed;right:26px;bottom:25px;z-index:40;display:flex;align-items:center;gap:12px;background:var(--ivory);color:var(--coal);box-shadow:0 5px 25px #0002;border-radius:40px;padding:0 18px 0 0;font-size:11px;font-weight:600}.launcher-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #24292320}.launcher-icon .icon{width:26px;height:26px}#chat-launcher:hover .launcher-icon{background:var(--orange)}#chat-panel{position:fixed;right:26px;bottom:94px;width:380px;max-height:calc(100dvh - 120px);z-index:50;display:flex;flex-direction:column;background:var(--stone);border:1px solid #ece8dc88;border-radius:10px;overflow:hidden;box-shadow:0 16px 70px #0005}#chat-panel[hidden]{display:none}.chat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--coal);color:var(--ivory);padding:18px 22px}.chat-head h2{font-size:28px;letter-spacing:-.5px;line-height:1.2}.chat-head p{font-size:8px;letter-spacing:1.4px;line-height:1.5;margin-top:5px}.chat-head>button{color:var(--ivory);padding:4px}.chat-head>button .icon{width:20px;height:20px}#messages{padding:22px 22px 6px;max-height:260px;min-height:135px;overflow-y:auto;overscroll-behavior:contain}.message{padding:12px 14px;border:1px solid #24292388;border-radius:8px;max-width:93%;font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:15px}.message.user{background:#c8c7b8;margin-left:auto;border-color:#24292344}.message.typing{border-color:transparent;font-size:11px;opacity:.65}.suggestions{display:grid;grid-template-columns:1fr;gap:7px;padding:0 22px 18px}.suggestions button{display:flex;align-items:center;justify-content:space-between;border:1px solid #24292380;padding:8px 12px;border-radius:5px;font-size:12px;text-align:left}.suggestions button:hover{background:#2429230a}.suggestions .icon{width:15px;height:15px}#chat-form{display:flex;gap:8px;padding:0 18px}#chat-input{min-width:0;flex:1;border:1px solid #24292380;border-radius:5px;padding:12px;font-size:13px;outline-offset:2px;background:#e6e3d8;color:var(--coal)}#chat-send{width:44px;border-radius:5px;display:grid;place-items:center;flex-shrink:0;background:var(--orange);color:var(--coal)}.chat-disclaimer{padding:10px 22px 16px;font-size:9px;line-height:1.5;color:#4a4f44}dialog{max-width:570px;width:calc(100% - 40px);max-height:85dvh;overflow-y:auto;background:var(--stone);color:var(--ink);border:1px solid var(--coal);padding:38px;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#242923bb}dialog h2{font-size:54px;margin:25px 0}dialog p:not(.section-label){font-size:13px;line-height:1.8;margin-top:18px}dialog a{text-decoration:underline}#close-privacy{float:right;padding:0}#close-privacy .icon{width:20px;height:20px}
@keyframes enter-title{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.hero-copy{padding-top:75px;padding-bottom:80px}.hero h1{font-size:185px}.hero-description p{font-size:17px}.hero-invitation{bottom:85px}.about{gap:8%}.portrait{max-height:780px}}
@media(max-width:1150px){.hero-invitation>span:first-child{display:none}.hero h1{font-size:clamp(93px,10.7vw,140px)}.hero-copy{padding-right:45px}.hero-description .button{min-width:0;font-size:12px}.about-signoff .signature{display:none}.about-signoff .button{min-width:0}.about h2{font-size:clamp(60px,6.4vw,90px)}.visit-steps{gap:20px}.contact-disc{width:90px;height:90px}.contact-info{gap:30px}.contact-info>div+div{padding-left:30px}}
@media(max-width:900px) and (min-width:761px){.site-header{gap:24px;height:95px}.brand>span{font-size:52px}.brand small{font-size:7px;letter-spacing:2.5px}#main-nav{gap:22px}#main-nav a{font-size:12px}.header-contact{min-width:135px;font-size:12px;padding:10px 16px}.hero{min-height:640px}.hero-copy{padding-right:35px;padding-top:50px;padding-bottom:50px}.hero h1{font-size:96px}.hero-description p{font-size:13px}.hero-invitation,.round-arrow{width:100px;height:100px}.hero-rail{font-size:7px;letter-spacing:1.2px}.approach-layout{gap:5%;grid-template-columns:1.4fr 1fr}.approach h2{font-size:75px}.approach-copy p{font-size:16px}.about{gap:5%}.about h2{font-size:60px}.about-copy>p:not(.section-label){font-size:14px}.about .button{font-size:11px;padding:12px}.signature{display:none}.first-visit{gap:5%;grid-template-columns:.7fr 2fr}.first-visit>h2{font-size:50px}.visit-steps h3{font-size:28px}.visit-steps p{font-size:12px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:85px;gap:18px;padding-top:10px;padding-bottom:10px}.brand>span{font-size:49px;letter-spacing:-2.8px}.brand small{font-size:6px;letter-spacing:2.5px;margin-top:8px}.header-contact{margin-left:auto;min-width:0;gap:12px;font-size:11px;min-height:38px;padding:7px 12px}.header-contact .icon{width:17px;height:17px}.menu-toggle{display:block;color:var(--ivory);padding:6px 0 6px 4px}.menu-toggle .icon{width:23px;height:23px}#main-nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--coal);border-bottom:1px solid #ece8dc66;margin:0;padding:20px var(--gutter) 25px;gap:0;box-shadow:0 20px 25px #0001}#main-nav.open{display:flex;flex-direction:column;align-items:stretch}#main-nav a{padding:14px 0;border-top:1px solid #ece8dc33;font-size:15px}.hero{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.hero-copy{padding:44px var(--gutter) 40px}.hero h1{font-size:clamp(86px,22vw,143px);line-height:.92;letter-spacing:-.045em}.hero-description{margin-top:32px;max-width:390px}.hero-description p{font-size:13px;line-height:1.7;margin-bottom:23px}.hero-description .button{font-size:12px;min-height:48px;padding:12px 17px}.hero-film{height:360px}.hero-film video{object-position:center 73%}.hero-invitation{left:auto;right:24px;bottom:315px;transform:none;width:86px;height:86px}.round-arrow{width:86px;height:86px}.round-arrow .icon{width:40px;height:40px}.hero-invitation>span:first-child{display:none}.hero-rail{padding:18px var(--gutter);min-height:60px;flex-wrap:wrap;gap:12px;font-size:7px;letter-spacing:1px}.hero-rail>span:nth-child(2){display:none}.hero-rail .icon{width:12px;height:12px}.approach{padding-top:60px;padding-bottom:45px}.section-label{font-size:9px;letter-spacing:1.8px}.approach .section-label{margin-bottom:25px}.approach-layout{grid-template-columns:1fr;gap:30px}.approach h2{font-size:clamp(62px,13.8vw,94px);line-height:1.01}.approach-copy{padding:0}.approach-copy p{font-size:16px;line-height:1.65;margin-bottom:18px}.approach-copy .editorial-link{margin-top:30px;font-size:24px}.detail img{height:300px;object-position:center 35%}.detail figcaption{padding:17px var(--gutter);font-size:8px;letter-spacing:1.8px}.about{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.portrait{aspect-ratio:.9;max-height:630px}.about-copy .section-label{margin-bottom:20px}.about h2{font-size:clamp(58px,12.5vw,84px);margin-bottom:28px}.about-copy>p:not(.section-label){font-size:15px;line-height:1.7;margin-bottom:17px}.about-signoff{margin-top:25px}.about-signoff .button{font-size:12px;min-width:0;padding:12px 16px}.first-visit{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.first-visit>h2{font-size:52px;padding-top:25px}.first-visit>h2 br{display:none}.visit-steps{grid-template-columns:1fr;gap:22px}.visit-steps article{display:grid;grid-template-columns:33px 1fr;column-gap:15px;row-gap:8px;padding-top:20px}.visit-steps article>span{font-size:17px;padding-top:5px}.visit-steps h3{font-size:30px;margin:0}.visit-steps h3 br{display:none}.visit-steps p{grid-column:2;font-size:13px;max-width:none}.faq{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:60px}.faq>h2{font-size:44px}.faq-list summary{font-size:23px}.faq-list details{padding:20px 0}.faq-list details p{font-size:13px;padding-right:10px}.faq-list .icon{width:17px;height:17px}.contact{padding-top:38px}.contact-title{gap:10px;padding-bottom:20px}.contact h2{font-size:clamp(65px,17.5vw,125px);letter-spacing:-.055em}.contact-disc{width:50px;height:50px;margin:5px 0 0}.contact-disc .icon{width:25px;height:25px}.contact-info{grid-template-columns:1fr;gap:30px;padding:30px 0 40px}.contact-info>div+div{border-left:0;border-top:1px solid #ece8dc55;padding:30px 0 0}.contact h3{font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.contact address{font-size:27px;letter-spacing:-.5px}.contact-link{font-size:25px;padding-top:15px}.demo-phone{font-size:35px;letter-spacing:-1px}.demo-note{font-size:11px}.contact-info .button{font-size:22px;min-width:250px;margin-top:23px}.contact footer{padding:23px 0 105px;align-items:flex-start;gap:20px;flex-wrap:wrap}.footer-brand{font-size:39px}.contact footer>div{flex-direction:column;align-items:flex-start;font-size:8px;gap:12px;padding-top:5px}.contact footer button{font-size:9px;border:0;padding:0}#chat-launcher{right:16px;bottom:16px;gap:8px;padding-right:14px;font-size:10px}.launcher-icon{width:48px;height:48px}.launcher-icon .icon{width:23px;height:23px}#chat-panel{right:12px;bottom:78px;width:calc(100% - 24px);max-height:calc(100dvh - 96px);border-radius:8px}.chat-head{padding:16px 18px}.chat-head h2{font-size:26px}.chat-head p{font-size:7px}#messages{min-height:110px;max-height:30dvh;padding:18px 18px 0}.message{font-size:13px}.suggestions{padding:0 18px 16px;gap:6px}.suggestions button{padding:9px 11px;font-size:11px}#chat-input{font-size:16px;padding:11px}#chat-send{width:43px}.chat-disclaimer{font-size:8px;padding-left:18px;padding-right:18px}dialog{padding:25px}dialog h2{font-size:45px}}
@media(max-width:360px){:root{--gutter:20px}.site-header{gap:12px}.brand>span{font-size:45px}.brand small{font-size:5px;letter-spacing:2.3px}.header-contact{padding:7px 10px;gap:9px}.hero h1{font-size:85px}.hero-rail{font-size:6px}.contact-title{gap:6px}.contact-disc{width:42px;height:42px}.contact h2{font-size:62px}.demo-phone{font-size:32px}.approach h2{font-size:58px}.about h2{font-size:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.has-conversation .suggestions{display:flex;flex-wrap:wrap;gap:6px}.has-conversation .suggestions button{font-size:10px;padding:7px 10px}.has-conversation .suggestions .icon{display:none}
@media(min-width:901px){.brand>span{font-size:76px}.brand small{font-size:10px;letter-spacing:4px}.site-header{height:108px}#main-nav a{font-size:16px}.header-contact{font-size:15px}.hero{height:calc(100svh - 166px)}.hero h1{font-size:clamp(104px,11.3vw,180px)}.hero-description p{font-size:17px}.hero-description .button{font-size:15px;min-width:340px}.hero-rail{font-size:10px}.approach{padding-top:75px;padding-bottom:55px}.approach h2{font-size:clamp(88px,9.4vw,147px)}.approach-layout{grid-template-columns:1.7fr 1fr}.approach-copy p{font-size:clamp(18px,1.6vw,24px)}.section-label{font-size:12px}.detail figcaption{font-size:11px}}
@media(min-width:1800px){.hero h1{font-size:190px}}
.hero h1>span,.hero h1>em{white-space:nowrap}
@media(min-width:901px){.about-signoff .button{font-size:15px;padding:15px 20px}}
@media(max-width:360px){.hero h1{font-size:clamp(68px,22vw,80px)}}
.hero .button-accent,.contact .button-accent,.contact-link{color:#ed7c5b}
.hero .button-accent:hover,.contact .button-accent:hover{background:#ed7c5b;color:var(--coal)}
.detail img{object-position:center 55%}
@media(max-width:760px){.detail img{height:230px;object-position:42% center}}
@media(max-width:360px){.contact h2{font-size:52px}}
@media(min-width:901px){.brand>span{font-size:84px}.brand small{font-size:10px}#main-nav a,.header-contact{font-size:18px}.header-contact{min-width:184px}.hero-description p{font-size:20px;line-height:1.5;max-width:530px}.hero-description .button{font-size:18px;min-width:365px}.hero-description{max-width:540px}.hero-rail{font-size:11px}.about-copy>p:not(.section-label){font-size:22px}.about-signoff .button{font-size:18px;min-height:58px}.visit-steps p{font-size:15px}.faq-list summary{font-size:clamp(25px,2.3vw,34px)}.faq>h2{font-size:clamp(62px,6.1vw,92px)}.section-label{font-size:13px}}
@media(min-width:901px) and (max-width:1150px){.hero-description p{font-size:16px}.hero-description .button{font-size:14px;min-width:0}.hero-rail{font-size:8px}.site-header{gap:26px}#main-nav{gap:28px}#main-nav a,.header-contact{font-size:15px}.header-contact{min-width:145px}.about-copy>p:not(.section-label){font-size:17px}.about-signoff .button{font-size:13px}.visit-steps p{font-size:13px}}
/* Escala tipográfica acordada: titulares proporcionados y cuerpo legible. */
:root{--type-h1:clamp(80px,6.5vw,96px);--type-h2:clamp(44px,4.2vw,60px);--type-body:18px}
.hero h1{font-size:var(--type-h1);line-height:1.06;letter-spacing:-.035em}
.approach h2,.about h2,.first-visit>h2,.faq>h2,.contact h2{font-size:var(--type-h2);line-height:1.1;letter-spacing:-.035em}
.hero{height:clamp(620px,calc(100svh - 166px),760px);min-height:620px;max-height:760px}
.hero-copy{justify-content:center;padding-top:58px;padding-bottom:58px}
.hero-description{margin-top:32px;max-width:470px}
.hero-description p{font-size:var(--type-body);line-height:1.7;margin-bottom:25px}
.hero-description .button,.about-signoff .button,.button{font-size:15px}
.hero-description .button{min-width:315px}
.hero-invitation,.round-arrow{width:90px;height:90px}
.hero-invitation{bottom:60px}
.hero-invitation>span:first-child{font-size:25px}
.round-arrow .icon{width:42px;height:42px}
.brand>span{font-size:58px;letter-spacing:-3px}
.brand small{font-size:8px;letter-spacing:3px;margin-top:10px}
.site-header{height:96px}
#main-nav a,.header-contact{font-size:15px}
.header-contact{min-width:160px}
.approach{padding-top:65px;padding-bottom:60px}
.approach-layout{grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}
.approach-copy p,.about-copy>p:not(.section-label),.visit-steps p,.faq-list details p{font-size:var(--type-body);line-height:1.75}
.approach-copy p{max-width:520px;margin-bottom:20px}
.editorial-link{font-size:25px}
.about{padding-top:75px;padding-bottom:65px}
.about h2{margin-bottom:25px}
.portrait{max-height:540px;aspect-ratio:1}
.about-copy>p:not(.section-label){max-width:590px;margin-bottom:18px}
.about-signoff .button{min-width:0;min-height:52px;padding:12px 18px}
.signature{font-size:32px}
.first-visit{padding-bottom:70px}
.visit-steps h3{font-size:30px;line-height:1.15}
.visit-steps p{max-width:280px}
.faq{padding-top:60px;padding-bottom:65px}
.faq-list summary{font-size:25px;line-height:1.35}
.contact{padding-top:50px}
.contact-disc{width:66px;height:66px;margin:0}
.contact-disc .icon{width:31px;height:31px}
.contact-title{padding-bottom:28px}
.contact-info{padding-top:38px;padding-bottom:45px}
.contact address{font-size:27px;line-height:1.5;letter-spacing:-.5px}
.demo-phone{font-size:32px;line-height:1.3}
.contact-link,.contact-info .button{font-size:23px}
.message{font-size:15px;line-height:1.6}
@media(max-width:1150px) and (min-width:761px){.hero-invitation>span:first-child{display:none}.about-signoff .signature{display:none}.about-signoff .button{font-size:14px}.hero-copy{padding-right:35px}.hero-description .button{min-width:0;font-size:14px}.visit-steps h3{font-size:26px}.approach-layout{gap:7%}.visit-steps p{font-size:17px}}
@media(max-width:760px){:root{--type-h1:clamp(48px,13vw,56px);--type-h2:clamp(34px,9.8vw,40px);--type-body:17px}
.site-header{height:85px}.brand>span{font-size:43px;letter-spacing:-2.5px}.brand small{font-size:5.5px;letter-spacing:2.3px;margin-top:8px}.header-contact{font-size:11px;min-width:0}
.hero{height:auto;min-height:0;max-height:none}.hero-copy{padding:36px var(--gutter) 40px}.hero-description{margin-top:26px}.hero-description p{font-size:var(--type-body);line-height:1.7;margin-bottom:23px}.hero-description .button{font-size:14px;min-width:0;padding:12px 16px}
.hero-film{height:300px}.hero-invitation{width:70px;height:70px;bottom:265px;right:24px;left:auto;transform:none}.round-arrow{width:70px;height:70px}.round-arrow .icon{width:34px;height:34px}
.approach{padding-top:45px;padding-bottom:40px}.approach-layout{grid-template-columns:1fr;gap:26px}.approach-copy p{font-size:var(--type-body)}.editorial-link,.approach-copy .editorial-link{font-size:23px}
.about{padding-top:45px;padding-bottom:45px}.portrait{max-height:none;aspect-ratio:.95}.about h2{margin-bottom:22px}.about-copy>p:not(.section-label){font-size:var(--type-body)}.about-signoff .button{font-size:14px;line-height:1.5;padding:12px 14px;gap:15px}
.first-visit{padding-bottom:45px}.first-visit>h2{font-size:var(--type-h2)}.visit-steps h3{font-size:28px}.visit-steps p{font-size:var(--type-body);max-width:none}
.faq{padding-top:45px;padding-bottom:45px}.faq-list summary{font-size:23px}.faq-list details p{font-size:var(--type-body)}
.contact{padding-top:38px}.contact h2{font-size:var(--type-h2)}.contact-disc{width:46px;height:46px}.contact-disc .icon{width:25px;height:25px}.contact-info{padding-top:28px;padding-bottom:35px}.contact address{font-size:23px}.demo-phone{font-size:28px}.contact-link,.contact-info .button{font-size:22px}.message{font-size:15px}
}
@media(max-width:360px){.hero h1{font-size:48px}.brand>span{font-size:40px}.header-contact{font-size:10px}.contact h2{font-size:34px}.about-signoff .button{font-size:13px}}
@media(max-width:760px){.hero-description .button,.about-signoff .button{font-size:15px}}
