/*
Theme Name: Fraser
Description: Original songs, Scottish roots, and Norwegian horizons. An independent theme for Billy Fraser Melody.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 8.2
Text Domain: fraser
License: GPL-2.0-or-later
*/

@font-face{font-family:Fraunces;src:url(assets/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
:root{--paper:#f6f3eb;--ink:#243f3b;--forest:#173c3b;--muted:#6c7268;--rust:#a54e31;--line:#d9d9ca;--serif:Fraunces,Georgia,serif;--sans:Manrope,Verdana,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
img{max-width:100%;height:auto;vertical-align:middle}
button,a,audio{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid var(--rust);outline-offset:6px}
::selection{background:#d3d7b9;color:var(--forest)}
.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.section{padding-block:100px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.045em}
h1{font-size:clamp(48px,6.8vw,88px)}
h2{font-size:clamp(36px,4.3vw,56px)}
h3{font-size:28px;letter-spacing:-.03em}
em{font-weight:350}
.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.19em;text-transform:uppercase;margin-bottom:22px}
.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:var(--paper);padding:12px 22px}
.skip-link:focus{top:10px}
.site-header{background:var(--paper);position:relative;z-index:30;border-bottom:1px solid #deded2}
.header-inner{width:min(1300px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:28px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:400 28px/1.1 var(--serif);letter-spacing:-.055em}
.brand-mark{width:44px;height:44px;color:var(--rust)}
.brand-sub{display:block;margin-top:6px;font:600 8px/1.2 var(--sans);letter-spacing:.25em}
.main-navigation{display:flex;gap:33px;align-items:center;font-size:12px;font-weight:550}
.main-navigation a{text-decoration:none}
.main-navigation a:hover,.main-navigation a[aria-current]{color:var(--rust)}
.main-navigation .nav-contact{border:1px solid #c4c8b9;padding:10px 18px;margin-left:10px}
.nav-contact span{margin-left:15px}
.menu-toggle{display:none}
.hero{min-height:650px;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--paper);background:#244b57}
.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo{object-position:center 55%;filter:saturate(.6);animation:panorama 1.6s ease-out both}
.hero-shade{background:linear-gradient(90deg,rgba(12,37,40,.87),rgba(13,39,42,.55) 52%,rgba(15,44,45,.08)),linear-gradient(0deg,rgba(10,32,34,.5),transparent 35%)}
.hero-content{position:relative;padding-top:57px;padding-bottom:110px;animation:arrive .9s ease-out both}
.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#e0e5d5;margin-bottom:30px}
.small-line{height:1px;background:#bdcbb2;width:35px}
.hero h1{max-width:940px;margin-bottom:27px;line-height:1.055;letter-spacing:-.05em}
.hero h1 em{color:#d5dbc1}
.hero-intro{font-size:14px;color:#e2e5dc;line-height:1.95;margin-bottom:30px}
.button{display:inline-flex;align-items:center;gap:20px;padding:14px 23px;background:var(--forest);color:var(--paper);border:1px solid transparent;text-decoration:none;font-weight:650;font-size:12px;transition:background .2s,color .2s}
.button-cream{background:var(--paper);color:var(--forest)}
.button:hover{background:#c9d0b5;color:var(--forest)}
.button span{font-size:11px}
.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em}
.hero-bottom a{font-size:11px;text-decoration:none;letter-spacing:.02em}
.hero-bottom a span{margin-left:22px}
.signature-strip{display:flex;justify-content:center;align-items:center;gap:50px;padding:23px 20px;background:#e9eadf;font-size:9px;letter-spacing:.17em;font-weight:650;border-bottom:1px solid var(--line)}
.signature-strip i{font-size:17px;font-style:normal;color:var(--rust)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:43px}
.section-heading h2{margin-bottom:0}
.section-heading>p{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:4px;max-width:380px}
.eyebrow{color:var(--rust)}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.album-card{text-decoration:none;min-width:0}
.album-art{position:relative;aspect-ratio:1.2;overflow:hidden;margin-bottom:24px;background:#d3d7c6}
.album-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.album-card:nth-child(2) .album-art img{object-position:center 43%}
.art-play{position:absolute;bottom:16px;right:16px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:11px;box-shadow:0 2px 10px #0002}
.album-card:hover .album-art img{transform:scale(1.035)}
.album-card .eyebrow{font-size:8px;display:block;margin-bottom:11px}
.album-card h3{display:flex;justify-content:space-between;gap:8px;font-size:25px;margin-bottom:11px}
.album-card h3 span{font-family:var(--sans);font-size:19px;letter-spacing:0}
.album-card p{color:var(--muted);font-size:12px;max-width:330px;margin-bottom:0}
.listening-section{background:var(--forest);color:var(--paper);padding-block:90px}
.listening-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.listening-section .eyebrow{color:#c5cba9}
.listening-intro{position:relative;overflow:hidden}
.listening-intro h2{margin-bottom:22px}
.listening-intro p:not(.eyebrow){color:#c6d1c7;font-size:13px}
.text-link{display:inline-flex;gap:28px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:12px;font-weight:600}
.record-motif{margin-top:42px;margin-left:7px;width:150px;height:150px;border-radius:50%;background:repeating-radial-gradient(circle,#123230 0,#123230 2px,#40605a 3px,#123230 4px);display:grid;place-items:center;transform:rotate(-13deg);opacity:.8}
.record-motif>div{width:61px;height:61px;border-radius:50%;background:#b27852;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:24px;line-height:1.2}
.record-motif span{font:6px var(--sans);letter-spacing:.2em}
.track-list{list-style:none;margin:0;padding:0}
.track{display:grid;grid-template-columns:24px minmax(0,1fr) 250px;align-items:center;gap:15px;min-height:91px;padding:15px 0;border-bottom:1px solid var(--line)}
.track:first-child{border-top:1px solid var(--line)}
.track-number{font-size:10px;font-variant-numeric:tabular-nums;opacity:.6}
.track-name{min-width:0}
.track-name strong{font-size:12px;font-weight:600;display:block;line-height:1.5}
.track-name>span{font-size:9px;opacity:.65}
.track audio{width:100%;height:34px}
.listening-section .track{border-color:#ffffff26}
.listening-note{font-size:10px;color:#bdc9bb;margin-top:20px}
.story-section{display:grid;grid-template-columns:.95fr 1fr;gap:100px;align-items:center}
.story-photo{position:relative;padding:0 25px 30px 0}
.story-photo:before{content:"";position:absolute;inset:25px 0 0 25px;border:1px solid #c7cab8}
.story-photo img{position:relative;width:100%;aspect-ratio:.95;object-fit:cover;filter:saturate(.65)}
.story-photo>span{position:relative;display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;padding-top:17px}
.story-copy h2{margin-bottom:27px}
.story-copy p:not(.eyebrow){font-size:13px;color:var(--muted)}
.story-copy .large-copy{font-size:17px!important;line-height:1.7;color:var(--ink)!important}
.story-copy .text-link{margin-top:10px}
.quote-section{text-align:center;padding:75px 0 80px;background:#e9eadf;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 119px,#647b6010 120px)}
.quote-section blockquote{font:400 clamp(28px,4vw,48px)/1.3 var(--serif);letter-spacing:-.03em;margin:0 0 25px}
.quote-section blockquote em{color:var(--rust)}
.quote-section .wrap>span{font-size:9px;letter-spacing:.18em}
.site-footer{background:#112f2e;color:var(--paper)}
.footer-top{display:grid;grid-template-columns:1fr 1fr;padding-block:65px;align-items:center;gap:40px}
.site-footer .eyebrow{color:#c6cba9;font-size:8px}
.footer-top h2{font-size:39px;margin-bottom:0}
.footer-contact{justify-self:end}
.footer-contact>a{font-family:var(--serif);font-size:30px;text-decoration:none;border-bottom:1px solid #bbc4b5;padding-bottom:8px;display:flex;justify-content:space-between}
.footer-contact>a span{font-family:var(--sans);font-size:23px}
.footer-contact p{font-size:11px;color:#c2cdbf;margin:17px 0 0}
.footer-bottom{border-top:1px solid #ffffff24;padding-block:23px;display:flex;justify-content:space-between;gap:20px;color:#b8c5b9;font-size:9px}
.page-hero{padding-block:75px 60px}
.page-hero h1{margin-bottom:24px}
.page-hero h1 em{color:var(--rust)}
.page-hero>p:last-child{font-size:14px;color:var(--muted)}
.library-cards{padding-bottom:75px}
.album-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:70px;border-top:1px solid var(--line);scroll-margin-top:25px}
.album-detail>img{width:100%;aspect-ratio:1.2;object-fit:cover;margin-bottom:25px}
.album-detail h2{font-size:36px}
.album-detail p:not(.eyebrow){font-size:13px;color:var(--muted)}
.library-enquiry{padding-bottom:80px}
.library-enquiry h2{font-size:38px}
.biography-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:90px;padding-top:15px}
.biography-portrait{width:100%;margin-bottom:25px}
.biography-layout aside .eyebrow{font-size:8px}
.prose{max-width:780px;overflow-wrap:anywhere}
.prose p{margin-bottom:1.5em}
.prose h1{font-size:clamp(40px,5vw,65px)}
.prose h2{font-size:34px;margin-top:1em}
.prose h3{font-size:27px}
.prose h4,.prose h5{font-size:16px;line-height:1.8}
.prose audio{max-width:100%;margin-block:15px}
.prose iframe,.prose video{max-width:100%}
.prose img{height:auto}
.entry{margin-inline:auto;margin-bottom:50px}
.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding-top:15px}
.contact-layout h2{margin-bottom:35px}
.contact-email{font-size:clamp(13px,1.8vw,21px);overflow-wrap:anywhere;display:inline-block;margin-bottom:20px}
.contact-layout p:not(.eyebrow){font-size:13px;color:var(--muted)}
.contact-note{background:#e9eadf;padding:40px;align-self:start}
.contact-note h3{font-size:35px}
.contact-note hr{border:0;border-top:1px solid #c7ccbc;margin:30px 0}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{float:none;width:100%;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--forest);color:var(--paper);padding:15px 22px;border-radius:0}
.woocommerce div.product p.price,.woocommerce ul.products li.product .price{color:var(--rust)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--forest)}
.woocommerce img{height:auto}
@keyframes arrive{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes panorama{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:1450px){.hero{min-height:720px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px)}.main-navigation{gap:22px}.hero{min-height:610px}.listening-grid{gap:35px;grid-template-columns:.7fr 1fr}.track{grid-template-columns:20px minmax(0,1fr);gap:10px}.track audio{grid-column:2;margin-top:4px;max-width:320px}.story-section{gap:50px}.album-section{gap:40px;grid-template-columns:260px 1fr}.biography-layout{gap:45px;grid-template-columns:260px 1fr}.contact-layout{gap:40px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.section{padding-block:60px}.header-inner{min-height:83px;width:calc(100% - 36px)}.brand{font-size:24px;gap:9px}.brand-mark{width:36px;height:36px}.brand-sub{font-size:7px}.menu-toggle{display:flex;gap:18px;align-items:center;background:none;border:1px solid #c4c8b9;padding:8px 12px;color:var(--ink);font-size:11px}.menu-toggle span{font-size:18px}.main-navigation{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:24px;box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch;gap:18px}.main-navigation.is-open{display:flex}.main-navigation .nav-contact{margin:0;text-align:center}.hero{min-height:610px}.hero-photo{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#0c2528db,#0d272a65),linear-gradient(0deg,#0a202280,transparent 35%)}.hero-content{padding-top:35px;padding-bottom:100px}.hero h1{font-size:clamp(44px,9.8vw,67px);line-height:1.12}.hero .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:25px}.small-line{width:22px}.hero-intro{font-size:12px;max-width:320px}.hero-intro br{display:none}.hero-bottom{font-size:7px;letter-spacing:.1em;bottom:23px}.hero-bottom a{font-size:10px}.signature-strip{gap:15px;justify-content:space-around;padding:17px 12px;font-size:7px;letter-spacing:.05em}.signature-strip i{font-size:11px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{margin-bottom:22px}.section-heading>p{font-size:12px}.section-heading>p br{display:none}.album-grid{grid-template-columns:1fr;gap:38px}.album-art{aspect-ratio:1.25;margin-bottom:18px}.album-card h3{font-size:29px}.album-card p{max-width:none;font-size:13px}.album-card .eyebrow{font-size:9px}.listening-section{padding-block:60px}.listening-grid{grid-template-columns:1fr;gap:35px}.record-motif{display:none}.listening-intro h2 br{display:none}.track{grid-template-columns:20px minmax(0,1fr);padding-block:16px}.track-name strong{font-size:13px}.track audio{max-width:100%;height:38px}.story-section{grid-template-columns:1fr;gap:35px}.story-photo{max-width:440px}.story-photo img{aspect-ratio:1.1;object-position:center 27%}.story-copy h2{font-size:42px}.quote-section{padding-block:55px}.quote-section blockquote{font-size:29px}.quote-section blockquote br{display:none}.footer-top{grid-template-columns:1fr;padding-block:50px;gap:35px}.footer-top h2{font-size:34px}.footer-contact{justify-self:start;width:min(100%,300px)}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:12px}.footer-bottom>span:nth-child(2){order:3;width:100%}.page-hero{padding-block:50px 35px}.page-hero h1{font-size:50px}.page-hero>p:last-child{font-size:13px}.page-hero br{display:none}.library-cards{padding-bottom:45px}.album-section{grid-template-columns:1fr;gap:20px}.album-detail>img{max-width:350px}.album-detail h2{font-size:34px}.album-detail .eyebrow{margin-bottom:12px}.biography-layout{grid-template-columns:1fr;gap:30px}.biography-layout aside{max-width:300px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-note{padding:28px}.contact-email{font-size:16px}.prose h1{font-size:42px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.hero-shade,.menu-toggle,.record-motif{display:none}.hero{min-height:0;background:white;color:black}.hero-photo{display:none}.hero-content{padding:20px 0}.wrap{width:100%}body{background:white;color:black}.listening-section{background:white;color:black}.section{padding-block:25px}}

.shop-section>.text-link{margin-bottom:28px}
.woocommerce .related{clear:both;display:block;width:100%;padding-top:35px}
.woocommerce ul.products[class*="columns-"] li.product{float:none;width:100%;min-width:0;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 24px/1.25 var(--serif);letter-spacing:-.03em}
.woocommerce ul.products li.product .woocommerce-loop-product__title{overflow-wrap:anywhere}
.woocommerce ul.products li.product a img{aspect-ratio:1.2;object-fit:cover;width:100%}
.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--forest);color:var(--paper);border-radius:0}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:#315650}
.woocommerce div.product form.cart .button{padding:15px 22px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{background:#fffdf7;border:1px solid #bcc4b3;padding:12px;color:var(--ink);max-width:100%}
.woocommerce .col2-set{display:block}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout #payment{background:#e9eadf}
.woocommerce-checkout #payment div.payment_box{background:#d9dfcf;color:var(--ink)}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#d9dfcf}
.woocommerce .quantity .qty{padding:12px 0;width:60px}
.wp-audio-shortcode{max-width:100%;margin-block:15px}
@media(max-width:700px){.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:22px}.woocommerce ul.products li.product .button{padding:12px;font-size:12px}.woocommerce div.product .product_title{font-size:38px}.woocommerce .related h2{font-size:32px}}
