/*
Theme Name: Amadeus Modern
Theme URI: https://pianoct.com/
Author: Amadeus Piano Co. / OpenAI build
Description: Cinematic modern presentation layer for PianoCT, preserving WordPress and WooCommerce content.
Version: 0.8.0
Text Domain: amadeus-modern
*/
:root{--ink:#080808;--paper:#f0ede6;--cream:#e7ddca;--gold:#c5a357;--muted:#aaa49a;--line:rgba(255,255,255,.14);--max:1500px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f6f2e9;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(90vw,var(--max));margin:auto}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:0 3vw;display:flex;align-items:center;gap:28px;background:linear-gradient(#070707df,transparent);transition:.3s}.site-header.scrolled{height:68px;background:#090909f4;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:170px;max-height:54px;object-fit:contain;filter:brightness(1.08)}.nav{margin-left:auto;display:flex;gap:clamp(13px,1.35vw,27px);align-items:center;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.11em}.nav a{transition:.2s}.nav a:hover{color:var(--gold)}.nav .cta{border:1px solid var(--gold);padding:13px 17px;margin-left:4px}.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid #ffffff55;color:white;padding:9px 12px}.hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;padding:170px 5vw 9vh;background:#111;overflow:hidden}.hero-media{position:absolute;inset:0;background-size:cover;background-position:center 45%;transform:scale(1.01)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505ed 0%,#050505b8 35%,#0505054f 66%,#05050526 100%),linear-gradient(0deg,#070707 0%,transparent 42%),linear-gradient(180deg,#05050588 0%,transparent 28%)}.hero-content{position:relative;z-index:2;max-width:1000px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.29em;color:var(--gold);margin-bottom:20px}.hero h1,.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(46px,5.55vw,88px);line-height:.98;margin:0 0 27px;max-width:1050px}.hero p{font-family:Georgia,serif;font-size:clamp(18px,1.55vw,25px);line-height:1.52;color:#ddd5c7;max-width:760px;margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;gap:18px;padding:15px 21px;border:1px solid #ffffff66;text-transform:uppercase;letter-spacing:.13em;font-size:10px;transition:.25s}.btn.primary{background:var(--cream);color:#111;border-color:var(--cream)}.btn:hover{border-color:var(--gold);transform:translateY(-1px)}.hero-note{position:absolute;z-index:2;right:4vw;bottom:5vh;display:flex;flex-direction:column;text-align:right;gap:7px;color:#c7c0b4;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.intro{padding:125px 0 105px;background:#0b0b0b}.intro .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end}.intro h2{font-size:clamp(52px,6vw,92px);line-height:.96;margin:0}.intro-copy{max-width:580px;padding-bottom:8px}.intro-copy p{font-family:Georgia,serif;font-size:20px;line-height:1.7;color:#c9c1b5;margin:0 0 25px}.text-link{font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link.light{border:0}.text-link.dark{color:#554c3d}.gateway-section{padding:0 2.5vw 110px;background:#0b0b0b}.gateway{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:1800px;margin:auto}.gateway-card{min-height:590px;position:relative;overflow:hidden;background:#171717}.gateway-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:.8s transform,.5s opacity}.gateway-card:hover img{transform:scale(1.045)}.gateway-shade{position:absolute;inset:0;background:linear-gradient(0deg,#050505f3 2%,#0505055c 55%,#05050510 100%)}.gateway-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:38px}.gateway-copy .number{font-size:10px;letter-spacing:.2em;color:var(--gold)}.gateway-copy h3{font-family:Georgia,serif;font-size:clamp(30px,2.7vw,44px);font-weight:400;margin:15px 0 10px}.gateway-copy p{color:#d0c9bd;margin:0 0 23px;line-height:1.55;max-width:430px}.section{padding:120px 0}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:55px}.section-head h2{font-size:clamp(52px,6vw,90px);line-height:.95;margin:0}.section-head p{max-width:540px;color:#6b645a;line-height:1.7;margin:0 0 18px}.collection{background:var(--paper);color:#161616}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.piano-card{background:#f7f4ee;border:1px solid #d9d4ca;transition:.25s}.piano-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #00000012}.piano-card .image{aspect-ratio:1.2/1;overflow:hidden;background:#ddd;position:relative}.piano-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.piano-card:hover img{transform:scale(1.03)}.card-index{position:absolute;top:18px;left:18px;background:#0b0b0bd9;color:#fff;padding:8px 10px;font-size:9px;letter-spacing:.18em}.piano-card .meta{padding:26px 25px 30px}.piano-card .kicker{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8a7143}.piano-card h3{font-family:Georgia,serif;font-size:clamp(22px,2vw,31px);line-height:1.08;font-weight:400;margin:10px 0 25px}.manifesto{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#111}.manifesto-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.manifesto-copy h2{font-size:clamp(55px,6.2vw,96px);line-height:.91;margin:0 0 30px}.manifesto-copy p{font-family:Georgia,serif;font-size:20px;line-height:1.72;color:#cfc7b8;max-width:650px;margin:0 0 8px}.manifesto-copy .btn{align-self:flex-start;margin-top:28px}.manifesto-image{background-size:cover;background-position:center;min-height:600px;position:relative}.manifesto-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#111)}.service-section{background:#0a0a0a}.service-section .section-head p{color:#aaa}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:34px 30px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px;display:flex;flex-direction:column;transition:.25s}.service:hover{background:#121212}.service span{color:var(--gold);font-size:10px;letter-spacing:.15em}.service h3{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:35px 0 10px}.service p{color:#aaa;line-height:1.55;margin:0}.service b{margin-top:auto;padding-top:28px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:400}.visit{padding:120px 0;background:var(--cream);color:#151515}.visit .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end}.visit h2{font-size:clamp(55px,6.5vw,98px);line-height:.92;margin:0}.visit p{font-family:Georgia,serif;font-size:20px;line-height:1.65;margin:0 0 28px;color:#544e45}.visit .btn.primary{background:#111;color:#fff;border-color:#111}.site-footer{padding:60px 5vw;border-top:1px solid var(--line);color:#aaa;background:#080808}.site-footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer strong{color:white}.wp-content{background:#f4f1ea;color:#171717;padding:150px 5vw 80px;min-height:70vh}.wp-content>div{max-width:1100px;margin:auto}.woocommerce div.product,.woocommerce-page .site-main{color:#171717}@media(max-width:1180px){.nav{gap:13px;font-size:9px}.brand img{width:155px}.nav .cta{padding:11px 12px}.hero h1{max-width:850px}}@media(max-width:980px){.site-header{height:78px}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0b0b0bf8;padding:28px 5vw;flex-direction:column;align-items:flex-start;font-size:12px;gap:20px}.nav.open{display:flex}.menu-toggle{display:block}.gateway,.collection-grid{grid-template-columns:1fr}.gateway-card{min-height:520px}.intro .wrap,.section-head,.visit .wrap{grid-template-columns:1fr;gap:35px}.manifesto{grid-template-columns:1fr}.manifesto-image{min-height:65vw;order:2}.manifesto-image:after{display:none}.services{grid-template-columns:1fr 1fr}.hero-note{display:none}.hero{padding-left:5vw;padding-right:5vw}.section{padding:85px 0}.gateway-section{padding-bottom:80px}}@media(max-width:560px){.services{grid-template-columns:1fr}.brand img{width:145px}.hero{min-height:92svh;padding-bottom:8vh}.hero h1{font-size:49px}.hero p{font-size:18px}.intro{padding:85px 0 70px}.intro h2,.section-head h2,.visit h2{font-size:48px}.gateway-section{padding-left:0;padding-right:0}.gateway{gap:1px}.gateway-card{min-height:440px}.gateway-copy{padding:28px}.manifesto-copy{padding:80px 6vw}.manifesto-copy h2{font-size:54px}}

/* v0.3 refinements */
.brand-lockup{display:flex;align-items:center;gap:13px}.brand-mark{font-family:Georgia,serif;font-size:36px;font-style:italic;color:var(--gold);line-height:1}.brand-words{display:flex;flex-direction:column;line-height:.95;text-transform:uppercase;letter-spacing:.18em;font-family:Georgia,serif;font-size:12px}.brand-words small{font-size:8px;letter-spacing:.2em;margin-top:5px;color:#c9c0b1}.hero-scroll{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:#d2c8b7;display:flex;flex-direction:column;align-items:center;gap:9px}.hero-scroll:after{content:"";width:1px;height:34px;background:linear-gradient(var(--gold),transparent)}.hero-feature{position:absolute;z-index:3;right:4vw;top:50%;transform:translateY(-30%);width:min(28vw,390px);border-left:1px solid #ffffff35;padding:18px 0 18px 22px;color:#eee7db}.hero-feature .label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.hero-feature strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:24px;line-height:1.1;margin:9px 0}.hero-feature span{font-size:11px;line-height:1.5;color:#c9c1b4}.archive-strip{background:#111;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-strip .wrap{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:stretch}.archive-lead,.archive-stat{padding:28px 26px;border-right:1px solid var(--line)}.archive-lead{padding-left:0}.archive-lead span,.archive-stat span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);margin-bottom:7px}.archive-lead strong,.archive-stat strong{font-family:Georgia,serif;font-weight:400;font-size:18px}.archive-stat strong{font-size:16px;color:#e7dfd3}.collection-intro-note{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#84785f;margin-top:12px}.piano-card .year-chip{position:absolute;right:18px;top:18px;background:#eee8dddf;color:#1b1813;padding:8px 10px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.journal{background:#151515;padding:115px 0}.journal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8px;margin-top:50px}.journal-card{min-height:390px;border:1px solid var(--line);padding:42px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#1c1c1c,#0c0c0c);transition:.25s}.journal-card:hover{border-color:#c5a35788;transform:translateY(-2px)}.journal-card .eyebrow{margin-bottom:13px}.journal-card h3{font-family:Georgia,serif;font-size:clamp(30px,3vw,46px);font-weight:400;line-height:1.05;margin:0 0 18px}.journal-card p{color:#aaa;line-height:1.6;max-width:600px}.journal-card.secondary{min-height:390px;background:#0e0e0e}.journal-card.secondary h3{font-size:32px}@media(max-width:1180px){.hero-feature{display:none}}@media(max-width:980px){.brand-lockup{gap:9px}.brand-mark{font-size:30px}.brand-words{font-size:10px}.archive-strip .wrap{grid-template-columns:1fr 1fr}.archive-lead{padding-left:26px}.journal-grid{grid-template-columns:1fr}}@media(max-width:560px){.archive-strip .wrap{grid-template-columns:1fr}.archive-lead,.archive-stat{border-right:0;border-bottom:1px solid var(--line);padding-left:5vw}.brand-mark{font-size:27px}.brand-words{font-size:9px}.brand-words small{display:none}.hero-scroll{display:none}}


/* v0.4 — plugin and commerce compatibility */
.am-image-fallback{width:100%;height:100%;min-height:240px;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#30291e,#111 70%);color:var(--gold);font:italic 72px Georgia,serif}.gateway-card>.am-image-fallback{position:absolute;inset:0;display:flex}.piano-card .image>.am-image-fallback{display:flex}.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button{background:#111!important;color:#fff!important;border-radius:0!important;font-weight:400!important;letter-spacing:.08em!important}.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button:hover{background:#8f743d!important;color:#fff!important}.woocommerce-message,.woocommerce-info{border-top-color:#8f743d!important}.woocommerce-message::before,.woocommerce-info::before{color:#8f743d!important}.woocommerce a{color:#5f4a22}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#6f5629}.woocommerce div.product form.cart .variations select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity .qty{padding:10px;border:1px solid #bbb;background:#fff;color:#111}.woocommerce table.shop_table{border-radius:0}.woocommerce img{height:auto}.wp-content iframe,.wp-content canvas,.wp-content svg{max-width:100%}.wp-content .leaflet-container,.wp-content [class*="map"],.wp-content [id*="map"]{max-width:100%}.wp-content input,.wp-content select,.wp-content textarea,.wp-content button{max-width:100%}.wp-content article>h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,5vw,72px);line-height:1;margin:0 0 38px}.woocommerce-breadcrumb{margin-bottom:24px!important}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:10px 0;border-bottom:1px solid #ddd}.woocommerce-account .woocommerce-MyAccount-content{min-height:300px}
\n/* v0.5 — authentic brand + non-obstructive third-party notices */
.brand-lockup{min-width:190px}.brand-logo{display:block;width:190px!important;max-width:190px;max-height:52px!important;height:auto;object-fit:contain;object-position:left center;filter:none!important}.brand-mark,.brand-words{display:none!important}
/* Fixed/plugin banners must never cover the primary navigation. Keep them below the header. */
body .woocommerce-store-notice,body p.demo_store,body .wc-block-components-notice-banner,body .woocommerce-message,body .woocommerce-info,body .woocommerce-error{z-index:45}
body p.demo_store,body .woocommerce-store-notice{top:78px!important;bottom:auto!important;position:fixed!important;margin:0!important;box-shadow:0 4px 16px rgba(0,0,0,.16)}
body.admin-bar p.demo_store,body.admin-bar .woocommerce-store-notice{top:110px!important}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar p.demo_store,body.admin-bar .woocommerce-store-notice{top:124px!important}}
@media(max-width:980px){.brand-lockup{min-width:160px}.brand-logo{width:165px!important}.site-header{z-index:100}body p.demo_store,body .woocommerce-store-notice{top:78px!important}}

/* v0.6 final-night pass: clickable archive navigation + restrained store notice */
.archive-link{position:relative;display:flex;flex-direction:column;justify-content:center;color:inherit;transition:background .22s ease,border-color .22s ease}
.archive-link em{font-style:normal;font-family:Arial,Helvetica,sans-serif;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.15em;color:#8f877a;margin-top:12px;opacity:0;transform:translateY(3px);transition:.22s}
.archive-link:hover,.archive-link:focus-visible{background:#171717;outline:none}
.archive-link:hover em,.archive-link:focus-visible em{opacity:1;transform:none;color:var(--gold)}
.archive-link:focus-visible{box-shadow:inset 0 0 0 1px var(--gold)}
body p.demo_store,body .woocommerce-store-notice{background:#0b0b0b!important;color:#eee6d8!important;border:0!important;border-bottom:1px solid #8f743d!important;font-size:12px!important;line-height:1.25!important;letter-spacing:.025em!important;padding:10px 52px 10px 16px!important;min-height:38px!important;text-align:center!important;box-shadow:0 5px 18px rgba(0,0,0,.24)!important}
body p.demo_store a,body .woocommerce-store-notice a{color:#d5b66e!important;text-decoration:none!important;border-bottom:1px solid #d5b66e!important}
body p.demo_store a:hover,body .woocommerce-store-notice a:hover{color:#fff!important;border-color:#fff!important}
body.woocommerce-demo-store .hero{padding-top:205px}
body.woocommerce-demo-store .wp-content{padding-top:190px}
@media(max-width:980px){.archive-link em{opacity:1;transform:none}.archive-link{min-height:116px}body.woocommerce-demo-store .hero{padding-top:190px}}
@media(max-width:560px){body p.demo_store,body .woocommerce-store-notice{font-size:11px!important;padding:9px 38px 9px 10px!important}body.woocommerce-demo-store .hero{padding-top:200px}}


/* v0.7 — activation candidate: quieter hero + gallery-grade commerce */
/* The hero should read as one composition. The old right-side callout competed with the headline. */
.hero-feature{display:none!important}
.hero-content{max-width:940px}
.hero h1{max-width:940px;font-size:clamp(44px,5.1vw,80px)}

/* Give the WooCommerce collection the pace of a gallery, not a dense retail catalog. */
.amadeus-commerce{padding-top:170px}
.amadeus-commerce>div{max-width:1380px}
.amadeus-commerce .woocommerce-products-header{max-width:850px;margin:0 auto 64px;text-align:center}
.amadeus-commerce .woocommerce-products-header__title.page-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(52px,6vw,88px);letter-spacing:-.04em;line-height:.95;margin:0 0 22px}
.amadeus-commerce .woocommerce-result-count,.amadeus-commerce .woocommerce-ordering{margin-bottom:52px}
.amadeus-commerce ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:76px 5.5vw!important;clear:both}
.amadeus-commerce ul.products::before,.amadeus-commerce ul.products::after{display:none!important}
.amadeus-commerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;text-align:left;background:transparent!important}
.amadeus-commerce ul.products li.product a img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:560px!important;object-fit:contain!important;margin:0 auto 28px!important;background:#e7e1d6;transition:transform .6s ease;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.amadeus-commerce ul.products li.product:hover a img{transform:scale(1.012)}
.amadeus-commerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:clamp(26px,2.2vw,38px)!important;line-height:1.08!important;padding:0!important;margin:0 0 12px!important;color:#171717}
.amadeus-commerce ul.products li.product .price{font-family:Georgia,serif!important;font-size:17px!important;color:#756344!important;margin:0 0 18px!important}
.amadeus-commerce ul.products li.product .button{margin-top:6px!important;padding:12px 15px!important;font-size:9px!important}
.amadeus-commerce nav.woocommerce-pagination{margin-top:72px}
.amadeus-commerce .woocommerce-pagination ul{border:0!important}
.amadeus-commerce .woocommerce-pagination ul li{border:0!important;margin:0 4px!important}
.amadeus-commerce .woocommerce-pagination ul li a,.amadeus-commerce .woocommerce-pagination ul li span{padding:12px 15px!important;background:transparent!important}

/* About page editorial treatment */
.amadeus-about-intro{max-width:1180px;margin:0 auto 72px;padding-bottom:66px;border-bottom:1px solid #d3cdc2}
.amadeus-about-intro .eyebrow{margin-bottom:18px}
.amadeus-about-intro h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(52px,6.2vw,92px);line-height:.95;letter-spacing:-.045em;margin:0 0 38px}
.amadeus-about-intro .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:start}
.amadeus-about-intro p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,1.55vw,24px);line-height:1.68;color:#514b43;margin:0 0 22px}
.amadeus-about-intro .about-lead{font-size:clamp(23px,2vw,31px);line-height:1.5;color:#24211d}
.amadeus-about-original{max-width:1100px;margin:auto}
.amadeus-about-original>h1{display:none}
@media(max-width:780px){.amadeus-commerce ul.products{grid-template-columns:1fr!important;gap:56px!important}.amadeus-about-intro .about-grid{grid-template-columns:1fr;gap:20px}.amadeus-commerce .woocommerce-result-count,.amadeus-commerce .woocommerce-ordering{float:none!important;display:block}}

/* v0.8 — preserve source-image quality: request original attachments and never upscale catalog images into forced crops. */
.amadeus-commerce ul.products li.product .woocommerce-loop-product__link{display:block}
.amadeus-commerce ul.products li.product{overflow:visible}
@media(min-width:781px){.amadeus-commerce ul.products li.product a img{max-height:min(560px,48vw)!important}}
@media(max-width:780px){.amadeus-commerce ul.products li.product a img{width:auto!important;max-height:70vh!important}}
