:root{
  --navy:#36374C;
  --blush:#FBE6E1;
  --gray:#BCBDC0;
  --bluegray:#9AAABA;
  --coral:#F27360;
  --paper:#FCFBF8;
  --white:#fff;
  --ink-soft:#626477;
  --line:rgba(54,55,76,.18);
  --shadow:0 18px 48px rgba(54,55,76,.16);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;background-image:radial-gradient(circle at 20% 15%,rgba(242,115,96,.06),transparent 24%),radial-gradient(circle at 80% 35%,rgba(154,170,186,.08),transparent 28%)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}

.site-header{height:82px;display:grid;grid-template-columns:220px 1fr 42px;align-items:center;gap:28px;max-width:1240px;margin:auto;padding:0 28px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(252,251,248,.94);backdrop-filter:blur(16px)}
.brand{display:flex;flex-direction:column;line-height:1.15;letter-spacing:.18em}.brand strong{font-size:17px;font-weight:600}.brand span{margin-top:6px;font-size:9px;color:var(--bluegray);letter-spacing:.22em}
.main-nav{display:flex;justify-content:center;gap:42px}.main-nav a{position:relative;padding:31px 0 25px;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--coral);transition:.25s}.main-nav a:hover::after,.main-nav a.active::after{right:0}
.social-link{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;transition:.2s}.social-link:hover{background:var(--coral);border-color:var(--coral);color:white}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:23px;height:1px;background:var(--navy);margin:6px 0}

