/*
Theme Name: Giftmart
Description: Responsive multilingual quotation catalogue and portfolio for Giftmart. Requires WooCommerce for products and Giftmart Enquiries for enquiry submission.
Version: 0.1.1
Requires at least: 6.3
Requires PHP: 8.1
Text Domain: giftmart
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--font-primary:'Segoe UI',Arial,sans-serif;--font-secondary:'Segoe UI',Arial,sans-serif;--ink:#37393c;--muted:#666b70;--orange:#ee7622;--orange-ink:#be4b0b;--line:#e1e2e4;--light:#f4f5f6;--focus:#c75512}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-secondary);font-weight:400;font-size:15px;line-height:1.6}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--orange-ink)}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700;line-height:1.13;letter-spacing:-.035em;margin:0 0 22px}h1{font-size:clamp(38px,5vw,72px)}h2{font-size:clamp(28px,3.5vw,46px)}h3{font-size:22px}p{margin:0 0 20px}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input[type=checkbox],input[type=radio]{accent-color:var(--orange-ink)}[hidden]{display:none!important}.content-width{width:min(1260px,calc(100% - 96px));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px;line-height:1.5}.small-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}.screen-reader-text,.skip-link{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;top:8px;left:8px;padding:10px;background:#fff;z-index:1000}.wordmark{font-family:var(--font-primary);font-size:33px;font-weight:700;letter-spacing:-1.7px;line-height:1.2;color:var(--ink);display:inline-block;white-space:nowrap}.wordmark:hover{color:var(--ink)}.wordmark-i{color:var(--ink);background:linear-gradient(to bottom,var(--orange) 0 36%,var(--ink) 36% 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dialog-wordmark{font-size:29px;margin-bottom:12px}
.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 48px;border-bottom:1px solid var(--line);background:#fff}.navigation{display:flex;gap:29px;font-size:12px}.navigation a{padding:8px 0;border-bottom:2px solid transparent}.navigation a[aria-current]{color:var(--orange-ink);border-bottom-color:var(--orange)}.header-actions{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:10px;font-size:10px}.languages a{padding:8px 0;color:var(--muted)}.languages a[aria-current=true]{color:var(--ink);font-weight:700;border-bottom:1px solid var(--orange)}.quote-open{border:1px solid var(--line);background:#fff;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:11px;white-space:nowrap}.quote-open:hover{border-color:var(--orange)}.quote-icon{display:none}.quote-count{display:grid;place-items:center;background:var(--orange);color:#27292b;border-radius:50%;width:22px;height:22px;font-size:11px;font-weight:700}.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;padding-block:60px 80px;align-items:center}.hero h1{font-size:clamp(38px,4.8vw,67px);line-height:1.06;margin-top:25px;margin-bottom:28px;max-width:520px}.hero-description{max-width:460px;font-size:15px;color:var(--muted);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;padding:13px 20px;min-height:47px;font-size:12px;font-weight:700;line-height:1.4}.button.primary{background:var(--orange);color:#242628}.button.primary:hover{background:#e86613}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.secondary:hover{border-color:var(--orange)}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid var(--orange);padding-bottom:6px}.hero-footnote{font-size:10px;color:var(--muted);margin:46px 0 0;padding-top:17px;border-top:1px solid var(--line);max-width:360px}.hero-visual{position:relative;min-width:0;background:#eee}.hero-visual img{width:100%;aspect-ratio:1/1.06;object-fit:cover}.visual-tag{position:absolute;left:20px;bottom:18px;font-size:9px;letter-spacing:.13em;color:#3e4143;background:#ffffffdc;padding:8px 11px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:37px}.section-heading h1,.section-heading h2{margin:15px 0 18px}.section-heading p{max-width:540px;margin:0;color:var(--muted);font-size:14px}.section-heading>.text-link{flex:none}.home-catalogue{padding-block:50px 80px;border-top:1px solid var(--line)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px}.home-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{min-width:0}.product-picture{display:block;aspect-ratio:1;background:#f4f5f6;overflow:hidden}.product-picture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s}.product-picture:hover img{transform:scale(1.03)}.product-card-copy{padding-top:17px}.product-code{font-size:10px;letter-spacing:.05em;color:var(--muted);overflow-wrap:anywhere}.product-card h3{font-size:17px;line-height:1.35;letter-spacing:-.025em;margin:8px 0 9px}.product-card p{font-size:11px;color:var(--muted);margin:0 0 14px}.product-card .text-link{font-size:11px}.product-price strong{color:var(--ink);font-size:15px}.product-price small{display:block;font-size:10px;line-height:1.5;margin-top:5px}.process-section{background:var(--light);padding:66px 0}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}.process-index{font-size:12px;color:var(--orange-ink);display:block;padding:15px 0;margin-bottom:18px;border-top:1px solid #d2d4d6}.process-grid h3{font-size:21px;margin-bottom:16px}.process-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.portfolio-section{padding-block:88px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 32px}.project-card-image{aspect-ratio:4/3;background:#f2f3f4;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card a:hover img{transform:scale(1.025)}.project-card-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}.project-card-caption h3{font-size:21px;margin:0;line-height:1.3}.project-card-caption>span{font-size:25px;color:var(--orange-ink)}.contact-section{border-top:1px solid var(--line);padding-block:60px 70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-section h2{margin-top:17px;max-width:490px}.contact-section p{color:var(--muted);font-size:14px;max-width:450px;margin:0}.contact-details{min-width:0}.contact-email{font-family:var(--font-secondary);font-weight:400;font-size:clamp(19px,2.4vw,32px);display:block;overflow-wrap:anywhere;letter-spacing:-.02em}.contact-email span{color:var(--orange-ink)}.contact-phone{display:inline-block;font-size:14px;margin-top:18px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-footer .wordmark{font-size:27px}.site-footer p,.site-footer>a:not(.wordmark){font-size:10px;color:var(--muted);margin:0}.catalogue{padding-block:55px 80px}.catalogue-filter{display:flex;align-items:flex-end;gap:14px;margin-bottom:30px}.search-field{display:block;flex:1;min-width:0}.catalogue-filter input,.catalogue-filter select{min-height:47px;width:100%;padding:11px 13px;border:1px solid var(--line);background:white}.sort-field{display:block;font-size:11px;min-width:165px}.sort-field select{display:block;margin-top:6px}.catalogue-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px}.category-sidebar h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 21px}.category-list{border-top:1px solid var(--line)}.category-row{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid var(--line);font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;line-height:1.4;min-height:66px}.category-row svg{flex:none;color:var(--orange)}.category-row>span:not(.category-chevron){flex:1;min-width:0;overflow-wrap:anywhere}.category-chevron{color:#8c9094;font-size:22px;line-height:1}.category-row:hover,.category-row.is-active{color:var(--orange-ink)}.category-row.is-active{font-weight:700}.category-toggle{display:none}.attribute-filter{padding-top:22px}.attribute-filter fieldset{border:0;margin:0 0 22px;padding:0}.attribute-filter legend{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px}.attribute-options{max-height:250px;overflow:auto;padding:2px 5px 4px 2px}.attribute-options label{font-size:12px;display:flex;align-items:center;gap:10px;margin-bottom:9px}.attribute-options input{width:16px;height:16px;flex:none}.attribute-filter .button{width:100%;gap:8px}.empty-state{padding:28px;background:var(--light);font-size:14px;line-height:1.8;color:var(--muted)}.pagination{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:48px;flex-wrap:wrap}.pagination a,.pagination span{padding:9px 14px;border:1px solid var(--line);font-size:12px;min-width:40px;text-align:center}.pagination span.current{background:var(--orange);border-color:var(--orange)}.page-intro{padding-top:65px;margin-bottom:45px}.page-intro h1{font-size:clamp(42px,7vw,80px);margin:22px 0}.page-intro p{max-width:550px;font-size:15px;color:var(--muted)}.portfolio-page,.methods-page{padding-bottom:85px}.portfolio-filter{margin-bottom:40px}.project-page,.standard-page{padding-block:65px 85px}.project-page h1,.standard-page h1{margin-top:30px}.project-photo{margin-block:35px;background:var(--light)}.project-photo img{width:100%;max-height:80vh;object-fit:contain}.entry-content{line-height:1.9;overflow-wrap:anywhere}.entry-content>p{margin-bottom:24px}.entry-content a{color:var(--orange-ink);text-decoration:underline;text-underline-offset:3px}.entry-content h2,.entry-content h3{margin-top:35px}.entry-content figure{max-width:100%}.entry-content ul,.entry-content ol{padding-left:22px}.entry-content table{border-collapse:collapse;width:100%}.entry-content th,.entry-content td{padding:10px;border:1px solid var(--line);text-align:left}.standard-page{max-width:900px}.methods-list{display:grid;gap:50px}.method-card{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;border-top:1px solid var(--line);padding-top:50px}.method-photo{display:block;aspect-ratio:4/3;background:var(--light);overflow:hidden}.method-photo img{height:100%;width:100%;object-fit:cover}.method-copy h2{font-size:32px}.method-copy .entry-content{font-size:14px;color:var(--muted)}.method-detail-photo{margin-bottom:35px;background:var(--light)}.method-detail-photo img{width:100%;max-height:65vh;object-fit:contain}.product-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;padding-block:65px 55px;align-items:start}.product-detail h1{font-size:clamp(30px,3.8vw,50px);margin:27px 0 20px}.product-gallery>img{width:100%;max-height:620px;aspect-ratio:1;object-fit:contain;background:var(--light)}.gallery-thumbs{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.gallery-thumbs a{width:74px;border:1px solid var(--line)}.gallery-thumbs img{width:100%;aspect-ratio:1;object-fit:contain}.product-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0 15px}.product-options label{display:block;font-size:12px}.product-options input,.product-options select{display:block;width:100%;min-height:45px;border:1px solid var(--line);background:#fff;padding:10px 12px;margin-top:7px}.product-detail .entry-content{font-size:14px;color:var(--muted)}.content-language-note,.availability{font-size:11px;color:var(--muted);line-height:1.7;margin-top:22px}.product-description{padding-block:35px 75px;border-top:1px solid var(--line);max-width:900px}.product-description h2{font-size:27px}.product-description .entry-content{font-size:14px}.woocommerce-product-attributes{width:100%;border-collapse:collapse;font-size:13px;margin-top:30px}.woocommerce-product-attributes th,.woocommerce-product-attributes td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.woocommerce-product-attributes p{margin:0}.image-placeholder{aspect-ratio:1;background:var(--light);display:grid;place-items:center;font-size:13px;color:var(--muted);padding:25px;text-align:center}
dialog{border:0;padding:28px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #0003;max-height:90vh;max-height:90dvh;overflow:auto;width:min(760px,calc(100% - 36px))}dialog::backdrop{background:#26282bcc;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.dialog-header h2{font-size:30px;margin:0}.close-button{background:transparent;border:0;width:40px;min-width:40px;height:40px;padding:0;font-size:32px;line-height:1;color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{font-size:12px;display:block;min-width:0}.form-grid input,.form-grid textarea{display:block;width:100%;border:1px solid var(--line);padding:10px 12px;background:#fff;margin-top:7px;min-height:43px;min-width:0}.form-grid input[type=file]{font-size:11px;padding:10px 8px}.form-grid textarea{resize:vertical}.full-field{grid-column:1/-1}.privacy-consent{font-size:11px;line-height:1.6;display:flex;align-items:flex-start;gap:10px;margin:23px 0}.privacy-consent input{flex:none;width:16px;height:16px;margin-top:2px}.privacy-consent a{color:var(--orange-ink);text-decoration:underline}.form-disclaimer{font-size:11px;line-height:1.75;color:var(--muted)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.quote-item{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:18px 0}.quote-item:first-child{padding-top:0}.quote-item-image{width:76px;height:76px;object-fit:contain;background:var(--light);flex:none}.quote-item-copy{flex:1;min-width:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.quote-item-copy p{font-size:10px;margin:5px 0 0}.quote-item-controls{flex:none;width:82px;font-size:10px}.quote-item-controls input{display:block;width:100%;padding:7px;border:1px solid var(--line);margin-top:5px;background:#fff}.remove-button{font-size:10px;padding:6px 0;background:transparent;color:var(--muted);border:0}.quote-dialog #quote-form{margin-top:28px}.quote-result{font-size:12px;line-height:1.75;background:var(--light);padding:18px;margin-top:22px;overflow-wrap:anywhere}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;padding:14px 22px;background:var(--ink);color:white;box-shadow:0 5px 25px #0002;max-width:calc(100% - 32px);font-size:12px;text-align:center}.category-dialog{width:min(430px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:24px;border:0}.category-dialog .dialog-header h2{font-size:24px}.category-dialog .category-row{padding-inline:0}
@media(max-width:1100px){.site-header{padding:23px 30px;gap:18px}.content-width{width:calc(100% - 60px)}.navigation{gap:19px}.header-actions{gap:18px}.quote-label{display:none}.quote-icon{display:block}.hero{gap:35px}.catalogue-layout{grid-template-columns:215px minmax(0,1fr);gap:25px}.product-grid{gap:30px 18px}.product-detail{gap:35px}.category-row{gap:12px;font-size:10px}}
@media(max-width:760px){html{scroll-padding-top:145px}.content-width{width:calc(100% - 36px)}.site-header{padding:18px;flex-wrap:wrap;gap:18px}.wordmark{font-size:29px}.header-actions{gap:16px;margin-left:auto}.languages{gap:8px}.quote-open{padding:7px 9px}.quote-count{width:20px;height:20px}.navigation{order:3;width:100%;display:flex;gap:0;justify-content:space-between;font-size:11px}.navigation a{padding-block:7px}.hero{grid-template-columns:1fr;padding-block:40px 50px;gap:34px}.hero h1{font-size:42px;max-width:530px;margin-block:23px}.hero-description{font-size:14px}.hero-actions{gap:22px}.hero-footnote{display:none}.hero-visual img{aspect-ratio:1.3}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link{margin-top:22px}.section-heading h1{font-size:35px}.section-heading h2{font-size:31px}.home-catalogue{padding-block:40px 55px}.product-grid,.home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.product-card h3{font-size:15px}.product-code{font-size:9px}.product-card-copy{padding-top:12px}.product-card .text-link{font-size:10px}.process-section{padding-block:45px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid h3{font-size:22px}.process-grid p{font-size:13px}.process-index{margin-bottom:9px}.portfolio-section{padding-block:55px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card-caption{padding-top:17px}.project-card-caption h3{font-size:21px}.contact-section{grid-template-columns:1fr;gap:30px;padding-block:45px 50px}.contact-email{font-size:25px}.site-footer{flex-wrap:wrap;gap:20px;padding-block:25px}.site-footer p{flex-basis:100%;order:3}.catalogue{padding-block:40px 55px}.catalogue-filter{flex-wrap:wrap;gap:12px}.catalogue-filter .search-field{flex-basis:calc(100% - 100px)}.catalogue-filter>.sort-field{width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px}.catalogue-filter select{width:auto;min-width:160px;margin-top:0}.catalogue-layout{display:block}.category-sidebar{display:none}.category-toggle{display:flex;width:100%;justify-content:flex-start;background:#fff;border:1px solid var(--line);gap:12px;margin-bottom:25px}.category-toggle svg{color:var(--orange)}.page-intro{padding-top:43px;margin-bottom:33px}.page-intro h1{font-size:46px}.portfolio-page,.methods-page{padding-bottom:55px}.portfolio-filter .sort-field{justify-content:flex-start}.portfolio-filter .sort-field select{flex:1;min-width:0}.portfolio-filter .search-field{flex-basis:100%}.project-page,.standard-page{padding-block:40px 55px}.project-page h1,.standard-page h1{font-size:38px}.method-card{grid-template-columns:1fr;gap:24px;padding-top:35px}.method-copy h2{font-size:29px}.product-detail{grid-template-columns:1fr;gap:32px;padding-block:35px}.product-detail h1{font-size:35px}.product-gallery>img{max-height:450px}.product-description{padding-bottom:50px}.gallery-thumbs a{width:62px}.product-options{gap:14px}.product-options label{font-size:11px}dialog{width:calc(100% - 24px);padding:20px;max-height:94dvh}.dialog-header{padding-bottom:19px;margin-bottom:20px;gap:14px}.dialog-header h2{font-size:25px}.form-grid{gap:16px}.form-grid label{font-size:11px}.form-grid input{padding:9px}.quote-item{gap:12px}.quote-item-image{width:54px;height:54px}.quote-item-copy{font-size:12px}.quote-item-controls{width:72px}.category-dialog{width:min(430px,100%);max-height:100dvh;padding:22px}.category-dialog .category-row{font-size:11px;min-height:68px}.category-dialog .attribute-options{max-height:unset}.dialog-wordmark{font-size:29px}}
@media(max-width:380px){.hero h1{font-size:36px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%}.contact-email{font-size:21px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.product-options{grid-template-columns:1fr}.quote-item-image{display:none}.navigation{font-size:10px}.navigation a{letter-spacing:-.015em}.languages{gap:7px}.header-actions{gap:11px}.quote-open{gap:7px}.product-card h3{font-size:14px}}
.contact-wordmark{display:block;font-size:33px;margin-bottom:24px}.contact-details address,.contact-page-card address{font-style:normal;line-height:1.8;font-size:15px;margin-bottom:18px}.contact-details .contact-phone,.contact-page-card .contact-phone{display:block;margin:0 0 15px;font-size:15px}.contact-details .contact-email{font-size:clamp(20px,2.2vw,29px)}.contact-section .text-link{margin-top:24px}.contact-page{padding-bottom:90px}.contact-page-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:45px;border-top:1px solid var(--line)}.contact-page-card{min-width:0}.contact-page-layout>div>h2{font-size:36px;max-width:480px}.contact-page-layout>div>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:470px}.contact-page-extra{padding-top:30px;border-top:1px solid var(--line)}.site-footer{background:#37393c;color:#fff;border:0;padding:30px 0;margin-top:0;width:100%;display:block}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.copyright{font-size:11px;white-space:nowrap}.legal-navigation{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;line-height:1.7}.legal-navigation a{color:#fff}.legal-navigation a:hover{color:#ffb176}.legal-navigation a:focus-visible{outline-color:#ffb176}.product-detail-copy>.product-price{margin-top:18px;margin-bottom:24px}.product-detail-copy>.product-price strong{font-size:21px}.product-detail-copy>.product-price small{font-size:11px}
@media(max-width:760px){.contact-page{padding-bottom:50px}.contact-page-layout{grid-template-columns:1fr;gap:45px;padding-block:30px}.contact-page-layout>div>h2{font-size:30px}.contact-page-card .contact-email{font-size:25px}.footer-inner{align-items:flex-start;flex-direction:column;gap:20px}.legal-navigation{justify-content:flex-start;gap:12px 22px}.site-footer{padding:28px 0}.contact-wordmark{font-size:31px}}
@media(max-width:380px){.contact-page-card .contact-email{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-picture img,.project-card-image img{transition:none}}
.footer-brand{display:flex;align-items:center;gap:22px;margin-bottom:25px}.footer-brand .wordmark{--ink:#fff;color:#fff}.instagram-link{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid currentColor;border-radius:50%;color:inherit}.instagram-link:hover{color:#ffab70}.instagram-link:focus-visible{outline:2px solid #f87b22;outline-offset:4px}.instagram-contact{margin-top:22px;border:0;border-radius:0;gap:12px;justify-content:flex-start;font-size:15px}.instagram-contact svg{color:var(--red,#f87b22)}.contact-options-heading{font-size:clamp(23px,2.3vw,31px);line-height:1.3;letter-spacing:-.025em;margin:0 0 30px;max-width:490px}.contact-page-layout>.contact-page-card>h2{font-size:clamp(23px,2.3vw,31px)}
.telegram-contact{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;min-height:44px;margin-top:22px;color:var(--ink,#37393c);font-size:15px}.telegram-contact-icon{flex:none;width:22px;height:22px;color:var(--red,#f87b22)}.telegram-contact-account{min-width:0;overflow-wrap:anywhere}.telegram-contact:hover{color:var(--orange-ink,#c75512)}.telegram-contact:focus-visible{outline:2px solid var(--orange-ink,#c75512);outline-offset:5px;border-radius:3px}
.attribute-color-swatch{display:inline-block;flex:none;width:16px;height:16px;border:1px solid #0003;border-radius:50%;background:var(--swatch,#fff)}
.attribute-color-swatch[data-color="silver"]{background:linear-gradient(135deg,#a5abb3,#f1f3f5 48%,#adb3bb)}.attribute-color-swatch[data-color="gold"]{background:linear-gradient(135deg,#b58c32,#edda95 48%,#bb9238)}

/* Matching square frames throughout the project archive and featured work. */
.project-card-image{aspect-ratio:1;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}[data-project-photo="project-bag.avif"] .project-card-image img{object-position:100% 50%}[data-project-photo="method-embroidery.jpg"] .project-card-image img{object-position:50% 53%}[data-project-photo="method-laser.jpg"] .project-card-image img{object-position:50% 58%}
.project-photo{width:min(936px,100%);aspect-ratio:1;overflow:hidden;margin-inline:auto}.project-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%}.project-photo[data-project-photo="project-bag.avif"] img{object-position:100% 50%}.project-photo[data-project-photo="method-embroidery.jpg"] img{object-position:50% 53%}.project-photo[data-project-photo="method-laser.jpg"] img{object-position:50% 58%}
[data-project-photo="method-doming.jpg"] .project-card-image img,.project-photo[data-project-photo="method-doming.jpg"] img,[data-method-key="doming"] .method-photo img{object-position:20% 50%}
.portfolio-page.content-width{max-width:1440px}
.portfolio-page .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18.333px 9.333px}
@media(max-width:1100px){.portfolio-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9.333px}}
@media(max-width:760px){.portfolio-page .project-grid{grid-template-columns:1fr;gap:12.667px}}

