@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@400;500;600&family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600;6..96,700;6..96,400&family=DM+Mono:wght@400;500&display=swap');
:root{--ivory:#f7f1e7;--blue:#12233b;--red:#ed6045;--gold:#e5b85a;--clay:#cf7053;--sage:#94a58b;--wash:#ded4c4;--line:rgba(18,35,59,.22);--serif:'Bodoni Moda',serif;--sans:'Archivo Narrow',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--blue);font:18px/1.4 var(--sans);letter-spacing:.01em}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.eyebrow{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em}.nav{height:84px;padding:0 4.5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;background:rgba(247,241,231,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:100}.logo{font:600 24px/1 var(--sans);letter-spacing:-.02em}.logo em{display:block;font:italic 18px/1 var(--serif);letter-spacing:.03em;color:var(--red);margin-left:19px}.nav-links{margin:auto;display:flex;gap:30px}.nav-links a{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;position:relative}.nav-links a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--red);transition:.25s}.nav-links a:hover:after,.nav-links .active:after{width:100%}.nav-cta,.btn{border:1px solid var(--blue);background:var(--blue);color:var(--ivory);padding:14px 16px;min-width:165px;display:inline-flex;justify-content:space-between;gap:22px;align-items:center;text-transform:uppercase;font:10px var(--mono);letter-spacing:.08em;transition:.2s}.nav-cta:hover,.btn:hover{background:var(--red);border-color:var(--red)}.nav-cta b,.btn b{font-size:16px;color:var(--gold)}.menu{display:none;border:0;background:none;font-size:23px;color:var(--blue)}.hero{min-height:calc(100svh - 84px);position:relative;padding:28px 4.5vw 38px;display:flex;flex-direction:column;overflow:hidden;background:var(--ivory)}.hero:before{content:'';position:absolute;width:55vw;height:55vw;right:-22vw;bottom:-26vw;border:1px solid var(--blue);border-radius:50%;opacity:.5}.hero:after{content:'A';font:700 70vw/.7 var(--serif);position:absolute;right:-3vw;top:3vw;color:var(--red);opacity:.09}.hero-portrait{position:absolute;right:5vw;top:100px;bottom:0;width:35vw;z-index:1;clip-path:polygon(11% 0,100% 0,100% 88%,61% 100%,0 91%,0 13%)}.hero-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25);mix-blend-mode:multiply}.hero-kicker{z-index:2;display:flex;justify-content:space-between}.hero-title{z-index:3;font:500 clamp(80px,12vw,190px)/.76 var(--serif);letter-spacing:-.095em;margin:auto 0 40px;max-width:870px}.hero-title em{color:var(--red);font-weight:400}.hero-footer{z-index:2;display:flex;justify-content:space-between;align-items:end}.hero-footer p{max-width:315px;font-size:18px;margin:0}.button-row{display:flex;gap:12px}.btn.ghost{color:var(--blue);background:transparent}.btn.ghost:hover{background:var(--gold);border-color:var(--gold)}.section{padding:140px 8vw}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:11vw}.intro h2,.section-title{font:500 clamp(62px,8vw,130px)/.79 var(--serif);letter-spacing:-.09em;margin:45px 0 0}.intro h2 em,.section-title em{color:var(--red);font-weight:400}.intro-copy{padding-top:75px;max-width:520px}.intro-copy .large{font:500 36px/1.05 var(--serif);letter-spacing:-.04em}.intro-copy .btn{margin-top:25px}.featured{background:var(--blue);color:var(--ivory);padding:110px 4.5vw 90px;position:relative}.featured:before{content:'SELECTED';position:absolute;right:-12px;top:40px;color:transparent;-webkit-text-stroke:1px rgba(247,241,231,.15);font:600 12vw var(--sans);letter-spacing:-.07em}.featured-heading{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:1;margin-bottom:65px}.featured-heading h2{font:500 clamp(62px,8vw,125px)/.8 var(--serif);letter-spacing:-.09em;margin:40px 0 0}.featured-heading h2 em{color:var(--gold);font-weight:400}.featured-heading>p{width:280px;margin:0;font-size:17px}.work-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .73fr 1.05fr;gap:20px;align-items:start}.work-card{margin:0;overflow:hidden}.work-card img{width:100%;object-fit:cover;filter:saturate(.8) contrast(1.1);transition:.4s}.work-card:hover img{transform:scale(1.035)}.work-card:nth-child(1) img{height:600px}.work-card:nth-child(2){padding-top:100px}.work-card:nth-child(2) img{height:340px}.work-card:nth-child(3) img{height:460px}.work-card figcaption{padding:13px 2px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.center-link{text-align:center;margin:48px 0 0}.center-link a{font:10px var(--mono);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:790px;background:var(--gold)}.experience-image{overflow:hidden}.experience-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.experience-copy{padding:130px 13%;position:relative}.experience-copy:after{content:'✦';color:var(--red);position:absolute;right:9%;bottom:8%;font-size:60px}.experience-copy h2{font:500 clamp(60px,7vw,110px)/.78 var(--serif);letter-spacing:-.09em;margin:40px 0}.experience-copy h2 em{color:var(--red);font-weight:400}.experience-copy p{max-width:390px}.list{border-top:1px solid var(--blue);margin-top:60px}.list div{display:flex;justify-content:space-between;border-bottom:1px solid var(--blue);padding:14px 0;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.process{background:var(--red);padding:115px 8vw}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--blue);margin-top:75px}.step{padding:18px 23px 0;border-right:1px solid var(--blue);min-height:230px}.step:first-child{padding-left:0}.step:last-child{border:0}.step b{font:11px var(--mono)}.step h3{font:500 34px/.95 var(--serif);letter-spacing:-.04em;margin:46px 0 10px}.step p{font-size:16px}.cta-banner{padding:135px 20px;text-align:center;background:var(--sage);position:relative;overflow:hidden}.cta-banner:before,.cta-banner:after{content:'✹';position:absolute;font-size:300px;color:rgba(247,241,231,.25)}.cta-banner:before{left:-80px;top:-80px}.cta-banner:after{right:-80px;bottom:-80px}.cta-banner>*{position:relative;z-index:1}.cta-banner h2{font:500 clamp(65px,9vw,145px)/.78 var(--serif);letter-spacing:-.1em;margin:38px 0}.cta-banner h2 em{color:var(--red);font-weight:400}.cta-banner p{max-width:460px;margin:0 auto 35px}.cta-banner .btn{background:var(--blue)}.page-hero{padding:120px 8vw 110px;background:var(--wash);position:relative;overflow:hidden}.page-hero:after{content:'✦';position:absolute;right:11vw;top:70px;color:var(--red);font-size:100px}.page-hero h1{font:500 clamp(72px,10vw,160px)/.78 var(--serif);letter-spacing:-.1em;margin:42px 0 0;max-width:1000px}.page-hero h1 em{color:var(--red);font-weight:400}.page-hero p:last-child{max-width:490px;font-size:19px;margin:40px 0 0}.gallery-page{padding:55px 4.5vw 110px;columns:3;column-gap:20px}.gallery-page figure{break-inside:avoid;position:relative;margin:0 0 20px;overflow:hidden;background:var(--blue)}.gallery-page img{width:100%;transition:.4s}.gallery-page figure:hover img{transform:scale(1.04);opacity:.8}.gallery-page figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 15px 13px;color:var(--ivory);background:linear-gradient(transparent,rgba(18,35,59,.9));font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.about-story img{height:680px;width:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.about-story h2{font:500 clamp(58px,7vw,112px)/.78 var(--serif);letter-spacing:-.09em}.about-story h2 em{color:var(--red);font-weight:400}.pillars{padding:115px 8vw;background:var(--blue);color:var(--ivory)}.pillars h2{font:500 clamp(60px,8vw,128px)/.78 var(--serif);letter-spacing:-.09em;margin:40px 0 70px}.pillars h2:after{content:'/';color:var(--red)}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.pillars-grid article{border-top:1px solid rgba(247,241,231,.45);padding-top:18px}.pillars-grid h3{font:500 39px var(--serif);letter-spacing:-.04em;margin-bottom:9px}.pillars-grid p{color:#c8d0d4}.booking-page{padding:115px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;background:var(--ivory)}.booking-page h1{font:500 clamp(65px,8vw,125px)/.79 var(--serif);letter-spacing:-.1em;margin:40px 0}.booking-page h1 em{color:var(--red);font-weight:400}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-content:start}.booking-form input,.booking-form select,.booking-form textarea{background:transparent;border:0;border-bottom:1px solid var(--blue);padding:15px 3px;font:11px var(--mono);letter-spacing:.06em;color:var(--blue);width:100%;border-radius:0}.booking-form textarea,.booking-form .wide{grid-column:span 2}.booking-form textarea{height:130px}.booking-form .btn{grid-column:span 2;justify-self:start;margin-top:25px}.contact-page{padding:120px 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:11vw}.contact-page h1{font:500 clamp(65px,8vw,124px)/.78 var(--serif);letter-spacing:-.1em;margin:40px 0}.contact-page h1 em{color:var(--red);font-weight:400}.map-placeholder{height:260px;background:var(--blue);color:var(--ivory);display:grid;place-items:center;margin-top:60px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:25px}.contact-card{border-top:2px solid var(--blue);padding-top:22px}.contact-card p{font:10px var(--mono);text-transform:uppercase;letter-spacing:.09em;margin:0 0 31px}.contact-card strong{font:500 22px/1.2 var(--sans);letter-spacing:.01em;text-transform:none;display:block;margin-top:6px}.support{position:fixed;bottom:20px;right:20px;z-index:110;background:#25d366;color:var(--blue);padding:15px 18px;border-radius:2px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;box-shadow:6px 6px 0 var(--blue)}footer{background:var(--blue);color:var(--ivory);padding:48px 4.5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:25px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.footer-logo{font:600 28px/1 var(--sans)}.footer-logo em{font:italic 20px var(--serif);color:var(--red)}footer p{margin:0}footer p:last-child{text-align:right}.admin{max-width:1100px;margin:75px auto;padding:0 25px}.admin h1{font:500 70px/.78 var(--serif);letter-spacing:-.1em}.admin h1 em{color:var(--red)}.admin-login{max-width:370px;margin:75px auto;border:1px solid var(--blue);padding:32px;background:var(--wash)}.admin-login input{width:100%;padding:14px;margin:14px 0;border:1px solid var(--blue);background:var(--ivory)}.admin-panel{display:none}.admin-panel.visible{display:block}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{padding:28px;background:var(--wash)}.admin-card h2{font:500 35px var(--serif);letter-spacing:-.04em}.admin-card input,.admin-card textarea{width:100%;margin:6px 0;padding:13px;border:1px solid var(--blue);background:var(--ivory)}.admin-card textarea{height:100px}.admin-note{font-size:14px;color:#4c5a66}
@media(max-width:760px){body{font-size:17px}.nav{height:70px;padding:0 18px}.logo{font-size:22px}.logo em{font-size:15px}.nav-links{display:none}.nav-links.open{display:flex;position:absolute;left:0;right:0;top:69px;background:var(--ivory);border-bottom:1px solid var(--blue);padding:25px 20px;flex-direction:column;gap:20px}.nav-cta{display:none}.menu{display:block;margin-left:auto}.hero{min-height:680px;padding:22px 20px 28px}.hero:before{width:115vw;height:115vw;right:-45vw;bottom:-35vw}.hero-portrait{width:70vw;right:-5vw;top:125px;opacity:.6}.hero-title{font-size:73px;line-height:.79;margin:auto 0 30px}.hero-footer{display:block}.hero-footer p{font-size:16px;margin-bottom:25px;max-width:280px}.button-row{gap:8px}.btn{min-width:0;padding:13px 12px;gap:10px;font-size:9px}.section{padding:85px 20px}.intro,.experience,.about-story,.booking-page,.contact-page{grid-template-columns:1fr;gap:35px}.intro h2,.section-title{font-size:63px}.intro-copy{padding-top:0}.intro-copy .large{font-size:30px}.featured{padding:80px 20px}.featured:before{font-size:22vw;right:-5px}.featured-heading{display:block;margin-bottom:40px}.featured-heading h2{font-size:65px}.featured-heading>p{width:auto;margin-top:25px}.work-grid{grid-template-columns:1fr 1fr;gap:10px}.work-card:nth-child(1){grid-column:span 2}.work-card:nth-child(1) img{height:430px}.work-card:nth-child(2){padding-top:0}.work-card:nth-child(2) img,.work-card:nth-child(3) img{height:235px}.work-card figcaption{font-size:8px}.experience{min-height:0}.experience-image img{height:430px}.experience-copy{padding:75px 20px}.experience-copy h2{font-size:66px}.process{padding:80px 20px}.steps{grid-template-columns:1fr 1fr;margin-top:45px}.step{min-height:200px;padding:15px 12px 0}.step:nth-child(2){border:0}.step:nth-child(3){padding-left:0}.step h3{font-size:27px;margin-top:33px}.step p{font-size:14px}.cta-banner{padding:100px 20px}.cta-banner h2{font-size:68px}.page-hero{padding:85px 20px}.page-hero:after{font-size:55px;right:22px;top:45px}.page-hero h1{font-size:70px}.page-hero p:last-child{font-size:17px}.gallery-page{columns:2;padding:15px 10px 70px;column-gap:10px}.gallery-page figure{margin-bottom:10px}.about-story img{height:460px}.about-story h2{font-size:64px}.pillars{padding:80px 20px}.pillars h2{font-size:66px}.pillars-grid{grid-template-columns:1fr;gap:25px}.booking-page{padding:85px 20px}.booking-page h1{font-size:67px}.booking-form{grid-template-columns:1fr}.booking-form textarea,.booking-form .wide,.booking-form .btn{grid-column:span 1}.contact-page{display:block;padding:85px 20px}.contact-page h1{font-size:68px}.contact-card{margin-top:60px}.contact-card strong{font-size:19px}.support{right:16px;bottom:16px;padding:13px;font-size:9px}footer{display:block;padding:38px 20px}.footer-logo{margin-bottom:28px}footer p{margin:16px 0}footer p:last-child{text-align:left}.admin{margin:45px auto}.admin h1{font-size:54px}.admin-grid{grid-template-columns:1fr}}
