:root{--ink:#182224;--paper:#f6f2ea;--lime:#c7e85b;--coral:#f38168;--muted:#687373}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.container{width:min(1120px,calc(100% - 48px));margin:auto}.hero{min-height:760px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(8,20,21,.68),rgba(8,20,21,.12)),url("assets/hero.jpg") center/cover,#2d5557}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(199,232,91,.28),transparent 28%);pointer-events:none}.nav{position:relative;z-index:1;display:flex;justify-content:space-between;padding:30px 0}.brand{color:inherit;text-decoration:none;font-size:1.25rem;font-weight:700;letter-spacing:-.06em}.brand span{color:var(--lime)}.nav-links{display:flex;gap:28px}.nav-links a{color:inherit;text-decoration:none;font-size:.9rem}.hero-content{position:relative;z-index:1;padding:145px 0 170px}.eyebrow,.section-label{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.eyebrow{color:var(--lime)}h1,h2{font-family:"Playfair Display",serif;letter-spacing:-.055em;line-height:.98;margin:.4em 0}h1{font-size:clamp(3.7rem,8vw,7.2rem);max-width:820px}h1 em{font-weight:600;color:var(--lime)}h2{font-size:clamp(2.5rem,5vw,4.5rem)}.hero-copy{max-width:530px;font-size:1.1rem;line-height:1.6}.button{border:0;display:inline-flex;align-items:center;gap:24px;text-decoration:none;padding:16px 22px;margin-top:18px;font:600 .9rem "DM Sans";cursor:pointer}.button span{font-size:1.2rem}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:1;font-size:.65rem;letter-spacing:.14em}.scroll-hint span{display:block;width:1px;height:42px;background:#fff;margin:10px auto 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding:130px 0}.section-label{color:var(--coral)}.intro p,.gallery-heading p,.cta p{line-height:1.7;color:var(--muted);max-width:560px}.text-link{color:var(--ink);font-weight:700;text-decoration:none;display:inline-block;margin-top:14px}.text-link span{padding-left:10px}.gallery-section{padding:110px 0;background:#e6e2d9}.gallery-heading{display:grid;grid-template-columns:1fr 2fr;gap:80px;margin-bottom:42px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-card{min-height:290px;border:0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:#496d6e;color:#fff;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.gallery-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery-card>*{position:relative}.gallery-card span{font:600 1.3rem "Playfair Display"}.gallery-card b{position:absolute;right:22px;bottom:19px;font-size:1.25rem}.dogs{background:linear-gradient(120deg,#be775c,#243e40)}.events{background:linear-gradient(120deg,#8a4b3d,#e78b5c)}.architecture{background:linear-gradient(120deg,#275e83,#132d4b)}.all{background:var(--ink)}.cta{padding:125px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.footer{border-top:1px solid #d6d0c5;display:flex;justify-content:space-between;align-items:center;padding:30px 0 42px;font-size:.8rem}.footer a{color:inherit}.footer p{color:var(--muted)}.gallery-modal{border:0;width:min(770px,calc(100% - 32px));padding:46px;background:#fff;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.3)}.gallery-modal::backdrop{background:rgba(10,18,18,.72);backdrop-filter:blur(4px)}.gallery-modal h2{font-size:clamp(2.2rem,5vw,4rem)}.gallery-modal>p:not(.eyebrow){max-width:560px;line-height:1.65;color:var(--muted)}.close{position:absolute;right:20px;top:14px;border:0;background:transparent;font-size:2rem;cursor:pointer}.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.choice{border:0;min-height:180px;padding:22px;background:#eff3e7;color:var(--ink);text-align:left;text-decoration:none;position:relative;font:inherit;cursor:pointer}.choice.private{background:#1d2829;color:#fff}.choice span,.choice small{display:block}.choice span{color:var(--coral);font-size:.7rem;font-weight:700}.choice strong{display:block;font:1.6rem "Playfair Display";margin:26px 0 7px}.choice small{opacity:.7}.choice b{position:absolute;right:20px;bottom:18px}.private-form{display:none;margin-top:25px}.private-form.is-visible{display:block}.private-form label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px}.private-form div{display:flex;gap:10px}.private-form input{flex:1;padding:15px;border:1px solid #c8cec9;font:inherit}.private-form .button{margin:0}.form-message{font-size:.85rem;color:#b23224;min-height:1em}@media(max-width:700px){.nav-links{gap:14px;font-size:.8rem}.hero{min-height:680px}.hero-content{padding-top:110px}.intro,.gallery-heading,.cta{grid-template-columns:1fr;gap:20px;padding:75px 0}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card{min-height:200px}.footer{flex-direction:column;align-items:flex-start;gap:12px}.choice-buttons{grid-template-columns:1fr}.private-form div{flex-direction:column}}
.hero{background-image:linear-gradient(120deg,rgba(8,20,21,.7),rgba(8,20,21,.12)),url("architecture.jpg")}.nav-links a{transition:opacity .2s}.nav-links a:hover{opacity:.65}.hero-content{animation:rise .9s .1s both}.button{transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.18)}.scroll-hint span{animation:scroll 1.7s ease-in-out infinite}.text-link{transition:transform .2s}.text-link:hover{transform:translateX(5px)}.gallery-card{background-position:center;background-size:cover;isolation:isolate}.gallery-card:before{z-index:-1;transition:background .3s}.gallery-card:after{content:"";position:absolute;z-index:-2;inset:-5%;background:inherit;transition:transform .7s ease}.gallery-card:hover:after{transform:scale(1.1)}.gallery-card:hover:before{background:linear-gradient(transparent 20%,rgba(0,0,0,.92))}.gallery-card small{opacity:0;transform:translateY(8px);margin-top:7px;font-size:.72rem;transition:opacity .25s,transform .25s}.gallery-card:hover small{opacity:.85;transform:none}.gallery-card b{transition:transform .25s}.gallery-card:hover b{transform:translate(4px,-4px)}.dogs{background-image:url("dog.jpg")}.events{background-image:url("event.jpg")}.architecture{background-image:url("architecture.jpg")}.sport{background-image:url("sport.jpg")}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal-group] [data-reveal]:nth-child(2){transition-delay:.12s}[data-reveal-group] [data-reveal]:nth-child(3){transition-delay:.24s}[data-reveal-group] [data-reveal]:nth-child(4){transition-delay:.36s}@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes scroll{0%,100%{transform:scaleY(.35);transform-origin:top;opacity:.5}50%{transform:scaleY(1);transform-origin:top;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.footer-links{display:flex;gap:18px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}h1,h2,.gallery-card span,.choice strong{font-family:Georgia,"Times New Roman",serif}.button{font-family:inherit}.legal-page{min-height:80vh;padding:112px 0 80px}.legal-page h1{color:var(--ink);font-size:clamp(3rem,7vw,6rem)}.legal-content{max-width:800px;margin-top:48px;font-size:1rem;line-height:1.75}.legal-content h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:2.1em 0 .65em}.legal-content h3{font-size:1.12rem;margin:1.7em 0 .4em}.legal-content p,.legal-content li{color:#455153}.legal-content a{color:var(--ink);font-weight:650}.legal-content ul{padding-left:1.35rem}.legal-date{margin-top:2.5rem;font-size:.9rem;color:var(--muted)}@media(max-width:700px){.footer-links{gap:14px}.legal-page{padding:80px 0 56px}.legal-content{margin-top:32px}}
.brand-intro{display:none}.has-js .brand-intro{display:block;position:absolute;z-index:5;inset:0;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,rgba(8,20,21,.14),rgba(8,20,21,.04)),url("intro/IMG_774f8 (1).png") center/cover}.brand-intro__logo{position:absolute;z-index:1;left:50%;top:50%;width:min(92vw,1560px);height:auto;transform:translate(-50%,62vh);will-change:transform,opacity;filter:drop-shadow(0 10px 28px rgba(0,0,0,.18))}.brand-intro__building{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.has-js .hero:not(.intro-done)>.nav,.has-js .hero:not(.intro-done)>.hero-content,.has-js .hero:not(.intro-done)>.scroll-hint{opacity:0;pointer-events:none}.has-js .hero>.nav,.has-js .hero>.hero-content,.has-js .hero>.scroll-hint{transition:opacity .7s ease}.has-js .hero>.hero-content{animation:none}.has-js .hero.intro-ready .brand-intro__logo{animation:introLogoRise 3.45s .85s cubic-bezier(.16,1,.3,1) both,introLogoFade .48s 4.35s ease-out forwards}.has-js .hero.intro-ready .brand-intro{animation:introStageFade .9s 4.8s ease-in forwards}.has-js .hero.intro-done>.nav,.has-js .hero.intro-done>.scroll-hint{opacity:1;pointer-events:auto}.has-js .hero.intro-done>.hero-content{opacity:1;pointer-events:auto;animation:introContentIn .85s .08s cubic-bezier(.16,1,.3,1) both}.has-js .hero.intro-done .brand-intro{display:none}@keyframes introLogoRise{from{transform:translate(-50%,62vh) scale(1)}to{transform:translate(-50%,-57vh) scale(.985)}}@keyframes introLogoFade{to{opacity:0}}@keyframes introStageFade{to{opacity:0}}@keyframes introContentIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@media(max-width:700px){.brand-intro__logo{width:calc(100vw - 32px);transform:translate(-50%,58vh)}.has-js .hero.intro-ready .brand-intro__logo{animation-name:introLogoRiseMobile,introLogoFade}@keyframes introLogoRiseMobile{from{transform:translate(-50%,58vh) scale(1)}to{transform:translate(-50%,-38vh) scale(.99)}}}@media(prefers-reduced-motion:reduce){.has-js .brand-intro{display:none}.has-js .hero>.nav,.has-js .hero>.hero-content,.has-js .hero>.scroll-hint{opacity:1;pointer-events:auto}.has-js .hero>.hero-content{animation:rise .9s .1s both}}
.hero{background-image:linear-gradient(120deg,rgba(8,20,21,.7),rgba(8,20,21,.12)),url("intro/IMG_774f8 (1).png")}.has-js .brand-intro{background-image:linear-gradient(120deg,rgba(8,20,21,.7),rgba(8,20,21,.12)),url("intro/IMG_774f8 (1).png")}.has-js .hero:after{opacity:0;transition:opacity 1.1s ease}.has-js .hero.intro-revealing:after{opacity:1}.has-js .hero.intro-revealing>.nav,.has-js .hero.intro-revealing>.scroll-hint,.has-js .hero.intro-done>.nav,.has-js .hero.intro-done>.scroll-hint{opacity:1;pointer-events:auto}.has-js .hero.intro-revealing>.hero-content,.has-js .hero.intro-done>.hero-content{opacity:1;pointer-events:auto;animation:introContentIn .95s .04s cubic-bezier(.16,1,.3,1) both}.has-js .hero.intro-ready .brand-intro{animation:introStageFade .95s 4.65s ease-in-out forwards}
