← Templates<Page>
Casa Albero page
A guesthouse's landing page, with the hills drawn as an SVG in an arched window.
Casa Albero (https://casaalbero.example) House (https://casaalbero.example/house) Rooms (https://casaalbero.example/rooms) Year (https://casaalbero.example/year) Travel (https://casaalbero.example/travel) Book a stay (https://casaalbero.example/book) A guesthouse in the hills above Lucca STAY WHERE THE OLIVES GROW. Six rooms in a stone farmhouse, a long table under the pergola, and forty hectares of olives that we pick by hand each November. Twenty minutes from Lucca, and a long way from anywhere. Book a stay (https://casaalbero.example/book) See the rooms (https://casaalbero.example/rooms) [Hills above Lucca at evening: a farmhouse with a tower, olive groves, a white road and cypresses, framed by an arched window.] The house A FARMHOUSE THAT HAS FED ITSELF FROM ITS OWN HILL SINCE 1780. The house was built by a family of olive pressers, and the old press is still in the cellar, under the room that now carries its name. We moved here in 2014 with two children and no idea how to prune a tree. Twelve years on, breakfast is our own bread, our neighbours’ eggs and figs from the wall by the pool; supper, four nights a week, is at one long table for everyone staying. Giulia and Tomás The rooms SIX ROOMS, NO TWO ALIKE La Torre Up the tower’s own stair, with windows on all four sides. €320 sleeps 2 Il Frantoio The old olive press room, vaulted, and cool all summer. €260 sleeps 2 or 3 La Limonaia The lemon house, opening onto the garden and the pool. €240 sleeps 2 Il Fienile The hayloft, under the beams, with a bath by the window. €220 sleeps 2 La Loggia Off the loggia, looking west over the valley to the sea. €200 sleeps 2 Le Stalle The old stables: two rooms, for a family. €180 sleeps 4 Prices are a night for the room, with breakfast. Supper at the long table is €45 a head, wine from the hill included. The year at the house Spring March to May Wild asparagus in the hedges, the first swims, and the hills green for a few weeks. Summer June to August Long days, the pool, and supper outside under the pergola until the swifts go to bed. Autumn September to November The harvest. Pick with us for a morning, and take home a litre of oil from your trees. Winter December to February We close in January and February: the house rests, and so do we. THE HARVEST WEEKS ARE FILLING UP. From €180 a night, with breakfast. Free to cancel until thirty days before you come. Book a stay (https://casaalbero.example/book) Casa Albero, Via di Vallebuia 14, 55100 Lucca, Italy stay@casaalbero.example (mailto:stay@casaalbero.example) · +39 0583 000 412
Page 1200px: background #fbf7f0
Section 1200px
Row 1104px: 2 side by side
Column 1088px
Text 1088px "Casa Albero (https://casaalbero.example)"
Row: 2 side by side
Row: 4 side by side, desktop only
Text "House (https://casaalbero.example/house)"
Text "Rooms (https://casaalbero.example/rooms)"
Text "Year (https://casaalbero.example/year)"
Text "Travel (https://casaalbero.example/travel)"
Button: background transparent "Book a stay" → https://casaalbero.example/book
Section 1200px
Row 1104px: 2 side by side, stacked on phones
Column 512px
Text 512px "A guesthouse in the hills above Lucca"
Heading h1 512px "Stay where the olives grow."
Text 470px "Six rooms in a stone farmhouse, a long table under the pergola, and forty hecta…"
Row 512px: 2 side by side
Button: background #a9472a "Book a stay" → https://casaalbero.example/book
Text 424px "See the rooms (https://casaalbero.example/rooms)"
Column 520px
Image 520px [Hills above Lucca at evening: a farmhouse with a tower, olive groves, a white road and cypresses, framed by an arched window.] data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%…
Section 1200px: background #f2eadd
Text 1104px "The house"
Row 1104px: 2 side by side, stacked on phones
Column 520px
Heading h2 520px "A farmhouse that has fed itself from its own hill since 1780."
Column 528px
Text 528px "The house was built by a family of olive pressers, and the old press is still i…"
Text 528px "Twelve years on, breakfast is our own bread, our neighbours’ eggs and figs from…"
Text 528px "Giulia and Tomás"
Section 1200px
Column 1104px
Text 1104px "The rooms"
Heading h2 1104px "Six rooms, no two alike"
Column 1104px
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "La Torre"
Column 612px
Text 612px "Up the tower’s own stair, with windows on all four sides."
Column 84px
Text 84px "€320"
Text 84px "sleeps 2"
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "Il Frantoio"
Column 612px
Text 612px "The old olive press room, vaulted, and cool all summer."
Column 84px
Text 84px "€260"
Text 84px "sleeps 2 or 3"
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "La Limonaia"
Column 612px
Text 612px "The lemon house, opening onto the garden and the pool."
Column 84px
Text 84px "€240"
Text 84px "sleeps 2"
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "Il Fienile"
Column 612px
Text 612px "The hayloft, under the beams, with a bath by the window."
Column 84px
Text 84px "€220"
Text 84px "sleeps 2"
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "La Loggia"
Column 612px
Text 612px "Off the loggia, looking west over the valley to the sea."
Column 84px
Text 84px "€200"
Text 84px "sleeps 2"
Row 1104px: 2 side by side
Row 988px: 2 side by side, stacked on phones
Column 372px
Text 340px "Le Stalle"
Column 612px
Text 612px "The old stables: two rooms, for a family."
Column 84px
Text 84px "€180"
Text 84px "sleeps 4"
Text 1104px "Prices are a night for the room, with breakfast. Supper at the long table is €4…"
Section 1200px
Text 1104px "The year at the house"
Row 1104px: 2 side by side, stacked on phones
Row 536px: 2 side by side, stacked on phones
Column 252px
Text 252px "Spring"
Text 252px "March to May"
Text 252px "Wild asparagus in the hedges, the first swims, and the hills green for a few we…"
Column 252px
Text 252px "Summer"
Text 252px "June to August"
Text 252px "Long days, the pool, and supper outside under the pergola until the swifts go t…"
Row 536px: 2 side by side, stacked on phones
Column 252px
Text 252px "Autumn"
Text 252px "September to November"
Text 252px "The harvest. Pick with us for a morning, and take home a litre of oil from your…"
Column 252px
Text 252px "Winter"
Text 252px "December to February"
Text 252px "We close in January and February: the house rests, and so do we."
Section 1200px: background #a9472a
Row 1104px: 2 side by side, stacked on phones
Column 816px
Heading h2 816px "The harvest weeks are filling up."
Text 560px "From €180 a night, with breakfast. Free to cancel until thirty days before you …"
Column 240px
Button 240px: background #fbf7f0 "Book a stay" → https://casaalbero.example/book
Section 1200px
Row 1104px: 2 side by side, stacked on phones
Column 1096px
Text 1096px "Casa Albero, Via di Vallebuia 14, 55100 Lucca, Italy"
Column
Text 1104px "stay@casaalbero.example (mailto:stay@casaalbero.example) · +39 0583 000 412"- No diagnostics. Nothing to fix, nothing degraded.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Casa Albero, a guesthouse above Lucca</title><meta name="description" content="Six rooms in a stone farmhouse above Lucca, a long table under the pergola, and forty hectares of olives harvested by hand."><style>@font-face{font-family:"Cormorant Garamond";src:url("https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g.woff2") format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:"Cormorant Garamond";src:url("https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSqn7B6D.woff2") format("woff2");font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:"Jost";src:url("https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oTd4jQmfxI.woff2") format("woff2");font-weight:100 900;font-display:swap}.escgf5:hover{background-color:#2b2420!important;color:#fbf7f0!important}.eeiiay:hover{background-color:#8c3a21!important}.eo4oic:hover{background-color:#fff!important}@media (max-width: 480px){.emfqa6{flex-direction:column!important;align-items:stretch!important}.emfqa6>*{flex:0 0 auto!important;width:auto!important;max-width:100%!important;align-self:stretch!important}.elyk3j{padding:20px!important}.epbr0g{display:none!important}.eve95z{padding:12px 20px 56px 20px!important}.e6s3tb{gap:36px!important}.efgk0a{font-size:58px!important;letter-spacing:-1px!important}.eqqzlu{font-size:18px!important}.e83nly{padding:56px 20px!important}.e4870m{gap:24px!important}.ecetct{font-size:40px!important}.ecpu1b{padding:0!important}.e8bv1y{padding:56px 20px 24px 20px!important;gap:20px!important}.e7jrc1{gap:12px!important}.e43mfq{font-size:25px!important}.eb0ct3{font-size:15px!important}.efkq5b{padding:40px 20px 64px 20px!important;gap:24px!important}.e6pph6{gap:28px!important}.e0jiy7{font-size:42px!important}.e9lbgm{width:100%!important}.ekas1y{padding:32px 20px 40px 20px!important}}</style></head><body style="margin:0;background-color:#fbf7f0"><main style="display:flex;flex-direction:column;overflow-wrap:break-word;color:#2b2420;font-family:Jost, Futura, 'Century Gothic', 'Helvetica Neue', Arial, sans-serif;font-size:17px;font-weight:300;font-style:normal;line-height:1.6;letter-spacing:0;text-align:left;text-transform:none"><section class="elyk3j" style="display:flex;flex-direction:column;padding:28px max(48px, calc((100% - 1200px) / 2 + 48px)) 28px max(48px, calc((100% - 1200px) / 2 + 48px))"><div style="display:flex;gap:16px;align-items:center;flex-wrap:wrap"><div style="flex:1 1 0%;display:flex;flex-direction:column;min-width:130px"><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;font-style:italic;line-height:1"><a href="https://casaalbero.example" style="color:#2b2420;text-decoration:none">Casa Albero</a></p></div><div style="flex:0 0 auto;min-width:0;display:flex;align-items:center"><div class="epbr0g" style="flex:0 0 auto;min-width:0;display:flex;justify-content:center;flex-wrap:wrap;font-size:15px;font-weight:400;line-height:1.2"><p style="flex:0 0 auto;min-width:0;margin:0;box-sizing:border-box;padding:6px 24px 6px 0"><a href="https://casaalbero.example/house" style="color:#2b2420;text-decoration:none">House</a></p><p style="flex:0 0 auto;min-width:0;margin:0;box-sizing:border-box;padding:6px 24px 6px 0"><a href="https://casaalbero.example/rooms" style="color:#2b2420;text-decoration:none">Rooms</a></p><p style="flex:0 0 auto;min-width:0;margin:0;box-sizing:border-box;padding:6px 24px 6px 0"><a href="https://casaalbero.example/year" style="color:#2b2420;text-decoration:none">Year</a></p><p style="flex:0 0 auto;min-width:0;margin:0;box-sizing:border-box;padding:6px 24px 6px 0"><a href="https://casaalbero.example/travel" style="color:#2b2420;text-decoration:none">Travel</a></p></div><a class="escgf5" href="https://casaalbero.example/book" style="flex:0 0 auto;min-width:0;align-self:center;display:inline-block;text-decoration:none;color:#2b2420;font-size:14px;font-weight:500;line-height:1.2;text-align:center;box-sizing:border-box;padding:10px 18px;background-color:transparent;border:1px solid #2b2420;border-radius:999px">Book a stay</a></div></div></section><section class="eve95z" style="display:flex;flex-direction:column;padding:24px max(48px, calc((100% - 1200px) / 2 + 48px)) 88px max(48px, calc((100% - 1200px) / 2 + 48px))"><div class="e6s3tb emfqa6" style="display:flex;gap:72px;align-items:center;flex-wrap:wrap"><div style="flex:0 1 512px;min-width:0;display:flex;flex-direction:column;gap:28px"><p style="margin:0;color:#a9472a;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase">A guesthouse in the hills above Lucca</p><h1 class="efgk0a" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:92px;font-weight:500;line-height:0.92;letter-spacing:-2px">Stay where the olives grow.</h1><p class="eqqzlu" style="align-self:flex-start;width:100%;margin:0;font-size:20px;line-height:1.55;max-width:470px">Six rooms in a stone farmhouse, a long table under the pergola, and forty hectares of olives that we pick by hand each November. Twenty minutes from Lucca, and a long way from anywhere.</p><div style="display:flex;gap:28px;align-items:center"><a class="eeiiay" href="https://casaalbero.example/book" style="flex:0 0 auto;min-width:0;align-self:center;display:inline-block;text-decoration:none;color:#fff;font-size:16px;font-weight:500;line-height:1.2;text-align:center;box-sizing:border-box;padding:16px 30px;background-color:#a9472a;border-radius:999px">Book a stay</a><p style="flex:1 1 0%;min-width:0;margin:0;font-size:16px;font-weight:400"><a href="https://casaalbero.example/rooms" style="color:#2b2420;text-decoration:underline">See the rooms</a></p></div></div><div style="flex:1 1 0%;display:flex;flex-direction:column;min-width:280px;max-width:520px"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22560%22%20height%3D%22640%22%20viewBox%3D%220%200%20560%20640%22%3E%0A%20%20%3CclipPath%20id%3D%22arch%22%3E%3Cpath%20d%3D%22M0%20640%20H560%20V280%20A280%20280%200%200%200%200%20280%20Z%22%2F%3E%3C%2FclipPath%3E%0A%20%20%3Cg%20clip-path%3D%22url(%23arch)%22%3E%0A%20%20%20%20%3Crect%20width%3D%22560%22%20height%3D%22640%22%20fill%3D%22%23F3DDBF%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22384%22%20cy%3D%22236%22%20r%3D%2254%22%20fill%3D%22%23E4A23F%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23CAC6A0%22%20d%3D%22M0%20352%20C90%20318%20170%20330%20250%20312%20C330%20294%20420%20300%20560%20330%20V640%20H0%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23A0A66C%22%20d%3D%22M0%20410%20C70%20380%20150%20372%20230%20388%20C320%20406%20400%20368%20560%20380%20V640%20H0%20Z%22%2F%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22300%22%20cy%3D%22420%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22316%22%20cy%3D%22418%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22332%22%20cy%3D%22416%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22348%22%20cy%3D%22414%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22364%22%20cy%3D%22412%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22380%22%20cy%3D%22410%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22396%22%20cy%3D%22408%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22412%22%20cy%3D%22406%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22428%22%20cy%3D%22404%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22444%22%20cy%3D%22402%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22460%22%20cy%3D%22400%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22476%22%20cy%3D%22398%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22492%22%20cy%3D%22396%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22508%22%20cy%3D%22394%22%20r%3D%225%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22524%22%20cy%3D%22392%22%20r%3D%225%22%2F%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22280%22%20cy%3D%22444%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22297.6%22%20cy%3D%22442.24%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22315.2%22%20cy%3D%22440.48%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22332.8%22%20cy%3D%22438.72%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22350.4%22%20cy%3D%22436.96%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22368%22%20cy%3D%22435.2%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22385.6%22%20cy%3D%22433.44%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22403.2%22%20cy%3D%22431.68%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22420.8%22%20cy%3D%22429.92%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22438.4%22%20cy%3D%22428.16%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22456%22%20cy%3D%22426.4%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22473.6%22%20cy%3D%22424.64%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22491.20000000000005%22%20cy%3D%22422.88%22%20r%3D%225.5%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22508.8%22%20cy%3D%22421.12%22%20r%3D%225.5%22%2F%3E%0A%20%20%20%20%3C!--%20The%20farmhouse%20and%20its%20tower%2C%20on%20the%20far%20ridge.%20--%3E%0A%20%20%20%20%3Crect%20x%3D%22128%22%20y%3D%22356%22%20width%3D%2274%22%20height%3D%2236%22%20fill%3D%22%23EBD3B2%22%2F%3E%0A%20%20%20%20%3Cpolygon%20points%3D%22122%2C358%20165%2C340%20208%2C358%22%20fill%3D%22%23A9472A%22%2F%3E%0A%20%20%20%20%3Crect%20x%3D%22176%22%20y%3D%22326%22%20width%3D%2224%22%20height%3D%2236%22%20fill%3D%22%23E2C59F%22%2F%3E%0A%20%20%20%20%3Cpolygon%20points%3D%22172%2C328%20188%2C316%20204%2C328%22%20fill%3D%22%23A9472A%22%2F%3E%0A%20%20%20%20%3Crect%20x%3D%22140%22%20y%3D%22370%22%20width%3D%228%22%20height%3D%2211%22%20fill%3D%22%236A4A33%22%2F%3E%0A%20%20%20%20%3Crect%20x%3D%22158%22%20y%3D%22370%22%20width%3D%228%22%20height%3D%2211%22%20fill%3D%22%236A4A33%22%2F%3E%0A%20%20%20%20%3Crect%20x%3D%22184%22%20y%3D%22338%22%20width%3D%227%22%20height%3D%229%22%20fill%3D%22%236A4A33%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M116%20392%20C102.54545454545455%20366.1%20108.6%20332.8%20116%20318%20C123.4%20332.8%20129.45454545454547%20366.1%20116%20392%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M214%20392%20C202.72727272727272%20370.3%20207.8%20342.4%20214%20330%20C220.2%20342.4%20225.27272727272728%20370.3%20214%20392%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M228%20394%20C219.63636363636363%20377.9%20223.4%20357.2%20228%20348%20C232.6%20357.2%20236.36363636363637%20377.9%20228%20394%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%236E7B3D%22%20d%3D%22M0%20500%20C120%20470%20230%20486%20330%20470%20C430%20454%20500%20470%20560%20462%20V640%20H0%20Z%22%2F%3E%0A%20%20%20%20%3C!--%20The%20white%20road%20up%20from%20the%20gate.%20--%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23EAD9B9%22%20d%3D%22M300%20640%20C292%20590%20250%20560%20214%20530%20C182%20504%20168%20452%20166%20394%20L171%20394%20C175%20448%20194%20498%20226%20524%20C266%20556%20314%20590%20322%20640%20Z%22%2F%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2220%22%20cy%3D%22540%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2242.400000000000006%22%20cy%3D%22541.2444444444444%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2264.80000000000001%22%20cy%3D%22542.4888888888889%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2287.2%22%20cy%3D%22543.7333333333333%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22109.60000000000001%22%20cy%3D%22544.9777777777778%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22132%22%20cy%3D%22546.2222222222222%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22154.4%22%20cy%3D%22547.4666666666667%22%20r%3D%227%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22176.8%22%20cy%3D%22548.7111111111111%22%20r%3D%227%22%2F%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%220%22%20cy%3D%22566%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2225.6%22%20cy%3D%22567.6168421052631%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2251.2%22%20cy%3D%22569.2336842105263%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%2276.80000000000001%22%20cy%3D%22570.8505263157895%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22102.4%22%20cy%3D%22572.4673684210526%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22128%22%20cy%3D%22574.0842105263158%22%20r%3D%228%22%2F%3E%3Ccircle%20fill%3D%22%236F7B3F%22%20cx%3D%22153.60000000000002%22%20cy%3D%22575.7010526315789%22%20r%3D%228%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%234B5630%22%20d%3D%22M0%20590%20C140%20570%20300%20600%20560%20572%20V640%20H0%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M470%20600%20C431.8181818181818%20526.5%20449%20432%20470%20390%20C491%20432%20508.1818181818182%20526.5%20470%20600%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M512%20604%20C481.45454545454544%20545.2%20495.2%20469.6%20512%20436%20C528.8%20469.6%20542.5454545454545%20545.2%20512%20604%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%233B4824%22%20d%3D%22M434%20606%20C412.1818181818182%20564%20422%20510%20434%20486%20C446%20510%20455.8181818181818%20564%20434%20606%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E" alt="Hills above Lucca at evening: a farmhouse with a tower, olive groves, a white road and cypresses, framed by an arched window." style="align-self:flex-start;display:block;max-width:100%;width:100%;height:auto"></div></div></section><section class="e83nly" style="display:flex;flex-direction:column;gap:20px;padding:96px max(48px, calc((100% - 1200px) / 2 + 48px)) 96px max(48px, calc((100% - 1200px) / 2 + 48px));background-color:#f2eadd"><p style="margin:0;color:#a9472a;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase">The house</p><div class="e4870m emfqa6" style="display:flex;gap:56px;flex-wrap:wrap"><div style="flex:0 1 520px;min-width:0;display:flex;flex-direction:column"><h2 class="ecetct" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:54px;font-weight:500;line-height:1.02;letter-spacing:-1px">A farmhouse that has fed itself from its own hill since 1780.</h2></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;gap:18px;box-sizing:border-box;min-width:280px;padding:8px 0 0 0"><p style="margin:0">The house was built by a family of olive pressers, and the old press is still in the cellar, under the room that now carries its name. We moved here in 2014 with two children and no idea how to prune a tree.</p><p style="margin:0">Twelve years on, breakfast is our own bread, our neighbours’ eggs and figs from the wall by the pool; supper, four nights a week, is at one long table for everyone staying.</p><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:24px;font-style:italic">Giulia and Tomás</p></div></div></section><section class="e8bv1y" style="display:flex;flex-direction:column;gap:28px;padding:96px max(48px, calc((100% - 1200px) / 2 + 48px)) 40px max(48px, calc((100% - 1200px) / 2 + 48px))"><div style="display:flex;flex-direction:column;gap:12px"><p style="margin:0;color:#a9472a;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase">The rooms</p><h2 class="ecetct" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:54px;font-weight:500;line-height:1;letter-spacing:-1px">Six rooms, no two alike</h2></div><div style="display:flex;flex-direction:column;box-sizing:border-box;border-bottom:1px solid #2b2420"><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">La Torre</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">Up the tower’s own stair, with windows on all four sides.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€320</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 2</p></div></div><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">Il Frantoio</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">The old olive press room, vaulted, and cool all summer.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€260</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 2 or 3</p></div></div><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">La Limonaia</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">The lemon house, opening onto the garden and the pool.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€240</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 2</p></div></div><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">Il Fienile</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">The hayloft, under the beams, with a bath by the window.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€220</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 2</p></div></div><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">La Loggia</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">Off the loggia, looking west over the valley to the sea.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€200</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 2</p></div></div><div class="e7jrc1" style="display:flex;gap:32px;align-items:flex-start;box-sizing:border-box;padding:22px 0;border-top:1px solid #e4dacb"><div class="emfqa6" style="flex:1 1 0%;min-width:0;display:flex;gap:4px;flex-wrap:wrap"><div class="ecpu1b" style="flex:0 1 372px;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;padding:0 32px 0 0"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1.1">Le Stalle</p></div><div class="ecpu1b" style="flex:1 1 0%;display:flex;flex-direction:column;box-sizing:border-box;min-width:184px;padding:8px 0 0 0"><p class="eb0ct3" style="margin:0;color:#6c625a;line-height:1.5">The old stables: two rooms, for a family.</p></div></div><div style="flex:0 1 84px;min-width:0;display:flex;flex-direction:column;gap:2px"><p class="e43mfq" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:500;line-height:1.1;text-align:right">€180</p><p style="margin:0;color:#6c625a;font-size:13px;text-align:right">sleeps 4</p></div></div></div><p style="margin:0;color:#6c625a;font-size:14px">Prices are a night for the room, with breakfast. Supper at the long table is €45 a head, wine from the hill included.</p></section><section class="efkq5b" style="display:flex;flex-direction:column;gap:32px;padding:64px max(48px, calc((100% - 1200px) / 2 + 48px)) 104px max(48px, calc((100% - 1200px) / 2 + 48px))"><p style="margin:0;color:#a9472a;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase">The year at the house</p><div class="e6pph6 emfqa6" style="display:flex;gap:32px;flex-wrap:wrap"><div class="e6pph6 emfqa6" style="flex:1 1 0%;display:flex;gap:32px;flex-wrap:wrap;min-width:280px"><div style="flex:1 1 0%;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-width:200px;padding:18px 0 0 0;border-top:1px solid #2b2420"><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1">Spring</p><p style="margin:0;color:#6c625a;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase">March to May</p><p style="margin:0;font-size:16px;line-height:1.55">Wild asparagus in the hedges, the first swims, and the hills green for a few weeks.</p></div><div style="flex:1 1 0%;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-width:200px;padding:18px 0 0 0;border-top:1px solid #2b2420"><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1">Summer</p><p style="margin:0;color:#6c625a;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase">June to August</p><p style="margin:0;font-size:16px;line-height:1.55">Long days, the pool, and supper outside under the pergola until the swifts go to bed.</p></div></div><div class="e6pph6 emfqa6" style="flex:1 1 0%;display:flex;gap:32px;flex-wrap:wrap;min-width:280px"><div style="flex:1 1 0%;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-width:200px;padding:18px 0 0 0;border-top:1px solid #2b2420"><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1">Autumn</p><p style="margin:0;color:#6c625a;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase">September to November</p><p style="margin:0;font-size:16px;line-height:1.55">The harvest. Pick with us for a morning, and take home a litre of oil from your trees.</p></div><div style="flex:1 1 0%;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-width:200px;padding:18px 0 0 0;border-top:1px solid #2b2420"><p style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:30px;font-weight:600;line-height:1">Winter</p><p style="margin:0;color:#6c625a;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase">December to February</p><p style="margin:0;font-size:16px;line-height:1.55">We close in January and February: the house rests, and so do we.</p></div></div></div></section><section class="e83nly" style="display:flex;flex-direction:column;padding:80px max(48px, calc((100% - 1200px) / 2 + 48px)) 80px max(48px, calc((100% - 1200px) / 2 + 48px));background-color:#a9472a;color:#fbf7f0"><div class="e6pph6 emfqa6" style="display:flex;gap:48px;align-items:flex-end;flex-wrap:wrap"><div style="flex:1 1 0%;display:flex;flex-direction:column;gap:16px;min-width:280px"><h2 class="e0jiy7" style="margin:0;font-family:'Cormorant Garamond', Garamond, Georgia, serif;font-size:60px;font-weight:500;line-height:1;letter-spacing:-1px">The harvest weeks are filling up.</h2><p style="align-self:flex-start;width:100%;margin:0;font-size:18px;max-width:560px">From €180 a night, with breakfast. Free to cancel until thirty days before you come.</p></div><div class="e9lbgm" style="flex:0 1 240px;min-width:0;display:flex;flex-direction:column"><a class="eo4oic" href="https://casaalbero.example/book" style="align-self:flex-start;display:inline-block;text-decoration:none;color:#a9472a;font-weight:500;line-height:1.2;text-align:center;box-sizing:border-box;width:100%;padding:18px 24px;background-color:#fbf7f0;border-radius:999px">Book a stay</a></div></div></section><section class="ekas1y" style="display:flex;flex-direction:column;padding:40px max(48px, calc((100% - 1200px) / 2 + 48px)) 48px max(48px, calc((100% - 1200px) / 2 + 48px))"><div class="emfqa6" style="display:flex;gap:8px;align-items:center;flex-wrap:wrap"><div style="flex:1 1 0%;display:flex;flex-direction:column;min-width:280px"><p style="margin:0;color:#6c625a;font-size:14px">Casa Albero, Via di Vallebuia 14, 55100 Lucca, Italy</p></div><div style="flex:0 0 auto;min-width:0;display:flex;flex-direction:column"><p style="margin:0;color:#6c625a;font-size:14px"><a href="mailto:stay@casaalbero.example" style="color:#2b2420;text-decoration:underline">stay@casaalbero.example</a> · +39 0583 000 412</p></div></div></section></main></body></html>/**
* Casa Albero (a fictional guesthouse in the hills above Lucca): its landing page.
*
* Written for the web: a wide hero with the hills drawn in an arched window (an SVG in a data
* URI, so nothing to load, and one Image that fits any width), Cormorant Garamond for the voice
* and Jost for the facts, and the colours of the place: terracotta, olive and the warm white of
* lime plaster. The rooms are a list, the year is four columns, and booking is a terracotta band.
* Every Row wraps, so it looks made for every width: there's only a phone's breakpoint to lean on.
*/
import { Button, Column, Heading, Image, Link, Menu, Page, Text, Row, Section } from "@hyper-elements/react";
const PLASTER = "#FBF7F0";
const STONE = "#F2EADD";
const INK = "#2B2420";
const QUIET = "#6C625A";
const RULE = "#E4DACB";
const TERRACOTTA = "#A9472A";
const TERRACOTTA_DOWN = "#8C3A21";
const SERIF = "'Cormorant Garamond', Garamond, Georgia, serif";
const SANS = "Jost, Futura, 'Century Gothic', 'Helvetica Neue', Arial, sans-serif";
const SITE = "https://casaalbero.example";
const kicker = { fontSize: 13, fontWeight: 500, letterSpacing: 2, textTransform: "uppercase", color: TERRACOTTA } as const;
/** A cypress: a tall flame of dark green, its foot at x, y. */
const cypress = (x: number, y: number, height: number, width = height / 5.5) =>
`<path fill="#3B4824" d="M${x} ${y} C${x - width} ${y - height * 0.35} ${x - width * 0.55} ${y - height * 0.8} ${x} ${y - height} C${x + width * 0.55} ${y - height * 0.8} ${x + width} ${y - height * 0.35} ${x} ${y} Z"/>`;
/** A row of olive trees along a slope. */
const olives = (y: number, from: number, to: number, size: number, rise = 0) =>
Array.from({ length: Math.floor((to - from) / (size * 3.2)) }, (_, i) => {
const x = from + i * size * 3.2;
return `<circle fill="#6F7B3F" cx="${x}" cy="${y - (rise * (x - from)) / (to - from)}" r="${size}"/>`;
}).join("");
/** The hills through an arched window, 560 wide and 640 tall: an SVG drawn as an Image, so it fits any width. */
const HILLS = `data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="560" height="640" viewBox="0 0 560 640">
<clipPath id="arch"><path d="M0 640 H560 V280 A280 280 0 0 0 0 280 Z"/></clipPath>
<g clip-path="url(#arch)">
<rect width="560" height="640" fill="#F3DDBF"/>
<circle cx="384" cy="236" r="54" fill="#E4A23F"/>
<path fill="#CAC6A0" d="M0 352 C90 318 170 330 250 312 C330 294 420 300 560 330 V640 H0 Z"/>
<path fill="#A0A66C" d="M0 410 C70 380 150 372 230 388 C320 406 400 368 560 380 V640 H0 Z"/>
${olives(420, 300, 540, 5, 30)}
${olives(444, 280, 540, 5.5, 26)}
<!-- The farmhouse and its tower, on the far ridge. -->
<rect x="128" y="356" width="74" height="36" fill="#EBD3B2"/>
<polygon points="122,358 165,340 208,358" fill="${TERRACOTTA}"/>
<rect x="176" y="326" width="24" height="36" fill="#E2C59F"/>
<polygon points="172,328 188,316 204,328" fill="${TERRACOTTA}"/>
<rect x="140" y="370" width="8" height="11" fill="#6A4A33"/>
<rect x="158" y="370" width="8" height="11" fill="#6A4A33"/>
<rect x="184" y="338" width="7" height="9" fill="#6A4A33"/>
${cypress(116, 392, 74)}
${cypress(214, 392, 62)}
${cypress(228, 394, 46)}
<path fill="#6E7B3D" d="M0 500 C120 470 230 486 330 470 C430 454 500 470 560 462 V640 H0 Z"/>
<!-- The white road up from the gate. -->
<path fill="#EAD9B9" d="M300 640 C292 590 250 560 214 530 C182 504 168 452 166 394 L171 394 C175 448 194 498 226 524 C266 556 314 590 322 640 Z"/>
${olives(540, 20, 200, 7, -10)}
${olives(566, 0, 190, 8, -12)}
<path fill="#4B5630" d="M0 590 C140 570 300 600 560 572 V640 H0 Z"/>
${cypress(470, 600, 210)}
${cypress(512, 604, 168)}
${cypress(434, 606, 120)}
</g>
</svg>`)}`;
/** A room: its name and what it's like, side by side or one over the other as they fit, beside what a night costs and who it sleeps. */
const room = (name: string, what: string, sleeps: string, from: string) => (
<Row stackOnMobile={false} style={{ alignItems: "start", gap: 32, padding: [22, 0], border: { top: `1px solid ${RULE}` } }} mobile={{ gap: 12 }}>
<Row style={{ flexWrap: "wrap", gap: 4 }}>
<Column style={{ width: 372, padding: [0, 32, 0, 0] }} mobile={{ padding: 0 }}>
<Text style={{ fontFamily: SERIF, fontSize: 30, fontWeight: 600, lineHeight: 1.1 }} mobile={{ fontSize: 25 }}>
{name}
</Text>
</Column>
<Column style={{ minWidth: 184, padding: [8, 0, 0] }} mobile={{ padding: 0 }}>
<Text style={{ color: QUIET, lineHeight: 1.5 }} mobile={{ fontSize: 15 }}>
{what}
</Text>
</Column>
</Row>
<Column style={{ width: 84, gap: 2 }}>
<Text style={{ fontFamily: SERIF, fontSize: 30, fontWeight: 500, lineHeight: 1.1, textAlign: "right" }} mobile={{ fontSize: 25 }}>
{from}
</Text>
<Text style={{ fontSize: 13, color: QUIET, textAlign: "right" }}>sleeps {sleeps}</Text>
</Column>
</Row>
);
/** A season of the year at the house. */
const season = (name: string, months: string, what: string) => (
<Column style={{ minWidth: 200, gap: 8, padding: [18, 0, 0], border: { top: `1px solid ${INK}` } }}>
<Text style={{ fontFamily: SERIF, fontSize: 30, fontWeight: 600, lineHeight: 1 }}>{name}</Text>
<Text style={{ ...kicker, fontSize: 11, color: QUIET }}>{months}</Text>
<Text style={{ fontSize: 16, lineHeight: 1.55 }}>{what}</Text>
</Column>
);
export default function CasaAlberoPage() {
return (
<Page
width={1200}
lang="en"
title="Casa Albero, a guesthouse above Lucca"
description="Six rooms in a stone farmhouse above Lucca, a long table under the pergola, and forty hectares of olives harvested by hand."
fonts={[
{ family: "Cormorant Garamond", src: "https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g.woff2", format: "woff2", weight: "300 700" },
{ family: "Cormorant Garamond", src: "https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSqn7B6D.woff2", format: "woff2", weight: "300 700", style: "italic" },
{ family: "Jost", src: "https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oTd4jQmfxI.woff2", format: "woff2", weight: "100 900" },
]}
style={{ backgroundColor: PLASTER, color: INK, fontFamily: SANS, fontSize: 17, fontWeight: 300, lineHeight: 1.6 }}
>
{/* Navigation: the name and the links on a line, or on two where they don't fit */}
<Section style={{ padding: [28, 48] }} mobile={{ padding: [20, 20] }}>
<Row stackOnMobile={false} style={{ alignItems: "center", flexWrap: "wrap", gap: 16 }}>
<Column style={{ minWidth: 130 }}>
<Text style={{ fontFamily: SERIF, fontSize: 30, fontStyle: "italic", fontWeight: 500, lineHeight: 1, textAlign: "left" }}>
<Link href={SITE} style={{ color: INK, textDecoration: "none" }}>
Casa Albero
</Link>
</Text>
</Column>
<Row stackOnMobile={false} style={{ flex: "none", alignItems: "center" }}>
<Menu
hidden={{ mobile: true }}
items={[
{ text: "House", href: `${SITE}/house` },
{ text: "Rooms", href: `${SITE}/rooms` },
{ text: "Year", href: `${SITE}/year` },
{ text: "Travel", href: `${SITE}/travel` },
]}
style={{ flex: "none", color: INK, fontSize: 15, fontWeight: 400, padding: [6, 24, 6, 0] }}
/>
<Button
href={`${SITE}/book`}
style={{ flex: "none", backgroundColor: "transparent", color: INK, border: `1px solid ${INK}`, fontSize: 14, fontWeight: 500, padding: [10, 18], borderRadius: 999 }}
hover={{ backgroundColor: INK, color: PLASTER }}
>
Book a stay
</Button>
</Row>
</Row>
</Section>
{/* The hero: the words, and the hills through the window */}
<Section style={{ padding: [24, 48, 88] }} mobile={{ padding: [12, 20, 56] }}>
<Row style={{ alignItems: "center", flexWrap: "wrap", gap: 72 }} mobile={{ gap: 36 }}>
<Column style={{ width: 512, gap: 28 }}>
<Text style={kicker}>A guesthouse in the hills above Lucca</Text>
<Heading level={1} style={{ fontFamily: SERIF, fontSize: 92, fontWeight: 500, lineHeight: 0.92, letterSpacing: -2 }} mobile={{ fontSize: 58, letterSpacing: -1 }}>
Stay where the olives grow.
</Heading>
<Text style={{ fontSize: 20, lineHeight: 1.55, maxWidth: 470 }} mobile={{ fontSize: 18 }}>
Six rooms in a stone farmhouse, a long table under the pergola, and forty hectares of olives that we pick by hand each November. Twenty minutes from Lucca, and a long way from
anywhere.
</Text>
<Row stackOnMobile={false} style={{ alignItems: "center", gap: 28 }}>
<Button
href={`${SITE}/book`}
style={{ flex: "none", backgroundColor: TERRACOTTA, color: "#FFFFFF", fontSize: 16, fontWeight: 500, padding: [16, 30], borderRadius: 999 }}
hover={{ backgroundColor: TERRACOTTA_DOWN }}
>
Book a stay
</Button>
<Text style={{ fontSize: 16, fontWeight: 400 }}>
<Link href={`${SITE}/rooms`} style={{ color: INK }}>
See the rooms
</Link>
</Text>
</Row>
</Column>
<Column style={{ flex: 1, minWidth: 280, maxWidth: 520 }}>
<Image src={HILLS} alt="Hills above Lucca at evening: a farmhouse with a tower, olive groves, a white road and cypresses, framed by an arched window." style={{ width: "100%" }} />
</Column>
</Row>
</Section>
{/* The house */}
<Section style={{ backgroundColor: STONE, padding: [96, 48], gap: 20 }} mobile={{ padding: [56, 20] }}>
<Text style={kicker}>The house</Text>
<Row style={{ flexWrap: "wrap", gap: 56 }} mobile={{ gap: 24 }}>
<Column style={{ width: 520 }}>
<Heading level={2} style={{ fontFamily: SERIF, fontSize: 54, fontWeight: 500, lineHeight: 1.02, letterSpacing: -1 }} mobile={{ fontSize: 40 }}>
A farmhouse that has fed itself from its own hill since 1780.
</Heading>
</Column>
<Column style={{ minWidth: 280, gap: 18, padding: [8, 0, 0] }} mobile={{ padding: 0 }}>
<Text>
The house was built by a family of olive pressers, and the old press is still in the cellar, under the room that now carries its name. We moved here in 2014 with two children and
no idea how to prune a tree.
</Text>
<Text>
Twelve years on, breakfast is our own bread, our neighbours’ eggs and figs from the wall by the pool; supper, four nights a week, is at one long table for everyone staying.
</Text>
<Text style={{ fontFamily: SERIF, fontSize: 24, fontStyle: "italic" }}>Giulia and Tomás</Text>
</Column>
</Row>
</Section>
{/* The rooms */}
<Section style={{ padding: [96, 48, 40], gap: 28 }} mobile={{ padding: [56, 20, 24], gap: 20 }}>
<Column style={{ gap: 12 }}>
<Text style={kicker}>The rooms</Text>
<Heading level={2} style={{ fontFamily: SERIF, fontSize: 54, fontWeight: 500, lineHeight: 1, letterSpacing: -1 }} mobile={{ fontSize: 40 }}>
Six rooms, no two alike
</Heading>
</Column>
<Column style={{ border: { bottom: `1px solid ${INK}` } }}>
{room("La Torre", "Up the tower’s own stair, with windows on all four sides.", "2", "€320")}
{room("Il Frantoio", "The old olive press room, vaulted, and cool all summer.", "2 or 3", "€260")}
{room("La Limonaia", "The lemon house, opening onto the garden and the pool.", "2", "€240")}
{room("Il Fienile", "The hayloft, under the beams, with a bath by the window.", "2", "€220")}
{room("La Loggia", "Off the loggia, looking west over the valley to the sea.", "2", "€200")}
{room("Le Stalle", "The old stables: two rooms, for a family.", "4", "€180")}
</Column>
<Text style={{ fontSize: 14, color: QUIET }}>Prices are a night for the room, with breakfast. Supper at the long table is €45 a head, wine from the hill included.</Text>
</Section>
{/* The year */}
<Section style={{ padding: [64, 48, 104], gap: 32 }} mobile={{ padding: [40, 20, 64], gap: 24 }}>
<Text style={kicker}>The year at the house</Text>
<Row style={{ flexWrap: "wrap", gap: 32 }} mobile={{ gap: 28 }}>
{/* Two pairs, so it's four across, two by two or one under another: never three and one. */}
<Row style={{ minWidth: 280, flexWrap: "wrap", gap: 32 }} mobile={{ gap: 28 }}>
{season("Spring", "March to May", "Wild asparagus in the hedges, the first swims, and the hills green for a few weeks.")}
{season("Summer", "June to August", "Long days, the pool, and supper outside under the pergola until the swifts go to bed.")}
</Row>
<Row style={{ minWidth: 280, flexWrap: "wrap", gap: 32 }} mobile={{ gap: 28 }}>
{season("Autumn", "September to November", "The harvest. Pick with us for a morning, and take home a litre of oil from your trees.")}
{season("Winter", "December to February", "We close in January and February: the house rests, and so do we.")}
</Row>
</Row>
</Section>
{/* Booking */}
<Section style={{ backgroundColor: TERRACOTTA, color: PLASTER, padding: [80, 48] }} mobile={{ padding: [56, 20] }}>
<Row style={{ alignItems: "end", flexWrap: "wrap", gap: 48 }} mobile={{ gap: 28 }}>
<Column style={{ minWidth: 280, gap: 16 }}>
<Heading level={2} style={{ fontFamily: SERIF, fontSize: 60, fontWeight: 500, lineHeight: 1, letterSpacing: -1 }} mobile={{ fontSize: 42 }}>
The harvest weeks are filling up.
</Heading>
<Text style={{ fontSize: 18, maxWidth: 560 }}>From €180 a night, with breakfast. Free to cancel until thirty days before you come.</Text>
</Column>
<Column style={{ width: 240 }} mobile={{ width: "100%" }}>
<Button
href={`${SITE}/book`}
style={{ width: "100%", backgroundColor: PLASTER, color: TERRACOTTA, fontSize: 17, fontWeight: 500, padding: [18, 24], borderRadius: 999 }}
hover={{ backgroundColor: "#FFFFFF" }}
>
Book a stay
</Button>
</Column>
</Row>
</Section>
{/* Footer */}
<Section style={{ padding: [40, 48, 48] }} mobile={{ padding: [32, 20, 40] }}>
<Row style={{ alignItems: "center", flexWrap: "wrap", gap: 8 }}>
<Column style={{ minWidth: 280 }}>
<Text style={{ fontSize: 14, color: QUIET }}>Casa Albero, Via di Vallebuia 14, 55100 Lucca, Italy</Text>
</Column>
<Column style={{ flex: "none" }}>
<Text style={{ fontSize: 14, color: QUIET }}>
<Link href="mailto:stay@casaalbero.example" style={{ color: INK }}>
stay@casaalbero.example
</Link>
{" · +39 0583 000 412"}
</Text>
</Column>
</Row>
</Section>
</Page>
);
}import { render } from "@hyper-elements/react";
import CasaAlberoPage from "./casa-albero-page";
const { html, text } = await render(<CasaAlberoPage />);