@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Italiana&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
:root{--cream:#faf7f0;--paper:#f1eadd;--brown:#59382b;--ink:#432a20;--muted:#776357;--gold:#b88b42;--line:#ddd0ba;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.3rem}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0}em{font-weight:400;color:var(--gold)}.wrap{max-width:1240px;margin-inline:auto;padding-inline:2.5rem}.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.7;color:var(--muted)}.header{display:flex;align-items:center;justify-content:space-between;min-height:126px;border-bottom:1px solid var(--line);gap:2rem}.brand img{width:145px;height:auto}.header nav{display:flex;gap:2.2rem;font-size:.9rem}.header nav a:hover{color:var(--gold)}.header-contact{display:flex;align-items:center;gap:1rem;font-size:.9rem;border-bottom:1px solid var(--gold);padding-bottom:.4rem}.header-contact svg{width:1.1rem}.hero{padding-top:4.5rem;padding-bottom:4.5rem;display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem;align-items:center;position:relative}.hero-copy{position:relative;z-index:1}.hero .eyebrow{display:flex;align-items:center;gap:.65rem;letter-spacing:.12em}.eyebrow span{width:25px;height:1px;background:var(--gold)}h1{font-size:clamp(4.5rem,7.7vw,6.75rem);letter-spacing:-.055em;margin:1.1rem 0 1.7rem}h1 em{color:var(--brown)}.hero-line{font-size:1.4rem;line-height:1.5;letter-spacing:-.035em}.hero-description{max-width:400px;color:var(--muted);font-size:1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;border-radius:5px;padding:.95rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s,transform .2s;border:1px solid transparent;min-height:50px}.button:hover{transform:translateY(-2px)}.primary{background:var(--brown);color:var(--cream)}.primary:hover{background:#734b38}.text-link{display:inline-flex;gap:.55rem;align-items:center;font-size:.9rem;margin:.9rem 0;border-bottom:1px solid var(--line);padding-bottom:.25rem}.hero-copy>.text-link{display:flex;width:max-content;margin-top:1.25rem}.text-link svg{width:1.1rem;height:1.1rem}.hero-art{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:0 0 1rem 1rem}.art-heading{align-self:flex-end;font-family:var(--serif);font-size:2.2rem;line-height:1.05;text-align:right;padding-right:1.5rem;margin-top:-.8rem;transform:rotate(-5deg)}.art-heading span{font-size:1.5rem;display:block;color:var(--muted);font-style:italic}.art-heading em{font-size:4.2rem;letter-spacing:-.03em}.collage{width:100%;height:auto;margin-top:2rem;filter:drop-shadow(0 10px 10px #59382b0a)}.portrait-seal{align-self:flex-start;margin-top:1.8rem;display:flex;align-items:center;gap:1rem;z-index:2;padding-left:.5rem}.portrait-seal img{width:80px;height:80px;object-fit:cover;object-position:50% 28%;border-radius:50%;padding:3px;border:1px solid var(--gold)}.portrait-seal strong{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:500}.portrait-seal span{font-size:.83rem;color:var(--muted)}.art-caption{position:absolute;right:1rem;bottom:1rem;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.08em;color:var(--muted);height:110px;display:none}.contact-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:2.5rem;padding-bottom:2.5rem;display:grid;grid-template-columns:270px 1fr;gap:1.5rem;align-items:center}.contact-heading .eyebrow{margin-bottom:.6rem}.contact-heading h2{font-size:1.8rem;margin-bottom:.6rem}.contact-heading>p:last-child{font-size:.88rem;color:var(--muted);margin-bottom:0}.contact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.contact{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:transparent;border:1px solid transparent;border-radius:9px;padding:1rem .25rem;transition:.2s}.contact>svg{height:1.75rem;width:1.75rem;color:var(--brown);margin-bottom:.4rem}.contact>span{font-weight:600;font-size:.9rem}.contact>small{font-size:.75rem;color:var(--muted);white-space:nowrap}.contact:hover{background:var(--paper);border-color:var(--line);transform:translateY(-3px)}.about{padding-top:7rem;padding-bottom:7rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem;align-items:center}.about-photo{max-width:350px;position:relative;margin-left:1rem}.photo-frame{border:1px solid var(--gold);padding:9px;border-radius:160px 160px 5px 5px;position:relative}.photo-frame:before{content:'';position:absolute;inset:-13px 13px 13px -13px;border:1px solid var(--line);border-radius:160px 160px 5px 5px;z-index:-1}.photo-frame img{border-radius:150px 150px 0 0;width:100%;aspect-ratio:4/4.7;object-fit:cover;object-position:center;background:white}.about-photo>p{font-family:var(--serif);font-size:1.55rem;margin-top:1rem;text-align:center}.about-photo>p span{font: .77rem var(--sans);display:block;margin-top:.4rem;color:var(--muted)}h2{font-size:clamp(2.1rem,3.5vw,3.4rem);letter-spacing:-.04em;line-height:1.2}.about-copy h2{margin-bottom:1.8rem}.about-copy>p:not(.eyebrow){color:var(--muted)}.about-points{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.about-points span{font-size:.8rem;background:var(--paper);padding:.35rem .7rem;border:1px solid var(--line);border-radius:3px}.company{background:var(--brown);color:var(--cream);position:relative}.company-inner{padding-top:5rem;padding-bottom:5rem;display:grid;grid-template-columns:1fr 1fr;gap:7rem}.company .eyebrow{color:#dfc697}.company h2{font-size:clamp(2.7rem,4.3vw,4rem)}.company h2 em{color:#e2b968}.light{border:1px solid #a98b6e;color:var(--cream);margin-top:2rem;background:transparent}.light:hover{background:#6e4836}.company-copy{border-left:1px solid #97785e;padding-left:3rem;display:flex;flex-direction:column;justify-content:center}.company-copy>p{color:#eee1d2}.since{font-size:.85rem;letter-spacing:.08em;color:#dfc697;display:block;margin-bottom:1.5rem}.since strong{display:block;font-family:var(--serif);font-size:4.5rem;line-height:1.25;font-weight:400;letter-spacing:-.04em;color:#e2b968}.company-locations{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.78rem;color:#dfc697;border-top:1px solid #97785e;padding-top:1.25rem}.experiences{padding-top:6rem;padding-bottom:5rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-heading>p{font-size:.95rem;color:var(--muted);margin-bottom:.4rem}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.experience{border-top:1px solid var(--gold);padding-top:1.1rem;display:flex;flex-direction:column}.experience-number{color:var(--gold);display:flex;align-items:center;gap:.8rem;font-family:var(--serif);font-size:1.5rem;margin-bottom:1.35rem}.experience-number span{font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}.experience h3{font-size:1.55rem;margin-bottom:1.1rem}.experience p{font-size:.93rem;color:var(--muted)}.experience a{font-size:.84rem;border-bottom:1px solid var(--line);width:max-content;margin-top:auto;padding-bottom:.25rem}.experience a:hover{color:var(--gold)}.attraction-logos{width:800px;height:auto;margin:4rem auto 0;opacity:.88}.closing{padding-top:3rem;padding-bottom:4rem;border-top:1px solid var(--line);text-align:center}.closing h2{font-size:clamp(3rem,5.5vw,5rem);margin-bottom:2rem}.closing>.text-link{display:flex;width:max-content;margin:1rem auto 0}.footer{border-top:1px solid var(--line);display:flex;gap:1.5rem;justify-content:space-between;padding-top:1.5rem;padding-bottom:1.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.footer strong{font-weight:600}.footer details{width:100%;font-size:.75rem}.footer summary{cursor:pointer;width:max-content}.footer details a{display:inline-block;margin:.5rem 1rem 0 0;text-decoration:underline}.mobile-contact{display:none}dialog{border:1px solid var(--line);padding:0;border-radius:16px;background:var(--cream);color:var(--ink);max-width:calc(100% - 2rem);width:460px;box-shadow:0 25px 100px #24130740}dialog::backdrop{background:#281b1480;backdrop-filter:blur(6px)}.dialog-inner{padding:3rem 2rem;text-align:center;position:relative}.dialog-close{position:absolute;right:1rem;top:1rem;background:transparent;border:0;padding:.35rem;display:flex}.dialog-icon{width:64px;height:64px;background:var(--paper);border-radius:50%;display:grid;place-items:center;margin:0 auto 1.5rem}.dialog-icon svg{width:28px;height:28px}.dialog-inner>.eyebrow{font-size:.7rem}.dialog-inner h2{font-size:2.25rem;margin-bottom:1rem}.dialog-inner>p:not(.eyebrow){color:var(--muted);overflow-wrap:anywhere}.dialog-inner .button{width:100%;margin-top:.6rem}.dialog-inner .secondary{border-color:var(--line)}
@media(min-width:1450px){.hero{min-height:650px}.hero-art{padding-left:2rem}}
@media(max-width:1100px){.wrap{padding-inline:2rem}.hero{gap:1rem}.hero h1{font-size:5.4rem}.contact-section{grid-template-columns:1fr}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.contact-heading .eyebrow{margin:0}.contact-heading h2{margin:0}.contact-heading>p:last-child{display:none}.about{gap:3rem}.company-inner{gap:3rem}.company-copy{padding-left:2rem}.experience-grid{gap:1rem}.experience-number{align-items:flex-start;gap:.5rem}.experience-number span{margin-top:.5rem}.experience a{font-size:.78rem}}
@media(max-width:760px){.wrap{padding-inline:1.5rem}.header{min-height:90px;gap:1rem}.brand img{width:110px}.header nav{display:none}.header-contact{font-size:.8rem;gap:.5rem}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:2.5rem;padding-bottom:2rem;gap:2rem}.hero .eyebrow{font-size:.7rem;letter-spacing:.1em}.hero h1{font-size:clamp(3.8rem,15vw,5.8rem);margin:1rem 0 1.3rem}.hero-line{font-size:1.25rem}.hero-description{max-width:100%}.hero-copy>.text-link{display:inline-flex;margin-left:1rem;font-size:.8rem}.hero-copy>.button{font-size:.85rem;padding:.9rem 1.1rem}.hero-art{padding:0}.art-heading{margin-top:0;margin-right:.5rem;position:absolute;top:0;right:0}.art-heading span{font-size:1.1rem}.art-heading em{font-size:3rem}.collage{margin-top:4rem;width:100%}.portrait-seal{margin-top:1.5rem;align-self:center;padding:0}.portrait-seal img{width:64px;height:64px}.portrait-seal strong{font-size:1.15rem}.portrait-seal span{font-size:.75rem}.contact-section{padding-top:1.75rem;padding-bottom:1.5rem;gap:1rem}.contact-heading{display:block}.contact-heading .eyebrow{margin-bottom:.3rem}.contact-heading h2{font-size:1.7rem}.contact-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.contact{background:var(--paper);padding:.8rem .25rem;border:1px solid var(--line)}.contact>span{font-size:.83rem}.contact>small{font-size:.67rem}.contact>svg{width:1.5rem;height:1.5rem}.about{padding-top:4rem;padding-bottom:4rem;display:flex;flex-direction:column;gap:2rem}.about-photo{max-width:255px;margin-left:0;width:100%}.about-copy h2{font-size:2.25rem}.about-points{gap:.4rem}.about-points span{font-size:.75rem}.company-inner{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem;gap:2.5rem}.company h2{font-size:2.8rem}.company-copy{padding-left:0;border-left:0;border-top:1px solid #97785e;padding-top:2rem}.since{display:flex;align-items:baseline;gap:.7rem;margin-bottom:1rem}.since strong{font-size:3rem}.company-locations{font-size:.72rem}.experiences{padding-top:3.5rem;padding-bottom:3rem}.section-heading{display:block;margin-bottom:2rem}.section-heading h2{font-size:2.4rem}.section-heading>p{margin-top:1.3rem}.experience-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.25rem}.experience-number{display:block;margin-bottom:1rem}.experience-number span{display:block;margin-top:.2rem;font-size:.65rem}.experience h3{font-size:1.4rem}.experience p{font-size:.88rem}.experience a{font-size:.72rem;max-width:100%}.attraction-logos{margin-top:2.5rem}.closing{padding-top:2.5rem;padding-bottom:3rem}.closing .eyebrow{font-size:.7rem}.closing h2{font-size:3.1rem}.footer{padding-bottom:7rem;font-size:.74rem;gap:.65rem}.mobile-contact{display:flex;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:10;background:var(--brown);color:var(--cream);border-radius:8px;box-shadow:0 5px 30px #34241f40;border:1px solid #8f6e52;min-height:54px;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{display:flex;justify-content:center;gap:.7rem;align-items:center;font-size:.9rem;padding:.9rem 1rem}.mobile-contact a:first-child{flex:1}.mobile-contact a:last-child{border-left:1px solid #94745d;width:64px}.dialog-inner{padding:2.75rem 1.5rem}}
@media(max-width:360px){.wrap{padding-inline:1.1rem}.hero-copy>.text-link{margin-left:0;display:flex}.hero h1{font-size:3.6rem}.contact-grid{gap:.35rem}.contact>span{font-size:.77rem}.contact>small{font-size:.62rem}.experience-grid{grid-template-columns:1fr}.header-contact{font-size:.75rem}.experience a{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
