
:root{--cream:#f7f2ea;--paper:#fbf8f2;--ink:#26201b;--ink-soft:#5c5148;--timber:#9a6a3c;
--timber-deep:#7a4f28;--bush:#2f4032;--line:#e6ddce;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
*{box-sizing:border-box;}html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:.2px;}
a{color:var(--timber-deep);text-decoration:none;}a:hover{text-decoration:underline;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:600;color:var(--timber);margin:0 0 14px;}
header{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.5px;color:var(--ink);}
.brand span{color:var(--timber);}.brand small{font-size:.62em;letter-spacing:.18em;color:var(--timber);font-weight:700;vertical-align:2px;}
.navlinks{display:flex;gap:26px;align-items:center;}
.navlinks a{font-size:14.5px;color:var(--ink-soft);font-weight:500;}
.navlinks a:hover{color:var(--ink);text-decoration:none;}.navlinks a.active{color:var(--timber-deep);border-bottom:2px solid var(--timber);}
.navcta{border:1px solid var(--timber);color:var(--timber-deep)!important;padding:8px 16px;border-radius:999px;font-weight:600;}
.navcta:hover{background:var(--timber);color:#fff!important;text-decoration:none;}
.navcta.active{border-bottom:1px solid var(--timber);}
.burger{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink);}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15.5px;border:1px solid transparent;cursor:pointer;transition:.15s;}
.btn-primary{background:var(--timber-deep);color:#fff;}.btn-primary:hover{background:var(--bush);text-decoration:none;color:#fff;}
.btn-ghost{border-color:var(--ink);color:var(--ink);}.btn-ghost:hover{background:var(--ink);color:var(--cream);text-decoration:none;}
.btns{display:flex;gap:14px;flex-wrap:wrap;}
section{padding:76px 0;}
.section-head{max-width:680px;margin:0 0 42px;}
.section-head h2{font-size:clamp(28px,4vw,40px);margin:0 0 12px;}.section-head p{font-size:18px;color:var(--ink-soft);margin:0;}
.hero{background:radial-gradient(120% 90% at 90% 10%,rgba(154,106,60,.16),transparent 60%),linear-gradient(180deg,#f7f2ea,#efe6d6);padding:66px 0 72px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;}
.hero h1{font-size:clamp(34px,5vw,58px);margin:0 0 18px;letter-spacing:-.5px;}.hero h1 em{font-style:italic;color:var(--timber-deep);}
.hero p.lede{font-size:clamp(17px,2.2vw,21px);color:var(--ink-soft);max-width:520px;margin:0 0 28px;}
.hero-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hcard{margin:0;position:relative;}.hcard img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 18px 44px rgba(38,32,27,.20);display:block;}
.hcard figcaption{position:absolute;left:10px;bottom:10px;background:rgba(38,32,27,.72);color:#f3efe6;font-size:12px;padding:6px 10px;border-radius:7px;}
.page-hero{background:linear-gradient(180deg,#f7f2ea,#efe6d6);padding:56px 0 44px;border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(32px,5vw,48px);margin:0 0 10px;}.page-hero p{font-size:19px;color:var(--ink-soft);margin:0;max-width:660px;}
.band{background:var(--bush);color:#f3efe6;}.band .eyebrow{color:#e9c9a3;}
.band .band-title{font-size:clamp(34px,5.2vw,52px);color:#fff;margin:0 0 20px;letter-spacing:.2px;}
.band .lede{font-size:clamp(20px,2.6vw,26px);font-family:var(--serif);line-height:1.4;max-width:780px;margin:0;color:#f3efe6;}
.band .lede strong{color:#e9c9a3;font-weight:600;}
.alt{background:var(--paper);}
.crafts{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.craft{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;}
.craft .k{font-size:13px;color:var(--timber);text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:14px;}
.craft h3{font-size:22px;margin:0 0 10px;}.craft p{margin:0;color:var(--ink-soft);}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tile{margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(38,32,27,.06);}
.tile img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.tile figcaption{padding:12px 14px;font-size:14px;font-weight:600;color:var(--ink);}
.group{margin:0 0 46px;}.group-title{font-family:var(--serif);font-size:25px;margin:0 0 4px;}
.group-sub{margin:0 0 20px;color:var(--ink-soft);font-size:15px;}
.trophy{margin:0 0 40px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 44px rgba(38,32,27,.16);background:#fff;}
.trophy img{width:100%;display:block;}.trophy figcaption{padding:14px 18px;font-size:15px;color:var(--ink-soft);}
.trophy.narrow{max-width:470px;margin-left:auto;margin-right:auto;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 22px;}
.step .n{font-family:var(--serif);font-size:34px;color:var(--timber);line-height:1;margin-bottom:12px;}
.step h3{font-size:18px;margin:0 0 8px;}.step p{margin:0;font-size:15px;color:var(--ink-soft);}
.cultural{margin-top:40px;background:var(--paper);border-left:3px solid var(--bush);padding:22px 26px;border-radius:0 12px 12px 0;max-width:760px;}
.cultural h3{font-size:19px;margin:0 0 8px;}.cultural p{margin:0;color:var(--ink-soft);}
.about-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:start;}
.about-copy p{margin:0 0 18px;}.about-copy p:first-child{font-size:19px;}
.whakatauki{background:var(--bush);color:#f3efe6;border-radius:16px;padding:34px 30px;}
.whakatauki .txt{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:#fff;margin:0 0 16px;}
.whakatauki .tr{font-size:15px;color:#d9cbb6;margin:0 0 14px;}.whakatauki .by{font-size:13px;color:#b9a888;margin:0;}
.story{margin:44px 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 44px rgba(38,32,27,.14);background:#fff;}
.story img{width:100%;display:block;}.story figcaption{padding:16px 20px;font-size:15.5px;color:var(--ink-soft);line-height:1.6;}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.feature img{width:100%;border-radius:14px;box-shadow:0 14px 40px rgba(38,32,27,.14);display:block;}
.teaser-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;}
.teaser-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line);}
.cta-band{background:var(--ink);color:#efe7da;text-align:center;}
.cta-band h2{color:#fff;font-size:clamp(26px,4vw,38px);margin:0 0 14px;}
.cta-band p{font-size:18px;color:#cfc3b2;max-width:560px;margin:0 auto 26px;}
.cta-band .btn-primary{background:var(--timber);}.cta-band .contact-lines{font-family:var(--serif);font-size:clamp(19px,3vw,25px);margin:24px 0 0;}
.cta-band .contact-lines a{color:#e9c9a3;}.signoff{margin-top:34px;font-family:var(--serif);font-style:italic;font-size:19px;color:#cfc3b2;}
footer{background:#1c1712;color:#8f8375;padding:32px 0;font-size:13.5px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;}
footer .fbrand{font-family:var(--serif);color:#c9b393;font-size:16px;}footer a{color:#a99;}
@media(max-width:860px){
.navlinks{position:fixed;inset:64px 0 auto 0;background:var(--cream);flex-direction:column;gap:0;border-bottom:1px solid var(--line);padding:8px 0;display:none;}
.navlinks.open{display:flex;}.navlinks a{padding:14px 24px;width:100%;}.navcta{margin:10px 24px;text-align:center;}
.burger{display:block;}
.hero-grid,.crafts,.about-grid,.feature{grid-template-columns:1fr;}.hero-duo{order:-1;}
.grid,.steps{grid-template-columns:1fr 1fr;}.teaser-thumbs{grid-template-columns:repeat(4,1fr);}}
@media(max-width:520px){.grid,.steps,.teaser-thumbs{grid-template-columns:1fr 1fr;}}
/* enquiry form */
.enquiry-form{max-width:660px;margin:8px 0 0;}
.enquiry-form .field{display:flex;flex-direction:column;margin:0 0 18px;}
.enquiry-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.enquiry-form label{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 6px;}
.enquiry-form label .opt{font-weight:400;color:var(--ink-soft);}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%;}
.enquiry-form textarea{resize:vertical;line-height:1.5;}
.enquiry-form input[type=file]{padding:9px 12px;background:var(--paper);cursor:pointer;}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:none;border-color:var(--timber);box-shadow:0 0 0 3px rgba(154,106,60,.18);}
.enquiry-form button{margin-top:8px;}
.hidden-field{display:none;}
@media(max-width:560px){.enquiry-form .field-row{grid-template-columns:1fr;}}
