/* Tincraft's shared colour, typography and spacing system. Load last. */
:root{
 --brand-green:#2f412d;
 --color-ink:#141c18;
 --color-paper:#f2f0e7;
 --color-surface:#fffefa;
 --color-soft:#e8e7dc;
 --color-muted:#535750;
 --color-line:#d2d3c9;
 --ink:var(--color-ink);--forest:var(--brand-green);--olive:var(--brand-green);
 --sage:var(--brand-green);--chalk:var(--color-paper);--paper:var(--color-paper);
 --surface:var(--color-surface);--soft:var(--color-soft);--body:var(--color-muted);
 --muted:var(--color-muted);--line:var(--color-line);
 --text:'Manrope',sans-serif;--display:'Big Shoulders',sans-serif;
 --weight-body:400;--weight-label:600;--weight-action:700;--weight-heading:800;--weight-title:900;
 --text-body:16px;--text-small:14px;--text-label:13px;--text-caption:12px;--text-kicker:11px;
 --title-size:clamp(56px,6.4vw,96px);
 --section-size:clamp(40px,4.4vw,64px);
 --subheading-size:clamp(28px,2.6vw,36px);
 --card-heading-size:clamp(24px,2.4vw,32px);
 --price-size:clamp(60px,5.5vw,80px);
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
 --space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
 --page-gutter:7%;--page-width:1440px;--section-space:96px;--card-space:32px;--grid-gap:24px;
}
body{font-family:var(--text);font-weight:var(--weight-body);font-synthesis:none;-webkit-font-smoothing:antialiased}
body:not(.build-planner-page):not(.layout-page){font-size:var(--text-body);line-height:1.75}
button,input,textarea,select{font-family:var(--text)}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-green)}
::selection{background:var(--brand-green);color:var(--color-paper)}

