/* CVJS vintage visual layer. Tournament data and score calculations stay in their existing templates. */
:root{--paper:#f2ead8;--ink:#244438;--muted:#606453;--line:#c7bea8;--gold:#bd9b52;--forest:#244438;--navy:#374951}
body{background:var(--paper) url('paper-grain.svg');color:var(--ink)}
h1,h2,h3,.big-price,.date-ticket strong{font-family:Georgia,'Times New Roman',serif}
.site-header{border-bottom:0}.brand .cvjs-crest{width:66px;height:66px;object-fit:contain}.card-top .cvjs-crest{width:64px;height:64px}.footer-main .brand .cvjs-crest{width:56px;height:56px}
.topline{background:var(--navy);border-bottom:3px double var(--gold)}
.hero-vintage{display:block;padding:0;margin:0;max-width:none;width:100%}
.hero-photo{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;background:var(--forest);isolation:isolate}
.hero-photo .hero-image{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,33,24,.36),transparent 72%),url('paper-grain.svg');pointer-events:none;z-index:1}
.hero-headline{position:absolute;top:9%;left:0;right:0;z-index:2;color:#fff7e5}
.hero-headline h1{font-size:clamp(58px,9.4vw,160px);font-weight:700;line-height:.98;letter-spacing:-.065em;max-width:1100px;text-shadow:0 3px 24px #10251866}
.hero-headline h1 em{color:#e0c47d;font-weight:400}.hero-headline .eyebrow{font-size:11px;letter-spacing:3px;margin-bottom:32px}.hero-headline .tiny-star{color:#e0c47d}
.hero-photo-caption{position:absolute;bottom:32px;left:56px;right:56px;display:flex;justify-content:space-between;color:var(--paper);z-index:2;border-top:1px solid #f2ead877;padding-top:16px;font:10px/1.5 Arial,sans-serif;letter-spacing:3px}
.hero-vintage .hero-copy{padding-block:45px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.hero-copy .lede{font-size:25px}.hero-copy .hero-description{max-width:550px;margin-bottom:0}.hero-copy .hero-actions{margin-top:0}.hero-copy .hero-note{max-width:none}
.benefit-strip{background:transparent;border-block:3px double var(--line)}
.section{padding-block:85px}.section-heading .eyebrow,.page-intro .eyebrow{color:var(--navy)}
.event-list{border-top:3px double var(--ink)}.event-row,.schedule-empty{border-top:0;border-bottom:1px solid var(--line);padding:28px 0;background:linear-gradient(90deg,transparent 109px,#c7bea85c 110px,transparent 111px)}
.date-ticket{background:var(--paper) url('tee-pattern.svg');aspect-ratio:1/1;min-height:0;align-self:center;border:1px solid var(--ink);box-shadow:3px 3px 0 #c7bea84d}.date-ticket strong{font-weight:700}.tag{color:var(--navy)}.event-price strong{font-variant-numeric:lining-nums tabular-nums}
.club-section{position:relative;background:transparent;color:var(--ink);padding:55px 0 75px}.club-section:before{content:'';display:block;width:calc(100% - 112px);max-width:1320px;height:34px;margin:0 auto 65px;border-block:1px solid var(--line);background:url('tee-pattern.svg') center/80px 80px}
.club-section p:not(.eyebrow){color:var(--muted)}.club-section em{color:#8a6d34}.club-grid{gap:90px}.membership-card{position:relative;background:#ece1c7 url('paper-grain.svg');box-shadow:9px 11px 0 #c7bea870;outline:1px solid var(--line);border:1px solid var(--ink);transform:rotate(1deg)}.club-grid .membership-card{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center}.card-top{border-bottom:3px double var(--line)}
.scoreboard-teaser{border-top:1px solid var(--line)}.scoreboard-mini,.scoreboard-full{position:relative;background:linear-gradient(#f2ead8c9,#f2ead8c9),url('laurel-pattern.svg');border:1px solid var(--ink);box-shadow:5px 6px 0 #c7bea860}.scoreboard-mini{aspect-ratio:1/1;display:flex;flex-direction:column}.scoreboard-mini .score-empty{flex:1;display:flex;flex-direction:column;justify-content:center;background:repeating-linear-gradient(transparent 0,transparent 39px,#b9b29e55 39px,#b9b29e55 40px)}
.scoreboard-title,.scoreboard-mini>div:first-child{background:var(--navy);border-bottom:3px double var(--gold)}.scoreboard-full table{background:#f5eddacc}.scoreboard-full th,.scoreboard-full td{border-right:1px solid #c7bea866}.scoreboard-full td{font:16px/1.5 Georgia,serif;font-variant-numeric:lining-nums tabular-nums}.scoreboard-full th{font-family:Georgia,serif;color:var(--navy)}.scoreboard-full tr:nth-child(even){background:#c7bea81c}.results-empty{background:repeating-linear-gradient(transparent 0,transparent 43px,#c7bea840 43px,#c7bea840 44px)}
.sponsors{background:var(--paper) url('tee-pattern.svg');color:var(--ink);padding:35px 0 42px;border-block:3px double var(--line)}.sponsors .eyebrow{color:var(--ink);background:var(--paper);width:fit-content;margin-inline:auto;padding:4px 16px}.sponsor-row{gap:18px}.sponsor-row a{height:86px;padding:17px;border:1px solid var(--line);box-shadow:3px 3px 0 #c7bea84d;transition:transform .2s ease,box-shadow .2s ease}.sponsor-light{background:#faf5e9}.sponsor-dark{background:#202923}.sponsor-row img{filter:none!important;max-width:100%;max-height:40px;width:auto;height:auto;object-fit:contain;aspect-ratio:auto}.sponsor-row a:hover{transform:translateY(-4px);box-shadow:4px 7px 0 #c7bea880}.sponsor-row a:hover img{opacity:1}
.footer{background:var(--forest) url('laurel-pattern.svg')}.footer-main{padding-block:52px}
/* Square photo frames are ready for genuine tournament images when supplied. Brand marks retain native proportions. */
main .wp-block-image img,main .wp-block-gallery img,main .gallery-item img,main .woocommerce-product-gallery img,main .products .product img,main img.wp-post-image,.cvjs-photo-card img{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover}
main .wp-block-image,main .gallery-item,.cvjs-photo-card{padding:9px 9px 28px;border:1px solid var(--line);background:#faf5e9;box-shadow:3px 6px 12px #243c3214;transition:transform .25s ease,box-shadow .25s ease}
main .wp-block-image figcaption,main .gallery-caption,.cvjs-photo-card figcaption{font:12px/1.6 Georgia,serif;color:var(--ink);margin:12px 2px 0}
main .wp-block-gallery figure:nth-child(3n+1),main .gallery-item:nth-child(3n+1),.cvjs-photo-card:nth-child(3n+1){transform:rotate(-1.4deg)}
main .wp-block-gallery figure:nth-child(3n+2),main .gallery-item:nth-child(3n+2),.cvjs-photo-card:nth-child(3n+2){transform:rotate(1.2deg)}
main .wp-block-image:hover,main .gallery-item:hover,.cvjs-photo-card:hover,.cvjs-photo-card:focus-within{transform:translateY(-7px) rotate(0)!important;box-shadow:5px 12px 20px #243c3225}
@media(min-width:1600px){.hero-headline{top:12%}}
@media(max-width:1100px){.hero-photo-caption{left:32px;right:32px}.hero-vintage .hero-copy{gap:35px}.hero-headline h1{font-size:9.4vw}.club-grid{gap:50px}.sponsor-row{gap:10px}.sponsor-row a{padding:12px}.club-section:before{width:calc(100% - 64px)}}
@media(max-width:780px){.brand .cvjs-crest{width:49px;height:49px}.hero-headline{top:10%}.hero-headline h1{font-size:clamp(39px,9.9vw,77px);max-width:95%;line-height:1.02}.hero-headline .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:18px}.hero-photo-caption{left:20px;right:20px;bottom:18px;padding-top:10px;font-size:7px;letter-spacing:1.3px}.hero-vintage .hero-copy{grid-template-columns:1fr;gap:25px;padding-block:32px}.hero-copy .lede{font-size:22px}.hero-copy .hero-actions{gap:20px}.section{padding-block:50px}.club-section{padding:15px 0 50px}.club-section:before{width:calc(100% - 40px);margin-bottom:40px;height:25px}.club-grid{gap:35px}.membership-card{transform:rotate(.6deg);padding:25px}.club-grid .membership-card{aspect-ratio:auto}.event-row,.schedule-empty{background:none}.scoreboard-mini{width:100%;max-width:520px;justify-self:center}.sponsor-row{grid-template-columns:repeat(3,1fr);gap:12px}.sponsor-row a{height:70px;padding:12px}.sponsor-row img{max-height:30px}.sponsors .eyebrow{font-size:8px;padding-inline:4px;letter-spacing:1px}.sponsors .eyebrow span{padding-inline:4px}.footer-main{padding-block:35px}.results-section,.schedule-page{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.sponsor-row a,main .wp-block-image,main .gallery-item,.cvjs-photo-card{transition:none}}

.eyebrow,.tag,.scoreboard-title,.date-ticket span,.poster-top{font-family:'Courier New',Courier,monospace}
.results-filters label{font-family:'Courier New',Courier,monospace;letter-spacing:.5px}.results-filters select,.results-filters input{border:1px solid var(--ink);background:#f7efdd;font-family:Georgia,serif;box-shadow:2px 2px 0 #c7bea855}.results-filters .button{font-family:'Courier New',Courier,monospace;text-transform:uppercase;letter-spacing:.6px}
