@font-face{font-family:"Baron Neue";src:url("assets/fonts/baron-neue-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Baron Neue";src:url("assets/fonts/baron-neue-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Baron Neue";src:url("assets/fonts/baron-neue-black.woff") format("woff");font-weight:900;font-style:normal;font-display:swap}
 :root{--ink:#26231f;--cream:#f7f3ec;--white:#fffdfa;--rust:#6b4129;--sage:#7e8069;--sand:#e8dfd1;--muted:#6d665d;--line:#e6ded2;--dark:#211e1a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 44px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:10px;background:white;padding:10px;z-index:99}.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:20;background:#f7f3ecef;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{border:1px solid var(--ink);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.brand-name{font:700 17px/1.1 "Baron Neue",Impact,sans-serif;letter-spacing:.035em}.brand-name small{display:block;font:600 8px/1.6 "DM Sans",sans-serif;letter-spacing:.2em;color:var(--muted)}.nav-links{display:flex;gap:23px}.nav-links a,.footer-links a{font-size:10px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em}.nav-links a:hover,.footer-links a:hover,.text-link:hover{color:var(--rust)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;transition:.2s;cursor:pointer}.button-dark{background:var(--ink);color:white;border-color:var(--ink)}.button-dark:hover{background:var(--rust);border-color:var(--rust)}.button-outline{border-color:var(--ink);color:var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:white}.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:var(--rust);color:white}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:5px}
.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:5%;align-items:center;padding-top:66px;padding-bottom:70px;min-height:600px}.eyebrow{font-size:9px;letter-spacing:.23em;text-transform:uppercase;color:var(--rust);font-weight:700;margin:0 0 12px}.hero h1,.section-heading h2,.feature-copy h2,.brand-feature h2,.area-inner h2,.contact-section h2{font:clamp(44px,6vw,76px)/.99 "Baron Neue",Impact,sans-serif;letter-spacing:.01em;margin:14px 0 20px}.hero h1 em,.feature-copy h2 em,.brand-feature h2 em,.area-inner h2 em,.contact-section h2 em{color:var(--rust);font-weight:500}.hero-intro{max-width:520px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.trust-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:10px}.trust-row span:before{content:"✓";color:var(--sage);font-weight:700;margin-right:6px}
.hero-visual{position:relative;min-height:430px}
.intro-band{background:#ece5da;padding:30px 0}.intro-inner{display:grid;grid-template-columns:.6fr 1.4fr;gap:40px;align-items:center}.intro-inner .eyebrow{margin:0}.intro-inner p:last-child{font:21px/1.45 "Baron Neue",Impact,sans-serif;margin:0;max-width:850px}
.section{padding-top:84px;padding-bottom:84px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:32px}.section-heading h2{font-size:clamp(36px,4.5vw,54px);margin:7px 0 0}.section-heading>p{max-width:440px;color:var(--muted);font-size:14px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:var(--white);border:1px solid var(--line);padding:28px;min-height:220px}.service-icon{display:block;color:var(--rust);font:400 17px "Baron Neue",Impact,sans-serif;margin-bottom:24px}.service-card h3,.event-content h3,.steps h3{font:24px "Baron Neue",Impact,sans-serif;margin:0 0 9px}.service-card p,.event-content p:not(.eyebrow),.steps p{font-size:13px;color:var(--muted);margin:0}
.split-section{background:#ece5da}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.photo-panel{min-height:390px;position:relative;overflow:hidden;background:#d5c6b1;display:grid;place-items:center}.feature-copy h2{font-size:clamp(38px,4.5vw,56px)}.feature-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.check-list{padding:0;list-style:none;color:var(--muted);font-size:13px}.check-list li{margin:8px 0}.check-list li:before{content:"✓";color:var(--sage);font-weight:700;margin-right:10px}.text-link{display:inline-block;color:var(--rust);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;margin-top:12px}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.event-card{background:var(--white);border:1px solid var(--line)}.event-photo-slot{height:205px;display:grid;place-items:center;text-align:center;padding:18px;background:linear-gradient(145deg,#d8c9b4,#eee7dc);color:#6c5543;font-size:8px;letter-spacing:.15em}.event-content{padding:23px}.event-content .eyebrow{margin-bottom:8px}.event-content h3{font-size:23px}.event-content a{display:inline-block;margin-top:17px;color:var(--rust);text-decoration:none;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.brand-feature{background:var(--dark);color:var(--cream);padding:75px 0}.brand-feature-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.brand-feature h2{font-size:clamp(42px,5vw,62px)}.brand-feature-inner>div:last-child>p{color:#d1c8bc;font-size:14px}.check-list.light{color:#d1c8bc;margin:20px 0 26px}.check-list.light li:before{color:#c59a7d}
.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:190px 190px;gap:12px}.gallery-slot{background:linear-gradient(135deg,#d8c9b4,#eee7dc);display:grid;place-items:center;text-align:center;padding:15px;color:#6c5543;font-size:8px;letter-spacing:.15em}.gallery-large{grid-row:span 2;background:linear-gradient(145deg,#c9b59d,#e9dfd1)}
.service-area{background:#ece5da;padding:70px 0}.area-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.area-inner h2{font-size:clamp(42px,5vw,60px)}.area-inner>div:last-child>p{color:var(--muted);font-size:14px}.area-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.area-tags span{border:1px solid #c9bca9;padding:8px 12px;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.area-inner .area-note{font-size:11px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps article{border-top:1px solid #bdb3a5;padding-top:17px}.steps b{font:28px "Baron Neue",Impact,sans-serif;color:var(--rust)}.steps h3{font-size:21px;margin:6px 0}.faq-section{background:#ece5da;padding:78px 0}.faq-wrap{max-width:900px}.faq-wrap .section-heading{margin-bottom:22px}.faq-wrap details{border-bottom:1px solid #d2c8bb;padding:17px 0}.faq-wrap summary{cursor:pointer;font:19px "Baron Neue",Impact,sans-serif}.faq-wrap details p{font-size:13px;color:var(--muted);max-width:760px}
.contact-section{background:var(--ink);color:var(--cream);padding:76px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:center}.contact-section .eyebrow{color:#d9a183}.contact-section h2{font-size:clamp(46px,5.5vw,68px)}.contact-section>div>div:first-child>p:not(.eyebrow){color:#d0c8bd;max-width:510px}.contact-links{display:flex;gap:22px;flex-wrap:wrap;margin:23px 0}.contact-links a{color:#e6c9b5;text-decoration:none;font-size:12px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.review-link{color:#d8c7b4;font-size:10px;text-decoration:none;letter-spacing:.05em}.contact-card{background:var(--cream);color:var(--ink);padding:30px}.contact-card h3{font:28px "Baron Neue",Impact,sans-serif;margin:0 0 8px}.contact-card>p:not(.eyebrow){font-size:13px;color:var(--muted)}.full-button{width:100%;margin-top:10px}.small-note{font-size:10px!important;margin-top:13px}
.site-footer{background:#191714;color:#c9c1b6;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-brand{font:700 15px "Baron Neue",Impact,sans-serif;letter-spacing:.08em;text-decoration:none;color:var(--cream)}.footer-inner p{font:400 14px "Baron Neue",Impact,sans-serif;margin:0;color:#d0a88e}.footer-links{display:flex;gap:18px}.footer-links a{font-size:9px}.footer-inner small{width:100%;border-top:1px solid #39342e;padding-top:14px;font-size:9px;color:#91887c}
@media(max-width:850px){.nav-links{gap:12px}.nav-links a{font-size:9px}.brand-name{font-size:14px}.nav-cta{padding:11px 13px}.hero{min-height:0}.hero-visual{min-height:360px}}
@media(max-width:680px){.container{width:min(100% - 34px,560px)}.nav-wrap{min-height:70px;flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.nav-links{display:none;order:4;width:100%;padding:4px 0 16px;flex-direction:column;gap:0}.nav-links.open{display:flex}.nav-links a{padding:10px 0;border-top:1px solid var(--line);font-size:10px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:42px;gap:20px}.hero h1{font-size:57px}.hero-visual{min-height:330px}.trust-row{gap:9px 14px}.intro-inner{grid-template-columns:1fr;gap:10px}.intro-inner p:last-child{font-size:19px}.section{padding-top:62px;padding-bottom:62px}.section-heading{display:block}.section-heading>p{margin-top:14px}.service-grid,.event-grid,.split-grid,.brand-feature-inner,.area-inner,.steps,.contact-grid{grid-template-columns:1fr}.service-card{min-height:0}.photo-panel{min-height:300px}.brand-feature{padding:58px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:190px 150px 150px}.gallery-large{grid-row:span 2}.area-inner{gap:18px}.contact-card{margin-top:12px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-inner small{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.contact-card form{display:flex;flex-direction:column;gap:7px;margin:17px 0 12px}
.contact-card form label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.contact-card input,.contact-card textarea{width:100%;border:1px solid var(--line);background:#fffdfa;padding:11px 12px;font:13px "DM Sans",sans-serif;color:var(--ink);border-radius:0}
.contact-card input:focus,.contact-card textarea:focus{outline:2px solid #6b412955;border-color:var(--rust)}
.contact-card textarea{resize:vertical}
.hidden-field{position:absolute;left:-5000px}

/* ---- Baron Neue display type ---- */
.display,.hero h1,.section-heading h2,.feature-copy h2,.brand-feature h2,.area-inner h2,.contact-section h2,.service-card h3,.event-content h3,.steps h3,.faq-wrap summary,.contact-card h3,.brand-name,.footer-brand{font-family:"Baron Neue",Impact,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.02}
.hero h1{font-size:clamp(40px,5.4vw,72px)}
.section-heading h2,.feature-copy h2,.area-inner h2,.brand-feature h2{font-size:clamp(30px,3.8vw,48px)}
.contact-section h2{font-size:clamp(36px,4.6vw,58px)}
.hero h1 em,.feature-copy h2 em,.brand-feature h2 em,.area-inner h2 em,.contact-section h2 em{font-style:normal;font-weight:900}
.service-card h3,.event-content h3,.steps h3,.contact-card h3{font-size:19px;font-weight:700;letter-spacing:.04em;margin-bottom:10px}
.faq-wrap summary{font-size:15px;font-weight:700;letter-spacing:.05em;line-height:1.4}
.brand-name{font-size:18px;letter-spacing:.08em}.brand-name small{font-weight:700;margin-top:3px}
.brand-mark{font:900 13px/1 "Baron Neue",sans-serif;letter-spacing:.04em;border-width:2px}
.footer-brand{font-size:16px;letter-spacing:.12em}
.footer-inner p{font:700 12px "Baron Neue",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.service-icon,.steps b{font:900 26px "Baron Neue",sans-serif;letter-spacing:.04em}
.intro-inner p:last-child{font:500 20px/1.5 "DM Sans",Arial,sans-serif}
.eyebrow{font-size:10px;letter-spacing:.2em}
.nav-links a,.footer-links a{font-size:11px}
.button{font-size:11px;border-radius:2px}

/* ---- Warmer, hand-made texture ---- */
body{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .22 0 0 0 0 .15 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.service-card,.event-card{border-radius:4px;box-shadow:0 1px 0 #e2d7c8,0 14px 30px -24px #3b2a1e55}
.area-tags span{border-radius:999px;font-weight:700}

/* ---- Photo frames (your own photos) ---- */
.photo-frame{margin:0;position:relative;overflow:hidden;background:#cdbca6}
.photo-frame img.photo{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual{min-height:0;aspect-ratio:4/5;max-height:600px;border-radius:4px;transform:rotate(1.2deg);box-shadow:0 0 0 10px var(--white),0 30px 50px -28px #3b2a1e80}
.hero-visual img.photo{position:absolute;inset:0}
.photo-panel{min-height:0;aspect-ratio:1;border-radius:4px;display:block}
.event-photo-slot{height:auto;aspect-ratio:3/2;padding:0;display:block;background:#cdbca6;border-radius:4px 4px 0 0}
.gallery-grid{grid-template-rows:230px 230px}
.gallery-slot{padding:0;display:block;border-radius:4px}
.gallery-slot img.photo{transition:transform .5s ease}
.gallery-slot:hover img.photo{transform:scale(1.04)}
.photo-tag{position:absolute;left:18px;bottom:18px;z-index:2;background:var(--rust);color:var(--white);font:700 12px/1 "Baron Neue",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:2px;transform:rotate(-2deg);box-shadow:0 8px 18px -10px #0006}
/* Placeholder when a photo file hasn't been added yet */
.photo-frame.is-empty img.photo{display:none}
.photo-frame.is-empty{background:#d6c6b0 radial-gradient(circle at 50% 50%,#e7dccb 0 22%,transparent 22.5%)}
.photo-frame.is-empty::after{content:"GS";position:absolute;inset:0;display:grid;place-items:center;font:900 clamp(28px,5vw,54px)/1 "Baron Neue",sans-serif;letter-spacing:.06em;color:#6b412999}

@media(max-width:680px){.hero h1{font-size:44px}.hero-visual{aspect-ratio:4/3;transform:none;margin:0 10px}.gallery-grid{grid-template-rows:200px 150px 150px}.gallery-slot:nth-child(4){grid-column:2}}

/* ---- Readable headings: Montserrat everywhere except the welcome hero + logo ---- */
.display,.section-heading h2,.feature-copy h2,.brand-feature h2,.area-inner h2,.contact-section h2,.service-card h3,.event-content h3,.steps h3,.faq-wrap summary,.contact-card h3,.footer-brand,.footer-inner p,.service-icon,.steps b{font-family:"Montserrat","DM Sans",Arial,sans-serif;text-transform:none;letter-spacing:-.02em}
.section-heading h2,.feature-copy h2,.brand-feature h2,.area-inner h2,.contact-section h2,.display{font-weight:800;line-height:1.08}
.service-card h3,.event-content h3,.steps h3,.contact-card h3{font-weight:700;font-size:20px;letter-spacing:-.01em}
.faq-wrap summary{font-weight:600;font-size:16px;letter-spacing:0}
.service-icon,.steps b{font-weight:800;font-size:24px;letter-spacing:0}
.footer-brand{font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.footer-inner p{font-weight:600;font-style:italic;font-size:13px;letter-spacing:0}
/* Welcome hero keeps Baron Neue */
.hero h1,.brand-name,.brand-mark{font-family:"Baron Neue",Impact,sans-serif}

/* ---- Photo captions: readable sans ---- */
.photo-tag{font:600 13px/1.2 "DM Sans",Arial,sans-serif;letter-spacing:.01em;text-transform:none;padding:9px 13px}

/* ---- Portrait photos in landscape/square frames ---- */
.photo-panel img.photo{object-position:50% 70%}
.event-photo-slot{aspect-ratio:4/5}
.event-card.corporate img.photo{object-position:50% 55%}
.event-card.wedding img.photo{object-position:40% 60%}
.event-card.realestate img.photo{object-position:50% 60%}
.gallery-section[hidden]{display:none}
@media(max-width:680px){.event-photo-slot{aspect-ratio:4/3}}
.hero-visual img.photo{object-position:50% 65%}

/* ---- Fuel the grind section ---- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pillars article{border-top:2px solid var(--rust);padding-top:18px}
.pillars h3{font:700 20px/1.2 "Montserrat","DM Sans",Arial,sans-serif;letter-spacing:-.01em;margin:0 0 8px}
.pillars p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:680px){.pillars{grid-template-columns:1fr}}

/* ---- Espresso palette ---- */
:root{--espresso:#3b2418;--espresso-deep:#24160f;--roast:#6b4129;--crema:#d6ab83;--espresso-grad:linear-gradient(135deg,#5a3624 0%,#3b2418 55%,#24160f 100%)}
.button-dark{background:var(--espresso-grad);border-color:#3b2418}
.button-dark:hover{background:linear-gradient(135deg,#7a4a30,#4a2c1d);border-color:#4a2c1d}
.button-outline:hover{background:var(--espresso-grad);border-color:#3b2418}
.button-light:hover{background:linear-gradient(135deg,#7a4a30,#4a2c1d)}
.brand-feature{background:radial-gradient(ellipse at 85% 10%,#6b412966,transparent 55%),var(--espresso-grad)}
.contact-section{background:radial-gradient(ellipse at 10% 90%,#7a4a3055,transparent 55%),linear-gradient(160deg,#4a2c1d 0%,#2e1c13 70%,#24160f 100%)}
.brand-feature h2 em,.contact-section h2 em,.contact-section .eyebrow,.brand-feature .eyebrow{color:var(--crema)}
.check-list.light li:before{color:var(--crema)}
.contact-links a{color:#ecd3bb}
.site-footer{background:linear-gradient(180deg,#24160f,#1c110b)}
.footer-inner p{color:var(--crema)}
.footer-inner small{border-top-color:#4a3224;color:#a8937f}
.photo-tag{background:linear-gradient(135deg,#7a4a30,#4a2c1d)}
.hero h1 em,.feature-copy h2 em,.area-inner h2 em{background:linear-gradient(120deg,#7a4a30,#3b2418);-webkit-background-clip:text;background-clip:text;color:transparent}
.pillars article{border-top:3px solid transparent;border-image:linear-gradient(90deg,#7a4a30,#3b2418) 1}
.intro-band,.split-section,.service-area,.faq-section{background:linear-gradient(180deg,#ede3d6,#e6d9c8)}

/* ---- Social icons ---- */
.icon{width:16px;height:16px;flex:none;vertical-align:-3px;margin-right:7px}
.contact-links a,.review-link,.footer-links a{display:inline-flex;align-items:center}
.footer-links a .icon{width:14px;height:14px;margin-right:6px}