/* The same heading role has the same family, weight and scale on every page. */
body.homepage h1,body.journey-page h1,body.package-page h1,body.shop-page h1{
 font-family:var(--display);font-size:var(--title-size);font-weight:var(--weight-title);line-height:1.02;letter-spacing:-.02em;
}
.homepage .home-hero h1 span{color:var(--brand-green);font-weight:var(--weight-title)}
.shop-page .shop-hero h1 span{color:var(--brand-green);background:var(--color-paper);padding:.025em .075em .045em;display:inline-block}
.journey-page .journey-title span,.package-page .detail-copy h1 span{color:var(--brand-green)}
body.homepage h2,.shop-page .intro h2,.shop-page .contact-band h2{
 font-family:var(--display);font-size:var(--section-size);font-weight:var(--weight-heading);line-height:1.05;letter-spacing:-.02em;
}
body.homepage :is(.completed-heading,.packages-heading,.craft-content,.story-content,.equipment-copy,.contact-top,.community-section,.visit-heading,.designer-copy) h2{font-size:var(--section-size);font-weight:var(--weight-heading);line-height:1.05}
.journey-page h2,.package-page .detail-inclusions h2,.package-page .detail-note h2,.product-page .product-details h2{
 font-family:var(--display);font-size:var(--subheading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.02em;
}
.homepage .package-card h3,.shop-page .product-card h3,.journey-page .build-index h2{
 font-family:var(--display);font-size:var(--card-heading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.01em;
}
.homepage .completed-heading h2 span,.homepage .packages-heading h2 span,.homepage .about-story h2 span,
.homepage .community-section h2 span,.homepage .visit-heading h2 span{color:var(--brand-green)}
.homepage .home-hero .hero-description,.homepage .designer-copy>p:not(.designer-kicker),
.homepage .craft-content>p,.homepage .story-content>p:not(.eyebrow),.homepage .equipment-copy>p:not(.eyebrow),
.homepage .package-description,.homepage .community-section>p,.homepage .contact-top>p,
.shop-page .hero-copy,.shop-page .intro>p,.product-page .product-description,
.journey-page .journey-intro,.journey-page .case-details p,.journey-page .process-stages p,
.journey-page .privacy-copy p,.package-page .detail-lead{
 font-family:var(--text);font-size:var(--text-body);font-weight:var(--weight-body);line-height:1.75;
}
.homepage :is(.hero-location,.eyebrow,.designer-kicker,.footer-label),
.shop-page :is(.eyebrow,.product-type,.product-category),.package-page .detail-kicker,.journey-page .journey-kicker{
 font-family:var(--text);font-size:var(--text-kicker);font-weight:var(--weight-action);line-height:1.6;letter-spacing:.12em;
}
.journey-page :is(.journey-crumbs,.journey-footer,.case-photo-grid figcaption,.case-tags li),
.package-page :is(.detail-breadcrumb,.detail-footer,.spec-fit-note),
.product-page :is(.price-note,.dimension-note),.shop-page :is(.catalogue-note,footer),
.homepage :is(.footer-bottom,.photo-caption,.visit-photo figcaption){font-size:var(--text-caption);line-height:1.7}
.journey-page .journey-aside p,.journey-page .journey-aside dl,.product-page .product-specs dl>div,
.package-page .detail-inclusions .spec-group li,.package-page .spec-intro{font-size:var(--text-small);line-height:1.75}

/* Green surfaces use the exact hero accent, with paper-coloured type. */
.homepage :is(.brand-strip,.package-adventure,.designer-feature,.designer-copy,.contact-section),
.package-page .detail-summary,.shop-page :is(.shop-hero,.contact-band),.product-page .product-enquiry{
 background-color:var(--brand-green);color:var(--color-paper);border-color:var(--brand-green);
}
.homepage .package-adventure :is(.package-price,.package-description,.price-terms),
.homepage .designer-copy :is(.designer-kicker,h2,h2 span,p),.homepage .contact-top>p,
.package-page .detail-summary :is(.detail-price,.detail-kicker,p),
.shop-page .contact-band p,.product-page .product-enquiry p{color:var(--color-paper)!important}
.homepage .designer-feature{background-image:url('assets/grain-chalk.png');background-size:192px 192px}
.homepage .package-card:not(.package-adventure) .price-terms{color:var(--color-muted)}
.homepage .price-terms,.package-page .price-terms{font-family:var(--text)!important;font-size:var(--text-caption)!important;font-weight:var(--weight-label)!important;line-height:1.7!important}
.shop-header nav .current{color:var(--color-paper);text-decoration:underline;text-underline-offset:6px}
.homepage .craft-content h2 span,.homepage .header-location,.homepage .header-location span,.shop-page .header-label span,.layout-page .header-sub{color:var(--color-paper)}

/* Navigation, calls to action, form labels and fields are shared groups. */
.homepage #navigation>a,.shop-page .shop-header nav>a,.package-page .detail-header nav>a,.journey-page .journey-header nav>a{
 font-family:var(--text);font-size:var(--text-label);font-weight:var(--weight-label);line-height:1.4;
}
.homepage :is(.button,.designer-cta,.package-link,.underlined-link,.text-link,.process-link),
.shop-page :is(.hero-button,.header-contact,.contact-band>a),
.product-page :is(.enquire-button,.product-call,.all-products),
.package-page :is(.detail-primary,.detail-secondary,.detail-other),
.journey-page :is(.journey-button,.email-secondary,.enquiry-tools button){
 font-family:var(--text);font-size:var(--text-label);font-weight:var(--weight-action);line-height:1.5;
}
.homepage :is(.button,.designer-cta),.shop-page :is(.hero-button,.contact-band>a),
.product-page .enquire-button,.package-page :is(.detail-primary,.detail-secondary),
.journey-page :is(.journey-button,.email-secondary){min-height:52px;padding:var(--space-4) var(--space-5);gap:var(--space-4)}
.homepage :is(.button-cream,.designer-cta),.package-page .detail-primary,
.shop-page :is(.hero-button,.contact-band>a),.product-page .enquire-button{
 background-color:var(--color-paper);color:var(--brand-green)!important;
}
.journey-page .journey-button:not(.secondary),.homepage .nav-cta{background-color:var(--brand-green);color:var(--color-paper)!important;border-color:var(--brand-green)}
.journey-page .journey-button.secondary,.journey-page .email-secondary{background:transparent;color:var(--brand-green)!important;border-color:var(--brand-green)}
.homepage :is(.button-cream,.designer-cta):hover,.package-page .detail-primary:hover,.product-page .enquire-button:hover{background-color:var(--color-surface)}
.journey-page .enquiry-form label,.product-page .product-options label{font-size:var(--text-label);font-weight:var(--weight-label);line-height:1.6}
.journey-page .enquiry-form small{font-size:var(--text-caption);font-weight:var(--weight-body);line-height:1.75}
.journey-page .enquiry-form :is(input:not([type=checkbox]),textarea,select),.product-page .product-options select,.shop-page .search input{
 font-family:var(--text);font-size:16px;font-weight:var(--weight-body);line-height:1.5;min-height:48px;border-color:var(--brand-green);
}
.journey-page :is(.enquiry-status,.build-summary),.package-page .spec-group summary{font-size:var(--text-small);line-height:1.7}

/* One spacing rhythm: page gutters, section breaks, panels and text groups. */
.homepage .section{padding:var(--section-space) var(--page-gutter);max-width:var(--page-width)}
.homepage .packages-section{padding-top:0}
.homepage .story-stack,.homepage .layout-feature.designer-feature,.homepage .community-section{
 margin-left:var(--page-gutter);margin-right:var(--page-gutter);margin-bottom:var(--section-space);max-width:calc(var(--page-width) - 2 * var(--page-gutter));
}
.homepage .story-stack>.stack-layer{margin-bottom:var(--space-6)}
.homepage .story-stack>.stack-layer:last-child{margin-bottom:0}
.homepage .story-stack :is(.craft-content,.story-content),.homepage .designer-copy{padding:var(--space-7)}
.homepage .story-stack>.equipment-section{padding:var(--space-7);gap:var(--space-6)}
.homepage .community-section{padding:var(--space-7);gap:var(--space-7)}
.homepage .completed-heading,.homepage .packages-heading,.homepage .visit-heading{margin-bottom:var(--space-6);gap:var(--space-6)}
.homepage .package-grid,.shop-page .product-grid,.journey-page .build-index,.journey-page .case-photo-grid{gap:var(--grid-gap)}
.homepage .package-card,.journey-page .journey-aside,.journey-page .case-details,.product-page .product-enquiry,.package-page .detail-summary{padding:var(--card-space)}
.homepage .package-description{margin-top:0;margin-bottom:var(--space-5)}
.homepage .package-card .package-link{padding-top:var(--space-5);margin-top:auto}
.homepage .package-price,.package-page .detail-price{margin-top:var(--space-5);margin-bottom:var(--space-5);font-family:var(--display);font-size:var(--price-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.02em}
.homepage .package-price>span,.package-page .detail-price>span{font-family:var(--text);font-size:var(--text-label);font-weight:var(--weight-label)}
.package-page .detail-price{margin-block:var(--space-5)!important}
.homepage :is(.craft-content,.story-content,.equipment-copy,.contact-top)>p,
.journey-page .case-details>p,.product-page .product-description{margin-top:var(--space-5)}
.homepage .community-section>p{margin:0}
.homepage .contact-section{padding:var(--section-space) var(--page-gutter)}
.homepage .contact-actions{gap:var(--space-4);margin-top:var(--space-6)}
.homepage .designer-copy>p:not(.designer-kicker){margin-top:var(--space-5)}
.homepage .designer-kicker{margin-bottom:var(--space-5)}
.homepage .designer-cta{margin-top:var(--space-6)}
.journey-page .journey-main,.package-page main{max-width:var(--page-width);padding:var(--space-7) var(--page-gutter) var(--section-space)}
.journey-page .journey-crumbs,.package-page .detail-breadcrumb,.product-page .detail-breadcrumb{margin-bottom:var(--space-7);gap:var(--space-3)}
.journey-page .journey-intro{margin:var(--space-5) 0 var(--space-7)}
.journey-page .process-layout,.journey-page .enquiry-layout,.package-page .detail-layout,.product-page .product-layout{gap:var(--space-7)}
.journey-page .process-stages li{padding:var(--space-6) 0;gap:var(--space-4)}
.journey-page .process-stages p,.journey-page .journey-aside p{margin-top:var(--space-4)}
.journey-page .case-hero{gap:var(--space-6);margin:var(--space-7) 0}
.journey-page .case-photo-grid{margin-top:var(--space-6)}
.journey-page .case-cta{margin-top:var(--space-7);padding-top:var(--space-6);gap:var(--space-4)}
.journey-page .case-photo-grid figcaption{margin-top:var(--space-3)}
.journey-page .enquiry-form{gap:var(--space-5)}
.journey-page .enquiry-form .field-row{gap:var(--space-4)}
.journey-page .enquiry-tools{gap:var(--space-3)}
.journey-page .build-summary>div,.product-page .product-specs dl>div{padding:var(--space-4) 0}
.package-page .detail-inclusions,.product-page :is(.product-specs,.product-options){margin-top:var(--space-6);padding-top:var(--space-5)}
.package-page .spec-group summary{padding:var(--space-5) 0;font-weight:var(--weight-action)}
.package-page .detail-inclusions .spec-group li{padding-top:var(--space-3);padding-bottom:var(--space-3)}
.package-page .detail-inclusions .spec-group li:before{top:23px}
.shop-page .intro{max-width:var(--page-width);padding:var(--section-space) var(--page-gutter) var(--space-6)}
.shop-page .shop-content{max-width:var(--page-width);padding:0 var(--page-gutter) var(--section-space)}
.shop-page .shop-hero>div:first-child{padding-top:var(--section-space);padding-bottom:var(--space-8)}
.shop-page .product-info{padding:var(--space-5) var(--space-5) 0}
.shop-page .product-card>a:not(.product-image){margin:var(--space-5);padding-top:var(--space-4)}
.shop-page .contact-band{margin-top:var(--space-8);padding:var(--space-7)}
.product-page main{width:auto;max-width:var(--page-width);padding:var(--space-7) var(--page-gutter) var(--section-space)}
.product-page .product-price{margin-top:var(--space-5);gap:var(--space-4)}
.product-page .product-enquiry{margin-top:var(--space-6)}
.journey-page .journey-header,.package-page .detail-header,.shop-page .shop-header{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.journey-page .journey-header nav,.package-page .detail-header nav,.shop-page .shop-header nav{gap:var(--space-5)}
.journey-page .journey-footer,.package-page .detail-footer,.shop-page footer,.homepage .site-footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.journey-page .journey-footer,.package-page .detail-footer,.shop-page footer{padding-top:var(--space-6);padding-bottom:var(--space-6);gap:var(--space-5)}

/* The planner uses a compact UI scale within its existing bounded workspace. */
.build-planner-page .intro h1,.layout-page .page-intro h1{font-family:var(--display);font-weight:var(--weight-heading);letter-spacing:-.02em}
.build-planner-page .intro h1{font-size:28px;line-height:1.1}
.build-planner-page :is(.heading h2,.summary h2){font-family:var(--display);font-weight:var(--weight-heading);font-size:26px;line-height:1.25;letter-spacing:0}
.layout-page .feature-panel h2{font-family:var(--display);font-weight:var(--weight-heading);font-size:28px;line-height:1.1;letter-spacing:-.02em}
.build-planner-page .option-tabs button{font-size:12px;font-weight:var(--weight-action)}
.build-planner-page .selects label{font-size:var(--text-label);font-weight:var(--weight-label)}
.build-planner-page :is(.selects label>span,.heading>p,.choice small,.note,.summary-note){font-size:var(--text-caption);font-weight:var(--weight-body);line-height:1.7}
.build-planner-page :is(.selects select,.notes-label textarea){font-size:16px}
.build-planner-page :is(.step-actions button,.actions button,.review-enquire,.build-dialog .primary){font-size:12px;font-weight:var(--weight-action)}
.build-planner-page .primary{background:var(--brand-green);color:var(--color-paper);border-color:var(--brand-green)}
.build-planner-page .option-tabs button[aria-selected=true]{color:var(--brand-green);border-bottom-color:var(--brand-green);background:var(--color-soft)}
.build-planner-page .lighting button[aria-pressed=true]{background:var(--brand-green);color:var(--color-paper)}
.build-planner-page .choice input:checked+span{background:var(--color-soft);border-color:var(--brand-green);box-shadow:inset 0 0 0 1px var(--brand-green)}
.build-planner-page :is(.panel-scroll,.build-selection){padding-left:var(--space-5);padding-right:var(--space-5)}
.build-planner-page .selects{gap:var(--space-5)}
.build-planner-page .heading{margin-bottom:var(--space-5)}
.build-planner-page .heading>p{margin-top:12px}
.build-planner-page .viewer-top{gap:var(--space-2)}
.layout-page :is(.feature-buttons button,.view-bar button,.scene-controls button){font-family:var(--text);font-weight:var(--weight-label)}
.layout-page :is(.view-bar,.feature-buttons,.scene-controls) button[aria-pressed=true]{background:var(--brand-green);color:var(--color-paper);border-color:var(--brand-green)}
.layout-page .feature-panel{padding:var(--space-5)}
.layout-page .page-intro{margin-bottom:var(--space-6)}
.case-photo-grid .photo-portrait img{aspect-ratio:3/4;object-fit:contain}
.process-workshop{margin-top:var(--space-8);padding-top:var(--space-7);border-top:1px solid var(--color-line)}
.process-workshop>p:not(.journey-kicker){max-width:710px;margin-top:var(--space-5)}
.process-workshop>h2{margin-top:var(--space-4)}
.workshop-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);margin-top:var(--space-6)}
.workshop-photo-grid figure{margin:0;min-width:0}.workshop-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--color-soft)}
.workshop-photo-grid figcaption{font-size:var(--text-caption);line-height:1.7;margin-top:var(--space-3)}
.homepage .story-stack .story-image>img{object-position:center 65%}
.homepage .equipment-photo>img{object-position:center 60%}