.hero{min-height:570px;max-width:1440px;margin:auto;padding:36px 52px 46px;display:grid;grid-template-columns:46px minmax(320px,.78fr) minmax(520px,1.45fr);align-items:center;gap:36px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-7%;top:12%;width:58%;height:70%;z-index:-1;opacity:.48;background:radial-gradient(ellipse at center,rgba(154,170,186,.26),transparent 68%);filter:blur(2px)}
.hero-side-note{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:12px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:600;letter-spacing:.19em;color:var(--ink-soft)}.hero-side-note span{display:block;width:1px;height:42px;background:var(--navy)}
.hero-copy{padding-left:16px;max-width:430px}.eyebrow{margin:0 0 14px;color:var(--coral);font-size:10px;font-weight:700;letter-spacing:.14em}.hero h1,.info-card h2,.bio h2,.gallery-section h2,.critique h2,.contact h2,.selected h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(43px,4.25vw,69px)}.hero h1 em{font-style:normal;color:var(--navy)}
.hero-rule{width:46px;height:1px;background:var(--navy);margin:25px 0 20px}.hero-intro{max-width:390px;color:var(--ink-soft);font-size:14px;line-height:1.8}.cta{display:inline-block;margin-top:9px;background:var(--coral);color:#fff;padding:14px 22px;font-size:10px;font-weight:700;letter-spacing:.12em;box-shadow:0 8px 18px rgba(242,115,96,.2);transition:.22s}.cta:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(242,115,96,.28)}
.hero-gallery{min-width:0}.hero-frame{padding:9px;background:#e9e4dc;box-shadow:var(--shadow);border:1px solid rgba(54,55,76,.18)}.hero-mat{height:388px;background:#fff;position:relative;overflow:hidden}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .65s,transform 1s}.hero-slide.active{opacity:1;transform:scale(1)}
.hero-slider-foot{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.hero-caption{font-family:var(--serif);font-size:17px}.hero-dots{display:flex;gap:7px}.hero-dots button{width:34px;height:2px;padding:0;border:0;background:rgba(54,55,76,.22);cursor:pointer}.hero-dots button.active{background:var(--coral)}

.selected{max-width:1440px;margin:auto;background:linear-gradient(90deg,#e8ecef,#dfe4e8);padding:30px 70px;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:34px;border-top:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(54,55,76,.09)}
.selected h2{font-size:31px;margin-bottom:15px}.selected-heading>a{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.selected-heading>a span{margin-left:11px}.works-strip{min-width:0}.works-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:780px}.work-card{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;min-width:0}.work-card-landscape{grid-column:1 / -1}.work-frame{display:block;background:#f9f7f2;padding:5px;border:1px solid rgba(54,55,76,.12);box-shadow:0 7px 15px rgba(54,55,76,.08);height:118px;overflow:hidden;transition:.28s}.work-card-landscape .work-frame{height:205px}.work-frame img{width:100%;height:100%;object-fit:cover}.work-card-landscape .work-frame img{object-position:center 48%}.work-card:hover .work-frame{transform:translateY(-5px);box-shadow:0 13px 20px rgba(54,55,76,.14)}.work-meta{display:flex;flex-direction:column;margin-top:7px}.work-meta strong{font-family:var(--serif);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-meta small{font-size:9px;color:var(--ink-soft);letter-spacing:.04em}.strip-next{display:none}

.info-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.02fr 1fr 1.18fr;border-bottom:1px solid var(--line)}.info-card{min-height:320px;padding:37px 50px;position:relative;overflow:hidden;border-right:1px solid rgba(54,55,76,.12)}.info-card:last-child{border-right:0}.info-card h2{font-size:37px;margin-bottom:15px}.info-card p{font-size:12px;line-height:1.75;color:var(--ink-soft);max-width:420px}.info-card>a{display:inline-flex;gap:12px;margin-top:8px;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--coral)}
.story-card{background:var(--blush)}.story-card .brush-mark{position:absolute;width:150px;height:100px;right:10px;bottom:-10px;opacity:.3;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 8px,rgba(242,115,96,.22) 9px 10px,transparent 11px 16px);transform:rotate(-13deg)}
.nihonga-card{background:#f6f6f3}.nihonga-card h2 span{font-family:var(--sans);font-size:14px;color:var(--bluegray);margin-left:8px}.materials{display:flex;flex-wrap:wrap;gap:7px;margin-top:21px}.materials span{border:1px solid rgba(54,55,76,.15);padding:6px 9px;font-size:8px;letter-spacing:.1em;background:#fff}
.studio-card{background:#f8f7f4}.studio-card .studio-image{height:155px;margin:0 0 13px;overflow:hidden;border:1px solid rgba(54,55,76,.1);box-shadow:0 8px 18px rgba(54,55,76,.08)}.studio-card .studio-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}

.bio{max-width:1240px;margin:0 auto;padding:78px 58px;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.bio-image{position:relative}.bio-image::before{content:"";position:absolute;left:-22px;top:24px;width:72%;height:90%;background:var(--bluegray);opacity:.25;z-index:-1}.bio-image img{width:100%;aspect-ratio:1.58;object-fit:cover;box-shadow:var(--shadow);filter:saturate(.75)}.bio h2{font-size:56px;margin-bottom:22px}.bio-copy{max-width:500px}.bio-copy .lead{font-family:var(--serif);font-size:22px;line-height:1.55;color:var(--navy)}.bio-copy>p:not(.eyebrow):not(.lead){color:var(--ink-soft)}.bio blockquote{margin:20px 0 0;padding-left:18px;border-left:2px solid var(--coral);font-family:var(--serif);font-size:20px}

.gallery-section{max-width:1240px;margin:0 auto;padding:46px 58px 80px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-head h2{font-size:50px}.section-head>p{max-width:420px;margin:0;color:var(--ink-soft);font-size:13px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:15px}.gallery-item{position:relative;border:0;padding:0;background:#ebe9e5;overflow:hidden;cursor:pointer}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s transform,.35s filter}.gallery-item span{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;background:rgba(252,251,248,.87);backdrop-filter:blur(8px);font-family:var(--serif);font-size:15px;text-align:left;transform:translateY(6px);opacity:0;transition:.25s}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1.06)}.gallery-item:hover span{opacity:1;transform:none}.gallery-item.extra{display:none}.gallery-section.expanded .gallery-item.extra{display:block}.show-more{display:flex;margin:25px auto 0;border:0;background:transparent;gap:12px;font-size:9px;font-weight:700;letter-spacing:.12em;cursor:pointer}.show-more span{font-size:14px;color:var(--coral)}

.critique{max-width:1440px;margin:auto;background:var(--navy);color:#fff;min-height:355px;padding:56px 86px;display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:center}.critique .eyebrow{color:var(--coral)}.critique h2{font-size:49px}.quote-controls{display:flex;align-items:center;gap:14px;margin-top:28px}.quote-controls button{width:35px;height:35px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.quote-controls button:hover{background:var(--coral);border-color:var(--coral)}.quote-count{font-size:9px;letter-spacing:.12em;color:#cfd0d6}.quote-stage{position:relative;min-height:175px}.quote{position:absolute;inset:0;opacity:0;transform:translateY(10px);pointer-events:none;transition:.38s}.quote.active{opacity:1;transform:none;pointer-events:auto}.quote p{font-family:var(--serif);font-size:clamp(24px,2.3vw,35px);line-height:1.33;margin:0;max-width:800px}.quote footer{display:flex;flex-direction:column;margin-top:26px}.quote footer strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.quote footer span{font-size:10px;color:#bfc0c8;margin-top:3px}

.contact{max-width:1440px;margin:auto;background:linear-gradient(100deg,var(--blush),#f9eeeb 60%,#e7eaed);padding:56px 86px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:end}.contact h2{font-size:49px}.contact-copy>p:not(.eyebrow){max-width:390px;color:var(--ink-soft)}.contact-links{border-top:1px solid var(--line)}.contact-links a{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line);transition:.2s}.contact-links a:hover{padding-left:10px;background:rgba(255,255,255,.3)}.contact-links span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.contact-links strong{font-family:var(--serif);font-size:20px;font-weight:500}.contact-links b{font-weight:400;color:var(--coral)}
.site-footer{height:84px;max-width:1440px;margin:auto;padding:0 58px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.site-footer div{display:flex;align-items:center;gap:16px}.site-footer strong{font-size:11px;letter-spacing:.12em}.site-footer span,.site-footer a{font-size:9px;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}

.lightbox{width:min(1120px,94vw);height:min(860px,92vh);border:0;padding:24px;background:rgba(252,251,248,.98);color:var(--navy);box-shadow:0 30px 80px rgba(20,21,31,.35)}.lightbox::backdrop{background:rgba(28,29,42,.76);backdrop-filter:blur(5px)}.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox figure img{max-width:88%;max-height:78vh;object-fit:contain;box-shadow:0 16px 36px rgba(54,55,76,.18);background:white;padding:7px}.lightbox figcaption{font-family:var(--serif);font-size:20px;margin-top:13px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:50%;z-index:2;cursor:pointer}.lightbox-close{width:38px;height:38px;right:18px;top:18px;font-size:22px}.lightbox-prev,.lightbox-next{width:40px;height:40px;top:50%;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}

@media(max-width:1050px){
  .site-header{grid-template-columns:190px 1fr 34px}.main-nav{gap:25px}
  .hero{grid-template-columns:32px .82fr 1.18fr;padding:32px 30px 42px;gap:24px}.hero-mat{height:340px}.hero h1{font-size:52px}
  .selected{padding:26px 35px;grid-template-columns:165px 1fr}.works-composition{gap:12px 14px}.work-frame{height:110px}.work-card-landscape .work-frame{height:185px}
  .info-card{padding:32px 30px}.bio{padding:64px 40px;gap:48px}.gallery-section{padding:42px 40px 70px}.critique,.contact{padding-left:55px;padding-right:55px;gap:48px}
}

@media(max-width:820px){
  .site-header{height:72px;grid-template-columns:1fr 40px 34px;padding:0 20px}.main-nav{position:absolute;top:72px;left:0;right:0;padding:20px;background:rgba(252,251,248,.98);border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:0;box-shadow:0 20px 35px rgba(54,55,76,.09)}.main-nav.open{display:flex}.main-nav a{padding:12px 2px}.main-nav a::after{bottom:7px;width:30px;right:auto}.menu-toggle{display:block}
  .hero{grid-template-columns:1fr;padding:26px 22px 32px}.hero-side-note{display:none}.hero-copy{padding:0;max-width:600px}.hero h1{font-size:48px}.hero-gallery{margin-top:8px}.hero-mat{height:min(55vw,360px)}
  .selected{padding:24px 22px;grid-template-columns:1fr;gap:18px}.selected-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.selected-heading .eyebrow{display:none}.selected-heading h2{margin:0}.selected-heading>a{margin-bottom:5px}.works-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;max-width:none}.work-card-landscape{grid-column:1 / -1}.work-frame{height:125px}.work-card-landscape .work-frame{height:180px}
  .info-grid{grid-template-columns:1fr}.info-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.studio-card .studio-image{height:230px}
  .bio{grid-template-columns:1fr;padding:54px 22px;gap:35px}.bio h2{font-size:45px}
  .gallery-section{padding:38px 22px 58px}.section-head{align-items:start;gap:30px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.gallery-item span{opacity:1;transform:none;font-size:13px;padding:6px 8px}
  .critique{grid-template-columns:1fr;padding:45px 24px;gap:38px}.critique h2{font-size:42px}.quote-stage{min-height:225px}.quote p{font-size:26px}
  .contact{grid-template-columns:1fr;padding:45px 24px;gap:26px}.contact h2{font-size:42px}.site-footer{padding:0 22px}
}

@media(max-width:520px){
  body{font-size:14px}.brand strong{font-size:14px}.brand span{font-size:8px}.hero h1{font-size:40px}.hero-mat{height:230px}.hero-frame{padding:6px}.hero-caption{font-size:15px}.hero-dots button{width:22px}
  .selected-heading h2{font-size:28px}.selected-heading>a{font-size:8px}.work-frame{height:112px}.work-card-landscape .work-frame{height:165px}.work-meta strong{font-size:12px}
  .info-card{padding:30px 22px}.info-card h2{font-size:34px}.studio-card .studio-image{height:180px}
  .bio h2,.gallery-section h2,.critique h2,.contact h2{font-size:38px}.bio-copy .lead{font-size:20px}.section-head{display:block}.section-head>p{margin-top:12px}.gallery-grid{gap:9px;grid-auto-rows:170px}.gallery-item span{left:6px;right:6px;bottom:6px}
  .quote-stage{min-height:280px}.quote p{font-size:24px}.contact-links a{grid-template-columns:70px 1fr 22px}.contact-links strong{font-size:16px}.site-footer{height:auto;padding-top:22px;padding-bottom:22px;gap:18px}.site-footer div{flex-direction:column;align-items:flex-start;gap:2px}
  .lightbox{padding:14px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox figure img{max-width:92%}
}

/* V7 — complete Opere collection + refined framing + navigation color update */
:root{--hover-black:#000;--hover-orange:#F27360}

/* Navigation: black hover with orange type */
.main-nav a{padding-left:12px;padding-right:12px;transition:background-color .22s,color .22s}
.main-nav a:hover{background:var(--hover-black);color:var(--hover-orange)}
.main-nav a:hover::after{right:12px;left:12px;background:var(--hover-orange)}
.social-link{background:var(--hover-black);border-color:var(--hover-black);color:var(--hover-orange)}
.social-link:hover{background:var(--hover-black);border-color:var(--hover-black);color:var(--hover-orange);transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.16)}

/* Complete Opere collection */
.selected{padding:42px 70px 52px;grid-template-columns:190px minmax(0,1fr);align-items:start;background:linear-gradient(90deg,#e8ecef,#dfe4e8)}
.selected-heading{position:sticky;top:105px}
.selected h2{margin-bottom:12px}
.selected-intro{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.65;max-width:170px}
.works-composition{max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:24px 22px}
.work-card{min-width:0}
.work-card.landscape{grid-column:span 2}
.work-frame{position:relative;display:block;height:290px;padding:10px;background:#3a3940;border:1px solid rgba(20,20,20,.78);box-shadow:0 11px 22px rgba(54,55,76,.15),0 2px 5px rgba(54,55,76,.08);overflow:visible;transition:transform .3s ease,box-shadow .3s ease}
.work-frame::before{content:"";position:absolute;inset:4px;border:1px solid rgba(242,115,96,.55);pointer-events:none}
.work-mat{display:grid;place-items:center;width:100%;height:100%;padding:13px;background:#f8f4ec;border:1px solid rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(54,55,76,.07);overflow:hidden}
.work-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#f8f4ec;transition:transform .35s ease}
.work-card.landscape .work-frame{height:290px}
.work-card:hover .work-frame{transform:translateY(-6px) rotate(-.18deg);box-shadow:0 18px 30px rgba(54,55,76,.2),0 3px 7px rgba(54,55,76,.09)}
.work-card:nth-child(even):hover .work-frame{transform:translateY(-6px) rotate(.18deg)}
.work-card:hover .work-frame img{transform:scale(1.012)}
.work-meta{margin-top:10px;padding:0 2px}
.work-meta strong{font-size:15px;white-space:normal;line-height:1.25}
.work-meta small{margin-top:3px}

@media (max-width:1080px){
  .selected{padding:34px 35px 42px;grid-template-columns:165px 1fr}
  .works-composition{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}
  .work-card.landscape{grid-column:span 2}
  .work-frame,.work-card.landscape .work-frame{height:250px}
}
@media (max-width:760px){
  .main-nav a{padding-left:10px;padding-right:10px}
  .main-nav a:hover::after{left:10px;right:auto;width:30px}
  .selected{padding:28px 22px 38px;grid-template-columns:1fr;gap:20px}
  .selected-heading{position:static;display:block}
  .selected-heading .eyebrow{display:block}
  .selected-intro{max-width:520px;margin-top:8px}
  .works-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .work-card.landscape{grid-column:span 2}
  .work-frame{height:225px;padding:7px}
  .work-card.landscape .work-frame{height:220px}
  .work-mat{padding:9px}
}
@media (max-width:460px){
  .works-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}
  .work-frame{height:190px}
  .work-card.landscape .work-frame{height:180px}
  .work-meta strong{font-size:12px}
  .work-meta small{font-size:8px}
}

/* V7.1 — corrected Instagram treatment + clean contemporary artwork mounts */
.social-link,
.social-link:hover,
.social-link:focus-visible{
  background:#F27360;
  border-color:#F27360;
  color:#fff;
}
.social-link:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(242,115,96,.26)}

/* Replace heavy dark frames with quiet gallery mounts */
.work-frame,
.work-card.landscape .work-frame{
  height:290px;
  padding:7px;
  background:#fff;
  border:1px solid rgba(54,55,76,.18);
  box-shadow:0 5px 14px rgba(54,55,76,.08);
  overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.work-frame::before{display:none}
.work-mat{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:12px;
  background:#f6f4f0;
  border:0;
  box-shadow:inset 0 0 0 1px rgba(54,55,76,.055);
  overflow:hidden;
}
.work-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:transparent;
  outline:1px solid rgba(54,55,76,.08);
  box-shadow:0 1px 3px rgba(54,55,76,.08);
  transition:transform .28s ease;
}
.work-card:hover .work-frame,
.work-card:nth-child(even):hover .work-frame{
  transform:translateY(-3px);
  border-color:rgba(242,115,96,.62);
  box-shadow:0 9px 20px rgba(54,55,76,.11);
}
.work-card:hover .work-frame img{transform:none}
.work-meta{padding:0;margin-top:9px}
.work-meta strong{font-size:14px;font-weight:600}
.work-meta small{font-size:9px}

@media (max-width:1080px){
  .work-frame,.work-card.landscape .work-frame{height:250px}
}
@media (max-width:760px){
  .work-frame{height:225px;padding:6px}
  .work-card.landscape .work-frame{height:220px}
  .work-mat{padding:8px}
}
@media (max-width:460px){
  .work-frame{height:190px}
  .work-card.landscape .work-frame{height:180px}
  .work-mat{padding:6px}
}

/* Menu hover refinement */
.main-nav a:hover{
  background:#F27360;
  color:#fff;
}
.main-nav a:hover::after{
  display:none;
}

/* V7.3 — larger descriptive copy + consistent four-sided artwork frames */
body{font-size:16px}
.hero-intro{font-size:16px;line-height:1.75}
.selected-intro{font-size:14px;line-height:1.7;max-width:190px}
.info-card p{font-size:15px;line-height:1.72}
.bio-copy>p:not(.eyebrow){font-size:16px;line-height:1.72}
.bio-copy .lead{font-size:23px;line-height:1.5}
.section-head>p{font-size:15px;line-height:1.7}
.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.7}
.quote footer span{font-size:11px}

/* One restrained frame language for every painting */
.work-frame,
.work-card.landscape .work-frame{
  height:290px;
  padding:8px;
  background:#fff;
  border:1px solid rgba(54,55,76,.34);
  box-shadow:0 6px 16px rgba(54,55,76,.09);
  overflow:hidden;
  box-sizing:border-box;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.work-mat{
  width:100%;
  height:100%;
  box-sizing:border-box;
  padding:10px;
  display:grid;
  place-items:center;
  background:#f7f5f1;
  border:1px solid rgba(54,55,76,.14);
  box-shadow:none;
  overflow:hidden;
}
.work-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
  outline:1px solid rgba(54,55,76,.12);
  outline-offset:0;
  box-shadow:none;
}
.work-card:hover .work-frame,
.work-card:nth-child(even):hover .work-frame{
  transform:translateY(-3px);
  border-color:#F27360;
  box-shadow:0 10px 22px rgba(54,55,76,.12);
}

@media (max-width:1080px){
  .work-frame,.work-card.landscape .work-frame{height:250px}
}
@media (max-width:760px){
  body{font-size:15px}
  .hero-intro{font-size:15px}
  .selected-intro{font-size:14px;max-width:260px}
  .info-card p{font-size:15px}
  .bio-copy>p:not(.eyebrow){font-size:15px}
  .bio-copy .lead{font-size:21px}
  .section-head>p{font-size:15px}
  .contact-copy>p:not(.eyebrow){font-size:15px}
  .work-frame{height:225px;padding:7px}
  .work-card.landscape .work-frame{height:220px}
  .work-mat{padding:8px}
}
@media (max-width:460px){
  body{font-size:15px}
  .work-frame{height:190px;padding:6px}
  .work-card.landscape .work-frame{height:180px}
  .work-mat{padding:7px}
}

/* V7.4 — compact menu hover + exactly two-layer artwork framing */
@media (min-width:821px){
  .main-nav a{
    padding:8px 11px;
    line-height:1.2;
    border-radius:0;
  }
  .main-nav a:hover{
    background:#F27360;
    color:#fff;
  }
  .main-nav a:hover::after{display:none}
}

/* Exactly two visible layers: outer frame + inner mat. The image has no third border. */
.work-frame,
.work-card.landscape .work-frame{
  height:290px;
  padding:7px;
  background:#fff;
  border:1px solid rgba(54,55,76,.32);
  box-shadow:0 6px 16px rgba(54,55,76,.09);
  overflow:hidden;
  box-sizing:border-box;
}
.work-mat{
  width:100%;
  height:100%;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f5f1;
  border:1px solid rgba(54,55,76,.13);
  box-shadow:none;
  overflow:hidden;
  box-sizing:border-box;
}
.work-frame img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
}
.work-card:hover .work-frame,
.work-card:nth-child(even):hover .work-frame{
  transform:translateY(-3px);
  border-color:#F27360;
  box-shadow:0 10px 22px rgba(54,55,76,.12);
}

@media (max-width:1080px){
  .work-frame,.work-card.landscape .work-frame{height:250px}
}
@media (max-width:820px){
  .main-nav a{padding:9px 10px}
  .main-nav a:hover::after{display:none}
}
@media (max-width:760px){
  .work-frame{height:225px;padding:6px}
  .work-card.landscape .work-frame{height:220px}
  .work-mat{padding:8px}
}
@media (max-width:460px){
  .work-frame{height:190px;padding:5px}
  .work-card.landscape .work-frame{height:180px}
  .work-mat{padding:6px}
}


/* V7.5 — slider cleanup + menu underline fix */
.main-nav a::after{display:none!important}
.main-nav a.active{color:#F27360}
.main-nav a:hover{background:#F27360;color:#fff}

/* Hero slider: single artworks only, filling the artwork viewport */
.hero-mat{padding:0;background:#fff;overflow:hidden}
.hero-slide{width:100%;height:100%;object-fit:cover;object-position:center;border:0;outline:0;box-shadow:none}

/* V7.6 — La collezione: artwork-sized frames, no undersized paintings */
#opere .work-frame,
#opere .work-card.landscape .work-frame{
  height:auto;
  min-height:0;
  padding:7px;
  overflow:hidden;
}
#opere .work-mat{
  width:100%;
  height:auto;
  min-height:0;
  padding:6px;
  display:block;
  overflow:hidden;
}
#opere .work-frame img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:initial;
  object-position:center;
  margin:0;
}
@media (max-width:760px){
  #opere .work-frame,
  #opere .work-card.landscape .work-frame{height:auto;padding:6px}
  #opere .work-mat{padding:5px}
}
@media (max-width:460px){
  #opere .work-frame,
  #opere .work-card.landscape .work-frame{height:auto;padding:5px}
  #opere .work-mat{padding:4px}
}

/* V7.7 — La collezione: matching frame sizes grouped together */
#opere .works-composition{
  display:flex;
  flex-wrap:wrap;
  gap:24px 20px;
  align-items:flex-start;
}

/* Portrait works: equal four-up frames, kept together */
#opere .work-card.portrait{
  flex:0 0 calc((100% - 60px) / 4);
}
#opere .work-card.portrait .work-frame{
  width:100%;
  aspect-ratio:4 / 5;
}

/* Standard landscapes: equal three-up frames, kept together */
#opere .work-card.landscape.standard{
  flex:0 0 calc((100% - 40px) / 3);
}
#opere .work-card.landscape.standard .work-frame{
  width:100%;
  aspect-ratio:4 / 3;
}

/* Panoramic works: equal two-up frames, kept together */
#opere .work-card.landscape.panoramic{
  flex:0 0 calc((100% - 20px) / 2);
}
#opere .work-card.landscape.panoramic .work-frame{
  width:100%;
  aspect-ratio:2.3 / 1;
}

/* Override the earlier artwork-sized treatment: each image fills its matching frame. */
#opere .work-frame,
#opere .work-card.landscape .work-frame{
  height:auto;
  padding:6px;
  background:#fff;
  border:1px solid rgba(54,55,76,.32);
  overflow:hidden;
  box-sizing:border-box;
}
#opere .work-mat{
  width:100%;
  height:100%;
  padding:5px;
  display:block;
  background:#f7f5f1;
  border:1px solid rgba(54,55,76,.13);
  overflow:hidden;
  box-sizing:border-box;
}
#opere .work-frame img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  display:block;
  object-fit:cover;
  object-position:center;
  border:0;
  outline:0;
  box-shadow:none;
}

@media (max-width:1080px){
  #opere .work-card.portrait{flex-basis:calc((100% - 40px) / 3)}
  #opere .work-card.landscape.standard{flex-basis:calc((100% - 20px) / 2)}
  #opere .work-card.landscape.panoramic{flex-basis:calc((100% - 20px) / 2)}
}

@media (max-width:760px){
  #opere .works-composition{gap:18px 12px}
  #opere .work-card.portrait,
  #opere .work-card.landscape.standard,
  #opere .work-card.landscape.panoramic{flex-basis:calc((100% - 12px) / 2)}
  #opere .work-card.landscape.standard .work-frame{aspect-ratio:4 / 3}
  #opere .work-card.landscape.panoramic .work-frame{aspect-ratio:16 / 9}
}

@media (max-width:460px){
  #opere .works-composition{gap:15px 10px}
  #opere .work-card.portrait,
  #opere .work-card.landscape.standard,
  #opere .work-card.landscape.panoramic{flex-basis:calc((100% - 10px) / 2)}
  #opere .work-frame{padding:4px}
  #opere .work-mat{padding:3px}
}

/* Contact details readability refinement */
.contact-links span{
  font-size:11px;
  line-height:1.35;
}
.contact-links strong{
  font-size:24px;
  line-height:1.25;
}
@media (max-width: 700px){
  .contact-links span{font-size:10px;}
  .contact-links strong{font-size:19px;}
}

/* Painting title readability refinement */
.hero-caption{
  font-size:20px;
}
#opere .work-meta strong{
  font-size:18px;
  line-height:1.3;
}
.lightbox figcaption{
  font-size:24px;
}
@media (max-width:760px){
  .hero-caption{font-size:18px;}
  #opere .work-meta strong{font-size:16px;}
  .lightbox figcaption{font-size:21px;}
}
@media (max-width:460px){
  .hero-caption{font-size:17px;}
  #opere .work-meta strong{font-size:15px;}
}

/* Prominent section labels: Opere, critique, contact */
#opere .selected-heading > .eyebrow,
.critique-heading > .eyebrow,
#contatto .contact-copy > .eyebrow{
  font-size:20px;
  line-height:1.15;
  letter-spacing:.11em;
  margin-bottom:16px;
}

@media (max-width:760px){
  #opere .selected-heading > .eyebrow,
  .critique-heading > .eyebrow,
  #contatto .contact-copy > .eyebrow{
    font-size:17px;
    margin-bottom:13px;
  }
}

