
:root {
  --ink:#191715; --paper:#f7f1e9; --white:#fffdf9; --mushroom:#9b8777; --rose:#d86b82;
  --yellow:#f2c94c; --sage:#aeb6a1; --line:#d8cabc; --max:1240px; --nav:72px;
  --display:'Bricolage Grotesque','Noto Sans Display',sans-serif;
  --body:'DM Sans','Noto Sans',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}body.dialog-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover;background:#ded5ca}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:var(--ink);color:white;padding:10px 14px}.skip-link:focus{top:12px}.site-header{height:var(--nav);position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;background:rgba(247,241,233,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(25,23,21,.1)}.brand,.footer-brand{display:inline-flex;align-items:center;gap:12px;width:max-content;font-family:var(--display);font-weight:600}.brand-mark{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:12px;letter-spacing:-.08em}.brand-name{font-size:16px}.site-nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:.25s}.site-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:0 22px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font-size:14px;font-weight:600;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px);background:#2a2724}.button-small{min-height:40px;padding:0 17px}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:var(--ink);color:var(--white)}.button-light{background:var(--white);color:var(--ink);border-color:var(--white)}.text-link{display:inline-flex;gap:12px;align-items:center;font-weight:600;border-bottom:1px solid;padding-bottom:4px}.eyebrow,.label{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600}.eyebrow{margin:0 0 16px}.eyebrow-light{color:#d7cbbf}.section{padding:76px max(4vw,calc((100vw - var(--max))/2));min-height:min(680px,calc(100vh - var(--nav)));display:grid;align-items:center}.section h2{font-family:var(--display);font-size:clamp(34px,4vw,54px);line-height:1.03;letter-spacing:-.045em;font-weight:500;margin:0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.12s}