@media(min-width:1700px){.homepage .story-stack,.homepage .layout-feature.designer-feature,.homepage .community-section{margin-left:auto;margin-right:auto}}
@media(max-width:1000px){
 :root{--section-space:64px;--card-space:24px;--grid-gap:20px;--page-gutter:6%}
 .homepage .story-stack :is(.craft-content,.story-content),.homepage .designer-copy,.homepage .story-stack>.equipment-section,.homepage .community-section{padding:var(--space-6)}
 .journey-page .process-layout,.journey-page .enquiry-layout,.product-page .product-layout,.package-page .detail-layout{gap:var(--space-6)}
}
@media(max-width:700px){
 :root{--title-size:clamp(48px,12vw,68px);--section-size:clamp(38px,10vw,48px);--subheading-size:30px;--card-heading-size:26px;--price-size:clamp(58px,16vw,76px);--section-space:48px;--grid-gap:16px}
 .homepage .home-hero h1{font-size:clamp(42px,12vw,64px)}
 .homepage #navigation>a{font-size:var(--text-body);font-weight:var(--weight-label);padding-block:var(--space-3)}
 .journey-page .journey-header nav,.package-page .detail-header nav{gap:var(--space-3)}
 .package-page .detail-header nav{flex-wrap:wrap;justify-content:flex-end;row-gap:0}
 .journey-page .journey-header nav>a,.package-page .detail-header nav>a{font-size:12px}
 .homepage .story-stack :is(.craft-content,.story-content),.homepage .designer-copy,.homepage .story-stack>.equipment-section,.homepage .community-section{padding:var(--space-6) var(--space-5)}
 .homepage .community-section{gap:var(--space-5)}
 .homepage .brand-strip{font-size:12px;line-height:1.5;letter-spacing:.08em;padding:var(--space-4) var(--page-gutter)}
 .homepage .designer-copy h2 br{display:block}
 .homepage .package-price{font-size:clamp(58px,16vw,76px)}
 .journey-page .journey-main,.package-page main,.product-page main{padding-top:var(--space-6)}
 .journey-page .journey-crumbs,.package-page .detail-breadcrumb,.product-page .detail-breadcrumb{margin-bottom:var(--space-6)}
 .journey-page .journey-intro{margin-bottom:var(--space-6)}
 .journey-page .case-hero{margin-block:var(--space-6);gap:var(--space-5)}
 .workshop-photo-grid{grid-template-columns:1fr}
 .journey-page .enquiry-form{gap:var(--space-5)}
 .shop-page .product-info{padding:var(--space-4) var(--space-3) 0}
 .shop-page .product-card>a:not(.product-image){margin:var(--space-4) var(--space-3)}
 .shop-page .product-card h3{font-size:24px}
 .shop-page .shop-hero>div:first-child{padding:var(--space-8) var(--page-gutter) var(--space-7)}
 .shop-page .contact-band{padding:var(--space-6) var(--space-5)}
 .product-page .product-details h1{font-size:clamp(42px,10vw,56px)}
 .build-planner-page .intro h1{font-size:24px}
 .build-planner-page :is(.heading h2,.summary h2){font-size:26px}
 .build-planner-page :is(.panel-scroll,.build-selection){padding-left:var(--space-4);padding-right:var(--space-4)}
 .build-planner-page .view-choice select{font-size:16px}
 .build-planner-page .viewer-top{gap:var(--space-1)}
}
@media(max-width:360px){
 .homepage .home-hero h1{font-size:clamp(40px,12vw,44px)}
 .homepage .package-card{padding:var(--space-5) var(--space-4)}
 .shop-page .product-card h3{font-size:23px}
 .journey-page .journey-header nav{column-gap:var(--space-3);row-gap:0}
 .build-planner-page .step-actions button{padding-inline:var(--space-3);font-size:11px}
 .build-planner-page .step-actions #next-step{min-width:125px}
}

