/*
Theme Name: SourceHarbor
Theme URI: https://source-harbor.com/
Author: SourceHarbor
Description: Lightweight household sourcing and supplier management theme, with editable WordPress pages and a responsive layout.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sourceharbor
*/
:root{--ink:#162e32;--green:#214d40;--paper:#fbfaf6;--muted:#62706b;--line:#dcded4;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b58943;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding-left:64px;padding-right:64px}.announcement{text-align:center;background:var(--ink);color:#e4ebe4;font-size:10px;letter-spacing:2.4px;padding:9px 20px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 48px;gap:24px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:29px;line-height:1.1;letter-spacing:-1.2px}.brand svg{width:38px;height:42px;stroke:var(--green);stroke-width:1.8;fill:none}.brand-sub{display:block;font-family:Arial,sans-serif;letter-spacing:1.7px;font-size:7px;margin-top:8px}nav{display:flex;align-items:center;gap:28px;font-size:12px}nav>a:not(.button):hover,.text-link:hover{color:#6c7e49;text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:white;padding:16px 21px;border:1px solid var(--green);font-size:12px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#10362c;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button.small{padding:12px 16px;font-size:11px;gap:22px}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding-top:62px;padding-bottom:62px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:600;line-height:1.6;margin:0 0 24px}.hero .eyebrow{font-size:9px;display:flex;align-items:center;gap:10px}.line{width:28px;height:1px;background:var(--green);display:inline-block}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(42px,4.8vw,68px);font-weight:400;letter-spacing:-2.7px;line-height:1.08;margin-bottom:28px}h1 em{font-weight:400;color:var(--green)}.intro{color:var(--muted);font-size:15px;line-height:1.9;max-width:465px}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:28px}.text-link{font-size:12px;border-bottom:1px solid #a2aca0;padding-bottom:5px;display:inline-block}.hero-foot{margin-top:46px;padding-top:22px;border-top:1px solid var(--line)}.hero-foot>span{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.hero-foot p{font-size:12px;margin:8px 0 0}.hero-foot b{padding:0 14px;font-weight:400;color:#81907d}.hero-image{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;min-height:520px}.hero-image>img{width:100%;height:100%;object-fit:cover;flex:1;min-height:0;max-height:570px}.hero-image figcaption{font-size:9px;display:flex;align-items:center;gap:7px;padding-top:13px;color:var(--muted)}.hero-image figcaption>span:last-child{margin-left:auto;font-size:8px;letter-spacing:1px}.dot{display:inline-block;background:var(--green);border-radius:50%;width:5px;height:5px}.image-label{position:absolute;left:-22px;bottom:65px;background:var(--paper);font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4;padding:20px 25px;box-shadow:0 5px 25px #162e3207}.audience{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 8%;display:flex;align-items:center;justify-content:space-between;gap:20px}.audience>span:first-child{font-size:8px;letter-spacing:1.7px;max-width:130px}.audience p{font-family:var(--serif);font-size:23px;margin:0}.audience>span:not(:first-child){color:#9aa38b;font-size:19px}.section{padding-top:95px;padding-bottom:95px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:48px}.section-head>p,.section-head>div:last-child:not(:first-child){max-width:370px;color:var(--muted);font-size:14px}.section-head .eyebrow{margin-bottom:18px}h2{font:400 clamp(34px,3.3vw,46px)/1.15 var(--serif);letter-spacing:-1.2px;margin-bottom:0}h3{font:400 23px/1.3 var(--serif);letter-spacing:-.3px;margin-bottom:16px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.services-grid article{padding-top:20px;border-top:1px solid var(--green)}.num{font-family:var(--serif);font-size:19px;color:#839380;display:block;margin-bottom:32px}.services-grid p{font-size:13px;color:var(--muted)}ul{padding-left:15px;margin-top:25px}li{font-size:11px;padding:5px 0}li::marker{color:#8c9b84}.section-note{font-size:10px;color:var(--muted);margin:30px 0 0;max-width:810px}.products-section{background:#f0f0e8}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product-visual{background:#e3d9c8;aspect-ratio:1.4;margin-bottom:24px;overflow:hidden}.product-visual svg{width:100%;height:100%;transition:transform .6s}.product:hover svg{transform:scale(1.05)}.product-visual.green{background:#d9dfd3}.product-visual.sand{background:#e7e1d6}.product .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:10px;color:var(--muted)}.product h3{font-size:25px;margin-bottom:8px}.product p{font-size:12px;color:var(--muted)}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.destinations .intro{margin-top:25px}.country-list article{display:flex;align-items:center;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.country-list article:first-child{border-top:1px solid var(--line)}.country-list article>span:first-child{font-family:var(--serif);font-size:19px;color:#84917b}.country-list article>span:last-child{margin-left:auto;color:#657d64}.country-list h3{font-size:27px;margin-bottom:4px}.country-list p{font-size:10px;color:var(--muted);margin-bottom:0}.process-section{background:var(--ink);color:var(--paper)}.process-section .eyebrow{color:#b6c4ad}.process-section .section-head>p{color:#b7c4be}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps article{border-top:1px solid #62766e;padding-top:20px}.steps span{font-family:var(--serif);font-size:28px;color:#a9bd9f;display:block;margin-bottom:24px}.steps h3{font-size:22px;min-height:57px}.steps p{font-size:12px;color:#bcc8c1}.about{display:grid;grid-template-columns:1fr 2fr;gap:90px}.about h2{margin-bottom:25px}.about .intro{max-width:100%}.about p:not(.intro):not(.eyebrow){font-size:13px;color:var(--muted);max-width:620px}.contact-section{background:#e5e9df}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.contact-grid h2{font-size:48px;margin-bottom:25px}.contact-grid>div>p:not(.eyebrow){color:#53665b;font-size:14px}.contact-grid .contact-note{border-top:1px solid #bfcaba;padding-top:20px;font-size:11px!important;margin-top:35px}label{display:block;font-size:11px;color:var(--ink);margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{width:100%;display:block;background:#f8f9f3;border:1px solid #bdc7b9;border-radius:0;color:var(--ink);padding:12px;font-size:12px;margin-top:6px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}.form-note{font-size:10px;color:#53665b}.form-note a{text-decoration:underline}.button.light{background:var(--paper);color:var(--green);border-color:#bcc8b8}.button.light:hover{background:#fff}#form-status{font-size:12px;margin:15px 0 0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.faq h2{font-size:38px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::after{content:'+';color:var(--green)}details[open] summary::after{content:'−'}details p{font-size:12px;color:var(--muted);margin:15px 25px 0 0}footer{border-top:1px solid var(--line);padding-top:45px;padding-bottom:25px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}footer .brand{font-size:26px}footer p{font-size:11px;color:var(--muted);margin-top:12px}footer>div:nth-child(2){display:flex;gap:30px;font-size:11px;align-items:center}.footer-bottom{width:100%;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}.privacy{max-width:850px;min-height:65vh}.privacy h1{font-size:48px}.privacy h2{font-size:24px;margin:30px 0 15px}.privacy p{font-size:14px;color:var(--muted)}@media(min-width:1500px){header{padding-left:max(48px,calc((100vw - 1320px)/2 + 64px));padding-right:max(48px,calc((100vw - 1320px)/2 + 64px))}}@media(max-width:1100px){.wrap{padding-left:35px;padding-right:35px}header{padding:22px 30px}nav{gap:15px;font-size:11px}.brand{font-size:25px}.hero{gap:30px}h1{font-size:48px}.hero-image{min-height:500px}.actions{gap:15px}.actions .button{padding:14px;gap:15px;font-size:11px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.destinations,.contact-grid{gap:50px}}@media(max-width:820px){header{padding:18px 24px}.menu{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:none;padding:8px 12px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px;border-bottom:1px solid var(--line);align-items:stretch;gap:22px;font-size:14px}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr 1fr;padding-top:40px;padding-bottom:40px;gap:25px}h1{font-size:40px;letter-spacing:-1.8px}.hero .intro{font-size:13px}.hero-image{min-height:460px}.hero-image figcaption>span:last-child{display:none}.hero-foot{margin-top:25px}.hero-foot b{padding:0 7px}.image-label{font-size:17px;padding:14px;left:-10px}.section{padding-top:65px;padding-bottom:65px}.section-head{gap:30px}.services-grid{gap:25px}.services-grid h3{font-size:21px}.destinations,.about,.contact-grid,.faq{gap:35px}.steps{grid-template-columns:1fr 1fr;gap:30px}.steps h3{min-height:0}.audience{padding:20px 35px}.audience p{font-size:19px}.contact-grid h2{font-size:39px}.form-row{grid-template-columns:1fr;gap:0}.product-grid{gap:16px}.product h3{font-size:21px}}@media(max-width:600px){.wrap{padding-left:24px;padding-right:24px}.announcement{font-size:8px;letter-spacing:1.5px}.brand{font-size:25px}.brand-sub{font-size:6px;letter-spacing:1.5px}.brand svg{width:31px}.hero{grid-template-columns:1fr;gap:32px}.hero h1{font-size:49px}.hero-copy .intro{font-size:14px}.hero-image{min-height:0}.hero-image>img{height:auto;max-height:430px;aspect-ratio:1.1;object-fit:cover}.hero-foot{margin-top:30px}.image-label{left:12px;bottom:45px}.hero-image figcaption{font-size:8px}.audience{flex-wrap:wrap;justify-content:space-between;gap:15px;padding:22px 24px}.audience>span:first-child{width:100%;max-width:none}.audience p{font-size:17px}.audience>span:not(:first-child){font-size:13px}.section-head{display:block;margin-bottom:32px}.section-head>p,.section-head>div:last-child:not(:first-child){margin-top:24px}.services-grid{grid-template-columns:1fr;gap:28px}.num{margin-bottom:16px}.services-grid h3{font-size:26px}.services-grid p{font-size:14px}.services-grid ul{margin-top:15px}.services-grid li{font-size:12px}.product-grid{grid-template-columns:1fr;gap:30px}.product-visual{aspect-ratio:1.6;margin-bottom:18px}.product h3{font-size:26px}.destinations,.about,.contact-grid,.faq{grid-template-columns:1fr;gap:35px}.about>.eyebrow{margin:0}.steps{gap:30px 24px}.steps h3{font-size:21px}.steps p{font-size:12px}.contact-grid h2{font-size:43px}.form-row{grid-template-columns:1fr 1fr;gap:12px}label{font-size:11px}.contact-grid .contact-note{margin-top:22px}.faq{gap:28px}footer>div:nth-child(2){gap:23px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:first-child{width:100%}.section{padding-top:55px;padding-bottom:55px}h2{font-size:37px}.privacy h1{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* WordPress content and administration */
body.admin-bar header{top:32px}.skip-link{position:absolute;top:-100px;left:15px;z-index:100000;background:white;padding:12px 20px}.skip-link:focus{top:10px}header nav ul{list-style:none;padding:0;margin:0;display:flex;gap:22px;align-items:center}header nav li{padding:0;font:inherit}.sh-page{max-width:1000px;min-height:60vh}.sh-page h1{font-size:clamp(38px,5vw,58px);margin-bottom:28px}.sh-page .entry-content{max-width:780px}.entry-content h2{font-size:30px;line-height:1.25;margin:38px 0 18px}.entry-content h3{margin-top:26px}.entry-content p,.entry-content li{font-size:15px;color:var(--muted)}.entry-content a:not(.wp-block-button__link){text-decoration:underline;text-underline-offset:4px}.entry-content .wp-block-button__link{background:var(--green);color:white;border-radius:0;font-size:13px;padding:14px 22px;display:inline-block}.entry-content ul{padding-left:22px}.entry-content .wp-block-columns{display:flex;gap:32px}.entry-content .wp-block-column{flex:1}.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{border:1px solid var(--line);padding:12px;text-align:left}.entry-content .wp-block-image img{height:auto;max-width:100%}.post-meta{font-size:12px;color:var(--muted);margin-bottom:24px}.post-list{display:grid;gap:30px;margin-top:35px}.post-list article{border-top:1px solid var(--line);padding-top:25px}.post-list h2{font-size:28px}.post-list p{color:var(--muted)}.product-visual img{width:100%;height:100%;object-fit:contain}.sh-status{padding:12px 20px;border:1px solid var(--line)}.sh-page img{max-width:100%;height:auto}.pagination{margin-top:35px}.pagination .page-numbers{display:inline-block;padding:8px 12px;border:1px solid var(--line)}.wp-caption{max-width:100%}.aligncenter{margin-left:auto;margin-right:auto}.screen-reader-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.screen-reader-text:focus{clip-path:none;height:auto;width:auto;position:static}.sh-page .wp-block-buttons{margin:25px 0}.entry-content .sh-hub-links{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0;list-style:none}.entry-content .sh-hub-links li{border:1px solid var(--line);padding:20px}.entry-content .sh-hub-links a{color:var(--green);font-family:Georgia,serif;font-size:22px}.entry-content .sh-hub-links p{font-size:13px;margin:10px 0 0}
@media(max-width:820px){header nav ul{flex-direction:column;align-items:flex-start;gap:20px}}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){body.admin-bar header{top:0}.entry-content .wp-block-columns{display:block}.entry-content .sh-hub-links{grid-template-columns:1fr}}