/* Share caption height within each row so method labels start together. */
.portfolio-page .project-card{display:flex;min-width:0}
.portfolio-page .project-card>a{display:flex;flex-direction:column;width:100%;min-width:0}
.portfolio-page .project-card-image{flex:none}
.portfolio-page .project-card-caption{align-items:flex-start;flex:none}
.portfolio-page .project-card-caption h3{min-width:0;overflow-wrap:anywhere}
.portfolio-page .project-method-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:12px;align-items:flex-start;align-content:flex-start}
.portfolio-page .project-method-tag{max-width:100%;font-size:11px;line-height:1.4;padding:6px 10px;background:#f1f2f3;color:#555a60;border-radius:3px;overflow-wrap:anywhere}
@supports(grid-template-rows:subgrid){
  .portfolio-page .project-card,.portfolio-page .project-card>a{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
  .portfolio-page .project-card-image{grid-row:1}
  .portfolio-page .project-card-caption{grid-row:2}
  .portfolio-page .project-method-tags{grid-row:3;margin-top:0}
}

.file-help{display:block;color:var(--muted,#67717a);font-size:.78rem;font-weight:400;line-height:1.55;}

.quote-open--icon{background:var(--ink);color:#fff;border-color:var(--ink)}.quote-open--icon .quote-count{background:#46505a;color:#fff}.quote-open[data-basket-state="filled"]{background:var(--orange);color:var(--ink);border-color:var(--orange)}.quote-open[data-basket-state="filled"] .quote-count{background:#ffffff59;color:var(--ink)}

.quote-open--icon .quote-label{display:none}.quote-open--icon .quote-icon{display:block}.quote-open--icon{min-height:44px}.attribute-disclosure{border-bottom:1px solid var(--line);margin-bottom:18px;min-width:0}.attribute-disclosure summary{display:grid;grid-template-columns:minmax(0,1fr) 14px;gap:7px 12px;align-items:center;min-height:48px;padding:12px 0;cursor:pointer;list-style:none}.attribute-disclosure summary::-webkit-details-marker{display:none}.attribute-disclosure summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.attribute-disclosure-title{font-size:12px;font-weight:700}.attribute-filter-summary{grid-column:1;grid-row:2;font-size:11px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.attribute-disclosure-chevron{grid-column:2;grid-row:1;font-size:18px;color:var(--muted);transition:transform .15s}.attribute-disclosure[open] .attribute-disclosure-chevron{transform:rotate(180deg)}.attribute-disclosure fieldset{position:relative;margin:8px 0 20px}.attribute-filter .attribute-filter-legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Display the owner-selected original hero photograph in full. */
.hero-visual.hero-visual--project{min-height:0;aspect-ratio:1;background:#eee6eb;overflow:hidden}
.hero-visual.hero-visual--project>img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:1;object-fit:contain}

.portfolio-section.content-width{max-width:1440px}.portfolio-section .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18.333px 9.333px}.portfolio-section .project-card-image{aspect-ratio:1}
@media(max-width:1100px){.portfolio-section .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-section .project-grid{grid-template-columns:1fr;gap:12.667px}}

.home .contact-email{color:var(--orange,#ee7622)}

/* Keep the social glyph centred in its circle. */
.instagram-link:not(.instagram-contact){display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;flex:none}.instagram-link svg{display:block;flex:none;width:22px;height:22px}

/* Shared outer edges and stable header columns across templates. */
.content-width{width:min(1440px,100%);max-width:1440px;padding-inline:48px}
.site-header{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(332px,1fr);gap:32px;align-items:center;min-height:104px;padding:22px 48px;max-width:1440px;margin-inline:auto}
.navigation{display:grid;grid-template-columns:90px 120px 100px 80px;gap:20px;margin-left:0;align-items:center;justify-content:center}
.header-actions{display:grid;grid-template-columns:94px 220px;gap:18px;justify-self:end;align-items:center}
.header-actions .quote-open{justify-self:end;min-height:46px;display:flex;align-items:center;justify-content:center}
.languages{justify-self:start}
.standard-page>.entry-content,.standard-page>p{max-width:900px}
.standard-page,.standard-page>.entry-content{min-width:0}
.standard-page :is(h1,h2,h3,p,a,li,blockquote){overflow-wrap:anywhere}
.method-card{align-items:start}
.page-intro,.project-page,.standard-page{padding-top:64px}
@supports(grid-template-rows:subgrid){.portfolio-section .project-card,.portfolio-section .project-card>a{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}.portfolio-section .project-card-image{grid-row:1}.portfolio-section .project-card-caption{grid-row:2;align-items:flex-start}}
@media(max-width:1100px){.content-width{padding-inline:32px}.site-header{padding-inline:32px;gap:24px}.navigation{grid-template-columns:75px 110px 85px 75px;gap:14px}.header-actions{gap:12px}}
@media(max-width:1050px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:16px 24px}.navigation{grid-column:1/-1;grid-row:2;width:100%;border-top:1px solid var(--line);padding-top:12px;justify-self:center}.header-actions{grid-column:2;grid-row:1;margin-left:0}}
@media(max-width:760px){.site-header,.content-width{padding-inline:22px}.page-intro,.project-page,.standard-page{padding-top:40px}.navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;text-align:center}}
@media(max-width:620px){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:16px}.header-actions{display:grid;grid-template-columns:1fr;max-width:none;gap:8px;justify-items:end}.languages{justify-self:end}.navigation{gap:10px;font-size:11px;line-height:1.5}}

/* Keep the process background aligned with the outer content edges. */
.process-section{width:calc(100% - 96px);max-width:1344px;margin-inline:auto}
@media(max-width:1100px){.process-section{width:calc(100% - 64px);max-width:1376px}}
@media(max-width:760px){.process-section{width:calc(100% - 44px);max-width:1396px}}

/* Let the copy determine the hero height in the two-column layout. */
.hero{align-items:stretch}
.hero-visual.hero-visual--project{contain:size;aspect-ratio:auto;align-self:stretch;background:transparent}
.hero-visual.hero-visual--project>img{height:100%;aspect-ratio:auto;object-fit:cover}
@media(max-width:760px){.hero-visual.hero-visual--project{contain:none;aspect-ratio:1}.hero-visual.hero-visual--project>img{height:100%;aspect-ratio:1;object-fit:contain}}

/* Three compact project thumbnails per row on mobile. */
@media(max-width:760px){
  .portfolio-page .project-grid,.portfolio-section .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
  .portfolio-page .project-card-caption,.portfolio-section .project-card-caption{padding-top:8px;gap:0}
  .portfolio-page .project-card-caption h3,.portfolio-section .project-card-caption h3{font-size:12px;line-height:1.35;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .portfolio-page .project-card-caption>span,.portfolio-section .project-card-caption>span{display:none}
  .portfolio-section .project-card:nth-child(n+4){display:none}
}

/* Allow long translated hero words to fit their grid column. */
.hero-copy{min-width:0}
.hero h1{overflow-wrap:anywhere}

/* Rounded project photo frames on the archive and home teaser. */
.portfolio-page .project-card-image,.portfolio-section .project-card-image{border-radius:16px;overflow:hidden}
@media(max-width:760px){.portfolio-page .project-card-image,.portfolio-section .project-card-image{border-radius:10px}}

/* Smaller regular-weight project captions. */
.portfolio-page .project-card-caption h3,.portfolio-section .project-card-caption h3{font-size:16px;line-height:1.4;font-weight:400}
@media(max-width:760px){.portfolio-page .project-card-caption h3,.portfolio-section .project-card-caption h3{font-size:11px;line-height:1.35;-webkit-line-clamp:2}}