.hero{min-height:calc(100vh - var(--nav));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(280px,1fr) auto;position:relative;overflow:hidden}.hero-copy{max-width:820px;text-align:center;margin:0 auto;padding:44px 24px 26px;z-index:2}.hero h1{font-family:var(--display);font-size:clamp(42px,5.7vw,76px);font-weight:500;letter-spacing:-.058em;line-height:.96;margin:0 auto 18px;max-width:780px}.hero-text{max-width:630px;margin:0 auto;color:#5f554e;font-size:clamp(16px,1.5vw,19px)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:26px}.hero-stage{width:min(100% - 8vw,1240px);height:100%;min-height:300px;max-height:410px;margin:0 auto;position:relative;padding:0 34px 22px}.hero-frame{height:100%;position:relative;overflow:hidden;border-radius:180px 180px 8px 8px;background:#ded5ca}.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,23,21,.04),rgba(25,23,21,.14));pointer-events:none}.frame-corners:before{content:"";position:absolute;inset:18px;z-index:2;border:1px solid rgba(255,253,249,.7);border-radius:160px 160px 4px 4px;pointer-events:none}.hero-stamp{position:absolute;right:1px;top:50%;transform:translateY(-50%) rotate(5deg);width:92px;height:92px;border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-size:8px;box-shadow:0 8px 30px rgba(25,23,21,.12)}.hero-stamp strong{font-family:var(--display);font-size:28px;letter-spacing:-.12em;margin:5px 0}.highlight-bar{width:min(100% - 8vw,1240px);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:13px 0 15px}.highlight{display:flex;justify-content:center;align-items:baseline;gap:8px;border-right:1px solid var(--line)}.highlight:last-child{border:0}.highlight strong{font-family:var(--display);font-size:18px}.highlight span{font-size:12px;color:#6b5f57}

.portfolio{display:block;padding-top:90px;padding-bottom:90px}.section-head{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:70px;margin-bottom:44px}.section-head p:last-child{max-width:430px;color:#6a5f57;margin:0}.portfolio-grid{display:grid;grid-template-columns:1.15fr .78fr .78fr;grid-template-rows:260px 220px;gap:16px}.portfolio-card{position:relative;overflow:hidden;background:#ddd2c7;cursor:pointer;border:0;padding:0}.portfolio-card img{transition:transform .55s ease}.portfolio-card:hover img{transform:scale(1.03)}.portfolio-card:nth-child(1){grid-row:1/3;border-radius:180px 180px 4px 4px}.portfolio-card:nth-child(2){border-radius:4px}.portfolio-card:nth-child(3){border-radius:50% 50% 4px 4px}.portfolio-card:nth-child(4){grid-column:2/4;border-radius:4px}.portfolio-card .portfolio-index{position:absolute;left:12px;bottom:12px;width:32px;height:32px;display:grid;place-items:center;background:var(--white);border-radius:50%;font-size:10px}.section-action{display:flex;justify-content:center;margin-top:32px}

.section-dark{background:var(--ink);color:var(--white)}.services{grid-template-columns:.78fr 1.22fr;gap:8vw}.services-intro{align-self:start;position:sticky;top:calc(var(--nav) + 44px)}.services-intro h2{max-width:510px}.services-intro>p:not(.eyebrow){color:#cfc5bc;max-width:460px;margin:22px 0 28px}.service-list{border-top:1px solid rgba(255,255,255,.22)}.service-item{border-bottom:1px solid rgba(255,255,255,.22)}.service-summary{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:22px 0;color:inherit;background:none;border:0;text-align:left;cursor:pointer}.service-number{font-size:10px;color:#ab9f95}.service-name{font-family:var(--display);font-size:20px;font-weight:500}.service-meta{font-size:12px;color:#c5bab1;white-space:nowrap}.service-price{font-size:13px;font-weight:600;white-space:nowrap}.service-plus{width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;transition:.25s}.service-item.open .service-plus{transform:rotate(45deg)}.service-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.service-details>div{overflow:hidden}.variant-list{padding:0 0 20px 60px}.variant{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px}.variant small{display:block;color:#a99e95;margin-top:3px}.variant span{color:#c5bab1;white-space:nowrap}.variant strong{white-space:nowrap}.service-item.open .service-details{grid-template-rows:1fr}

.about{grid-template-columns:1.05fr .95fr;gap:8vw}.about-visual{height:520px;position:relative}.arch-frame{height:100%;width:76%;overflow:hidden;border-radius:220px 220px 6px 6px;position:relative}.arch-frame:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.65);border-radius:205px 205px 3px 3px}.about-detail{position:absolute;right:0;bottom:34px;width:42%;aspect-ratio:1;overflow:hidden;border-radius:50%;border:10px solid var(--paper)}.about-copy>div[data-about-paragraphs] p{color:#665b53;max-width:570px}.craft-points{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px;border-top:1px solid var(--line);padding-top:24px}.craft-points>div{display:grid;grid-template-columns:26px 1fr;column-gap:8px}.craft-points span{font-size:10px;color:#8d7d72;grid-row:1/3}.craft-points strong{font-family:var(--display);font-size:16px}.craft-points p{font-size:13px;color:#6b6058;margin:5px 0 0}

.artist{position:relative;background:#e7b6bf;grid-template-columns:.85fr .8fr;gap:9vw;overflow:hidden}.artist-copy{padding-left:4vw}.artist-copy p:not(.eyebrow){max-width:440px;margin:22px 0}.artist-card{max-width:420px;justify-self:center;position:relative;z-index:2}.artist-image{aspect-ratio:4/5;overflow:hidden;border-radius:210px 210px 6px 6px;border:14px solid rgba(255,253,249,.75)}.artist-name{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px}.artist-name strong{font-family:var(--display);font-size:22px}.artist-name span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.artist-motif{position:absolute;right:-20px;bottom:-30px;display:flex;gap:10px;transform:rotate(-10deg);opacity:.55}.artist-motif i{width:36px;height:150px;border:1px solid var(--ink);border-radius:50% 50% 20% 20%}.artist-motif i:nth-child(2),.artist-motif i:nth-child(4){height:118px;margin-top:28px}

.contact{grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--white)}.contact-title>p:not(.eyebrow){color:#6a5f57;margin:20px 0 26px}.contact-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.contact-block{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-block:nth-child(2){border-right:0}.contact-hours{grid-column:1/3;border-right:0}.contact-block .label{display:block;color:#8d7e74;margin-bottom:10px}.contact-block>a{font-family:var(--display);font-size:19px}.contact-hours #hours-list{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.hour{font-size:12px}.hour strong{display:block;margin-bottom:4px}.feature-list{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr)}.feature{padding:19px 16px;text-align:center;border-right:1px solid var(--line);font-size:12px}.feature:last-child{border:0}.feature svg{display:block;margin:0 auto 8px;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}

.footer{padding:34px 4vw;display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;background:var(--ink);color:var(--white);font-size:13px}.footer p{color:#bdb2a9}.footer>div{display:flex;gap:18px}.footer small{grid-column:1/4;color:#8f857c;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.footer .brand-mark{border-color:white}

dialog{border:0;padding:0}.gallery-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;background:var(--paper);color:var(--ink);padding:28px max(4vw,calc((100vw - var(--max))/2)) 60px;overflow:auto}.gallery-dialog::backdrop,.image-lightbox::backdrop{background:rgba(15,14,13,.78)}.dialog-top{position:sticky;top:-28px;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:28px 0 20px;background:linear-gradient(var(--paper) 85%,transparent)}.dialog-top h2{font-family:var(--display);font-size:38px;margin:0}.icon-button{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:28px;cursor:pointer}.gallery-dialog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-tile{border:0;padding:0;background:#ddd2c7;aspect-ratio:1;overflow:hidden;cursor:pointer}.gallery-tile:nth-child(4n+1){border-radius:130px 130px 4px 4px}.gallery-tile:nth-child(4n+3){border-radius:50%}.image-lightbox{width:100%;max-width:none;height:100%;max-height:none;background:rgba(15,14,13,.96);color:white}.image-lightbox figure{height:100%;margin:0;display:grid;place-items:center;padding:60px 90px 70px}.image-lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(100vh - 150px);object-fit:contain;background:transparent}.image-lightbox figcaption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:#171513;padding:8px 14px;font-size:12px;max-width:70%;text-align:center}.lightbox-close{position:absolute;top:22px;right:24px;z-index:2}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:72px;border:0;background:rgba(255,255,255,.08);color:white;font-size:38px;cursor:pointer}.lightbox-prev{left:20px}.lightbox-next{right:20px}

@media (max-width:900px){:root{--nav:64px}.site-header{grid-template-columns:1fr auto}.site-nav{display:none;position:fixed;top:64px;left:0;right:0;background:var(--paper);padding:28px 4vw;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.menu-toggle{display:block;justify-self:end}.header-cta{display:none}.brand-name{font-size:14px}.section{padding:66px 5vw;min-height:auto}.hero{min-height:auto;grid-template-rows:auto 340px auto}.hero-copy{padding-top:40px}.hero-stage{width:100%;padding:0 5vw 20px}.hero-frame{border-radius:120px 120px 6px 6px}.hero-stamp{right:2vw}.highlight-bar{width:90%}.section-head,.services,.about,.artist,.contact{grid-template-columns:1fr}.section-head{gap:20px}.portfolio-grid{grid-template-columns:1.1fr .9fr;grid-template-rows:260px 180px 180px}.portfolio-card:nth-child(1){grid-row:1/3}.portfolio-card:nth-child(3){grid-row:3;grid-column:1}.portfolio-card:nth-child(4){grid-column:2;grid-row:2/4}.services-intro{position:static}.service-list{margin-top:38px}.about-visual{height:480px}.about-copy{padding-top:10px}.artist{gap:40px}.artist-copy{padding-left:0}.contact{gap:40px}.footer{grid-template-columns:1fr auto}.footer p{display:none}.footer small{grid-column:1/3}.gallery-dialog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){body{font-size:15px}.site-header{padding:0 18px}.hero-copy{padding:34px 20px 22px}.hero h1{font-size:43px}.hero-actions{flex-direction:column;gap:16px}.hero-stage{height:300px;padding:0 18px 18px}.hero-stamp{width:72px;height:72px;right:2px}.hero-stamp strong{font-size:21px}.highlight-bar{grid-template-columns:1fr;width:calc(100% - 36px);padding:0}.highlight{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:9px 0}.highlight:last-child{border-bottom:0}.section{padding:56px 20px}.section h2{font-size:38px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 150px 210px;gap:10px}.portfolio-card:nth-child(1){grid-row:1;grid-column:1/3}.portfolio-card:nth-child(2){grid-row:2;grid-column:1}.portfolio-card:nth-child(3){grid-row:2;grid-column:2}.portfolio-card:nth-child(4){grid-row:3;grid-column:1/3}.service-summary{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}.service-meta{display:none}.service-name{font-size:17px}.service-plus{display:none}.variant-list{padding-left:40px}.variant{grid-template-columns:1fr auto}.variant span{display:none}.about-visual{height:400px}.arch-frame{width:86%}.about-detail{width:46%;bottom:20px}.craft-points{grid-template-columns:1fr}.artist-card{width:82%}.contact-panel{grid-template-columns:1fr}.contact-block,.contact-block:nth-child(2),.contact-hours{grid-column:1;border-right:0}.contact-hours #hours-list{grid-template-columns:1fr 1fr}.feature-list{grid-column:1;grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line);text-align:left;display:flex;align-items:center;gap:10px}.feature svg{margin:0}.footer{grid-template-columns:1fr}.footer>div{flex-wrap:wrap}.footer small{grid-column:1}.gallery-dialog{padding:20px}.gallery-dialog-grid{gap:9px}.image-lightbox figure{padding:70px 18px 90px}.lightbox-nav{top:auto;bottom:16px;height:44px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.image-lightbox figcaption{bottom:20px;max-width:55%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.portfolio-card img,.button{transition:none}}

#team-role:empty{display:none}
