/*
Theme Name: DHANI — Atelier Portfolio
Theme URI: https://dhani.thedigiscale.com/
Author: The Digi Scale
Description: A cinematic, editorial portfolio for DHANI — artist in plaster, paint & craft. Designed around the artist's own architectural project imagery.
Version: 2.0.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: dhani-atelier
*/
:root{--ink:#1e1d1a;--coal:#171714;--paper:#eee9e0;--paper-light:#f7f4ef;--white:#fffdfa;--clay:#ae684b;--clay-light:#c58c6e;--moss:#73715b;--muted:#777168;--line:rgba(30,29,26,.18);--serif:"Cormorant Garamond","Bodoni MT",Georgia,"Times New Roman",serif;--sans:"DM Sans","Helvetica Neue",Arial,sans-serif;--max:1440px;--pad:clamp(22px,5.2vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper-light);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.wrap{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto}.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--clay)}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;min-height:52px;padding:15px 21px;border:1px solid var(--ink);font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.13em;font-weight:700;transition:background .25s,color .25s,border-color .25s,transform .25s}.button:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}.button--clay{border-color:var(--clay);background:var(--clay);color:var(--white)}.button--clay:hover{background:#8f5037;border-color:#8f5037;color:#fff}.button--outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}.button--outline-light:hover{background:#fff;color:var(--ink)}.arrow{font-size:1.15rem;font-weight:400}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:20px;top:20px;background:#fff;padding:12px;z-index:100}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,244,239,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(30,29,26,.12)}.header-inner{width:min(calc(100% - var(--pad)*2),var(--max));min-height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;min-width:180px}.brand-name{display:inline-block;font-family:var(--serif);font-weight:500;font-size:2.05rem;line-height:1;letter-spacing:.18em;color:var(--ink);text-transform:uppercase}.brand:hover .brand-name{color:var(--clay)}.primary-nav{display:flex;align-items:center;gap:clamp(17px,2.2vw,34px)}.primary-nav a{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#403c36;position:relative}.primary-nav a:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--clay);transition:width .25s}.primary-nav a:hover{color:var(--clay)}.primary-nav a:hover:after{width:100%}.header-contact{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--clay);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;padding:10px 0;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px;color:var(--ink);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
/* Hero — image-first, restrained, editorial */
.hero{position:relative;min-height:min(850px,calc(100svh - 82px));display:flex;align-items:stretch;background:var(--coal);color:var(--white);overflow:hidden;isolation:isolate}.hero-image{position:absolute;inset:0 0 0 25%;z-index:-1;overflow:hidden;background:#39362f}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:saturate(.82);animation:hero-settle 1.2s ease both}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#171714 0%,rgba(23,23,20,.94) 10%,rgba(23,23,20,.71) 32%,rgba(23,23,20,.13) 67%,rgba(23,23,20,.08) 100%),linear-gradient(0deg,rgba(23,23,20,.64),transparent 32%)}.hero-copy{width:min(calc(100% - var(--pad)*2),var(--max));margin:0 auto;padding:clamp(74px,9vw,126px) 0 clamp(110px,12vw,155px);position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy-inner{width:min(720px,61%)}.hero-kicker{display:flex;align-items:center;gap:14px;color:rgba(255,253,250,.76);font-size:.67rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.hero-kicker:before{content:"";width:35px;height:1px;background:var(--clay-light)}.hero h1{font:400 clamp(4rem,8.5vw,9rem)/.82 var(--serif);letter-spacing:-.065em;margin:33px 0 29px;max-width:760px}.hero h1 em{font-weight:400;color:#d6b39c}.hero-lead{max-width:430px;color:rgba(255,253,250,.78);font-size:clamp(.93rem,1.1vw,1.05rem);line-height:1.9;margin:0 0 32px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.hero-text-link{display:inline-flex;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.38);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.hero-text-link:hover{border-color:var(--clay-light);color:#e2c6b3}.hero-bottomline{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;width:min(calc(100% - var(--pad)*2),var(--max));padding:17px 0;border-top:1px solid rgba(255,255,255,.23);color:rgba(255,253,250,.67);font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;z-index:3}.hero-bottomline span:last-child{color:#e2c6b3}.hero-image-caption{position:absolute;right:var(--pad);bottom:80px;z-index:2;color:rgba(255,253,250,.8);font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg)}
/* point of view */
.intro{padding:clamp(100px,12vw,178px) 0;display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(45px,9vw,150px);align-items:start}.intro-label{padding-top:13px}.intro-label .eyebrow{display:flex;align-items:center;gap:12px;white-space:nowrap}.intro-label .eyebrow:before{content:"";height:1px;width:28px;background:var(--clay)}.intro h2{font:400 clamp(3rem,6.4vw,7rem)/.91 var(--serif);letter-spacing:-.06em;margin:0 0 34px;max-width:1000px}.intro h2 em{font-weight:400;color:var(--clay)}.intro-text{max-width:700px;columns:2;column-gap:40px;color:#625d55;font-size:.93rem;line-height:1.9}.intro-text p{margin:0 0 18px;break-inside:avoid}.text-link{display:inline-flex;align-items:center;gap:16px;margin-top:22px;padding-bottom:8px;border-bottom:1px solid var(--clay);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.text-link:hover{color:var(--clay)}
/* Portfolio */
.portfolio{padding:0 0 clamp(105px,12vw,175px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:46px}.section-head h2{font:400 clamp(3.2rem,6.2vw,6.7rem)/.88 var(--serif);letter-spacing:-.065em;margin:13px 0 0}.section-head p{max-width:340px;color:var(--muted);font-size:.86rem;line-height:1.8;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(18px,3vw,44px);align-items:start}.project{position:relative;overflow:hidden;background:#d3cbc0}.project img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s}.project:hover img{transform:scale(1.025);filter:saturate(1)}.project--tall{aspect-ratio:4/5}.project--short{aspect-ratio:4/4.8}.project-stack{padding-top:clamp(55px,10vw,140px)}.project-meta{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:15px;padding-bottom:17px;border-bottom:1px solid var(--line)}.project-meta h3{font:400 clamp(1.3rem,2.3vw,2rem)/1.05 var(--serif);margin:0}.project-meta span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clay);white-space:nowrap}.project-copy{display:flex;justify-content:space-between;gap:25px;margin-top:15px;color:var(--muted);font-size:.79rem;line-height:1.7}.project-copy p{max-width:320px;margin:0}.project-copy strong{font-weight:500;color:var(--ink);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}
/* Artist story */
.artist{background:#e8dfd2;padding:clamp(80px,11vw,154px) 0;position:relative;overflow:hidden}.artist-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(42px,8.8vw,132px);align-items:center}.artist-photo{position:relative;width:100%;max-width:600px}.artist-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:27% center;filter:saturate(.82)}.artist-photo:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(174,104,75,.55);pointer-events:none}.artist-photo-caption{margin-top:26px;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#6f6459;display:flex;justify-content:space-between;gap:20px}.artist-copy h2{font:400 clamp(3.6rem,6.2vw,6.6rem)/.88 var(--serif);letter-spacing:-.065em;margin:22px 0 28px}.artist-copy h2 em{color:var(--clay);font-style:italic}.artist-copy p{max-width:550px;color:#5f574f;font-size:.92rem;line-height:1.9}.artist-signature{font:italic 2.6rem var(--serif);color:var(--clay);margin:35px 0 23px;letter-spacing:.02em}
/* Specialties — no cards, just clear service rows */
.services{padding:clamp(100px,13vw,180px) 0}.services-intro{display:grid;grid-template-columns:1fr .75fr;gap:55px;align-items:end;margin-bottom:54px}.services-intro h2{font:400 clamp(3.4rem,6.5vw,7rem)/.88 var(--serif);letter-spacing:-.065em;margin:14px 0 0}.services-intro p{margin:0 0 4px;color:var(--muted);max-width:440px;font-size:.92rem;line-height:1.9}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:62px .92fr 1.08fr 30px;align-items:start;gap:clamp(16px,2.5vw,35px);padding:30px 0 31px;border-bottom:1px solid var(--line);transition:padding .25s}.service-row:hover{padding-left:8px;padding-right:8px}.service-no{font:400 1.25rem var(--serif);color:var(--clay);padding-top:4px}.service-row h3{font:400 clamp(1.55rem,2.8vw,2.55rem)/1.04 var(--serif);margin:0;letter-spacing:-.025em}.service-row p{margin:3px 0 0;max-width:580px;font-size:.87rem;line-height:1.85;color:var(--muted)}.service-mark{font-size:1.3rem;color:var(--clay);text-align:right}
/* Film */
.video-section{background:#1b1a17;color:var(--white);padding:clamp(85px,10vw,145px) 0}.video-header{display:grid;grid-template-columns:1fr .55fr;align-items:end;gap:50px;margin-bottom:42px}.video-header h2{font:400 clamp(3.3rem,6.2vw,6.5rem)/.88 var(--serif);letter-spacing:-.06em;margin:14px 0 0;max-width:800px}.video-header p{max-width:300px;font-size:.86rem;line-height:1.85;color:rgba(255,253,250,.65);margin:0 0 6px}.video-frame{position:relative;background:#111;aspect-ratio:16/8;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.video-frame video{width:100%;height:100%;object-fit:cover}.video-credit{display:flex;justify-content:space-between;gap:25px;margin-top:15px;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,253,250,.48)}
/* Place and contact */
.service-area{padding:clamp(85px,11vw,155px) 0;display:grid;grid-template-columns:.82fr 1.18fr;gap:60px}.service-area h2{font:400 clamp(3.3rem,5.4vw,5.8rem)/.9 var(--serif);letter-spacing:-.06em;margin:16px 0 25px}.service-area p{color:var(--muted);max-width:390px;font-size:.91rem;line-height:1.85}.location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center}.location-list span{padding:22px 8px;border-bottom:1px solid var(--line);font:400 clamp(1.4rem,2.4vw,2.2rem)/1.1 var(--serif)}.location-list span:nth-child(odd){margin-right:22px}.location-list span:nth-child(even){margin-left:22px}.contact{background:#d9c2af;padding:clamp(85px,11vw,150px) 0}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(42px,8vw,120px);align-items:start}.contact h2{font:400 clamp(4rem,7.5vw,8rem)/.82 var(--serif);letter-spacing:-.07em;margin:20px 0 29px}.contact h2 em{color:#8c5039;font-style:italic}.contact-lead{max-width:420px;color:#5d4f43;font-size:.92rem;line-height:1.85}.contact-details{display:grid;gap:19px;margin-top:39px}.contact-item small{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.61rem;color:#755b49;margin-bottom:4px}.contact-item a,.contact-item span{font:400 clamp(1.25rem,1.9vw,1.65rem)/1.3 var(--serif);overflow-wrap:anywhere}.contact-form{background:var(--paper-light);padding:clamp(26px,4.5vw,55px);box-shadow:0 25px 65px rgba(63,43,30,.08)}.contact-form h3{font:400 clamp(1.9rem,3vw,2.5rem)/1.1 var(--serif);margin:0 0 9px}.contact-form>p{color:var(--muted);font-size:.8rem;line-height:1.75;margin:0 0 28px}.form-field{margin-bottom:21px}.form-field label{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:8px}.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid #cfc4b8;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);outline:none}.form-field input:focus,.form-field textarea:focus{border-color:var(--clay)}.form-field textarea{min-height:92px;resize:vertical}.form-submit{width:100%;cursor:pointer;border:0;margin-top:5px}
.site-footer{background:#171714;color:rgba(255,253,250,.66);padding:33px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{font:400 1.6rem var(--serif);letter-spacing:.19em;color:white}.footer-note{font-size:.65rem;letter-spacing:.08em}.footer-links{display:flex;gap:22px;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.footer-links a:hover{color:#d6b39c}.fade-in{opacity:1;transform:none}.js-motion .fade-in{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.js-motion .fade-in.is-visible{opacity:1;transform:none}.not-found{padding:100px 0;min-height:50vh}.not-found h1{font:400 4rem var(--serif)}
@keyframes hero-settle{from{transform:scale(1.045);opacity:.75}to{transform:scale(1);opacity:1}}
@media(max-width:1050px){.header-contact{display:none}.hero-image{left:16%}.hero-copy-inner{width:min(700px,72%)}.hero h1{font-size:clamp(4rem,8vw,7rem)}.intro{grid-template-columns:.4fr 1.6fr}.artist-grid{gap:55px}.service-row{grid-template-columns:48px .9fr 1.1fr 20px;gap:18px}}
@media(max-width:760px){:root{--pad:22px}.header-inner{min-height:72px}.brand-name{font-size:1.72rem;letter-spacing:.15em}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper-light);padding:22px var(--pad) 27px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:21px}.primary-nav.is-open{display:flex}.primary-nav a{font-size:.75rem}.hero{min-height:740px;min-height:min(790px,calc(100svh - 72px));}.hero-image{inset:0}.hero-image:after{background:linear-gradient(90deg,rgba(23,23,20,.83),rgba(23,23,20,.44) 72%,rgba(23,23,20,.2)),linear-gradient(0deg,rgba(23,23,20,.7),transparent 50%)}.hero-copy{padding:82px 0 116px;justify-content:flex-end}.hero-copy-inner{width:100%}.hero h1{font-size:clamp(3.8rem,17vw,6.4rem);margin:26px 0}.hero-lead{font-size:.91rem;max-width:370px}.hero-bottomline{font-size:.52rem;letter-spacing:.11em}.hero-image-caption{display:none}.intro{padding:80px 0 88px;display:block}.intro-label{margin-bottom:27px}.intro h2{font-size:clamp(3.2rem,13vw,5rem)}.intro-text{columns:1;font-size:.9rem}.section-head{display:block;margin-bottom:27px}.section-head h2{font-size:clamp(3.3rem,13vw,5.4rem)}.section-head p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:37px}.project--tall{aspect-ratio:4/4.4}.project-stack{padding-top:0}.project--short{aspect-ratio:4/4.3}.project-meta h3{font-size:1.6rem}.project-copy{gap:14px}.artist{padding:75px 0}.artist-grid{grid-template-columns:1fr;gap:52px}.artist-photo{width:84%;margin-left:3%}.artist-photo-caption{font-size:.55rem}.artist-copy h2{font-size:clamp(3.7rem,15vw,5.4rem)}.services{padding:85px 0}.services-intro{grid-template-columns:1fr;gap:22px}.services-intro h2{font-size:clamp(3.5rem,14vw,5.5rem)}.service-row{grid-template-columns:31px 1fr 18px;gap:12px;padding:25px 0}.service-row p{grid-column:2/3;margin-top:9px}.service-mark{grid-column:3;grid-row:1}.service-row h3{font-size:1.6rem}.video-header{grid-template-columns:1fr;gap:19px}.video-header h2{font-size:clamp(3.4rem,13vw,5.5rem)}.video-header p{max-width:360px}.video-frame{aspect-ratio:4/3}.video-credit{font-size:.53rem;letter-spacing:.1em}.service-area{grid-template-columns:1fr;gap:23px}.location-list span{font-size:1.5rem;padding:17px 3px}.location-list span:nth-child(odd){margin-right:12px}.location-list span:nth-child(even){margin-left:12px}.contact-grid{grid-template-columns:1fr;gap:42px}.contact h2{font-size:clamp(4rem,17vw,6.4rem)}.footer-inner{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}.back-top{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-motion .fade-in{opacity:1;transform:none}}
