:root{--bg:#141414;--panel:#1c1c1c;--soft:#242424;--text:#f3f3f3;--muted:#ababab;--accent:#9159d9;--warm:#b17553;--line:rgba(255,255,255,.13);--pad:clamp(20px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,textarea{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;width:100%;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:#181818}.brand-mark img{height:100%;object-fit:cover}.brand-fallback{height:100%;display:none;place-items:center;font-size:12px;font-weight:700;letter-spacing:.12em}.brand-name{font-size:14px;font-weight:700;letter-spacing:.17em}.brand-name em,.footer-brand i{font-style:normal;color:var(--accent)}.nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav>a:not(.nav-book){color:#c8c4bc}.nav>a:hover{color:white}.nav-book{border:1px solid var(--text);padding:12px 17px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px}.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:7px 0}.hero{min-height:100svh;padding:140px var(--pad) 66px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;position:relative;isolation:isolate;overflow:hidden}.hero:after{content:"DON";position:absolute;right:-.05em;bottom:-.18em;font-family:'Italiana',serif;font-size:min(37vw,560px);line-height:.8;color:rgba(255,255,255,.018);z-index:-2}.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);z-index:-1;opacity:.12}.orb-one{width:420px;height:420px;background:#baf63e;right:12%;top:20%}.orb-two{width:320px;height:320px;background:#6a5cff;left:-10%;bottom:-10%}.eyebrow,.kicker{font-size:11px;letter-spacing:.21em;font-weight:600;color:#b6b0a5}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:30px;height:1px;background:var(--accent)}.hero h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(68px,9.2vw,158px);line-height:.78;letter-spacing:-.045em;margin:32px 0 36px}.hero h1 i{color:var(--accent);font-weight:400}.hero-text{max-width:510px;color:#aaa59c;line-height:1.75;font-size:16px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:16px 21px;border:0;cursor:pointer;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.button-primary{background:var(--accent);color:#080808}.button-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(200,255,61,.14)}.button-outline{border:1px solid rgba(255,255,255,.25);margin-top:30px}.button-outline:hover{background:white;color:black}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#bcb7ae}.text-link span{margin-left:8px}.hero-visual{position:relative;padding-left:8vw}.hero-frame{width:min(100%,560px);height:min(68vh,760px);position:relative;overflow:hidden;background:#121212}.hero-frame:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);z-index:2;pointer-events:none}.hero-frame img{height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}.frame-label{position:absolute;left:18px;bottom:17px;background:rgba(8,8,8,.77);backdrop-filter:blur(8px);padding:9px 11px;font-size:9px;letter-spacing:.15em;z-index:3}.vertical-copy{position:absolute;right:-37px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:9px;letter-spacing:.22em;color:#777}.scroll-cue{position:absolute;left:var(--pad);bottom:28px;font-size:9px;letter-spacing:.2em;color:#777;display:flex;align-items:center;gap:10px}.scroll-cue span{width:38px;height:1px;background:#555}.statement{padding:clamp(100px,14vw,210px) var(--pad);max-width:1500px;margin:auto}.statement p{font-size:13px;color:#827d75;margin-bottom:16px}.statement h2{font-family:'Italiana',serif;font-size:clamp(48px,7vw,108px);font-weight:400;line-height:.94;margin:0;letter-spacing:-.035em}.statement-line{height:1px;background:var(--line);margin-top:70px}.section{padding:clamp(80px,10vw,145px) var(--pad)}.work{background:#0b0b0b}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section-heading h2,.services h2,.contact h2{font-family:'Italiana',serif;font-size:clamp(54px,6.4vw,92px);font-weight:400;margin:8px 0 0;line-height:.95}.instagram-link{font-size:12px;letter-spacing:.08em;border-bottom:1px solid #777;padding-bottom:8px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery-item{margin:0;grid-column:span 4;height:430px;position:relative;overflow:hidden;background:#151515}.gallery-tall{height:590px}.gallery-wide{grid-column:span 8;height:510px}.gallery-item img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s;filter:saturate(.8)}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1)}.gallery-item figcaption{position:absolute;left:14px;bottom:13px;background:rgba(6,6,6,.7);backdrop-filter:blur(8px);padding:8px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.services{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.services-intro>p:not(.kicker){color:#99938a;max-width:540px;line-height:1.75}.service-list{border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:46px 1fr 30px;align-items:center;gap:10px;padding:28px 2px;border-bottom:1px solid var(--line);transition:.25s}.service-list a:hover{padding-left:12px;color:var(--accent)}.service-list span{font-size:10px;color:#726e67}.service-list strong{font-family:'Italiana',serif;font-size:31px;font-weight:400}.service-list b{font-weight:400}.booking-banner{background:var(--accent);color:#080808;min-height:430px;padding:70px var(--pad);display:flex;align-items:center;justify-content:space-between}.booking-banner p{font-size:11px;letter-spacing:.2em;font-weight:700}.booking-banner h2{font-family:'Italiana',serif;font-size:clamp(57px,8vw,120px);font-weight:400;line-height:.9;margin:10px 0}.booking-banner h2 i{font-weight:400}.booking-circle{width:180px;height:180px;border:1px solid #080808;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:.3s}.booking-circle span{font-size:13px;font-weight:700;letter-spacing:.12em;text-align:center}.booking-circle b{position:absolute;right:31px;top:31px}.booking-circle:hover{background:#080808;color:var(--accent);transform:rotate(4deg)}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:11vw}.contact-copy>p:not(.kicker){color:#99938a;max-width:430px;line-height:1.7}.contact-copy>a{display:inline-block;margin-top:22px;border-bottom:1px solid #69645d;padding-bottom:6px;font-size:13px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8d8880}.contact-form label span{color:#56534e}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #393939;background:transparent;color:white;padding:13px 0 14px;outline:none;border-radius:0;margin-top:4px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{justify-self:start}.form-note{font-size:10px;color:#666;align-self:center}.form-note code{color:#918b81}footer{padding:44px var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;align-items:center;color:#777;font-size:11px}.footer-brand{color:white;font-weight:700;letter-spacing:.17em}footer>div{display:flex;gap:22px}footer a:hover{color:white}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:900px){.site-header{height:76px}.menu-toggle{display:block;z-index:30}.nav{position:fixed;inset:0;background:#090909;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--pad);gap:28px;transform:translateX(100%);transition:.35s;z-index:25}.nav.open{transform:none}.nav a{font-family:'Italiana',serif!important;font-size:38px!important}.nav-book{border:0;padding:0}.hero{grid-template-columns:1fr;padding-top:115px;padding-bottom:85px}.hero h1{font-size:clamp(66px,18.5vw,112px);margin:25px 0}.hero-copy{z-index:3}.hero-visual{padding:58px 0 0 18vw;margin-right:-8vw}.hero-frame{height:56vh;max-height:570px}.vertical-copy{display:none}.scroll-cue{display:none}.section-heading{align-items:flex-start;gap:30px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery-item,.gallery-wide,.gallery-tall{grid-column:span 1;height:54vw;min-height:240px}.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-column:1/-1;height:78vw;max-height:600px}.services,.contact{grid-template-columns:1fr;gap:70px}.booking-banner{min-height:350px}.booking-circle{width:130px;height:130px;flex:0 0 auto}footer{grid-template-columns:1fr 1fr}footer>div{justify-content:flex-end}}
@media(max-width:560px){.hero{min-height:auto;padding-top:120px}.hero h1{font-size:20.5vw}.hero-text{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-visual{padding-left:12vw}.statement{padding-top:115px;padding-bottom:115px}.statement h2{font-size:14vw}.section-heading{display:block}.instagram-link{display:inline-block;margin-top:22px}.gallery{display:block}.gallery-item,.gallery-wide,.gallery-tall,.gallery-item:nth-child(1),.gallery-item:nth-child(4){height:112vw;max-height:560px;margin-bottom:10px}.gallery-item:nth-child(even){height:82vw}.services{gap:56px}.booking-banner{display:block;padding-top:60px;padding-bottom:60px}.booking-banner h2{font-size:17vw;max-width:80%}.booking-circle{margin:44px 0 0 auto}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(4){grid-column:auto}.contact-form .button{width:100%}.form-note{grid-column:1/-1}footer{grid-template-columns:1fr;gap:13px}footer>div{justify-content:flex-start}.brand-name{font-size:12px}.brand-mark{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Reference-inspired polish: editorial spacing, purple accent, and consistent Don branding. */
::selection{background:var(--accent);color:#fff}
.site-header{background:linear-gradient(180deg,rgba(20,20,20,.9),transparent);border-bottom:0}
.brand-mark{width:56px;height:56px;border-radius:0;border:0;background:#050505}.brand-mark img{object-fit:cover}
.brand-name em,.footer-brand i{color:#ebc7af}
.hero{padding-bottom:126px;background:radial-gradient(circle at 75% 40%,rgba(145,89,217,.18),transparent 34%)}
.hero-orb{display:none}.hero h1 i{color:#ebc7af}.eyebrow span{background:var(--accent)}
.button-primary{background:var(--accent);color:#fff}.button-primary:hover{box-shadow:0 12px 35px rgba(145,89,217,.24)}
.hero-frame,.gallery-item{background:#0d0d0d url('assets/newlogo.jpg') center/140px auto no-repeat}
.hero-frame .featured-photo,.gallery-item .featured-photo{object-position:50% 42%}.gallery-item .featured-photo{object-fit:contain;background:#d9edf5}
.gallery-item:nth-child(2) img{object-position:52% 42%}.gallery-item:nth-child(3) img{object-position:50% 35%}.gallery-item:nth-child(4) img{object-position:50% 48%}.gallery-item:nth-child(5) img{object-position:50% 38%}.gallery-item:nth-child(6) img{object-position:48% 42%}
.gallery{max-width:1200px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-item,.gallery-tall,.gallery-wide{grid-column:span 1;height:auto;aspect-ratio:4/5;border-radius:2px}.gallery-item img{object-fit:cover}.gallery-item:nth-child(1) img{object-position:50% 36%}.gallery-item:nth-child(2) img{object-position:50% 48%}.gallery-item:nth-child(3) img{object-position:50% 38%}.gallery-item:nth-child(4) img{object-position:48% 42%}.gallery-item:nth-child(5) img{object-position:50% 25%}.gallery-item:nth-child(6) img{object-position:50% 26%}.gallery-item figcaption{z-index:3}
.hero-frame:after,.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent,rgba(145,89,217,.08));pointer-events:none}
.hero-stats{position:absolute;left:var(--pad);right:var(--pad);bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.hero-stats div{padding:22px 26px 0 0;display:flex;align-items:baseline;gap:13px}.hero-stats strong{font-family:'Italiana',serif;font-size:25px;font-weight:400}.hero-stats span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.work{background:#f3f3f3;color:#141414}.work .kicker{color:#5b5b5b}.work .gallery-item{background-color:#2c2c2c}.work .instagram-link{border-color:#777}
.services{background:#2c2c2c}.service-list a{grid-template-columns:52px 1fr 30px}.service-list a img{width:38px;height:38px;object-fit:cover}.service-list a:hover{color:#ebc7af}
.book-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center;background:#f3f3f3;color:#141414}.book-panel h2{font-family:'Italiana',serif;font-size:clamp(54px,6.4vw,92px);font-weight:400;line-height:.95;margin:8px 0 24px}.book-panel-copy>p:last-child{max-width:480px;color:#5b5b5b;line-height:1.75}.book-card{background:#141414;color:#f3f3f3;padding:clamp(28px,4vw,54px)}.book-card-brand{display:flex;align-items:center;gap:16px;padding-bottom:26px;border-bottom:1px solid var(--line)}.book-card-brand img{width:66px;height:66px;object-fit:cover}.book-card-brand strong,.book-card-brand span{display:block}.book-card-brand strong{letter-spacing:.14em;font-size:13px}.book-card-brand span{color:#ababab;font-size:11px;margin-top:6px}.book-card ol{list-style:none;margin:0;padding:8px 0 24px}.book-card li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.book-card li>span{font-size:10px;color:#9159d9}.book-card p{margin:0}.book-card p strong,.book-card p small{display:block}.book-card p strong{font-family:'Italiana',serif;font-size:23px;font-weight:400}.book-card p small{color:#8f8f8f;margin-top:4px}.booksy-final{width:100%;margin-top:8px}.secure-note{display:block;text-align:center;color:#747474;margin-top:14px;font-size:9px;letter-spacing:.06em}
.booksy-services{padding:8px 0 24px}.booksy-services>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--line)}.booksy-services p{margin:0}.booksy-services p strong,.booksy-services p small{display:block}.booksy-services p strong{font-family:'Italiana',serif;font-size:21px;font-weight:400}.booksy-services p small{color:#8f8f8f;margin-top:4px}.booksy-services b{color:#ebc7af;font-size:14px;white-space:nowrap}.booksy-final{margin-top:8px}
.booking-banner{background:#9159d9;color:#fff}.booking-circle{border-color:rgba(255,255,255,.7)}.booking-circle b{width:42px;height:42px;right:20px;top:20px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .3s,border-color .3s}.booking-circle b svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.booking-circle:hover{background:#fff;color:#9159d9}.booking-circle:hover b{transform:translate(3px,-3px);background:rgba(145,89,217,.1);border-color:rgba(145,89,217,.25)}
.contact-form input:focus,.contact-form textarea:focus{border-color:#9159d9}
.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:42px;height:42px;object-fit:cover}
@media(max-width:900px){.brand-mark{width:48px;height:48px}.hero{padding-bottom:100px}.hero-stats{position:relative;left:auto;right:auto;bottom:auto;grid-column:1/-1;margin-top:64px}.hero-stats div{display:block}.hero-stats span{display:block;margin-top:5px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-wide,.gallery-tall,.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-column:span 1;height:auto;aspect-ratio:4/5}.book-panel{grid-template-columns:1fr;gap:50px}}
@media(max-width:560px){.hero-stats{grid-template-columns:1fr}.hero-stats div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.brand-mark{width:44px;height:44px}.gallery{display:grid;grid-template-columns:1fr;gap:14px}.gallery-item,.gallery-wide,.gallery-tall,.gallery-item:nth-child(1),.gallery-item:nth-child(4),.gallery-item:nth-child(even){height:auto;max-height:none;margin:0;aspect-ratio:4/5}}

@media(max-width:560px){
  :root{--pad:20px}
  .site-header{height:72px;padding-top:env(safe-area-inset-top)}
  .menu-toggle{width:48px;height:48px;margin-right:-8px;touch-action:manipulation}
  .nav{padding:calc(72px + env(safe-area-inset-top)) var(--pad) calc(28px + env(safe-area-inset-bottom));justify-content:center;overflow-y:auto}
  .nav a{display:flex;align-items:center;min-height:48px;font-size:clamp(32px,11vw,44px)!important}
  .hero{padding:108px var(--pad) 72px}
  .hero h1{font-size:clamp(62px,19vw,84px);line-height:.82;margin:24px 0 28px}
  .hero-text{font-size:15px;line-height:1.65}
  .hero-actions{width:100%;margin-top:30px}
  .hero-actions .button{width:100%;min-height:52px}
  .hero-actions .text-link{padding:12px 0}
  .hero-visual{padding:38px 0 0;margin:0}
  .hero-frame{width:100%;height:auto;max-height:none;aspect-ratio:31/21}
  .hero-frame .featured-photo{object-position:center;filter:saturate(.9) contrast(1.03)}
  .hero-stats{margin-top:42px}
  .statement{padding:84px var(--pad)}
  .statement h2{font-size:clamp(46px,14vw,66px)}
  .statement-line{margin-top:46px}
  .section{padding:72px var(--pad)}
  .section-heading{margin-bottom:34px}
  .section-heading h2,.services h2,.contact h2,.book-panel h2{font-size:clamp(48px,15vw,68px)}
  .gallery{gap:18px}
  .gallery-item,.gallery-wide,.gallery-tall,.gallery-item:nth-child(1),.gallery-item:nth-child(4),.gallery-item:nth-child(even){aspect-ratio:4/5}
  .gallery-item figcaption{left:10px;bottom:10px}
  .service-list a{min-height:76px;padding:18px 0;grid-template-columns:46px 1fr 24px}
  .service-list strong{font-size:28px}
  .book-panel{gap:36px}
  .book-card{margin-inline:-4px;padding:24px 20px}
  .book-card-brand img{width:56px;height:56px}
  .booksy-services>div{gap:14px;padding:14px 0}
  .booksy-services p strong{font-size:19px;line-height:1.1}
  .booksy-services p small{font-size:11px}
  .booksy-services b{font-size:13px}
  .booksy-final{min-height:54px;gap:18px}
  .booking-banner{min-height:0;padding:60px var(--pad)}
  .booking-banner h2{font-size:clamp(56px,17vw,76px)}
  .booking-circle{width:116px;height:116px}.booking-circle b{width:34px;height:34px;right:10px;top:10px}.booking-circle b svg{width:16px;height:16px}
  .contact{gap:48px}
  .contact-form{gap:20px}
  .contact-form input,.contact-form textarea{font-size:16px;min-height:48px}
  .contact-form textarea{min-height:130px}
  footer{padding:38px var(--pad) calc(38px + env(safe-area-inset-bottom));gap:16px}
  footer>div a{display:inline-flex;align-items:center;min-height:44px}
}

body.logo-open{overflow:hidden}
.brand-mark{padding:0;cursor:zoom-in;appearance:none;flex:0 0 auto}.brand-name{display:inline-flex;align-items:center;min-height:44px}
.logo-lightbox[hidden]{display:none}.logo-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.logo-lightbox-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.88);cursor:zoom-out}.logo-lightbox-content{position:relative;z-index:1;width:min(82vw,620px);aspect-ratio:1;background:#050505;box-shadow:0 28px 90px rgba(0,0,0,.65)}.logo-lightbox-content img{width:100%;height:100%;object-fit:cover}.logo-lightbox-close{position:absolute;right:-14px;top:-14px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#141414;color:#fff;font-size:26px;line-height:1;cursor:pointer}
@media(max-width:560px){.logo-lightbox{padding:20px}.logo-lightbox-content{width:min(88vw,440px)}.logo-lightbox-close{right:-8px;top:-8px}}
