
:root{--cream:#f8f5ef;--paper:#fffdf9;--sage:#778574;--sage-dark:#53634f;--ink:#353831;--muted:#77786f;--line:#e6e0d6;--rose:#b9827c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Georgia,"Times New Roman",serif}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
header{background:rgba(248,245,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.brand img{width:260px;height:105px;object-fit:contain}.links{display:flex;gap:25px;align-items:center;font:13px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.links a{text-decoration:none}.links a:hover{color:var(--sage-dark)}.nav-cta{padding:11px 16px;border:1px solid var(--sage);border-radius:2px}
.hero{padding:72px 0 76px;background:radial-gradient(ellipse at 80% 15%,#e7e8df 0,transparent 40%),var(--cream)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.eyebrow{font:12px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-dark)}h1,h2,h3{font-weight:400;line-height:1.15;margin:0 0 18px}h1{font-size:clamp(42px,5.5vw,70px);letter-spacing:-.035em}h2{font-size:clamp(30px,4vw,46px)}h3{font-size:25px}.hero p{font-size:19px;color:#65675f;max-width:490px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-block;padding:13px 21px;text-decoration:none;font:13px Arial,sans-serif;letter-spacing:.06em;border:1px solid var(--sage-dark)}.btn.primary{background:var(--sage-dark);color:white}.btn.secondary{color:var(--sage-dark)}.hero-photo{height:440px;overflow:hidden;border-radius:48% 48% 4px 4px;background:#e9e2d6}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
section{padding:78px 0}.section-head{max-width:650px;margin:0 auto 42px;text-align:center}.section-head p{color:var(--muted);margin:0}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category{background:var(--paper);padding:27px 25px;border:1px solid var(--line);min-height:180px}.category .num{font:11px Arial,sans-serif;color:var(--rose);letter-spacing:.12em}.category h3{margin:13px 0 9px}.category p{margin:0;color:var(--muted);font-size:15px}
.feature{background:#eeeee7}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.feature-img{height:440px;background:#e4ddd1;overflow:hidden}.feature-img img{width:100%;height:100%;object-fit:cover}.feature-copy p{color:#62645c}.note{border-left:2px solid var(--rose);padding:9px 0 9px 18px;margin:23px 0;color:#65675f;font-style:italic}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery-card{background:var(--paper);border:1px solid var(--line)}.gallery-card img{width:100%;height:370px;object-fit:cover}.gallery-card .caption{padding:20px 22px}.caption small{font:11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-dark)}.caption h3{margin:7px 0 4px}.caption p{margin:0;color:var(--muted);font-size:15px}
.process{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:1px solid var(--line);padding-top:20px}.step b{font:12px Arial,sans-serif;color:var(--rose);letter-spacing:.1em}.step h3{margin:12px 0}.step p{margin:0;color:var(--muted)}
.contact{background:var(--sage-dark);color:#fff}.contact .section-head p{color:#e0e4dc}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:start}.contact-info p{color:#e0e4dc}.contact-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px}.contact-links a{color:white;text-underline-offset:4px}.form{background:var(--paper);color:var(--ink);padding:28px}.form label{display:block;font:12px Arial,sans-serif;letter-spacing:.05em;margin:0 0 6px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #d8d4ca;background:#fffdf9;font:15px Georgia,serif;margin-bottom:17px;border-radius:0}.form textarea{min-height:120px;resize:vertical}.form button{cursor:pointer;background:var(--sage-dark);color:white;border:0;padding:14px 20px;font:13px Arial,sans-serif;letter-spacing:.06em}.form .small{font:12px Arial,sans-serif;color:var(--muted);margin:12px 0 0}
footer{padding:27px 0;color:var(--muted);font:12px Arial,sans-serif}.footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media(max-width:760px){.nav{flex-direction:column;padding:12px 0}.brand img{width:210px;height:86px}.links{gap:14px;flex-wrap:wrap;justify-content:center;font-size:11px}.hero{padding:44px 0}.hero-grid,.feature-grid,.contact-layout{grid-template-columns:1fr;gap:30px}.hero-photo{height:330px;order:-1}.categories{grid-template-columns:1fr 1fr}.gallery-grid,.steps{grid-template-columns:1fr}.gallery-card img{height:300px}section{padding:55px 0}.feature-img{height:330px}}
@media(max-width:440px){.categories{grid-template-columns:1fr}.links{gap:10px}.nav-cta{padding:8px 10px}}

/* Additional catalogue and page layouts */
.page-intro{padding:64px 0 42px;text-align:center}.page-intro p{max-width:670px;margin:0 auto;color:var(--muted);font-size:18px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}.product-card img,.photo-placeholder{width:100%;height:255px;object-fit:cover}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9e9df,#f4eee7);color:var(--sage-dark);font:15px Arial,sans-serif;text-align:center;gap:8px;padding:20px}.photo-placeholder small{font-size:12px;color:var(--muted)}.product-card-content{padding:24px;display:flex;flex-direction:column;flex:1}.product-card-content p{color:var(--muted);font-size:15px;flex:1}.product-card .btn{align-self:flex-start;margin-top:12px}.pill{font:11px Arial,sans-serif;color:var(--sage-dark);letter-spacing:.1em;text-transform:uppercase}.center-cta{text-align:center;margin-top:40px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.detail{background:var(--paper);border:1px solid var(--line);padding:29px}.detail p{color:var(--muted)}.form .hint{font:13px Arial,sans-serif;color:var(--muted);margin-top:-8px}.form-status{padding:12px 14px;margin:12px 0 0;font:14px Arial,sans-serif;display:none}.form-status.visible{display:block;background:#edf1e9;color:#354b36}.form-status.error{background:#f9e9e6;color:#7f3430}.notice{color:var(--muted);font-size:14px}.contact-form-title{color:var(--ink)}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.product-grid,.detail-grid{grid-template-columns:1fr}.page-intro{padding:46px 0 22px}.product-card img,.photo-placeholder{height:280px}}

/* Real product photo galleries */
.product-photos{background:#f0ece4}.product-feature-photo{display:block;width:100%;height:285px;object-fit:cover}.product-thumbnails{display:flex;gap:8px;padding:10px;overflow-x:auto}.product-thumb{padding:0;border:2px solid transparent;background:none;cursor:pointer;flex:0 0 68px;border-radius:2px}.product-thumb.selected,.product-thumb:focus-visible{border-color:var(--sage-dark);outline-offset:2px}.product-thumb img{width:100%;height:60px;object-fit:cover;display:block}.product-card-content{min-height:240px}.product-card .btn{margin-top:auto}

/* Homepage maker introduction */
.about-section{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.about-photo-placeholder{min-height:385px;padding:28px;border:1px solid var(--line);background:linear-gradient(135deg,#e5e8e0,#eee7df);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:var(--sage-dark);text-align:center}
.about-photo-placeholder>span:nth-child(2){font-size:25px}.about-photo-placeholder small{font:13px Arial,sans-serif;color:var(--muted)}
.about-copy p{color:#62645c}.about-story-note{padding-left:17px;border-left:2px solid var(--rose);font-style:italic}.about-copy .btn{margin-top:10px}
@media(max-width:760px){.about-grid{grid-template-columns:1fr;gap:28px}.about-photo-placeholder{min-height:240px}}

/* About Me portrait */
.about-photo{width:100%;height:440px;overflow:hidden;border-radius:4px;background:#e9e2d6}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:760px){.about-photo{height:330px}}

/* Larger, more accessible action buttons */
.btn, .form button { font-size:16px; font-weight:600; min-height:50px; padding:15px 25px; display:inline-flex; align-items:center; justify-content:center; text-align:center; line-height:1.35; }
.form button { cursor:pointer; }
.nav-cta { font-size:15px; font-weight:600; padding:13px 20px; min-height:48px; display:inline-flex; align-items:center; }
.product-price { margin:14px 0 18px; font:700 19px/1.4 Arial,sans-serif; color:var(--sage-dark); }
.product-card-content { display:flex; flex-direction:column; align-items:flex-start; }
.product-card-content .btn { margin-top:auto; }
.contact-details { border-top:1px solid rgba(255,255,255,.35); padding-top:16px; margin-top:20px; }
.contact-details a { color:inherit; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:600px) { .btn, .form button { min-height:52px; } }