@media (max-width:460px){
  #opere .selected-heading > .eyebrow,
  .critique-heading > .eyebrow,
  #contatto .contact-copy > .eyebrow{
    font-size:16px;
  }
}


/* More prominent back-to-top control */
.site-footer .back-to-top{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:7px 8px 7px 15px;
  background:var(--navy);
  border:1px solid var(--navy);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.site-footer .back-to-top span{
  color:inherit;
  font-size:inherit;
  letter-spacing:inherit;
}
.site-footer .back-to-top b{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  background:var(--coral);
  color:#fff;
  font-size:15px;
  font-weight:500;
  line-height:1;
  transition:transform .22s ease,background .22s ease;
}
.site-footer .back-to-top:hover{
  background:var(--coral);
  border-color:var(--coral);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(54,55,76,.16);
}
.site-footer .back-to-top:hover b{
  background:#fff;
  color:var(--coral);
  transform:translateY(-1px);
}
@media(max-width:520px){
  .site-footer .back-to-top{padding:6px 7px 6px 12px;gap:9px;font-size:9px}
  .site-footer .back-to-top b{width:27px;height:27px;font-size:14px}
}

/* Logo refinement — text unchanged */
.brand{
  position:relative;
  min-height:42px;
  justify-content:center;
  padding-left:36px;
  letter-spacing:.16em;
  transition:transform .22s ease;
}
.brand::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:23px;
  height:29px;
  transform:translateY(-50%);
  border:1.5px solid var(--navy);
  background:linear-gradient(90deg,var(--coral) 0 42%,transparent 42% 100%);
}
.brand::after{
  content:"";
  position:absolute;
  left:17px;
  top:50%;
  width:8px;
  height:8px;
  background:var(--paper);
  border:1.5px solid var(--navy);
  transform:translateY(6px);
}
.brand strong{
  font-size:18px;
  line-height:1;
  font-weight:600;
  letter-spacing:.145em;
}
.brand span{
  margin-top:7px;
  font-size:9px;
  line-height:1;
  color:var(--bluegray);
  letter-spacing:.205em;
}
.brand:hover{transform:translateY(-1px)}