/* A clear route from package prices to the conversion stages. */
.homepage .process-feature{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-6);padding:var(--card-space);border:1px solid var(--brand-green);color:var(--color-ink);text-decoration:none}
.homepage .process-feature h3{font-family:var(--display);font-size:var(--card-heading-size);font-weight:var(--weight-heading);line-height:1.1;margin:0 0 var(--space-3)}
.homepage .process-feature p{margin:0;font-size:var(--text-body);line-height:1.75}
.homepage .process-feature>span{font-size:var(--text-label);font-weight:var(--weight-action);color:var(--brand-green);white-space:nowrap}
.homepage .process-feature:hover,.homepage .process-feature:focus-visible{background:var(--color-soft)}
@media(max-width:600px){.homepage .process-feature{align-items:flex-start;flex-direction:column;gap:var(--space-5)}}

/* Sleeping capacity and finishes follow the same labels and spacing system. */

.package-capacity,.journey-page .case-capacity{font-size:var(--text-small);font-weight:var(--weight-action);line-height:1.6;margin:var(--space-3) 0 var(--space-5)}








/* Keep the designer distinct from the green approach strip. */
.homepage .brand-strip+.designer-feature{margin-top:var(--space-8)}
.homepage .section-detail{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-line)}
.homepage .section-detail h3{font-family:var(--display);font-size:var(--card-heading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.01em;margin:0}
.homepage .section-detail>p{font-family:var(--text);font-size:var(--text-body);font-weight:var(--weight-body);line-height:1.75;margin:var(--space-4) 0 0}
.homepage .section-detail .underlined-link{margin-top:var(--space-5)}
.homepage .equipment-copy>.button{margin-top:var(--space-6)}
.homepage .equipment-copy>.button-dark{display:flex;width:100%;justify-content:space-between}
.homepage .process-feature>span{display:inline-flex;align-items:center;gap:var(--space-3)}
@media(max-width:760px){.homepage .brand-strip+.designer-feature{margin-top:var(--space-7)}}

/* Give every approach label its own readable row on phones. */
@media(max-width:760px){
 .homepage .brand-strip{
  display:grid;grid-template-columns:minmax(0,1fr);gap:0;
  padding:var(--space-2) var(--page-gutter);text-align:center;
  font-size:var(--text-body);font-weight:var(--weight-action);line-height:1.5;
  letter-spacing:.08em;
 }
 .homepage .brand-strip>svg{display:none}
 .homepage .brand-strip>span{display:block;min-width:0;padding-block:var(--space-2)}
 .homepage .brand-strip>span~span{border-top:1px solid #f2f0e733}
}

/* A clear branded panel until the electric roof installation photos arrive. */
.shop-page .product-card>a.product-image-pending,.product-photo-pending{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:var(--space-4);padding:var(--space-5);text-align:center;
 background:var(--color-paper);color:var(--color-ink);
}
.shop-page .product-image-pending>img,.product-photo-pending>img{
 width:clamp(90px,12vw,150px);height:auto;object-fit:contain;
}
.product-image-pending>span,.product-photo-pending>p{font-size:var(--text-caption);line-height:1.7;color:var(--color-muted)}
.product-photo-pending{aspect-ratio:4/3;border:1px solid var(--color-line);min-width:0}

/* Three shop ranges share one enquiry-card treatment. */
.shop-page .shop-range-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-6)}
.shop-page .shop-range-actions .hero-button{margin:0}
.shop-page .shop-range-link{display:inline-flex;align-items:center;min-height:52px;font-size:var(--text-label);font-weight:var(--weight-action);color:var(--color-paper);text-decoration:underline;text-underline-offset:6px}
.shop-page .shop-enquiry-ranges{max-width:var(--page-width);margin:auto;padding:var(--section-space) var(--page-gutter) 0;scroll-margin-top:var(--space-5)}
.shop-page .shop-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.shop-page .shop-enquiry-section{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--card-space);border:1px solid var(--color-line);background:var(--color-surface);min-width:0;scroll-margin-top:var(--space-5)}
.shop-page .shop-enquiry-section h2{font-family:var(--display);font-size:var(--card-heading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.01em}
.shop-page .shop-enquiry-section p{font-size:var(--text-body);line-height:1.75;color:var(--color-muted);margin-top:var(--space-4)}
.shop-page .shop-range-enquire{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:52px;margin-top:auto;padding:var(--space-4) var(--space-5);font-size:var(--text-label);font-weight:var(--weight-action);line-height:1.5;background:var(--color-ink);color:var(--color-paper)}
.shop-page .shop-range-enquire:hover{background:var(--brand-green)}
.shop-page .no-results a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.shop-page .shop-range-grid{grid-template-columns:minmax(0,1fr)}}

