@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--cream:#f9f8f5;--paper:#fff;--ink:#252824;--muted:#777b73;--sage:#88938a;--line:#e5e5de;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1220px,calc(100% - 72px));margin-inline:auto}.skip-link{position:absolute;top:-90px;left:10px;background:#fff;padding:12px;z-index:20}.skip-link:focus{top:10px}.site-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid #ecece5}.nav-wrap{height:94px;display:flex;align-items:center;justify-content:space-between}.brand img{width:226px;height:auto}.main-nav{display:flex;gap:42px;align-items:center}.main-nav a{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#6c7068}.main-nav a:hover,.main-nav a.active{color:#232823}.main-nav a.active:after{content:'';display:block;height:1px;background:#86928a}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:690px;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('/assets/images/hero.jpg') center center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,27,27,.7),rgba(20,27,27,.16) 80%),linear-gradient(0deg,rgba(16,22,22,.23),transparent 45%)}.hero-content{position:relative;z-index:1;padding:115px 0 130px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.27em;font-weight:700;color:#829087}.eyebrow.on-dark{color:#d5dfd8}.hero h1,.page-heading h1{font-family:var(--serif);font-size:clamp(64px,7.7vw,118px);letter-spacing:-.045em;font-weight:400;line-height:1.1;margin:22px 0}.accent{color:#b8c8b9}.hero p{max-width:490px;font-size:17px;color:#ecefec}.hero-actions{display:flex;gap:36px;align-items:center;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;padding:16px 28px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border:1px solid transparent;transition:.2s}.button-light{background:#fff;color:#252824}.button-dark{background:#252824;color:#fff}.button:hover{transform:translateY(-2px)}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;border-bottom:1px solid #b3bcb2;padding-bottom:8px}.text-link.on-dark{color:#fff;border-color:#fff}.hero-caption{position:absolute;bottom:28px;right:40px;letter-spacing:.19em;font-size:10px;color:#eee}.section{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.intro-grid h2,.section h2,.contact-note h2{font:400 clamp(38px,4.3vw,64px)/1.2 var(--serif);letter-spacing:-.035em;margin:22px 0}.intro-grid em,.section h2 em,.page-heading em,.contact-note em{font-weight:400;color:#8c9a90}.lead{font-size:17px;color:#666d65;line-height:2;max-width:550px}.intro-grid .text-link{display:inline-block;margin-top:18px}.featured-section{background:#f0f1ec}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-head h2{margin:9px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.photo-card{border:0;padding:0;text-align:left;background:transparent;color:inherit;min-width:0}.photo-frame{display:block;aspect-ratio:4/5;overflow:hidden;background:#d9dcd6}.photo-frame img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.photo-card:hover .photo-frame img{transform:scale(1.035)}.photo-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:15px}.photo-meta strong{font-weight:500;font-size:15px}.photo-meta span{color:#899087;font-size:12px}.quote-section{background:#e5e9e3;text-align:center;padding:105px 0}.quote-inner{max-width:800px}.quote-inner blockquote{font:400 clamp(30px,4vw,53px)/1.45 var(--serif);margin:25px 0 36px}.page-heading{padding-top:95px;padding-bottom:55px}.page-heading h1{font-size:clamp(55px,6.2vw,92px);margin:18px 0}.page-heading p{color:#777e76;font-size:17px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-image img{width:100%;height:650px;object-fit:cover}.about-copy .body-copy{line-height:2;color:#646b65;margin-bottom:30px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.filter{padding:9px 18px;border:1px solid #d4d9d1;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.filter.selected,.filter:hover{background:#252824;color:#fff;border-color:#252824}.gallery-photo{cursor:zoom-in}.gallery-grid{row-gap:40px}.empty-gallery{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;background:#fff}.empty-gallery img{width:100%;height:450px;object-fit:cover}.empty-gallery>div{padding:35px}.empty-gallery p{color:#777}.lightbox{border:0;padding:25px;background:#171918;color:#fff;max-width:min(1100px,95vw);max-height:95vh}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-height:74vh;width:auto;margin:auto;object-fit:contain}.lightbox-close{position:absolute;top:0;right:6px;border:0;background:none;color:#fff;font-size:37px}.lightbox-info h2{font:400 24px var(--serif);margin:12px 0 0}.lightbox-info p{margin:0;color:#bbb}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-note p{color:#69716a;max-width:440px}.contact-note small{display:block;margin-top:30px;color:#8b908a;max-width:340px}.contact-email{display:inline-block;font-family:var(--serif);font-size:23px;margin-top:15px;border-bottom:1px solid #aeb8b0}.contact-form{display:grid;gap:9px}.contact-form label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:13px}.contact-form label span{color:#b16d6d}.contact-form input,.contact-form textarea{padding:13px 15px;border:1px solid #d7dcd4;background:#fff;width:100%;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #91a59a;outline-offset:1px}.contact-form .button{justify-self:start;margin-top:10px}.form-note{font-size:12px;color:#727970}.form-note a{text-decoration:underline}.hp{position:absolute!important;left:-99999px!important}.prose{max-width:760px}.prose h2{font-size:27px;margin-top:30px}.prose a{text-decoration:underline}.site-footer{background:#272d29;color:#e3e9e3;padding-top:75px}.footer-row{display:flex;justify-content:space-between;gap:35px}.footer-brand{font-family:var(--serif);font-size:30px}.footer-dot{color:#a7b8a8}.footer-row p,.footer-bottom{color:#a2aaa3;font-size:13px}.footer-links{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start}.footer-links a{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #454c46;margin-top:55px;padding:23px 0}@media(max-width:850px){.container{width:min(100% - 40px,1220px)}.nav-wrap{height:78px}.brand img{width:195px}.menu-toggle{display:block;font-size:13px}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:25px;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:flex-start;gap:18px}.main-nav.open{display:flex}.hero{min-height:630px}.hero-content{padding:90px 0}.intro-grid,.about-layout,.contact-layout,.empty-gallery{grid-template-columns:1fr;gap:40px}.section{padding:65px 0}.about-image img{height:420px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-row{flex-direction:column}}@media(max-width:560px){.hero h1{font-size:61px}.hero-actions{gap:23px}.photo-grid{grid-template-columns:1fr}.photo-frame{aspect-ratio:5/4}.section-head{align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column}.hero-caption{right:20px}.page-heading{padding-top:65px;padding-bottom:15px}}