@media(max-width:520px){
  .brand{padding-left:31px;min-height:38px}
  .brand::before{width:20px;height:25px}
  .brand::after{left:15px;width:7px;height:7px;transform:translateY(5px)}
  .brand strong{font-size:15px}
  .brand span{font-size:7.5px;margin-top:6px}
}

/* V7.11 — footer alignment + typographic logo retry */
/* Align Torna su with the right content edge of the contact section */
.site-footer{
  padding-right:86px;
}

/* Refined typographic wordmark — wording unchanged */
.brand{
  position:relative;
  min-height:46px;
  padding:0 0 0 18px;
  justify-content:center;
  gap:0;
  line-height:1;
  letter-spacing:0;
  transform:none;
}
.brand::before{
  content:"";
  position:absolute;
  left:0;
  top:5px;
  bottom:5px;
  width:3px;
  height:auto;
  transform:none;
  border:0;
  background:#F27360;
}
.brand::after{
  content:"";
  position:absolute;
  left:18px;
  bottom:7px;
  width:30px;
  height:1px;
  border:0;
  background:rgba(54,55,76,.34);
  transform:none;
}
.brand strong{
  font-family:var(--serif);
  font-size:23px;
  line-height:.95;
  font-weight:600;
  letter-spacing:.065em;
  color:var(--navy);
  white-space:nowrap;
}
.brand span{
  margin-top:9px;
  padding-left:39px;
  font-family:var(--sans);
  font-size:8px;
  line-height:1;
  font-weight:600;
  color:var(--bluegray);
  letter-spacing:.22em;
  white-space:nowrap;
}
.brand:hover{
  transform:none;
}
.brand:hover strong{
  color:#F27360;
}