/* The shop opens on the genuine crest, layered into the approved green. */
.shop-page .shop-hero-branded{position:relative;isolation:isolate;display:block;overflow:hidden;background-color:var(--brand-green);background-image:url('assets/grain-chalk.png');background-size:192px 192px}
.shop-page .shop-hero-branded>.shop-hero-copy{position:relative;z-index:1;width:60%;max-width:900px;padding:var(--section-space) var(--page-gutter) var(--space-8)}
.shop-page .shop-hero-branded .eyebrow{color:var(--color-paper)}
.shop-logo-layers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.shop-logo-layers::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--brand-green) 30%,transparent 78%)}
.shop-logo-stamp{position:absolute;display:block;aspect-ratio:527/473;-webkit-mask:url('assets/logo.png') center/contain no-repeat;mask:url('assets/logo.png') center/contain no-repeat}
.shop-logo-stamp.stamp-back{width:clamp(600px,65vw,1040px);right:17%;top:-53%;transform:rotate(16deg);background:var(--color-ink);opacity:.28}
.shop-logo-stamp.stamp-main{width:clamp(420px,47vw,760px);right:-4%;top:50%;transform:translateY(-50%) rotate(-9deg);background:var(--color-paper);opacity:.22}
.shop-logo-stamp.stamp-edge{width:clamp(280px,32vw,490px);right:-12%;bottom:-34%;transform:rotate(12deg);background:var(--color-paper);opacity:.12}
@media(max-width:760px){
 .shop-page .shop-hero-branded>.shop-hero-copy{width:100%;max-width:none;padding:var(--section-space) var(--page-gutter)}
 .shop-logo-layers::after{background:linear-gradient(90deg,var(--brand-green) 10%,transparent 100%),linear-gradient(180deg,var(--brand-green) 12%,transparent 100%)}
 .shop-logo-stamp.stamp-back{width:520px;right:-22%;top:-8%;opacity:.18}
 .shop-logo-stamp.stamp-main{width:390px;right:-43%;top:auto;bottom:-22%;transform:rotate(-8deg);opacity:.16}
 .shop-logo-stamp.stamp-edge{display:none}
}