/* Visual Concepts V4 vibrant editorial system */
:root{--cream:#fffbf7;--paper:#fff;--ink:#26233f;--muted:#635e74;--sage:#7460b7;--line:#e9e1f1;--violet:#7650d2;--coral:#ff697f;--peach:#ffb16e;--teal:#15b3b2}
body{background:#fffbf7}.site-header{background:#fffaf7;border-bottom:1px solid #eee4ec}.site-header:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#ff6c8a,#ffb168,#12b9b0,#875ce2)}.main-nav a:hover,.main-nav a.active{color:#7650d2}.main-nav a.active:after{height:3px;border-radius:3px;background:linear-gradient(90deg,#fd6587,#8763e4)}
.hero{min-height:700px;background:#34304d}.hero-shade{background:linear-gradient(90deg,rgba(27,20,54,.83),rgba(35,25,59,.18) 78%),linear-gradient(0deg,rgba(60,25,85,.33),transparent)}.eyebrow{color:#7650d2}.eyebrow.on-dark{color:#ffbfc9}.accent{color:#ffb16e}.hero h1{max-width:900px;text-shadow:0 2px 22px rgba(24,20,40,.22)}.button{border-radius:30px;box-shadow:0 9px 25px #23143516}.button-dark{background:linear-gradient(110deg,#7351d5,#a258d4);color:white}.button-light{background:#fff;color:#493a84}.text-link{border-color:#e76696}.intro-grid em,.section h2 em,.page-heading em,.contact-note em{color:#c65a96}.featured-section{background:linear-gradient(145deg,#fff2ee,#f5eeff 60%,#e9fbfb)}.quote-section{background:linear-gradient(120deg,#f7dbe9,#ede6ff,#d8f8f4)}.photo-frame{background:#e5dbf0;border-radius:20px}.photo-card:hover .photo-frame{box-shadow:0 22px 40px #4e367426}.photo-meta strong{color:#302748}.filter{border-radius:30px;border-color:#d6c7e9;background:white}.filter.selected,.filter:hover{background:#7551d2;border-color:#7551d2}.contact-form input,.contact-form textarea{border-radius:12px;border-color:#e1d7eb}.contact-form input:focus,.contact-form textarea:focus{outline-color:#ac76e6}.site-footer{background:#292343}.footer-dot{color:#ff9d94}.footer-bottom{border-color:#51456d}.page-heading{background:radial-gradient(circle at 90% 5%,#ffe3ec,transparent 36%),radial-gradient(circle at 5% 40%,#e6e3ff,transparent 35%)}.about-image img{border-radius:22px}.brand img{width:230px}.contact-email{color:#7650d2}