@media(max-width:1050px){
  .site-footer{padding-right:55px}
  .brand strong{font-size:21px}
}
@media(max-width:820px){
  .site-footer{padding-right:24px}
  .brand{min-height:40px;padding-left:14px}
  .brand::before{width:2px;top:4px;bottom:4px}
  .brand::after{left:14px;bottom:5px;width:24px}
  .brand strong{font-size:19px}
  .brand span{font-size:7px;margin-top:8px;padding-left:31px;letter-spacing:.18em}
}
@media(max-width:520px){
  .site-footer{padding-right:22px}
  .brand strong{font-size:17px}
  .brand span{font-size:6.5px}
}

/* V7.12 — footer grid alignment + painterly modern logo */
/* Match the footer to the same two-column geometry used by Contatto. */
.site-footer{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:0 86px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:90px;
  align-items:center;
}
.site-footer > div{grid-column:1}
.site-footer .back-to-top{
  grid-column:2;
  justify-self:end;
  margin-left:0;
}

/* New logo direction: compact modern wordmark + painterly color mark. */
.brand{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:44px;
  padding:0 0 0 42px;
  gap:0;
  line-height:1;
  letter-spacing:0;
  transform:none;
  isolation:isolate;
}
.brand::before{
  content:"";
  position:absolute;
  left:2px;
  top:50%;
  width:25px;
  height:25px;
  transform:translateY(-58%) rotate(-10deg);
  border:0;
  border-radius:57% 43% 52% 48% / 42% 58% 44% 56%;
  background:#F27360;
  box-shadow:none;
  z-index:-1;
}
.brand::after{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-16%) rotate(9deg);
  border:1.5px solid #9AAABA;
  border-radius:49% 51% 44% 56% / 55% 45% 55% 45%;
  background:transparent;
  z-index:-1;
}
.brand strong{
  font-family:var(--sans);
  font-size:17px;
  line-height:1;
  font-weight:600;
  letter-spacing:.14em;
  color:var(--navy);
  white-space:nowrap;
}
.brand span{
  margin-top:7px;
  padding-left:0;
  font-family:var(--sans);
  font-size:8px;
  line-height:1;
  font-weight:500;
  color:var(--bluegray);
  letter-spacing:.2em;
  white-space:nowrap;
}
.brand:hover{transform:none}
.brand:hover strong{color:var(--navy)}
.brand:hover::before{transform:translateY(-58%) rotate(-4deg) scale(1.04)}