/* Display headings and navigation carry the same uppercase Tincraft voice. */
:is(.homepage,.journey-page,.shop-page,.package-page) :is(h1,h2,h3){text-transform:uppercase}
.homepage .designer-feature+#builds{padding-top:0}
.homepage #navigation>a,.shop-page .shop-header nav>a,.journey-page .journey-header nav>a,.package-page .detail-header nav>a{
 font-family:var(--display);font-size:20px;font-weight:var(--weight-heading);letter-spacing:.04em;line-height:1.2;text-transform:uppercase;
}
@media(min-width:901px) and (max-width:1250px){.homepage #navigation{gap:var(--space-4)}.homepage #navigation>a{font-size:18px}}
@media(min-width:901px) and (max-width:1150px){.homepage #navigation>a{font-size:16px}}
@media(max-width:700px){
 .journey-page .journey-header nav>a,.package-page .detail-header nav>a{font-size:16px;letter-spacing:.02em}
}
.homepage .package-grid{position:relative;isolation:isolate}
.homepage .package-card{position:relative}
.homepage .package-card:hover,.homepage .package-card:focus-visible{transform:none}
.homepage .package-card .package-link{
 min-height:52px;margin-top:auto;padding:var(--space-4) var(--space-5);
 background:var(--brand-green);color:var(--color-paper);border:1px solid var(--brand-green);
 font-size:var(--text-label);font-weight:var(--weight-action);line-height:1.5;text-decoration:none;
}
.homepage .package-adventure .package-link{background:var(--color-paper);color:var(--brand-green);border-color:var(--color-paper)}
.homepage .package-card:hover .package-link{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}
.homepage .package-adventure:hover .package-link{background:var(--color-surface);color:var(--brand-green);border-color:var(--color-surface)}
/* Package cards use their paper/green surfaces and clear type, without trim. */
.homepage.home-depth .package-card{border:0;box-shadow:none}
.homepage.home-depth .package-card.package-starter :is(.package-description,.price-terms,.package-capacity){color:var(--color-ink)}

.homepage .footer-credits{margin-top:var(--space-3);font-size:var(--text-caption);line-height:1.7;color:var(--color-muted)}
.homepage .footer-credits summary{cursor:pointer;min-height:44px;padding:var(--space-3) 0;width:fit-content;margin-left:auto}
.homepage .footer-credits p{max-width:780px;margin:var(--space-3) 0 var(--space-4) auto}
.homepage .footer-credits a{text-decoration:underline;text-underline-offset:3px}

/* Texture belongs to the paper and painted surfaces; photographs stay clean. */
body.homepage,body.shop-page:not(.product-page){background-image:url('assets/rugged-paper.svg');background-size:240px 240px}
.homepage :is(.designer-feature,.package-adventure,.craft-section,.contact-section),.shop-page .shop-hero-branded{background-image:url('assets/rugged-paper.svg'),url('assets/grain-chalk.png');background-size:240px 240px,192px 192px}
.homepage .package-starter{background-image:url('assets/rugged-paper.svg');background-size:240px 240px}
.homepage :is(.completed-heading,.packages-heading){position:relative;padding-bottom:var(--space-4)}
.homepage :is(.completed-heading,.packages-heading)::after{content:"";position:absolute;bottom:0;left:0;width:88px;height:4px;background:var(--brand-green);clip-path:polygon(0 27%,19% 0,41% 17%,67% 5%,100% 30%,96% 72%,72% 100%,46% 78%,20% 96%,2% 70%)}
.homepage .craft-image>img{object-position:center 48%}
.motion-enter{opacity:0;transform:translateY(16px);transition:opacity .75s ease var(--enter-delay,0ms),transform .75s cubic-bezier(.2,.65,.3,1) var(--enter-delay,0ms)}
.motion-enter.has-entered{opacity:1;transform:none}
.homepage :is(.button,.underlined-link,.designer-cta) .ui-icon,.shop-page .shop-range-enquire .ui-icon{transition:transform .25s ease}
.homepage :is(.button,.underlined-link,.designer-cta):hover .ui-icon,.shop-page .shop-range-enquire:hover .ui-icon{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.motion-enter{opacity:1;transform:none;transition:none}.homepage :is(.button,.underlined-link,.designer-cta) .ui-icon,.shop-page .shop-range-enquire .ui-icon{transition:none;transform:none}}
@media(prefers-reduced-motion:reduce){.homepage :is(.button,.underlined-link,.designer-cta):hover .ui-icon,.shop-page .shop-range-enquire:hover .ui-icon{transform:none}}

/* Fine dark edges define the site's painted green surfaces. */
.homepage :is(.brand-strip,.package-adventure,.designer-feature,.contact-section,.nav-cta),
.shop-page :is(.shop-hero,.contact-band),.product-page .product-enquiry,.package-page .detail-summary,
.journey-page .journey-button:not(.secondary),.build-planner-page .primary{
 border:1px solid var(--color-ink);
}
.homepage .package-starter .package-link{border-color:var(--color-ink)}
.shop-page .shop-range-enquire{border:1px solid var(--color-ink)}
.build-planner-page .lighting button[aria-pressed=true],.layout-page :is(.view-bar,.feature-buttons,.scene-controls) button[aria-pressed=true]{border-color:var(--color-ink)}
:is(.homepage .site-header,.shop-page .shop-header,.journey-page .journey-header,.package-page .detail-header){position:relative}
:is(.homepage .site-header,.shop-page .shop-header,.journey-page .journey-header,.package-page .detail-header)::after{
 content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;
 background:var(--brand-green);box-shadow:0 1px 0 var(--color-ink);z-index:0;pointer-events:none;
}
@media(max-width:800px){
 .product-photo-pending{aspect-ratio:auto;flex-direction:row}
 .product-photo-pending>img{width:72px}
 .product-photo-pending>p{text-align:left}
}

/* Catalogue: a single, edge-to-edge link per product, with a clear photo first. */
.shop-page .product-grid{gap:32px 24px}
.shop-page .product-card{border:0;background:var(--color-surface);box-shadow:0 1px 0 var(--color-line);padding:0;gap:0;overflow:visible;min-width:0;transition:transform .25s,box-shadow .25s}
.shop-page .product-card>a.product-card-link{display:flex;flex:1;flex-direction:column;width:100%;height:100%;margin:0;padding:0;border:0;min-height:0;color:var(--color-ink);text-decoration:none;font-weight:400;overflow:hidden}
.shop-page .product-card .product-image{display:block;position:relative;aspect-ratio:4/3;min-height:0;margin:0;padding:0;border:0;background:var(--brand-green);overflow:hidden}
.shop-page .product-card .product-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.005);transition:transform .55s ease}
.shop-page .product-card .product-info{display:flex;flex:1;flex-direction:column;padding:24px 24px 0;gap:0}
.shop-page .product-card .product-type{margin-bottom:12px;font-size:11px;font-weight:700}
.shop-page .product-card h3{font-size:32px;line-height:1.1;max-width:none;overflow-wrap:normal;margin:0 0 20px}
.shop-page .product-card .card-price{margin-top:auto;padding:0;font:600 18px/1.6 var(--text);color:var(--brand-green)}
.shop-page .product-card .shop-price-terms{font-size:12px;margin-top:6px}
.product-card-action{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;margin:20px 24px 0;border-top:1px solid var(--color-line);font:700 13px/1.5 var(--text)}
.product-card-action>span{font:400 24px/1 var(--text);transition:transform .25s}
.shop-page .product-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #141c1814}
.shop-page .product-card-link:hover .product-image>img{transform:scale(1.045)}
.shop-page .product-card-link:hover .product-card-action>span{transform:translate(2px,-2px)}
.shop-page .product-card-link:focus-visible{outline:3px solid var(--brand-green);outline-offset:5px}
.shop-page .product-card .product-image-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;background-color:var(--brand-green);background-image:url('assets/rugged-paper.svg'),url('assets/grain-chalk.png');color:var(--color-paper)}
.shop-page .product-card .product-image-pending>img{width:135px;height:auto;object-fit:contain;transform:none;filter:invert(94%) sepia(9%) saturate(250%);mix-blend-mode:screen}
.shop-page .product-card .product-image-pending>span{font-size:12px;color:var(--color-paper);text-align:center}
.product-results-count{font-size:12px;color:var(--color-muted);margin:0 0 20px}
.shop-page .catalogue-bar{gap:24px;padding:16px 0}
.shop-page .search input{width:220px;border-bottom-color:var(--brand-green)}
.shop-page .search input:focus-visible{outline:2px solid var(--brand-green);outline-offset:4px}
.shop-page .filters button{min-height:44px}
.shop-page .shop-hero-branded{background-image:url('assets/rugged-paper.svg'),url('assets/designer-contours.svg'),radial-gradient(ellipse at 75% 45%,#f2f0e716,transparent 65%),url('assets/grain-chalk.png');background-size:240px 240px,auto 140%,auto,192px 192px;background-position:0 0,right center,center,0 0;background-repeat:repeat,no-repeat,no-repeat,repeat}
.shop-page .shop-logo-stamp{mix-blend-mode:screen}
.shop-page .contact-band,.product-page .product-enquiry{background-image:url('assets/rugged-paper.svg'),url('assets/grain-chalk.png');background-size:240px 240px,192px 192px}
/* Filled detail frames and thumbnails; the enlargement shows the entire original. */
.product-page .product-photo{border:0;background:transparent;overflow:hidden}
.product-page .product-photo-open>img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;object-position:center}
.product-page .product-thumb{padding:0;border:0;background:transparent;overflow:hidden}
.product-page .product-thumb>img{object-fit:cover}
.product-page .product-thumb[aria-pressed=true]{padding:0;border:0;outline:2px solid var(--brand-green);outline-offset:2px}
.homepage .contact-actions .contact-phone{font-size:18px;min-height:52px}
@media(max-width:980px){.shop-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.shop-page .catalogue-bar{align-items:start;flex-direction:column}.shop-page .search{width:100%;margin:0}.shop-page .search input{width:100%}}
@media(max-width:560px){.shop-page .product-grid{grid-template-columns:minmax(0,1fr);gap:32px}.shop-page .product-card h3{font-size:32px}.shop-page .product-card .product-info{padding:24px 20px 0}.product-card-action{margin:20px 20px 0}.shop-page .filters{gap:4px}.shop-page .filters button{padding:10px 12px}.shop-page .product-card .product-image-pending>img{width:140px}}
@media(prefers-reduced-motion:reduce){.shop-page .product-card,.shop-page .product-card .product-image>img,.product-card-action>span{transition:none}.shop-page .product-card:hover,.shop-page .product-card-link:hover .product-image>img,.shop-page .product-card-link:hover .product-card-action>span{transform:none}}

/* One worn-print treatment follows headings through every page. The em-sized
   pattern keeps wear proportional to the lettering, including small titles.
   Text stays live and retains the existing colour, spacing and hierarchy. */
:is(.homepage,.journey-page,.shop-page,.package-page,.build-planner-page,.layout-page) :is(h1,h2,h3,h4,h5,h6){
 -webkit-mask-image:url('assets/distress-alpha.png');mask-image:url('assets/distress-alpha.png');
 -webkit-mask-repeat:repeat;mask-repeat:repeat;
 -webkit-mask-size:5.8em 4.3em;mask-size:5.8em 4.3em;mask-mode:alpha;
}
/* Smaller titles retain the same pattern with shallower wear. */
:is(.homepage,.journey-page,.shop-page,.package-page) :is(h3,h4,h5,h6),
:is(.build-planner-page,.layout-page) :is(h1,h2,h3,h4,h5,h6){
 -webkit-mask-image:url('assets/distress-alpha.png'),linear-gradient(#0009,#0009);
 mask-image:url('assets/distress-alpha.png'),linear-gradient(#0009,#0009);
 -webkit-mask-size:5.8em 4.3em,auto;mask-size:5.8em 4.3em,auto;
 -webkit-mask-composite:source-over;mask-composite:add;
}
@media(forced-colors:active),print{
 :is(.homepage,.journey-page,.shop-page,.package-page,.build-planner-page,.layout-page) :is(h1,h2,h3,h4,h5,h6){-webkit-mask-image:none;mask-image:none}
}

/* Shared heading roles take precedence over photographic layout layers.
   Keep titles, sections, subheadings and compact planner UI distinct. */
body.homepage.home-depth .home-hero h1{
 font-size:var(--title-size);line-height:1.02;letter-spacing:-.02em;
}
body.homepage.home-depth main h2{
 font-family:var(--display);font-size:var(--section-size);font-weight:var(--weight-heading);line-height:1.05;letter-spacing:-.02em;
}
body.homepage.home-depth main h3,
body.journey-page h3,body.package-page h3,body.shop-page h3{
 font-family:var(--display);font-size:var(--card-heading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.01em;
}
body.homepage.home-depth .gallery-bar h2,
body.homepage.home-depth .planner-film-dialog-head h2{
 font-family:var(--display);font-size:var(--subheading-size);font-weight:var(--weight-heading);line-height:1.1;letter-spacing:-.02em;
}

/* Breadcrumbs must stay readable on the paper background. */
.package-page .detail-breadcrumb,.product-page .detail-breadcrumb{color:var(--color-muted)}

.package-page .detail-summary{border:0;box-shadow:none}

/* Start build-page copy at the same top edge as its adjacent photograph. */
@media(min-width:801px){.journey-page .case-hero>.case-details{padding-top:0}}