@media(max-width:1050px){
  .site-footer{padding:0 55px;gap:48px}
  .brand strong{font-size:16px}
}
@media(max-width:820px){
  .site-footer{padding:0 24px;grid-template-columns:1fr;gap:18px}
  .site-footer > div{grid-column:1}
  .site-footer .back-to-top{grid-column:1;justify-self:end}
  .brand{min-height:40px;padding-left:37px}
  .brand::before{left:1px;width:22px;height:22px}
  .brand::after{left:13px;width:15px;height:15px}
  .brand strong{font-size:15px;letter-spacing:.12em}
  .brand span{font-size:7px;letter-spacing:.17em;margin-top:6px}
}
@media(max-width:520px){
  .site-footer{padding:22px;grid-template-columns:1fr}
  .site-footer .back-to-top{justify-self:end}
  .brand{padding-left:34px}
  .brand strong{font-size:14px}
  .brand span{font-size:6.5px}
}


/* V7.13 — zero right margin, stronger material colors, new split wordmark */
/* Torna su: remove the right inset while preserving the left footer rhythm. */
.site-footer{
  padding-right:0 !important;
}
.site-footer .back-to-top{
  margin-right:0 !important;
}

/* Nihonga materials: stronger, clearly differentiated color chips. */
.materials{gap:9px}
.materials span{
  border:0;
  padding:8px 12px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  box-shadow:0 3px 0 rgba(54,55,76,.12);
}
.materials span:nth-child(1){background:#F27360;color:#fff}
.materials span:nth-child(2){background:#36374C;color:#fff}
.materials span:nth-child(3){background:#9AAABA;color:#fff}
.materials span:nth-child(4){background:#F6C84A;color:#36374C}

/* Logo: pure typographic split wordmark, no icon/badge. Text remains unchanged. */
.brand{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:46px;
  padding:0 !important;
  gap:0;
  isolation:auto;
  overflow:visible;
}
.brand::before,.brand::after{content:none !important}
.brand strong{
  display:flex;
  align-items:baseline;
  gap:7px;
  font-family:var(--sans);
  font-size:18px;
  line-height:.92;
  font-weight:700;
  letter-spacing:0;
  white-space:nowrap;
}
.brand strong .brand-rieko,
.brand strong .brand-tambo{
  margin:0;
  padding:0;
  font:inherit;
  line-height:inherit;
  letter-spacing:.13em;
  color:var(--navy);
}
.brand strong .brand-tambo{
  color:var(--coral);
  font-weight:800;
  transform:translateY(3px);
}
.brand > .brand-subtitle{
  margin-top:9px;
  padding:0;
  font-family:var(--sans);
  font-size:7.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:.24em;
  color:var(--bluegray);
  white-space:nowrap;
}
.brand:hover strong .brand-rieko{color:var(--coral)}
.brand:hover strong .brand-tambo{color:var(--navy)}

@media(max-width:1050px){
  .site-footer{padding-right:0 !important}
  .brand strong{font-size:17px}
}
@media(max-width:820px){
  .site-footer{padding-right:0 !important}
  .brand{padding-left:0 !important}
  .brand strong{font-size:15px;gap:6px}
  .brand > .brand-subtitle{font-size:6.8px;margin-top:7px;letter-spacing:.2em}
}
@media(max-width:520px){
  .site-footer{padding-right:0 !important}
  .brand strong{font-size:14px}
  .brand > .brand-subtitle{font-size:6.3px}
}


/* V7.14 — calm lightbox cursor + footer copyright */
.lightbox,
.lightbox figure,
.lightbox figure img,
.lightbox figcaption{
  cursor:default !important;
  caret-color:transparent;
}
.lightbox *,
.lightbox *::before,
.lightbox *::after{
  animation:none !important;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next{
  cursor:pointer !important;
}

/* Phone number typography */
.contact-links a[href^="tel:"] strong{
  font-family:var(--sans);
  font-weight:600;
  letter-spacing:.035em;
  font-variant-numeric:tabular-nums;
}
